また、衝動買いの無線LANスティック
2005年7月25日23:31
linux
BUFFALO WLI-U2-KG54 (Air Station G54)
ひと月程前に購入した無線LANアダプタがやっと開通しました。
結構条件が厳しいです。
ドライバは下記のものが見付かりました。

- 本家 RALINK の rt2500usb
http://www.ralinktech.com/supp-1.htm
- bsd から移植された ural-linux
http://etudiants.insia.org/~jbobbio/ural-linux/
- SourceFoge の rt2570
http://sourceforge.net/projects/rt2400
ただ上の二つは接続できないし、テスト中に頻繁にカーネルパニックが発生します。
rt2570 は rt2500usb をベースに開発が進んでる様子ですが、これも使えない状況でした。
試したドライバのソース RPM は、 ダウンロード に置いてあります。

今日 cvs 20050725 版を試してみたところ、初めて継ったので、記念に書いて置きます。
環境は VineLinux (Seed) kernel-2.6.12 です。

まずドライバをインストールします。
rt2570 の最新版は ここ から rt2570-CVS を頂いて来ました。
これを展開して手順通りにインストールするのが素直ですが、
Vine の方は SRPM をリビルドしてインストールすることもできます。

$ rpm --rebuild rt2570-1.0.0-uvl0.0725.src.rpm
$ cd ~/rpm/RPMS/i386
$ su
# rpm -ivh rt2570-1.0.0-uvl0.0725.i386.rpm

ドライバ組込

/lib/modules/%{kernel-version}/net/rt2570.ko がインストールされているはずです。
このモジュールを組み込みます。
なお作業中は murasaki を止めて置いたほうが間違いがないと思います。
rausb0 として認識されることを確認します。

$ su -
# modprobe uhci
# modprobe rt2570
idVendor = 0x411, idProduct = 0x66
INIT bRadio=1
# /sbin/iwconfig rausb0
rausb0    RT2500USB WLAN  ESSID:""
          Mode:Managed  Frequency=2.412 GHz
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Link Quality=0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

立ち上げ

rausb0 を、仮に固定の IP アドレス 192.168.1.101 で立ち上げます。
(うちでは DHCP での接続はまだうまくいってません)

# /sbin/ifconfig rausb0 up 192.168.1.101
RT25usb Driver version 1.0.0
# /sbin/ifconfig rausb0
rausb0    Link encap:Ethernet  HWaddr 00:0D:0B:**:**:**
          inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: ###::###:###:###:###/64 Scope:Link
          UP BROADCAST RUNNING 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:801 (801.0 b)  TX bytes:9360 (9.1 Kb)

接続する

ESSID と WEP キーを指定します。 iwlist でアクセスポイントを検索した後に継るようです。
ping でも打って確認します。

# /sbin/iwconfig rausb0 essid 000D0BXXXXXX
# /sbin/iwconfig key [1] "s:xxxxx"
# /usr/sbin/iwlist rausb0 ap
rausb0    Peers/Access-Points in range:
  00:0D:0B:3D:0E:E7 : Quality=82/70  Signal level=-54 dBm  Noise level=-136 dBm
# /sbin/iwconfig rausb0
rausb0    RT2500USB WLAN  ESSID:"000D0BXXXXXX"
          Mode:Managed  Frequency=2.462 GHz  Access Point: 00:0D:0B:XX:XX:XX
          Bit Rate=54 Mb/s
          RTS thr:off   Fragment thr:off
          Encryption key:xxxx-xxxx-xx
          Link Quality=0/70  Signal level:-176 dBm  Noise level:-256 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

課題

  • DHCP での接続ができない
  • アクセスポイントの ESSID 取得を any にすると継らない
  • まだスクリプトを使った自動起動、停止ができない
  • 転送速度が 10Base 並
  • 不安定

まだいろいろ問題がありますが、正式リリースを気長に待ちます。

yangguo_2003 2006年12月16日22:56

http://ndiswrapper.sourceforge.net、ndiswrapperをダウンロードして、winXPに向けてのドライバファイルのxxx.infとxxx.sysを同じでLINUX側フォルダに置いて、ndiswrapperでそんなドライバに関するファイルをロードして、#modprobe ndiswrapperで、/etc/sysconfig/network-scriptsフォルダの中にifcfg-wlan0 Configファイルを自分のネット状態により、dhcp, dns, mac addressそのまま、書き込んで、system-config-network コマンドでアダプターのwlan0を正常に配置しました。