Raspberry Pi Zero のシリアル接続で,パソコンが Pi Zero のコンソールになったので,USB無線LANアダプタの接続を試してみた。
使っているのは Raspbian Buster Lite
Version:September 2019
Release date:2019-09-26
Kernel version:4.19
Pi Zero は,上位モデルの Pi Zero Wにある無線LAN,bluetoothが省かれている。それでもHDMI,USB,カメラコネクタが付いている。
シリアルコンソールからキャラクターべースでのセットアップだが,使える無線LANアダプタが限られているらしく,なにもせずに使えたのはバッファローWLI-U2-SG54HP。
/etc/wpa_supplicant/wpa_supplicant.conf に以下のとおりSSIDとPSKを書き加えれば直ぐに接続できた。
wpa_passphrase SSID PASS >> /etc/wpa_supplicant/wpa_supplicant.conf
ELECOM WDC-150SU2Mは,iwconfigやifconfigを実行してみると使えそうなのだが,だめだった。ただし,同じPi Zero を音楽プレーヤーのVolumioというOSで起動すると,ちゃんと使えた。
VolumioとRaspbian busterの違いを調べて,最終的には以下のとおり Volumio の当該ドライバを Raspbian にコピーして,Raspbianにおいても使えるようになった。
Raspbian Buster のカーネルは4.19.75+
WDC-150SU2M が使えるVolumioのカーネルは 4.19.79+ Raspbian より新しかった。 VolumioはWDC-150SU2M用に 8188eu というドライバーが動いていた。Raspbian は r8188eu だった。
Volumio の情報
cat /boot/.firmware_revision
985bc5353e4f5fe5a11c8b6c4c646dc7165bbc21
uname -a
Linux volumio 4.19.79+ #1273 Fri Oct 11 18:03:05 BST 2019 armv6l GNU/Linux
lsmod
8188eu 1399549 0
:
cfg80211 596688 1 8188eu
rfkill 22462 2 cfg80211
modinfo 8188eu
filename: /lib/modules/4.19.79+/kernel/drivers/net/wireless/8188eu.ko
Volumio の 8188eu.ko を取り出してコピーしておく。
Raspbian のカーネルをアップデートして,Volumioのカーネルとバージョンと合わせる。
rpi-update 985bc5353e4f5fe5a11c8b6c4c646dc7165bbc21
uname -a
Linux raspberrypi 4.19.79+ #1273 Fri Oct 11 18:03:05 BST 2019 armv6l GNU/Linux
8188eu.koをRaspbian の/lib/modules/4.19.79+/kernel/drivers/net/wireless/ にコピーしてdepmod を実行
ls -al /lib/modules/4.19.79+/kernel/drivers/net/wireless/8188eu.ko
-rwxr-xr-x 1 root root 1783104 Oct 19 13:44 /lib/modules/4.19.79+/kernel/drivers/net/wireless/8188eu.ko
depmod –A
Raspbian で動いていた r8188eu をブラックリストに加えて8188eu が起動するようにする。/etc/modprobe.d/blacklist-rtl8xxxu.conf に追記。
blacklist r8188eu
その後ドライバが 8188eu になり,再起動後も自動的に無線LANがつながった。
dmesg
[ 18.626201] 8188eu: loading out-of-tree module taints kernel.
[ 20.664704] RTW: rtl8188eu v5.2.2.4_25483.20171222
[ 20.664722] RTW: build time: Oct 11 2019 20:17:26
[ 20.847104] RTW: hal_com_config_channel_plan chplan:0x21
[ 20.848487] RTW: rtw_regsty_chk_target_tx_power_valid return _FALSE for band:0, path:0, rs:0, t:-1
[ 20.951929] usbcore: registered new interface driver rtl8188eu
結論として,Raspbian は WDC-150SU2M の動作に問題があるドライバが組み込まれているようなので,Volumioの当該ドライバをコピーして動作可能となった。ただし,この方法では普通に rpi-update やapt-get dist-upgrade するとNGになるかもしれない。
なお,Raspbian と Volumio は,最近ダウンロードしてmicroSDを作成している(2019年10月初)。