RT73 Belkin stick depression

August 9, 2006
Sadly I have thrown three days down the toilet on trying to get a Belkin "Wireless G Network Adapter", F5D7050, containing a Ralink RT2571 chip to work using either the Ralink RT73 driver or the newer serialmonkey rt2x00 driver which contains the rt73usb.ko driver, this is on my AT91 platform. Initially I started, like a happy idiot, trying to get either to work with wpa_supplicant, since we have a WPA2 80211g network here. The Ralink RT73 sources did not initially crosscompile cleanly, there is a bad reference to asm/i386/... in an include, but after that it went better. However, at least when crosscompiled on gcc 4.02, this driver is a useless piece of crap, I outlined the problems here but naturally there was zero response from Ralink. Well okay, I knew about the alternative serialmonkey driver from getting my elder stepson's laptop working, which incorporated another Ralink chipset. They did not seem to have any support in the form of the modified Ralink drivers, but they do have a beta 2x00 driver which supports the RT73 chipset. This got a lot further, the MAC address was correctly initialized and in the end, with some coaxing, it can be made to show results from iwlist wlan0 scan that include our AP. But it won't associate and stay associated. After I removed the encryption from the AP temporarily, I was once - one time only - able to contact the DHCP server long enough to get an IP, but then it immediately deassociated again. And this is with no encryption! Again I posted to the forums here and again there was zero response. Perhaps it is the Arm crosscompile that is freaking the devs out, but since it is littleendian and 32 bits, it's really not so wild to expect it to just work. Another issue - actually here is the one bit of good news from the work - is there are two versions of firmware for the RT73 I found, in the form rt73.bin. One is shipped with the ralink driver and is also available on their site, which claims to be version 1.7. The other was provided in the Win98 directory on the CDROM that came with the Belkin device and is referred to as version 1.0 in the debug output. The Ralink-supplied driver has its own code to grab the file from a specific path - /etc/Wireless/something - and also has a private copy of the firmware in the sources of the driver itself if it can't find the driver in its magic path. The serialmonkey driver does it the proper Linux way using the firmware API in the kernel. Anyway this was the good news, I learned how this worked and created a hotplug script that is compatible with it, allowing it to load the firmware successfully from /lib/firmware. Anyway, while I have been saying recently that the wifi driver problems are largely resolved in Linux, which has been my experience on x86 laptops, they sure as hell aren't resolved for crosscompile usage :-((( Edit 2006-08-13: I posted to the serialmonkey project mailing list about it, it's too tantalizing close to forget about it. Head serialmonkey replied, "send hardware". Trying to see how feasible that it, since they need a build env and so on.