目次

Ubuntu 14.04 LTSの古いnmcliでステルスSSIDの無線APに接続する

Ubuntu 14.04 LTSなマシンで無線LAN接続するのに苦労したのでメモ。自分はタコなので(最近はあんまりタコって言わなくなった気がする…)、間違いとかあると思う。

試した環境

最近のnmcliではコマンドの書式が違うので使えない。というか、調べても最近のnmcliの事しか見つからなかったので、あえて古い情報を書くに至ったというわけ。

ステルスモードのアクセスポイントに接続

古いnmcliは見えているアクセスポイント、つまり非ステルスなSSIDにしか繋ぎにいかない仕様?バグ?らしく、普通にステルスなSSIDを指定しても「Error: No network with SSID 'STEALTH_AP' found.」と直ぐ様エラーを返してきやがる。

なので、先にiwlistでステルスSSIDを指定した上でAPのスキャンを行い、ステルスSSIDを可視化してやる。(ステルス機能とはAPが自ら名前を名乗らないというだけで、正しい名前を読んであげれば応答するのである。)

# iwlist wlan0 scanning essid STEALTH_AP
# nmcli device wifi connect STEALTH_AP password PASSWORD

認識されているSSIDは nmcli device wifi で確認できる。

$ nmcli device wifi
SSID                              BSSID               MODE             FREQ       RATE       SIGNAL   SECURITY   ACTIVE
'DIRECT-PE-BRAVIA'                4A:E2:44:xx:xx:xx   Infrastructure   2437 MHz   54 MB/s    90       WPA2       no
'STEALTH_AP'                      CC:E1:D5:yy:yy:yy   Infrastructure   2447 MHz   54 MB/s    97       WPA2       no
'guest2'                          DC:FB:02:zz:zz:zz   Infrastructure   2462 MHz   54 MB/s    37       WPA WPA2   no

ちなみに、古くないnmcliではhiddenオプションが追加されており、hidden yesとすることでステルスSSIDに直接繋げるようだ。ついでにいうと、NetworkManager自体は昔からhiddenオプションを持ってるので、D-Busで叩いてやればふつーに繋がる……というか、nmcliはNetworkManagerのD-Busラッパーでしかないわけだが、なぜそこの実装をサボったんだよっていう。

古いnmcliのコマンド例集

アクセスポイントに接続

nmcli device wifi connect SSID password PASSWORD

使用する無線LANデバイスを指定してアクセスポイントに接続

nmcli device wifi connect SSID password PASSWORD iface wlan0

接続プロファイルを表示

無線LAN以外も表示されることに注意

nmcli connection list

接続プロファイルで接続

nmcli connection up id プロファイル名

プロファイルは初回接続時に/etc/NetworkManager/sustem-connections/の下に自動で作られる。デフォルトではSSID名になるが、nameオプションで名前指定が可能。

戯言

/-はっきり言ってLinuxはクソだと思う。-/

無線LAN接続するためのコマンドが iwconfig, wpa_cli, nmcli と3つあり、それぞれ出来ることが違ってて、同じコマンドでもバージョンで書式が微妙に違うっていうのは、多様的で自由ソフトウェアのあるべき姿を体現しており、Linuxは大変に素晴らしいものだなぁと思いました。ラブアンドピース!

参考サイト