【今回の目標】
今回のテーマは、USBポートを塞ぐことなくHummingBoardをWiFiに接続したいという要望があり、MiniPCIeカードでWiFiを試したものです。
今回使用したボードはIntelのWiFi Mini PCI カード(型番: 512AN_HMW)です。種々のOSでWIFI接続を行ってみました。
結論を先にしましょう。動作したOSはDebianのARM版 Armbianです。
単純な方法ではAndroidの対応はできませんでした。(カーネルからの作り直しを次回紹介します)
また、今回の検証はHummingBoard-i2,-i2eXで行いましたが、新シリーズとなるHummingBoard Edge では動作しませんでした。こちらの原因についてはまた別途、検証の続きを行っていきたいと考えています。(なお、HummingBoard EdgeではUSBドングルのWiFiも動作しませんでした)
【インストール・検証手順】
ここから、インストール手順について説明します。
まずは母艦のLinux PCでの作業です。
1. Armbian本体のインストール
(1) http://www.armbian.com/cubox-i/ から Debian jessie のzipファイル(Armbian_4.5_Cubox-i_Debian_jessie_3.14.54_desktop.zip)をダウンロードしてきます。
(2) Armbian_4.5_Cubox-i_Debian_jessie_3.14.54_desktop.zip を解凍するとイメージ・ファイル Armbian_4.5_Cubox-i_Debian_jessie_3.14.54_desktop.raw ができます。
(3) SDカードのPCに挿してイメージ・ファイルを書き込みます。
SDカードのデバイスが/dev/sdfに割り当てられているものと仮定します。
SDカードがマウントされている場合はあらかじめアンマウントしておきます。
# unmount /dev/sdf # dd bs=1M if=Armbian_4.5_Cubox-i_Debian_jessie_3.14.54_desktop.raw of=/dev/sdf |
#SDカードへの書き込みは、Win32 Disk Imagerで行うこともできます。
(参照:当コラム CuBox-i/HummingBoardのSDカードの作り方 http://goo.gl/V9B3zE )
2. WiFi Mini PCI カード用のファームウェアのダウンロード
(1) https://packages.debian.org/ja/jessie/firmware-iwlwifi から
firmware-iwlwifi_0.43_all.deb
をダウンロードします。
(2) 先に作成したSDを挿しなおします。
/media/foo/123abc に自動マウントされたものとします。
(自動マウントしない場合は、ご自身でマウントしてください。)
ファームウェアファイルをSDにコピーします。
# cp firmware-iwlwifi_0.43_all.deb /media/foo/123abc/root |
ここからはHummingBoardでの作業になります。
SDをHummingBoardに挿してHummingBoardを起動してください。
3. ファームウェアをインストールします
(1) まず、ファームウェアファイルがないことを確認してみます。
ここでrsysnc、SDの内容をmSATA へコピーします。最後にエラー表示で止まるかもしれません。(ctrl-cで止めることもあるかもしれません)
|
とコマンドを入力すると以下のような表示がなさされるはずです。
[ 3.289413] iwlwifi 0000:01:00.0: pci_enable_msi failed(0Xffffffda) [ 3.487220] iwlwifi 0000:01:00.0: request for firmware file 'iwlwifi-5000-5.ucode' failed. [ 3.487462] iwlwifi 0000:01:00.0: request for firmware file 'iwlwifi-5000-4.ucode' failed. [ 3.487731] iwlwifi 0000:01:00.0: request for firmware file 'iwlwifi-5000-3.ucode' failed. [ 3.487943] iwlwifi 0000:01:00.0: request for firmware file 'iwlwifi-5000-2.ucode' failed. [ 3.488155] iwlwifi 0000:01:00.0: request for firmware file 'iwlwifi-5000-1.ucode' failed. [ 3.488334] iwlwifi 0000:01:00.0: no suitable firmware found! |
最初の行の”pci_enable_msi failed(0Xffffffda)”はワーニングなので無視します。
(2) ファームウェアをインストールします。上の2-(2)でSDカードの/rootにファームウェアのファイルをコピーしておきましたので、それを使います。
# cd /root # dpkg -i firmware-iwlwifi_0.43_all.deb |
4. 802.11nを無効にする設定をします
テキストエディタで /etc/modprobe.d/iwlwifi.conf ファイルを新規に作成して、次の1行を書き込んでください。
そして、/etc/udev/rules.d/ に60-schedulers.rulesというファイルを作り、以下の内容を記述します。
|
5. WIFI接続をするためにアクセスポイントの情報を設定します
WIFIルータのDHCP機能でIPアドレスを割り当ててもらうものとします。
テキストエディタで /etc/network/interfaces ファイルを編集しください。
auto wlan0 iface wlan0 inet dhcp wpa-ssid SSIDの実際の文字列 wpa-psk 実際のキー文字列 |
「SSIDの実際の文字列」、「実際のキー文字列」にアクセスポイントの実際の情報を書き込んでください。
再起動して立ち上がることを確認してください。起動しない場合、"root=/dev/sda2" をもとに戻して起動することを確認してみてください。
6. HummingBoardをリブートすると、WIFI接続ができているはずです
iwconfigコマンドとifconfigコマンドで確認してください。
ここでは、Debianをダウンロードしてきて、立ち上げてすぐの状態で検証としています。すでにサーバーを設定して稼働させているような状況でのメモリを rsync をするようなことは無謀です。
#iwconfig lo no wireless extensions. eth0 no wireless extensions. bond0 no wireless extensions. wlan0 IEEE 802.11abg ESSID:"ABCDEFGHIJK" Mode:Managed Frequency:5.2 GHz Access Point: 00:AB:CD:EF:12:34 Bit Rate=18 Mb/s Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=29/70 Signal level=-81 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:19 Missed beacon:0 |
#ifconfig eth0 Link encap:Ethernet HWaddr 12:34:56:17:9a:bc UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
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:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 00:ab:cd:ef:12:34 inet addr:192.168.2.12 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: 1234::555:a1bb:123:4567/64 Scope:Link inet6 addr: 1235:222:3333:4444:555:6666:7777:8888/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:109 errors:0 dropped:0 overruns:0 frame:0 TX packets:60 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:15169 (14.8 KiB) TX bytes:7056 (6.8 KiB) |
コメントをお書きください