Raspberry Pi Mouseの無線LANのDHCP設定の仕方 Ubuntu編


Yukiです。久方ぶりの登場です。
2017年8月19日にGroove Xさんの会議室をお借りして、Raspberry pi Mouseを使ったROSハッカソンをしてきました。
LANの設定がちゃんとできてないという話が結構出てたので、LANの設定徒然を書いておこうと思い立ちました。

環境は、Raspberry pi 3 で、Ubuntu 16.04です

Raspberry pi mouseのubuntuは無線LANが使えない設定だというお問い合わせをよくいただきます。
質問がある場合は、ここから”New Issue”を立てて質問しましょうね。

まず、そもそも論として、外に繋げられてないみたいだという方。

$cd /etc/network
$sudo vi interfaces

を見てください。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Source interfaces
# Please check /etc/network/interfaces.d before changing this file
# as interfaces may have been defined in /etc/network/interfaces.d
# See LP: #1262951
#source /etc/network/interfaces.d/*.cfg
auto eth0
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/RT-WIFI.conf
wireless-power off

こんなふうになっていますか?上記の記述の中で、下記が書いてあればとりあえずDHCPが設定されるので有線LANで繋げられて外に出られるはずです。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Source interfaces
# Please check /etc/network/interfaces.d before changing this file
# as interfaces may have been defined in /etc/network/interfaces.d
# See LP: #1262951
#source /etc/network/interfaces.d/*.cfg
auto eth0
iface eth0 inet dhcp

さて、無線LANを使う方法について書きたいと思います。

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr b8:27:eb:63:6b:a4
          inet6 addr: fe80::ba27:ebff:fe63:6ba4/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:183 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20277 (20.2 KB)  TX bytes:1160 (1.1 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:160 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:11840 (11.8 KB)  TX bytes:11840 (11.8 KB)

wlan0     Link encap:Ethernet  HWaddr b8:27:eb:36:3e:f1
          inet addr:192.168.1.113  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::ba27:ebff:fe36:3ef1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23614 errors:0 dropped:7 overruns:0 frame:0
          TX packets:926 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1822818 (1.8 MB)  TX bytes:103625 (103.6 KB)

とやったときに、そもそも最後のwlan0が見えてないよという方のための設定講座です。(上記は有線LANのeth0がつながってなくて無線LANだけの時の表示例です。)

まず、上田先生のGithubのフルカンハビビさんのコミットが一番わかりやすいです。
何をしているのかというと、ubuntuのapt-get update/upgradeがドライバをはねちゃってるのか、自動で入らない設定になってるものを手動で復活させる手順です。

$ cd /lib/firmware/brcm/
$ sudo wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin -O brcmfmac43430-sdio.bin
$ sudo wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt -O brcmfmac43430-sdio.txt
$ sudo reboot

これで、なくなってしまったwlan0が復活します。

次に、wireless-toolsがあるか確認をします。

$ dpkg -l wireless-tools
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  wireless-tools 30~pre9-8ubu armhf        Tools for manipulating Linux Wire

wireless-toolsに関連するツール一覧が出てきますが、出てこない場合は下記のようにしてインストールしてください。

$sudo apt-get install wireless-tools

これで、Wifiの設定ができるツール類がインストールされました。
次に、ご自分のWifiのアクセスポイントの設定をします。
ここで、SSIDは自分のアクセスポイントのSSID、 passwordは自分のアクセスポイントのパスワードを書いてください。

$ cd /etc/wpa_supplicant/
$ sudo wpa_passphrase SSID password | sudo tee wpa_supplicant.conf    <---今はwpa_supplicant.confでファイルを作った。
network={
        ssid="SSID"
        #psk="password"
        psk=2f6a0beddf2f0588ee426b0c3a0e3d9a523bb07a05cb857f85d826da80fa75c4
}

ここで、sudo tee wpa_supplicant.confでwpa_supplicant.confというファイルを作ってます。
ちなみに、#psk=で始まる行はコメントアウトでpsk=からの暗号化されたパスワードを文字列で見せているだけなので(残しておいてもいいですが)消してしまいましょう。

$sudo vi wpa_supplicant.conf
network={
        ssid="SSID"
        psk=2f6a0beddf2f0588ee426b0c3a0e3d9a523bb07a05cb857f85d826da80fa75c4
}

ちなみに、一番最初の/etc/network/interfaceのファイルの中で下から2行目のwpa-confの設定のところでRT-WIFI.confとなっているのをwpa_supplicant.confもしくは自分で作ったファイル名に書き換えます。

wpa-conf /etc/wpa_supplicant/RT-WIFI.conf

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

wirelss-power offは無線LANを切るという意味ではなく、パワーマネジメント機能をOFFするという意味なので、書いておくと無線LANが勝手に落ちたりせずに安定します。

これで、設定をUbuntuに読み直してもらってしまえばOKです。

$sudo service networking reload
$sudo service networking restart

上記でうまくいかない場合はリブートしてしまってください。
これでwlan0もeth0も両方動いているはずです。

$sudo reboot

次回、固定IPにするには?を書きたいと思います。


Posted in Raspberry Pi Mouse, Raspberry Piで学ぶROSロボット入門の補足
Tags: , , , , ,