Debianに無線LAN

これは何か

Corega 製無線LANカード、CG-WLCB54GLを Debian sargeで動かしたときのメモ。

kernel update

ずっと2.2系でやってきたが、さすがに無線LANはつらかろう。 コンパイルはしんどいので、バイナリで落としてくる。 後述するドライバのコンパイルには、kernel-headersがあればいいのでいっしょに落としておく。

 #apt-get install kernel-image-2.6.8.1-386 kernel-headers-2.6.8-1-386

コンパイル当時のコンフィギュレーションを反映させておくために、

 # cp /boot/config-2.6.8-1-386 /usr/src/kernel-headers-2.6.8-1/.config
 # cd /usr/src/kernel-headers-2.6.8-1
 # make oldconfig

しておく。これで、ドライバなど、コンパイルにカーネルソースを要求するやつにはこのヘッダだけ食わせてやればよいことが多い。

wireless-tools をインストール

 # apt-get install wireless-tools

するだけ。

ndiswrapper

ndiswrapperを使うと、 WindowsXP用のドライバを使用できるらしい!ってことでまずこれで試す。

 # apt-get install ndiswrapper-utils ndiswrapper-source

あれ、コンパイルしたっけな。この辺の記憶がいまいち。 その後、

 # ndiswrapper -i hogehoge.inf
 # modprobe ndiswrapper

とするとiwconfigでカードが見えるはず...だけどカーネルごと落ちる。

いろいろ選択していると、Win2K用ドライバを使うと、いちおうつながる。 ただし、dhclientとともに使うと、一定時間後に落ちる。

Linux用ドライバ

http://sourceforge.net/projects/rt2400にこのNICのチップセットrt2500用のGPLドライバがある。また製造元であるRalinkからも、 http://www.ralinktech.com.tw/supp-1.htmで落とせる。

今回はRalinkからのやつを使う。 ドキュメントやバージョン管理がいまいちでわかりにくいのだが、 ver1.4.5 とやらはファイルが不足しているので、ver1.4.4を落として、ver1.4.5のファイルをver1.4.4に上書きした。 その後、ドキュメント通りに、

 # make -C /lib/module/kernel-headers-2.6.8-1 SUBDIRS=$PWD modules

するとrt2500.koはできたので、insmod rt2500.koしたあとに、iwconfigしても

 ra0      no wireless extentions.

とか言われる。ここであきらめていたのだが、めげずに

 # iwconfig ra0 essid hogehogenet
 # ifconfig ra0 up

するとつながった!iwconfigにも表示が出る。

その後、dhclient ra0 するとDHCPでアドレスをとって来れるのだけれども、ndiswrapper経由の場合と同様に、一定時間後にカーネルごと落ちるようだ。時間は数時間後とか、まちまちだが、いずれにせよ一晩持ったことがない。

いろいろ模索した結果、固定IPで使う(/etc/network/interfacesに固定IP設定を書いて再起動)と、今のところ落ちないようだ。

様子見中。