« EeePCでHoneyComb | トップページ | Logitec W150N/U2がホストモードで動くまでの長い道のり(2) »

2013年3月30日 (土)

Logitec W150N/U2がホストモードで動くまでの長い道のり(1)

ことの始まりはいつものように電気屋だった。近所の巨大電気店をフラフラ歩いていたらPCをスマホのアクセスポイントにして快適ネットワーク、という触れ込みの無線LANドングルが売られていた。お値段680円。裏を見るとホストモードもサポートしていると書かれている。

まぁ680円だし、ダメ元でLinuxに突っ込んで無線LAN APにしてみよう、と思ったのが長い戦いの始まりだった。
さて、まずこのドングルをUbuntuをインストールしたノートに差し込む。あっさり認識し、接続できる。Linuxってもう一部の特殊な人が使うものではないんだな、なんて感慨にふける。しかし、これが罠だとはまだ気が付いていない。
lsusbすると
Bus 001 Device 002: ID 0789:0168 Logitec Corp. LAN-W150N/U2 Wireless LAN Adapter
というIDが表示される。どうやらドライバはrt2800usbというものらしい。
さて、このままノートにさしておくわけにも行かないので本来APにしたいターゲットに刺す。ものはShuttle XS35、Atomベースの省スペースPCで中身はScientific Linux 6.3だ。
lsusbに刺すとIDは表示されるので認識しているようだが、うんともスンともいなわい。rt2800usbというドライバも影も形もない。とりあえずドライバを用意しなければいけないので情報収集。ralinkのrtシリーズはかつてstagingで存在したが今はmainlineにマージされている。ネットを漁ると両方の情報が入り混じって出てくるので混乱する。
今更stagingでもないのでmainlineのrt2800usbを使う方向で考えると、結局ソースからビルドするということになる。だったらもうちょっと新しいのにしたいね、ということで今回は思い切ってバージョンを上げ、Longtermの中では一番新しい3.4にすることにした。
3.4はOpen vSwitchがマージされているなどネットワークデバイスとして魅力が大きいこともバージョン更新の理由の一つ。
さて、kernel.orgからソースをダウンロードし、make oldconfig、make menuconfigをやって新しいカーネルをインストールする。
カーネルとドライバができた。modprobe rt2800usbするとちゃんとドライバは読み込まれる。だけどwlanは出てこない。ファームウェアなるものが要るらしい。先人の情報によればralinkのサイトからダウンロード、と書かれているけどそのサイトはすでになくて、別のサイトに飛ばされる。まぁ、ちょっと名前とか入れるフォームが出るけどなんとか入手できた。
実は、ここにも落とし穴がある。Ubuntuなどに添付されているファームウェアはホストモードにはならないらしい。確かに、バイナリダンプを見るとUbuntuのrt2870.binとサイトからダウンロードしたrt2870.binは別物だった。
さて、ファームも手に入った、けどやっぱりwlanは現れない。これまた先人の知恵によるとecho "ベンダid プロダクトid" > /sys/bus/usb/drivers/rt2800usb/new_idというおまじないが目に入る。なにこれ?公式ドライバなのにidを教えないと動かないの?(詳細は後でわかるんだけど)
とりあえずやれば動く。
実際はこのあとしばらくこの状態でhostapdとかセットアップしていたのですが、話のまとまりが悪いので種明かしをすると、rt2800usbを作るときにInclude support for unknown deviceにチェックを入れていなかったのがいけないのでした。
デバイスドライバは自分がサポートするidの一覧というものを持っていて、これはソースにハードコーディングされています。今回の場合、0789,168というのがそれにあたるのですが、このIDは
#ifdef CONFIG_RT2800USB_UNKNOWN
:
#endif
で囲まれた中に入っているグループで、上記のチェックを入れないとここがコンパイルされない、よってノードも作られない。というわけでした。そして、/etc/udev/ruls.dにルールを追加して、OSとデバイス関係はひとまずおしまい。

« EeePCでHoneyComb | トップページ | Logitec W150N/U2がホストモードで動くまでの長い道のり(2) »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/60027/57067398

この記事へのトラックバック一覧です: Logitec W150N/U2がホストモードで動くまでの長い道のり(1):

« EeePCでHoneyComb | トップページ | Logitec W150N/U2がホストモードで動くまでの長い道のり(2) »