2010/10/02(Sat)FedoraでEeePC901の無線を使う
2010/10/02 0:16
なんとかググって解決できたのでメモメモ。
検証環境
Machine: Eee PC 901OS: Fedora 13 (x86)
Kernel: 2.6.34.7-56.fc13.i686.PAE-2.3.0.0-1.fc13.13.i686 (2010/10/01現在最新)
初期の挙動
どうやら無線インタフェースはRalink RT2860というデバイスらしいが、Fedora公式のEee PC - FedoraProject / Hardware supportに示されているように、901シリーズはWiFiがFedoraデフォルトのカーネルで使用できず、kmod-rt2860を使えと書いてある。が、いやらしいことに、デフォルトカーネルでもある程度認識していて、iwlist wlan0 scanとか打つと、スキャンしたAP情報がツラツラと表示されてしまう。
ちなみにその時のカーメルモジュールの状態(このままだと使えない)
# lsmod | grep rt rt2800pci 7743 0 rt2800lib 20795 1 rt2800pci rt2x00usb 7629 1 rt2800lib rt2x00pci 4999 1 rt2800pci crc_ccitt 1229 1 rt2800pci rt2x00lib 29883 4 rt2800pci,rt2800lib,rt2x00usb,rt2x00pci mac80211 181979 3 rt2x00usb,rt2x00pci,rt2x00lib cfg80211 110949 2 rt2x00lib,mac80211 eeprom_93cx6 1255 1 rt2800pci iTCO_vendor_support 2027 1 iTCO_wdt
kmod-rt2860をインストール
このkmod-rt2860というのは、さっきのページの表のすぐしたに書いてあるように、rpmforge辺りから手に入るので、そのリポジトリをまず追加する。# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm # yum install kmod-rt2860-2.6.34.7-56.fc13.i686.PAE.i686kmod-rt2860-から始まるパッケージはカーネルのバージョン毎にあるので、uname -rでカーネルバージョンを確認してから、それと全く同じ物(PAEの有り無しにも注意)をインストールすること。
で、先ほどまで読み込まれていた"rt2800なんとか"とか"rt2x00なんとか"をアンロードするのが面倒なので、再起動する。
すると、とりあえずra0というデバイスとして認識する。
# lsmod | grep rt iTCO_vendor_support 2027 1 iTCO_wdt rt2860sta 644300 0 # ifconfig ra0 ra0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:19とりあえず、/etc/sysconfig/network-scripts/ifcfg-ra0を作成。
DEVICE=ra0無線の設定自体は、/etc/Wireless/RT2860STA/RT2860STACard.datに書くらしい。
TYPE=Wireless
ONBOOT=no
HWADDR=XX:XX:XX:XX:XX:XX
IPV6INIT=yes
とりあえず設定した箇所は、CountryCode, SSID, Channel, AuthMode, EncrypType, WPAPSKの6カ所。*1
#The word of "Default" must not be removed接続テストしてみる。
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=JP ★国コード★
ChannelGeography=1
SSID=HOGEHOGE ★自分のSSID★
NetworkType=Infra
WirelessMode=5
Channel=6 ★チャンネル★
BeaconPeriod=100
TxPower=100
BGProtection=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
AuthMode=WPA2PSK ★認証方式★
EncrypType=AES ★暗号方式★
WPAPSK=................................................................ ★wpa_passphaseで作成したPSK★
DefaultKeyID=1
Key1Type=0
Key1Str=
Key2Type=0
Key2Str=
Key3Type=0
Key3Str=
Key4Type=0
Key4Str=
PSMode=CAM
AutoRoaming=0
RoamThreshold=70
APSDCapable=0
APSDAC=0;0;0;0
HT_RDG=1
HT_EXTCHA=0
HT_OpMode=0
HT_MpduDensity=4
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_MCS=33
HT_MIMOPSMode=3
HT_DisallowTKIP=0
HT_STBC=0
IEEE80211H=0
TGnWifiTest=0
WirelessEvent=0
CarrierDetect=0
AntDiversity=0
BeaconLostTime=4
PSP_XLINK_MODE=0
# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i ra0 -D wext CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys Trying to associate with XX:XX:XX:XX:XX:XX (SSID='HOGEHOGE ★自分のSSID★' freq=2437 MHz) CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys Associated with XX:XX:XX:XX:XX:XX WPA: Key negotiation completed with XX:XX:XX:XX:XX:XX [PTK=CCMP GTK=CCMP] CTRL-EVENT-CONNECTED - Connection to XX:XX:XX:XX:XX:XX completed (auth) [id=0 id_str=] ^CCTRL-EVENT-TERMINATING - signal 2 receivedKey negotiation completedとのことなので接続完了。続いて、wpa_supplicantの設定ファイル/etc/sysconfig/wpa_supplicantを書き換え。
INTERFACES="-i ra0"最後にデーモンを再起動し直して使えるようになりました、と。
DRIVERS="-D wext"
# service wpa_supplicant restart # chkconfig wpa_supplicant on