WLI-UC-GN、WLI-UC-GNM、WLI-UC-GNM2という3つの新定番が確立した、LinuxなWifi環境のおさらい。
製品名 | VID:PID | コントローラ | ドライバ | 使用可否 |
---|---|---|---|---|
GW-US54GXS | 2019:5303 | zd1211b | zd1211rw | ○ |
GW-USMicroN | 2019:ed14 | RT3070 | - | × |
GW-USWExtreme | 2019:ed17 | RTL8188CUS | rtl8192cu | ○ |
GW-US300MiniS | 2019:ab24 | RT2870 | rt2800usb | ○ |
WLI-UC-GN | 0411:015d | RT3070 | rt2800usb | ○ |
WLI-UC-GNM | 0411:01a2 | RT8070 | rt2800usb | ○ |
WLI-UC-GNM2 | 0411:01ee | RT3070 | rt2800usb | ○ |
WDC-433SU2M | 7392:b711 | MT7610U | - | × |
しかし、お仕事的にはサーバやリモート端末などNetwork-Managerを使えないターミナルUI環境での活用が中心なので、次のステップとしてwpa_supplicantでの動作検証を行う。
まずはCommunity Help Wikiに従い、実行中のNetwork-Managerを停止し、自動起動の設定を手動起動に変更する。
yano@Trusty:~$ sudo stop network-managerNetwork-Managerも設定ファイルの代わりにGUI操作を被せただけで、実態としてはお馴染みwpa_supplicantなので簡単…と思いつつ、なかなか接続に到らず難儀。
yano@Trusty:~$ echo "manual" | sudo tee /etc/init/network-manager.override
yano@Trusty:~$ sudo start network-managerとして再びNetwork-Managerで接続した時のログを比較してみたりしたが、何かが足りないというのはわかってもそれを活性化する為のwpa_supplicantの設定を行っているつもりなので、まさに行き詰まった状態に陥った。
まずは、ubuntuを再起動してからUSBドングルを指すというケースにおいて、接続&通信できる事で良しとするところまでハードルを下げて、最終的には /etc/wpa_supplicant/wpa_supplicant.confと/etc/networking/interfacesを
yano@Trusty:~$ cat /etc/wpa_supplicant/wpa_supplicant.confという構成で確認できた。
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
network={
scan_ssid=0
proto=WPA RSN
key_mgmt=WPA-PSK
auth_alg=OPEN
pairwise=CCMP TKIP
group=CCMP TKIP
ssid="TEST-WIFI"
#psk="passphrase"
psk=9271f8b3376c756b2eafb25b0632b0b09a6b51bf688cc6f79ede98fcad114a74
}
yano@Trusty:~$
yano@Trusty:~$ cat /etc/networking/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
# primary interface
auto eth0
iface eth0 inet dhcp
# secondery interface
allow-hotplug wlan0
# manual wlan0
iface wlan0 inet dhcp
# wpa-driver nl80211
# wpa-driver wext
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
yano@Trusty:~$
参考まで/etc/wpa_supplicant/wpa_supplicant.confに記述していたパラメータは/etc/networking/interfaces自体に
yano@Trusty:~$ cat /etc/networking/interfacesという風に直接書く事もできる。USBデバイスに関わらず同じWiFiに接続させるのならば前者、USBデバイス毎に異なるWiFiに接続させるのならば後者という具合に使い分ける、…という使い分けが便利そうだ。
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
# primary interface
auto eth0
iface eth0 inet dhcp
# secondery interface
allow-hotplug wlan0
# manual wlan0
iface wlan0 inet dhcp
# wpa-driver nl80211
# wpa-driver wext
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
wpa-scan-ssid 0
wpa-proto WPA RSN
wpa-key-mgmt WPA-PSK
wpa-auth-alg OPEN
wpa-pairwise CCMP TKIP
wpa-group CCMP TKIP
wpa-ssid "TEST-WIFI"
#psk="passphrase"
wpa-psk 9271f8b3376c756b2eafb25b0632b0b09a6b51bf688cc6f79ede98fcad114a74
yano@Trusty:~$
ちなみに、ドライバインタフェースは古来よりwireless-extensionsとしてお馴染みのwextと、新しくユーザーランドで動作するようにセキュリティ改善されたnl80211の2種類がある。最終的にはrt2800usb等のドライバに依存する事になるので闇雲にnl80211にしてしまうのも微妙かと思われるが、指定しないと両インタフェースが共存するようなので、基本的には特に指定しないのが無難と思われる。
上記のように/etc/networking/interfacesとwpa_supplicantの設定を行う事で、ethインタフェースのようにコマンドラインから
yano@Trusty:~$ sudo ifup wlan0や
yano@Trusty:~$ sudo ifdown wlan0という具合に制御できるハズだが、そう簡単にはうまくいかないのが世の常。動作確認では思い込みや先入観を排除し、USBドングルの抜き差しやubuntuのrebootも含めてトライして頂きたい。
【4/6追記】実機環境で追試してみたところ/etc/networking/interfacesの"manual"モードやifdown/ifupの操作でも問題無く動いたので、上記コマンドライン系の不具合はOracle VM VirtualBox由来の環境問題である可能性あり。
【参照】
●株式会社バッファロー BUFFALO http://buffalo.jp/
┣無線LAN子機
┣BUFFALO WLI-UC-GNM
┗BUFFALO WLI-UC-GNM2
●Amazon.co.jp https://www.amazon.co.jp/
┣BUFFALO Air Station NFINITI 11n/g/b USB用 無線子機 WLI-UC-GNM 713円
┗BUFFALO 11n対応 11g/b 無線LAN子機 親機-子機デュアルモード対応モデル WLI-UC-GNM2 909円