CF-R3でWLANを使う。

Momonga LinuxをいれたノートPCで、WLAN使いたかったのでいろいろやってみる。
dmesgを見ると、ipw2200は読み込まれているが、

Dec  3 17:24:21 localhost kernel: ipw2200: ipw2200-bss.fw request_firmware failed: Reason -2
Dec  3 17:24:21 localhost kernel: ipw2200: Unable to load firmware: -2

とか出ているので、エラーコードの意味を知るためにカーネルコードを読むことに。
もう、3年くらいLinux Kernelのコードを見ていませんでしたが、だいぶと変わっていますね。
相変わらず、直球なコードというか泥くさいコードというか…。
なんか、firmwareをロードするためにドライバ用のAPIが提供されているのね・・・。
単純にファームウェアがないことがわかったので、ここからファームをダウンロードして、
/lib/firmwareに入れる。
ipw2200は動作するようになったが、realtekの設定と喧嘩するところがあったので、
バイスネームを整理。

その後、wpa_supplicantの設定。
ドライバの指定にipwを使うものと思い、rpmをリビルドしてipwを指定できるようにしてみたものの動作せず。
ぐぐってみると、wext(Linux Wireless Extension)を指定するようである。
なんか、はめられた感があるが、/etc/sysconfig/wpa_supplicantを

INTERFACES="-ieth0"
DRIVERS="-Dwext"

/etc/wpa_supplicant/wpa_supplicant.confを

network={
        ssid="XXXXXXXXXXXXXXX"
        key_mgmt=WPA-PSK
        psk="AAAAAAAAA"
        proto=WPA
}

として、/etc/init.d/wpa_supplicantを走らせると動作した。
wpa_cliでstatusを行うと、Keyの交換が行われていることがわかる。

ノートPCなので、ネットワークデバイスは起動時にIPを取得しないようにして、
hotplugdを使うことにした。

でも、ifupを通じてのIP取得がうまくいかない。
dhclientを直接使うことに…。
原因を調べなくては…。