Sweex RT2571WF
Intro
A Wi-Fi USB stick for 20eur with a Ralink chipset, I couldn't resist...
Now trying to get it working...
Links
Installation
I tried to compile the sources from the official website on my Debian headers, some compilation errors (couldn't find modversions.h), I didn't insist as there are already several packages in Debian, among others:
- rt2x00-source
So I first upgraded my kernel as rt2x00 needs at least a 2.6.22
Getting, compiling & installing the driver:
m-a a-i rt2x00
When plugging the stick now I have a wmaster0 and wlan0 interfaces but ifconfig wlan0 up fails with kernel errors.
Nov 27 15:54:06 mercure kernel: phy3 -> rt2500usb_validate_eeprom: EEPROM recovery - Antenna: 0x0002 Nov 27 15:54:06 mercure kernel: phy3 -> rt2500usb_validate_eeprom: EEPROM recovery - NIC: 0xfff0 Nov 27 15:54:06 mercure kernel: phy3 -> rt2500usb_validate_eeprom: EEPROM recovery - BBPtune: 0xff2d Nov 27 15:54:06 mercure kernel: phy3 -> rt2500usb_validate_eeprom: EEPROM recovery - BBPtune vgc: 0xff40 Nov 27 15:54:06 mercure kernel: phy3 -> rt2500usb_validate_eeprom: EEPROM recovery - BBPtune r24: 0x8040 Nov 27 15:54:06 mercure kernel: phy3 -> rt2500usb_validate_eeprom: EEPROM recovery - BBPtune r25: 0x5040 Nov 27 15:54:06 mercure kernel: phy3 -> rt2500usb_validate_eeprom: EEPROM recovery - BBPtune r61: 0x6d60 Nov 27 15:54:06 mercure kernel: phy3 -> rt2x00_set_chip: Info - Chipset detected - rt: 1201, rf: 0000, rev: 00000000. Nov 27 15:54:06 mercure kernel: wmaster0: Selected rate control algorithm 'simple'
ifconfig wlan0 up SIOCSIFFLAGS: Input/output error Nov 27 15:54:56 mercure kernel: phy3 -> rt2500usb_set_state: Notice - Device failed to enter state 3, current device state: bbp 0 and rf 0. Nov 27 15:54:56 mercure kernel: phy3 -> rt2500usb_enable_radio: Error - Register initialization failed.
I saw there was a rt73-common package featuring update-rt73-firmware so I tried and ran the util, it fetched a firmware and installed it but it seems that when the stick is inserted there is no firmware loaded anyway.
Ok, now let's remove all the drivers and load manually rt73:
modprobe -r rt73usb rt2500usb rt2x00usb rt2x00lib modprobe rt73usb
Nov 27 15:57:59 mercure kernel: phy4 -> rt73usb_validate_eeprom: EEPROM recovery - NIC: 0xffef Nov 27 15:57:59 mercure kernel: phy4 -> rt73usb_validate_eeprom: EEPROM recovery - Led: 0xe000 Nov 27 15:57:59 mercure kernel: phy4 -> rt73usb_validate_eeprom: EEPROM recovery - RSSI OFFSET BG: 0x0000 Nov 27 15:57:59 mercure kernel: phy4 -> rt2x00_set_chip: Info - Chipset detected - rt: 1300, rf: 0002, rev: 0002573a. Nov 27 15:57:59 mercure kernel: wmaster0: Selected rate control algorithm 'simple' Nov 27 15:57:59 mercure kernel: usbcore: registered new interface driver rt73usb
ifconfig wlan0 up
Nov 27 15:58:57 mercure kernel: phy4 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt73.bin'. Nov 27 15:58:58 mercure kernel: phy4 -> rt2x00lib_request_firmware: Info - Firmware detected - version: 1.7. Nov 27 15:58:58 mercure kernel: phy4 -> rt73usb_init_bbp: Debug - Start initialization from EEPROM... Nov 27 15:58:58 mercure kernel: phy4 -> rt73usb_init_bbp: Debug - ...End initialization from EEPROM.
Much better!
And now "iwlist wlan0 scan" gives me some results
But I could not find how to set a WPA key
There is also a package rutilt
Clean installation
As using rt2x00 driver brought some confusions between rt2500 and rt73 modules, I'm trying the "old" one one:
apt-get install linux-image-2.6.22-3-vserver-686 rt73-modules-2.6.22-3-vserver-686 rt73-common update-rt73-firmware
See /usr/share/doc/rt73-common/README.gz
I could setup WPA with:
iwconfig wlan0 essid <myssid> iwpriv wlan0 set AuthMode=WPAPSK iwpriv wlan0 set WPAPSK=<mypassphrase> iwpriv wlan0 set EncrypType=TKIP
Then configuring the IP/route/DNS manually.
If I try DHCP with pump, I get the DHCP settings but I lost immediately the connectivity apparently because the interface forgets the WPA settings as soon as pump brings the interface down/up