Sweex RT2571WF

From YobiWiki
Jump to navigation Jump to search

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