Ubuntu 10.04でWLI-UC-G300Nを使う
先日インストールしたUbuntuでWLI-UC-G300Nを使おうとしたら
若干苦労したのでメモ。
参考サイト
- http://www.toy-poodle-four.net/cgi-bin/four_sb/log/eid1414.html
- https://forums.ubuntulinux.jp/viewtopic.php?id=7779
- https://forums.ubuntulinux.jp/viewtopic.php?id=6825
- https://forums.ubuntulinux.jp/viewtopic.php?id=7557
1、2のページではWLI-UC-G300NにはRT2870チップが使われているとあるが、
自分の環境でlsusbをしてみると
Bus 001 Device 004: ID 0411:016f MelCo., Inc.
となり、どうもIDが違う。
試しにRT2870用ドライバを入れてもアクセスポイントが見つからない。
3のページを見ると、型番が違うものの、ID 0411:016fの無線アダプタが
RT3070用ドライバで動いたらしい。
ということでRT3070用ドライバを落としてくるも、insmodでエラーになった。
$ sudo insmod os/linux/rt3070sta.ko insmod: error inserting 'os/linux/rt3070sta.ko': -1 Unknown symbol in module
いろいろ検索した結果、4のページに書いてあるやり方で
ようやくまともに動くドライバをインストールすることができた。
以下、ドライバのインストール手順
1. ドライバを落としてくる
http://www.ralinktech.com/support.php?s=2 のRT3070USB(RT307x)と
書かれているリンクからダウンロードする。
自分の落としたときのバージョンは2.3.0.2だった。
$ tar xvfj DPO_RT3070_LinuxSTA_V2.3.0.2_20100412.bz2 $ cd DPO_RT3070_LinuxSTA_V2.3.0.2_20100412
2. ソースの修正
そのままでは動かないので、落としてきたドライバのソースを修正する。
・config.mk
"HAS_WPA_SUPPLICANT"と"HAS_NATIVE_WPA_SUPPLICANT_SUPPORT"を"y"にする。
2.3.0.2ではデフォルトで"y"だったので、特に修正なし。
・common/rtusb_dev_id.c
"{USB_DEVICE(〜)},"がたくさん並んでいるので、リストの末尾に
{USB_DEVICE(0x0411,0x016f)}, /* BUFFALO */
を追加する。
おそらくバージョンが変わると"{USB_DEVICE(0x0411,0x016f)},"を追加するファイルが変わると思うので、
そのときはgrepで探す。
・include/os/rt_linux.h
"STA_PROFILE_PATH"と"CARD_INFO_PATH"を修正する。
修正前 #define STA_PROFILE_PATH "/etc/Wireless/RT2870STA/RT2870STA.dat" … #define CARD_INFO_PATH "/etc/Wireless/RT2870STA/RT2870STACard.dat" 修正後 #define STA_PROFILE_PATH "/etc/Wireless/RT3070STA/RT3070STA.dat" … #define CARD_INFO_PATH "/etc/Wireless/RT3070STA/RT3070STACard.dat"
・os/linux/usb_main_dev.c
MODULE_LICENSEを追加する。MODULE_DESCRIPTIONの修正はなんとなく。
修正前 MODULE_DESCRIPTION("RT2870 Wireless Lan Linux Driver"); 修正後 MODULE_DESCRIPTION("RT3070 Wireless Lan Linux Driver"); MODULE_LICENSE("GPL");
・datファイルの名前変更
$ mv RT2870STA.dat RT3070STA.dat $ mv RT2870STACard.dat RT3070STACard.dat
3. ビルド
$ sudo make $ sudo make install
この段階でinsmodして無線アダプタを認識すればOK。
$ sudo insmod os/linux/rt3070sta.ko
4. モジュールを自動で読み込むようにする
/etc/modprobe.d/rt3070sta を作成し、以下を書き込む。
alias ra0 rt3070sta
/etc/modules に以下を追加する。
rt3070sta
後は再起動して無線アダプタを認識すればOK。
一度無線アダプタを認識すれば、暗号化はデフォルトで対応しているようなので
特に設定ファイルをいじる必要はないはず。
我が家では今のところWPA-PSK(AES)で問題なく動作中。