Elecom WDC-150SU2MをArch Linuxで使う

古いcore i3のデスクトップPCがOSなしで3000円で売っていたので,Archlinuxをインストールして使っていましたが,用途変更で会議室に置くことにしました。しかし,この会議室にはLANケーブルが引いてなかったので,USBのwi-fiアダプタを買いに行きました。ElecomのWDC-150SU2というのが800円くらいで売っていたので,これでいいかと思いました。ネットでは500円で売られているようです。

www2.elecom.co.jp

しかし,心配なのはドライバです。その場で検索して,Ubuntuで使っている人がいることを確認して購入しました。

www.cntsv.jp

そのドライバがこれです。

github.com

激しく遠回りしましたが,やっと使えるようになりました。灯台下暗しとはこのことでした。

さっそく指示に従ってドライバをインストールしましたが,うまく接続できません。archwikiを調べると,ドライバをgithubから拾ってこなくても,AURにドライバがあるようです。早速インストールしたドライバをアンインストールして,AURから8188eu-dkmsをインストールしました。しかし,うまく行きません。

コメント欄を見ると,

what are the advantages of this driver compared to driver included in mainline linux (r8188eu)?

との質問がありました。もともとこれ用のドライバが入っているのでしょうか?面倒になったので,8188eu-dkmsもアンインストールして,しばらく放置しました。

たしかにdmesgを読むと,r8188euという名前が出てきます。これで動くような気もします。しかし,どっちのドライバーを入れても,

sudo iw dev interface_name scan

で,no such deviceというエラーがでて,先に進めないのです。一体これは・・・数日,ネットで情報を調べるも,私と同じ症状で困っている人はたくさんいましたが,これといったものが見当たりません。

とにかく試行錯誤で,ためにしGUIでやってみようと思い,wicdをインストールしてみました。もととも入っているr8188euドライバで,SSIDがスキャンされました。githubから持ってこなくても,もともと入っているドライバで動いたのです。

しかし,どんなにPSKを正しく入れて接続しようにも,つながってくれません。ドライバが動いているということなら再び手動でやってみることにしました。しかし,wpa_suppllicantがnl80211ドライバ関係で失敗しているようでした。そんなときに,掲示板で,rlt8188euドライバの作者さんの書き込みを発見しました。

github.com

Depending on which branch of this repo you are using, the code may be essentially that of the kernel, or it may be very different. The master branch matches the kernel - neither support any nl80211 commands. Branch v4.1.8_9499 does support those commands.

Both branches do support connection with NetworkManager controlling the interface. I think there is something wrong with your user-space routines.

どのブランチのドライバを使っているかで,コードはカーネルのものとほとんど一緒だったり,大いに異なっていたりする。マスターブランチはカーネルと一緒で,どちらもnl80211のコマンドをサポートしていない。どのブランチもNetworkManagerを使っての接続をサポートしていて,インターフェースを制御できる,というような意味と理解しました。

ということは,マスターブランチと同じもの?であるカーネルのドライバーでも,NetworkManagerならうまく接続できるかもと思い,NetworkManagerをインストールしました。しかし,これでもうまく行かないです・・・。

ネットワークマネージャのログを見てみると,ちゃんとパスフレーズを入力しているのに,パスフレーズが空っぽと読める記載があり,もしやと思い当たる節が。パスフレーズの保存にはGNOME keyringが必要ということで一緒にGNOME keyringをインストールしたのですが,インストールした後,ログアウトも再起動もしていなかったので,もしやそのせいではないかと当たりをつけて,再起動しました。

結果は当たりでようやくWi-Fiにつながりました。

結論

1.WDC-150SU2M(rlt8188euチップ使用)はカーネルのドライバで動く。

2.このドライバはnl80211をサポートしていないので,wpa_supplicantコマンドでは接続できない。

3.NetworkManager + GNOME keyring を使えば接続できる。

たぶん最初からNetworkManagerとGNOME keyringがインストールされたディストリビューションを使っている人なら,ドングルを刺して起動させただけで普通に使えたのでしょう・・・。合間合間にやっていたので,Wi-Fiにつなぐのに3日かかりました。