PDA

View Full Version : [ubuntu] 10.10 really sucks with rt3070sta



ario
October 17th, 2010, 09:22 AM
I downloaded the 693.2MB Ubuntu 10.10 desktop iso image file, but since I cant easily trust new versions, installed in on Virtual Box to see If my DWA-125 wireless dangle works well on this version
As you may know, This USB adapter is based on RT3070STA chipset.
In 10.04 installation of this adapter is practical using the driver source code from ralink website and black listing many modules.
I described this methode here (http://ubuntu-ky.ubuntuforums.org/showpost.php?p=9919406&postcount=12).
But this is not working on 10.10.
Blacklisted these:

blacklist rt2x00usb
blacklist rt2x00lib
blacklist rt2800usb
dmesg after inserting dangle is like this:

[ 3642.216104] usb 1-1: new high speed USB device using ehci_hcd and address 3
[ 3642.507433]
[ 3642.507567]
[ 3642.507680] === pAd = f8527000, size = 510444 ===
[ 3642.507781]
[ 3642.507898] <-- RTMPAllocAdapterBlock, Status=0
[ 3649.174750] <-- RTMPAllocTxRxRingMemory, Status=0
[ 3649.223330] -->RTUSBVenderReset
[ 3649.225341] <--RTUSBVenderReset
[ 3657.159964] Key1Str is Invalid key length(0) or Type(0)
[ 3657.160104] Key2Str is Invalid key length(0) or Type(0)
[ 3657.160126] Key3Str is Invalid key length(0) or Type(0)
[ 3657.160148] Key4Str is Invalid key length(0) or Type(0)
[ 3657.160964] 1. Phy Mode = 5
[ 3657.160968] 2. Phy Mode = 5
[ 3657.160973] NVM is Efuse and its size =2d[2d0-2fc]
[ 3659.188442] RTMPSetPhyMode: channel is out of range, use first channel=1
[ 3659.920662] 3. Phy Mode = 9
[ 3665.159642] RTMPFilterCalibration - can't find a valid value, loopcnt=102 stop calibratingMCS Set = ff 00 00 00 01
[ 3666.088590] <==== rt28xx_init, Status=0
[ 3666.129839] 0x1300 = 00064300
[ 3666.672287] ---> RTMPFreeTxRxRingMemory
[ 3666.672315] <--- RTMPFreeTxRxRingMemory
[ 3666.748700] #
[ 3666.836194] #
[ 3666.916192] #
[ 3666.996196] #
[ 3667.076194] #
[ 3667.171313] #
[ 3667.260194] #
[ 3667.340193] #
[ 3667.426754] #
[ 3667.512454] #
[ 3667.517800] RTUSB_VendorRequest failed(-110),TxFlags=0x0, ReqType=IN, Req=0x7, Index=0x1000
[ 3667.592187] #
[ 3667.672245] #
[ 3667.760474] #
[ 3667.848168] #
[ 3667.928191] #
[ 3668.016204] #
[ 3668.104211] #
[ 3668.196588] #
[ 3668.287671] #
[ 3668.368290] #
[ 3668.373770] RTUSB_VendorRequest failed(-110),TxFlags=0x0, ReqType=IN, Req=0x7, Index=0x1000
[ 3668.448146] #

Compiled and installed source code. But returned this after inserting module:

sudo modprobe rt3070sta
[sudo] password for aario:
FATAL: Error inserting rt3070sta (/lib/modules/2.6.35-22-generic/kernel/drviers/net/wireless/rt3070sta.ko): Invalid module format
What should I do to solve the problem?
Thanks.

ario
October 17th, 2010, 09:39 AM
Compiled and installed driver successfully. The problem was with using to obsolete functions:

usb_buffer_alloc
usb_buffer_free
I found the solution by looking to here (http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/22184) and decided to add these lines at first of './common/cmm_mac_usb.c' file:

#define usb_buffer_alloc(a, b, c, d) usb_alloc_coherent(a, b, c, d)
#define usb_buffer_free(a, b, c, d) usb_free_coherent(a, b, c, d)

I think this must be only applicable to kernel v2.6.35 and newer, because those two functions are renamed there.

Now the problem is that 10.10 is still willing to load it's malfunctioning module to handle with rt3070 chipset.
The new version 2.4.0 of the driver from ralink website even do not need to those two lines to be added and can be compiled like a charm. But the problem still exists.
How can I see what module it will insert whenever I insert my usb dangle? So that I can simply black list it?

whitething
October 20th, 2010, 05:30 PM
Thanks, man, the compilation problem solution worked perfectly.

Also, do I understand it right - you got the new 2.4.0.1 driver to work? I have compiled and installed it, it's listed in lsmod, but can't get it to work. Now, thanks to you, the corrected 2.3.0.4 works.

whitething
October 20th, 2010, 06:04 PM
Have you installed 2.4.0.1 by
make install prior to fixing 2.3? Because if you have, then you have rt3370sta loaded to handle your dongle, and it doesn't work for me - I had to remove it because it interfered with rt3070sta.

It's not enough to just rmmod it, you have to

sudo rm /lib/modules/2.6.35-22-generic/kernel/net/wireless/rt3370sta.ko
sudo depmod -a 2.6.35-22-generic


or it will be loaded every time you restart your machine.

ario
November 1st, 2010, 11:19 AM
Will try it. Thanks.

MooPi
November 1st, 2010, 01:52 PM
There is a firmware update on the Ralink support page, http://www.ralinktech.com/support.php?s=2
Don't know if this will help as I don't own the device to test.

ario
November 2nd, 2010, 10:02 AM
There is a firmware update on the Ralink support page, http://www.ralinktech.com/support.php?s=2
Don't know if this will help as I don't own the device to test.

I saw that. But don't know how to use it!

mcmeira
November 3rd, 2010, 10:22 AM
You should put your firmware in /lib/firmware

I tried compiling 2.4.0.1 driver with CHIPSET=3070 option set in Makefile and enabled wpa supplicant options in config.mk. It produced a rt3070sta.ko module but it seems not to work on my Maverick... it seems not to read the RT2870STA.dat configuration file. Any ideas?
Anyway i got it working with the 2.3.0.4 driver

ario
November 3rd, 2010, 01:58 PM
You should put your firmware in /lib/firmware

I tried compiling 2.4.0.1 driver with CHIPSET=3070 option set in Makefile and enabled wpa supplicant options in config.mk. It produced a rt3070sta.ko module but it seems not to work on my Maverick... it seems not to read the RT2870STA.dat configuration file. Any ideas?
Anyway i got it working with the 2.3.0.4 driver

The main problem is that after all the linux version of driver is unable to make a WPA connection. At least for Ad-hoc networking.