NanoPi NEO 無線LAN化

NanoPi NEO は、HDMIやコンポジットなどのディスプレイ出力端子を搭載していません。
且つ、無線機能(Wi-Fi、Bluetooth)も無い、割り切り設計です。
そんな感じなので、ミュージックサーバにしようかな・・・と考えていたりします。

その場合、PCやタブレットから無線LAN経由で操作したいので、USBドングルを設定したいと思います。

対象機器

  • ELECOM製 LAN-W150NU2AB (IEEE802.11n対応)

当該ドングルは挿しただけで認識しました。

設定

設定ファイルの編集1 / IP固定化

前回(NanoPi NEO 初期設定まとめ)同様に「/etc/network/interfaces」ファイルと「「/etc/network/interfaces.default」を編集します。

/etc/network/interfaces 変更前

#allow-hotplug wlan0
#iface wlan0 inet dhcp
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 8.8.8.8 8.8.4.4
#   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/network/interfaces 変更後

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address ***.***.***.***
netmask 255.255.255.0
gateway ***.***.***.***
dns-nameservers 8.8.8.8 8.8.4.4
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/network/interfaces.default 変更前

#allow-hotplug wlan0
#iface wlan0 inet dhcp
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 8.8.8.8 8.8.4.4
#   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/network/interfaces.default 変更後

auto wlan0 
allow-hotplug wlan0
iface wlan0 inet static
address ***.***.***.***
netmask 255.255.255.0
gateway ***.***.***.***
dns-nameservers 8.8.8.8 8.8.4.4
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

ちなみに、"wpa_supplicant"が未導入の場合は、下記で導入可能です。
(今回の"Armbian_5.30_Nanopineo_Debian_jessie_default_3.4.113.7z"には導入済みでした)。

$ sudo apt-get install wpa_supplicant

設定ファイルの編集2 / 暗号化キーの暗号化

まず、wpa_passphraseコマンドで無線LANのパスフレーズ(パスワード)を暗号化します。

# wpa_passphrase {SSID} {PASSWORD}
network={
        ssid="{SSID}"
        #psk="{PASSWORD}"
        psk=27730ea605762f3838a205b97b37296bea94fe2c3e21c833f383a1**********
}

先ほどコメントアウトした「/etc/wpa_supplicant/wpa_supplicant.conf」は存在しないので、新規に作成します。

# vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="{SSID}"
        #psk="{SSID} {PASSWORD}"
        psk=27730ea605762f3838a205b97b37296bea94fe2c3e21c833f383a1**********
        key_mgmt=WPA-PSK
        proto=WPA
        pairwise=CCMP TKIP
        group=CCMP TKIP
        priority=1
}
  • key_mgmt : 使用する暗号化方式
  • proto : WPA-PSKは"WPA"、WPA2-PSKは"RSN"
  • pairwise : TKIPやCCMP(AES) ※上記は両指定
  • group : 通常は"pairwise"と同じ値を指定
  • priority : 認証の優先順位
  • auth_alg : 今回は指定していませんが、うまく行かない時はWPA/WPA2用の「OPEN」を指定すると良いかも

おまけ

無線LANがつながらない時は"wpa_supplicant"が実行されているか確認

# ps aux | grep wpa
root       838  0.0  0.4   5344  2164 ?        Ss   09:04   0:00 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
root       933  0.0  0.1   3668   756 pts/0    S+   09:08   0:00 grep wpa

周囲で稼働しているアクセスポイントのESSIDを調べるコマンド

  • iwlist
    「Wireless tools for Linux」(wireless-toolsパッケージに収録)
# iwlist wlan0 scan | grep ESSID
                    ESSID:"HUMAX-***"
                    ESSID:"DIRECT-q5-***"
                    ESSID:"q5-***"

対話式で"wpa_supplicant.conf"ファイルを作成するコマンド「wpa_cli」

# wpa_cli

Selected interface 'wlan0'

Interactive mode

> scan
OK

> scan_result
bssid / frequency / signal level / flags / ssid
c0:25:a2:**:**:**       2422    -57     [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] {自分のSSID}

> add_network
0
> set_network 0 ssid "{ESSID}"                                
OK
> set_network 0 psk "{PASSWORD}"
OK
> enable_network 0
OK
> save_config
OK
> quit

その他に、wpa_guiもあります。