Raspberry Pi B+ と Arch Linux ARM で無線LAN (PLANEX GW-USNANO2A) を使う
諸事情あって、Raspberry Pi を無線LANに接続して使うことになったのでそのセットアップをだらだら書きます。
https://wiki.archlinuxjp.org/index.php/%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%AC%E3%82%B9%E8%A8%AD%E5%AE%9A
USB 接続なので、とりあえずここに書かれてるように lsusb してみる。一応認識はしている。
ソースどこか忘れちゃったけど、どうやら 8192cu ってドライバでOKらしい(?)。
Arch Linux では AUR にあるっぽい。 yaourt で入るが、Arch Linux ARM では yaourt は使えない。
また、AUR のパッケージ名が 8192cu-dkms なので注意。
https://aur.archlinux.org/packages/8192cu-dkms/
http://raspberrypi.stackexchange.com/questions/510/how-do-i-install-packages-from-the-aur
makepkg -Acs はパッケージを作りつつ依存パッケージを解決し、カレントディレクトリにパッケージ .tar.xz を作る。作ったパッケージは pacman -U でインストール可能。
てことで、作ったパッケージをインストール。
インストール時に、8192cu モジュールを modprobe しているようです。
起動時に自動で読み込むようにしとこうね。
あとはパッケージのインストールができればOKだね。
モジュールのインストール失敗。しかし、パッケージのインストールは成功した扱いになっている。いろいろ検索をかけてみる。
途中こんなページを見かけたので linux-headers パッケージを入れたが、改善せず。
https://bbs.archlinux.org/viewtopic.php?id=184572
キレそう。
wifi-menu も通った。なんやねん。
ちなみに modprobe -r 8192cu すると、wlan0 の表示が消えた。ちゃんとドライバが動作してるっぽい。
ここまで作ってある環境など
http://blog.ksswre.net/2015/09/raspberry-pi-b-arch-linux-arm.html- ArchLinux ARM
- uname -srvmo
Linux 4.1.6-2-ARCH #1 PREEMPT Sat Aug 22 12:17:40 MDT 2015 armv6l GNU/Linux - 無線LANアダプタ
- PLANEX GW-USNANO2A, IEEE802.11 b/g/n, 1058円
http://www.amazon.co.jp/dp/B00ESA34GA
とりあえず本体に装着してみる
全体的な流れはここを参考に。https://wiki.archlinuxjp.org/index.php/%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%AC%E3%82%B9%E8%A8%AD%E5%AE%9A
USB 接続なので、とりあえずここに書かれてるように lsusb してみる。一応認識はしている。
% lsusb
Bus 001 Device 005: ID 2019:ab2a PLANEX GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 004: ID 04d9:1818 Holtek Semiconductor, Inc.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 2019:ab2a PLANEX GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 004: ID 04d9:1818 Holtek Semiconductor, Inc.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
手動でドライバをインストールする
次にドライバが必要な感じなので、ドライバを探す。ソースどこか忘れちゃったけど、どうやら 8192cu ってドライバでOKらしい(?)。
Arch Linux では AUR にあるっぽい。 yaourt で入るが、Arch Linux ARM では yaourt は使えない。
また、AUR のパッケージ名が 8192cu-dkms なので注意。
https://aur.archlinux.org/packages/8192cu-dkms/
AURパッケージを Arch Linux ARM から使う。
そこで、ここを参考に AUR から .tar.gz を落としてきて、tar xvf で解凍、makepkg -Acs で無理矢理パッケージを作る。http://raspberrypi.stackexchange.com/questions/510/how-do-i-install-packages-from-the-aur
てことで、作ったパッケージをインストール。
インストール時に、8192cu モジュールを modprobe しているようです。
起動時に自動で読み込むようにしとこうね。
% sudo vim /etc/modules-load.d/raspberrypi.conf
8192cu
8192cu
あとはパッケージのインストールができればOKだね。
% sudo pacman -U 8192cu-dkms/8192cu-dkms-v4.0.2_9000-8-any.pkg.tar.xz
パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) 8192cu-dkms-v4.0.2_9000-8
合計インストール容量: 5.16 MiB
:: インストールを行いますか? [Y/n]
(1/1) キーリングのキーを確認 [###############################] 100%
(1/1) パッケージの整合性をチェック [###############################] 100%
(1/1) パッケージファイルのロード [###############################] 100%
(1/1) ファイルの衝突をチェック [###############################] 100%
(1/1) 空き容量を確認 [###############################] 100%
(1/1) インストール 8192cu-dkms [###############################] 100%
Creating symlink /var/lib/dkms/8192cu/v4.0.2_9000/source ->
/usr/src/8192cu-v4.0.2_9000
DKMS: add completed.
Error! echo
Your kernel headers for kernel 4.1.5-1-ARCH cannot be found at
/usr/lib/modules/4.1.5-1-ARCH/build or /usr/lib/modules/4.1.5-1-ARCH/source.
Error! echo
Your kernel headers for kernel 4.1.5-1-ARCH cannot be found at
/usr/lib/modules/4.1.5-1-ARCH/build or /usr/lib/modules/4.1.5-1-ARCH/source.
エラー: コマンドの実行に失敗しました
パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) 8192cu-dkms-v4.0.2_9000-8
合計インストール容量: 5.16 MiB
:: インストールを行いますか? [Y/n]
(1/1) キーリングのキーを確認 [###############################] 100%
(1/1) パッケージの整合性をチェック [###############################] 100%
(1/1) パッケージファイルのロード [###############################] 100%
(1/1) ファイルの衝突をチェック [###############################] 100%
(1/1) 空き容量を確認 [###############################] 100%
(1/1) インストール 8192cu-dkms [###############################] 100%
Creating symlink /var/lib/dkms/8192cu/v4.0.2_9000/source ->
/usr/src/8192cu-v4.0.2_9000
DKMS: add completed.
Error! echo
Your kernel headers for kernel 4.1.5-1-ARCH cannot be found at
/usr/lib/modules/4.1.5-1-ARCH/build or /usr/lib/modules/4.1.5-1-ARCH/source.
Error! echo
Your kernel headers for kernel 4.1.5-1-ARCH cannot be found at
/usr/lib/modules/4.1.5-1-ARCH/build or /usr/lib/modules/4.1.5-1-ARCH/source.
エラー: コマンドの実行に失敗しました
モジュールのインストール失敗。しかし、パッケージのインストールは成功した扱いになっている。いろいろ検索をかけてみる。
途中こんなページを見かけたので linux-headers パッケージを入れたが、改善せず。
https://bbs.archlinux.org/viewtopic.php?id=184572
結局
再起動したらウマいこといった。
% sudo pacman -U 8192cu-dkms/8192cu-dkms-v4.0.2_9000-8-any.pkg.tar.xz
パッケージをロード...
警告: 8192cu-dkms-v4.0.2_9000-8 は最新です -- 再インストール
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) 8192cu-dkms-v4.0.2_9000-8
合計インストール容量: 5.16 MiB
最終的なアップグレード容量: 0.00 MiB
:: インストールを行いますか? [Y/n]
(1/1) キーリングのキーを確認 [###############################] 100%
(1/1) パッケージの整合性をチェック [###############################] 100%
(1/1) パッケージファイルのロード [###############################] 100%
(1/1) ファイルの衝突をチェック [###############################] 100%
(1/1) 空き容量を確認 [###############################] 100%
8192cu, v4.0.2_9000: added
------------------------------
Deleting module version: v4.0.2_9000
completely from the DKMS tree.
------------------------------
Done.
(1/1) 再インストール 8192cu-dkms [###############################] 100%
Creating symlink /var/lib/dkms/8192cu/v4.0.2_9000/source ->
/usr/src/8192cu-v4.0.2_9000
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area.......
make KERNELRELEASE=4.1.6-2-ARCH CROSS_COMPILE= -C /usr/lib/modules/4.1.6-2-ARCH/build M=/var/lib
/dkms/8192cu/v4.0.2_9000/build modules..........................................................................................................................................................
................................................................................................
................
cleaning build area.......
Kernel cleanup unnecessary for this kernel. Skipping...
DKMS: build completed.
8192cu:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/4.1.6-2-ARCH/kernel/drivers/net/wireless/
depmod......
DKMS: install completed.
パッケージをロード...
警告: 8192cu-dkms-v4.0.2_9000-8 は最新です -- 再インストール
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) 8192cu-dkms-v4.0.2_9000-8
合計インストール容量: 5.16 MiB
最終的なアップグレード容量: 0.00 MiB
:: インストールを行いますか? [Y/n]
(1/1) キーリングのキーを確認 [###############################] 100%
(1/1) パッケージの整合性をチェック [###############################] 100%
(1/1) パッケージファイルのロード [###############################] 100%
(1/1) ファイルの衝突をチェック [###############################] 100%
(1/1) 空き容量を確認 [###############################] 100%
8192cu, v4.0.2_9000: added
------------------------------
Deleting module version: v4.0.2_9000
completely from the DKMS tree.
------------------------------
Done.
(1/1) 再インストール 8192cu-dkms [###############################] 100%
Creating symlink /var/lib/dkms/8192cu/v4.0.2_9000/source ->
/usr/src/8192cu-v4.0.2_9000
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area.......
make KERNELRELEASE=4.1.6-2-ARCH CROSS_COMPILE= -C /usr/lib/modules/4.1.6-2-ARCH/build M=/var/lib
/dkms/8192cu/v4.0.2_9000/build modules..........................................................................................................................................................
................................................................................................
................
cleaning build area.......
Kernel cleanup unnecessary for this kernel. Skipping...
DKMS: build completed.
8192cu:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/4.1.6-2-ARCH/kernel/drivers/net/wireless/
depmod......
DKMS: install completed.
キレそう。
wifi-menu も通った。なんやねん。
% ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1
000
link/ether b8:27:eb:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet 192.168.1.22/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 14189sec preferred_lft 14189sec
inet6 2001:a453:3240:9c00:ba27:ebff:fece:eded/64 scope global mngtmpaddr dynamic
valid_lft 14390sec preferred_lft 12590sec
inet6 fe80::ba27:ebff:fece:eded/64 scope link
valid_lft forever preferred_lft forever
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:22:cf:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet 192.168.1.21/24 brd 192.168.1.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 2001:a453:3240:9c00:222:cfff:fef5:9c97/64 scope global mngtmpaddr dynamic
valid_lft 14390sec preferred_lft 12590sec
inet6 fe80::222:cfff:fef5:9c97/64 scope link
valid_lft forever preferred_lft forever
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1
000
link/ether b8:27:eb:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet 192.168.1.22/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 14189sec preferred_lft 14189sec
inet6 2001:a453:3240:9c00:ba27:ebff:fece:eded/64 scope global mngtmpaddr dynamic
valid_lft 14390sec preferred_lft 12590sec
inet6 fe80::ba27:ebff:fece:eded/64 scope link
valid_lft forever preferred_lft forever
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:22:cf:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet 192.168.1.21/24 brd 192.168.1.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 2001:a453:3240:9c00:222:cfff:fef5:9c97/64 scope global mngtmpaddr dynamic
valid_lft 14390sec preferred_lft 12590sec
inet6 fe80::222:cfff:fef5:9c97/64 scope link
valid_lft forever preferred_lft forever
ちなみに modprobe -r 8192cu すると、wlan0 の表示が消えた。ちゃんとドライバが動作してるっぽい。
失礼致します。アマゾンでの出品者林遠と申します。ブログを拝見しました。弊社のラズベリーパイのカメラブログ記事を書きしてくれませんか。こちらは無料でサンプルを提供します。メールはjp02@vertue.cnです。御返事お待ちしております。どうぞよろしくお願いします。
返信削除