YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-03-20 (水)


[一語一絵/IT系]

PLANEX GW-US54GXS / 2007-07-26 (木)

GW-US54GXS
[External]無線LAN USBアダプタ GW-US54GXS

[External]プラネックス[External]無線LAN USBアダプタ GW-US54GXSを買った。[External]amazon.co.jpにて2,280円也。

CentOSで使えるように頑張ったメモ。

こやつはZyDAS ZD1211という無線LANコントローラーを搭載しているのだが、[External]zd1211rw - Linux Wirelessによると、kernel 2.6.18 以降には zd1211rw というドライバモジュールが入っているらしいので、ftp.naist.lkams.kernel.orgより、linux-2.6.20.15.tar.bz2をダウンロード。

USBポートに接続してlsusb -vで確認すると、

$ lsusb -v
Bus 005 Device 008: ID 2019:5303
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0        64
  idVendor           0x2019
  idProduct          0x5303
  bcdDevice           48.10
  iManufacturer          16 PCI
  iProduct               32 PCI GW-US54GXS
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    :
    :
    :
という出力から、ベンダーIDとプロダクトIDが2019:5303である事がわかる。

でもってlinux-2.6.20.15/drivers/net/wireless/zd1211rw/zd_usb.cにベンダーIDとプロダクトIDを、linux-2.6.20.15/drivers/net/wireless/zd1211rw/zd_ieee80211.cには国別のエクストラチャンネルを追加。

$ cat linux-2.6.20.15-zd1211rw.patch
*** zd1211rw.orig/zd_usb.c      2007-07-07 13:52:58.000000000 +0900
--- zd1211rw/zd_usb.c   2007-07-25 10:50:00.000000000 +0900
***************
*** 58,63 ****
--- 58,64 ----
        { USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B },
        { USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B },
        { USB_DEVICE(0x050d, 0x705c), .driver_info = DEVICE_ZD1211B },
+      { USB_DEVICE(0x2019, 0x5303), .driver_info = DEVICE_ZD1211B },
        /* "Driverless" devices that need ejecting */
        { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER },
        {}
*** zd1211rw.orig/zd_ieee80211.c        2007-07-07 13:52:58.000000000 +0900
--- zd1211rw/zd_ieee80211.c     2007-07-25 10:48:14.000000000 +0900
***************
*** 43,48 ****
--- 43,49 ----
         * 1-13. The ZyDAS devices still use the old region code but are
         * designed to allow the extra channel access in Japan. */
        [ZD_REGDOMAIN_JAPAN_ADD] = { 1, 15},
+      [0x49] = { 1, 15},
  };

  const struct channel_range *zd_channel_range(u8 regdomain)
あとは、kernelオプションでUSB関係を有効にしてbuildすればよい。

/etc/modprobe.confには

alias eth1 zd1211rw
の一行を追加。

[External]wpa_supplicantを使う場合、/etc/sysconfig/wpa_supplicant

# wlan0 and wifi0
# INTERFACES="-iwlan0 -iwifi0"
INTERFACES="-ieth1"
# ndiswrapper and prism
# DRIVERS="-Dndiswrapper -Dprism"
#DRIVERS="-Dndiswrapper"
DRIVERS="-Dwext"
となる。

ここで

# service wpa_supplicant restart
すれば OK だと思ったのだが、さにあらず。/var/log/messages を見ると
Jul 26 14:49:01 localhost kernel: ieee80211: 802.11 data/management/control stack, git-1.1.13
Jul 26 14:49:01 localhost kernel: ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
Jul 26 14:49:01 localhost kernel: usb 5-2: reset high speed USB device using ehci_hcd and address 6
Jul 26 14:49:01 localhost firmware_helper[3975]: Loading of /lib/firmware/zd1211/zd1211b_ub for usb driver failed: No such file or directory
Jul 26 14:49:01 localhost kernel: usb 5-2: Could not load firmware file zd1211/zd1211b_ub. Error number -2
Jul 26 14:49:01 localhost kernel: zd1211rw 5-2:1.0: couldn't load firmware. Error number -2
Jul 26 14:49:01 localhost kernel: usb 5-2: reset high speed USB device using ehci_hcd and address 6
Jul 26 14:49:02 localhost kernel: zd1211rw: probe of 5-2:1.0 failed with error -2
Jul 26 14:49:02 localhost kernel: usbcore: registered new interface driver zd1211rw
な具合で、「firmwareがロードできない」と仰せのようだ。

というわけで、最後に[External]ZD1211 USB WLAN Linux Driverからzd1211-firmwareをダウンロードし、/lib/firmware/zd1211/に展開してあげて万事OKだったという備忘録。(7月25日現在の最新版はzd1211-firmware 1.3)

またkernel最新版は7月25日現在2.6.22だが、2.6.22だと[External]MADWIFI0.9.3ビルドできなかったので、8月14日にリリースされた 0.9.3.2 を使って幸せになろう。

【参照】
●プラネックスコミュニケーションズ http://www.planex.co.jp/
Mac OSにも対応!薄型・軽量の無線LAN USBアダプタ:PLANEX:GW-US54GXS
●SourceForge.net: zd1211 http://zd1211.wiki.sourceforge.net/
┗ZD1211 USB WLAN Linux Driver http://sourceforge.net/project/showfiles.php?group_id=129083
●Linux Wireless http://www.linuxwireless.org/
┗zd1211rw http://www.linuxwireless.org/en/users/Drivers/zd1211rw
●WPA Supplicant http://hostap.epitest.fi/wpa_supplicant/