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にするには?を書きたいと思います。