2010年9月11日土曜日

長らく更新サボってましてw GW-USMini2Nがおかしくなった?

長らく更新サボってました。すいません。
マシンは基本的に家族が使うものなので、あんまりupdateなども滞っていたりしますが、最近になり、Kernel-2.6.35となったところ、以前からのKernel-2.6.31に必要なファイルが消去されたようでした。
んで、起動時のGrubで2.6.35を指定してみると問題なく起動するのですが、どういうことか無線LANが使えなくなってしまいました。

今までに記載してないかもしれませんが、無線LANのアダプターとして、かなり古いPLANEXのUSB無線LANアダプターである、GW-USMini2Nを使っていました。
ちなみにこれの中身はRalinkのRT3070らしいです。

おかしいなと思って、端末を起動、suしてrootになってifconfigしてみると、きちんとwlan0として認識されていました。
lsusbなどとしてみても
Bus 006 Device 002: ID 2019:ab25 PLANEX
と、IDなども表示され、デバイスとして認識されています。

念のため、kernelのsourceを見てみました。
rt3070のドライバーはstagingの中にあります。
んで、sabayonのkernelのsourceはスタンダードのsourceより対応デバイスが多く、IDなどはかなりいろいろ追加されているので、このPLANEXのアダプターも記載されています。

具体的には
/usr/src/linux-2.6.35-sabayon/drivers/staging/rt2860/usb_main_dev.c

の中に
 {USB_DEVICE(0x2019, 0xAB25)},  /* Planex Communications, Inc. RT3070 */
というEntryがあります。
#rt2870,rt3070ともrt2860のドライバーに統合されています。
#ここにentryがないRalinkのそれらのチップが使われているデバイスはlsuabしたときのIDを記載すると、動くかもしれません。自己責任で。

んで、それも問題ありませんでした。
んじゃ、なんでだろうと、
tail -f /var/log/message
と端末でコマンドを使って、Logをみながら、Network Connectionsを右クリックして、ネットワークを無効、有効としてOn、Offしてみました。
すると
localhost kernel: [   55.888537] usb 6-2: firmware file rt3070.bin request failed (-2)
localhost kernel: [   55.888545] ERROR! NICLoadFirmware failed, Status[=0x00000001]
localhost kernel: [   55.888552] rt28xx Initialized fail!
と表示されました。
どうやら、rt3070.binという、Ralinkのfirmwareが存在しないことが原因のようでした。
Sulfurを起動して、検索してみましたが、このRalinkのfirmwareはありませんでした。
こまった時はGoogle先生です。
#ってこの状態になったマシンではネットにつながらないので他のマシンで検索です。
すると、Gentooのwikiにこんな記載が。
ようするにralinkのサイトから、firmwareをダウンロードしてきて、rt3070.binとしてコピーすればいいようです。
早速、Ralinkのサイトへ。
#別なマシンからです。
下の方にある、
Firmware RT28XX/RT30XX USB series (RT2870/RT2770/RT3572/RT3070)
をクリック。
いつものことながらダウンロードに際しての注意書きがあり、名前とメールアドレスを入力させられますが、適当に。
acceptすると、RT2870_Firmware_V22.zipというファイルがダウンロードできます。
それを端末からなら、
unzip RT2870_Firmware_V22.zip
としてください。
RT2870_Firmware_V22というフォルダーが作成され、中にrt2870.binというファイルがあるはず。
これをrootにsuして、
cp ./rt2870.bin /lib/firmware/rt3070.bin
などとして、firmwareのフォルダーへコピーしてください。
#ネットが使えないので、他のマシンから適当にUSBメモリーなどで持ってくる必要がありました。
その後、Network Connectionsから、ネットワークを有効にすると問題なく接続されました。

いやーよかった。
ほんとはsabayonのwikiを日本語訳したり、sulfurのgettextの日本語訳したりすこしづつしてますが、それはまた。
では