4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BeagleBoneBlackを無線LAN親機にするまで

Posted at

概要

BeagleBoneBlackを無線LANの親機(アクセスポイント)にするまでの設定手順をまとめました。

  • BeagleBoneBlack Rev.C (OS:Debian Wheezy)を使用
  • WindowsマシンとのUSB接続での接続機能を生かしたままにする。
  • 無線LANアダプタはBuffaloのWLI-UC-GNMEを使用。
  • 本体のIPは任意だが、ここでは固定IP「192.168.100.100」を使うものとする。
  • DHCPで貸与するIPの範囲は「192.168.100.101~192.168.100.110」とする。
  • アクセスポイント名は任意だが、ここでは「BBB」を使うものとする。
  • アクセスポイントのパスフレーズは任意の8文字以上の文字列が使えるが、ここでは「beaglebone」を使うものとする。

Windowsマシンとの接続

参考URL: http://beagleboard.org/getting-started

  • WindowsマシンのUSBポートにBBBを接続する。
  • 参考URLに記載されたリンクから合致するOSのドライバをダウンロードし、インストールする。
  • http://192.168.7.2にブラウザからアクセスできれはOK。
  • SSHで192.168.7.2にログインする。(ユーザ名: root, パスワード: root)

固定IP付与とLANインターフェース間転送設定

固定IPを付与し、無線LANインターフェースwlan0の内容をeth0に転送する設定を追記する。

  • /etc/network/interfacesを編集する。以下の内容を追記する。
auto wlan0
iface wlan0 inet static
    address 192.168.100.100
    netmask 255.255.255.0
    pre-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    up iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
  • IPフォワード設定を有効化する。

echo 1 > /proc/sys/net/ipv4/ip_forward

  • IPフォワード設定の設定ファイル/etc/sysctl.confを編集する。下記内容を追記する。
net.ipv4.ip_forward=1

hostapdの設定

hostapdは無線アクセスポイント機能を提供するデーモンです。BeagleBoneBlackにはプリインストール(ver1.0)されています。この時点でUSBに無線LANのアダプタを挿入しておきます。

  • 設定ファイル/etc/hostapd/hostapd.confを作成する。下記内容を追記する。
interface=wlan0
driver=nl80211
ssid=BBB
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=beaglebone
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
  • hostapdデーモンが上記設定ファイルで起動するようにする。/etc/default/hostapdを編集し、下記内容を追記する。
DAEMON_CONF="/etc/hostapd/hostapd.conf"

DHCPの設定

アクセスポイントだけではアクセス元のIPが付与されず、接続できません。DHCPでアクセスしてくるPCにIPを貸し与える必要があります。
WindowsマシンとのUSB接続でも裏でudhcpdというデーモンが動いてIPを付与しています。しかしこのデーモンは貧弱で2つのネットワークにIPを貸与できないので、以下の手順では無効化して別のDHCPデーモンを使っています。

  • Windowsマシンでdnsmasqをダウンロードする。

http://www.thekelleys.org.uk/dnsmasq/
http://www.thekelleys.org.uk/dnsmasq/doc.html

  • dnsmasqをビルドしてインストールする。ここではバージョン2.75を使う。

tar -zxvf dnsmasq-2.75.tar.gz
cd dnsmasq-2.75
make
sudo make install

  • dnsmasqのtarの中の設定ファイルテンプレートをコピーする。

cp dnsmasq.conf.example /etc/dnsmasq.conf

  • dnsmasqの設定ファイル/etc/dnsmasq.confを編集する。下記の内容を追記する。usb0はWindowsマシンとの接続設定、wlan0が無線LANでの接続設定となっている。
interface=usb0
interface=wlan0
dhcp-range=usb0,192.168.7.1,192.168.7.1,255.255.255.252,4h
dhcp-range=wlan0,192.168.100.101,192.168.100.110,255.255.255.0,4h
  • dnsmasqのsystemd自動起動設定ファイル/lib/systemd/system/dnsmasq.serviceを作成する。
[Unit]
Description=DNS caching server.
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/var/run/dnsmasq.pid
ExecStart=/usr/local/sbin/dnsmasq

[Install]
WantedBy=multi-user.target
  • dnsmasqをsystemdで自動起動するように設定する。

systemctl daemon-reload
systemctl enable dnsmasq.service

  • udhcpdを無効化する。

insserv -r udhcpd

  • dnsmasqを起動する。

systemctl start dnsmasq.service

  • BeagleBoneBlackを再起動する。

reboot

確認

再起動後アクセスポイントBBBが見えるはずです。アクセスポイントBBBに接続している間は192.168.100.100からBeagleBoneBlackに接続できるようになります。

WindowsマシンとのUSB接続機能も生かしたままなので、USB接続中は192.168.7.2で接続できます。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?