rt73 on ARM

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=3582

nerochiaro

03-04-2007 16:31:02

Hi,
i'm trying to setup an ARM9-based device[/url2d41el02] to use an Asus WL-167G dongle (based on rt73).

To run it on the ARM I cross-compiled the r73 legacy driver from the "rt73 USB nightly CVS tarball" from the downloads page.
If this is the wrong driver, please let me know (however the dongle works fine with this driver on a PC running ubuntu edgy, so i guess it's the right one).

The cross compile seems to go ok, I get the rt73.ko module and use insmod to load it on the ARM. I get this
[code2d41el02]~ # insmod rt73
Loading Module /lib/modules/2.6.15/extra/rt73.ko
rtusb init ====>
idVendor = 0xb05, idProduct = 0x1723
usbcore: registered new driver rt73
[/code2d41el02]
So it seems to load just fine. And iwconfig seems to see it too
[code2d41el02]~ # /usr/local/bin/iwconfig
rausb0 RT73 WLAN
Link Quality:0 Signal level:0 Noise level:113
Rx invalid nwid:0 invalid crypt:0 invalid misc:0[/code2d41el02]
However when I try to do actually use it i get the following error
[code2d41el02]~ # /usr/local/bin/iwconfig rausb0 essid something
Error for wireless request "Set ESSID" (8B1A) :
SET failed on device rausb0 ; Network is down.
[/code2d41el02]
The same thing happens if I "ifconfig rausb0 up" before trying that (I mention this because someone suggested that i should up the interface before using iwconfig, i'm not sure it makes sense).

So, anyone can see what I am doing wrong or has suggestions ?
Am I missing something obvious ?

Thanks,
--
nero

mykhal

03-04-2007 18:33:25

did you try e.g. "ifconfig rausb0 inet 10.10.10.69 netmask 255.255.255.0 up" ?

nerochiaro

03-04-2007 19:41:27

did you try e.g. "ifconfig rausb0 inet 10.10.10.69 netmask 255.255.255.0 up" ?[/quote2qvo3xsw]

Yes, and no luck. I still get the same error message when using iwconfig.

I also noticed that if i try to bring down the interface with ifconfig, the kernel module crashes.
You can see the log of such a session with final crash in the attached file.

serialmonkey

03-04-2007 23:30:34

What version of the wireless extensions are you using ?

iwconfig -version

nerochiaro

04-04-2007 06:46:20

What version of the wireless extensions are you using ? iwconfig -version[/quote2iuz58em]
[code2iuz58em]~ # /usr/local/bin/iwconfig --version
iwconfig Wireless-Tools version 28
Compatible with Wireless Extension v11 to v20.
Kernel Currently compiled with Wireless Extension v19.

~ # uname -a
Linux neuros 2.6.15 #2 PREEMPT Tue Apr 3 16:34:50 CEST 2007 armv5tejl unknown[/code2iuz58em]
I added kernel version in case you need it too.

serialmonkey

05-04-2007 01:26:09

Afraid it just doesn't appear the device is getting initialised properly. Can you compile with debug enabled and show us the output ?

idamlaj

09-04-2007 14:00:05

Or just load the driver with the debug parameter set to 2
[code1x0jv06w]modprobe rt73 debug=2[/code1x0jv06w]

nerochiaro

10-04-2007 14:45:37

Or just load the driver with the debug parameter set to 2
[code2m3qk98s]modprobe rt73 debug=2[/code2m3qk98s][/quote2m3qk98s]

I both compiled the module with debug and loaded it with debug=2. Here's what happens.

[code2m3qk98s]~ # insmod rt73 debug=2
Loading Module /lib/modules/2.6.15/extra/rt73.ko
rtusb init ====>
idVendor = 0xb05, idProduct = 0x1723
**RT2573**<7>usb device name rausb0
**RT2573**<7>BulkOutMaxPacketSize 64
**RT2573**<7>rt73_get_ether_stats --->
usbcore: registered new driver rt73
~ # ifconfig rausb0 inet 192.168.1.77 netmask 255.0.0.0 up
rt73 driver version - 1.0.3.6 CVS
**RT2573**<7>--> PortCfgInit
**RT2573**<7><-- PortCfgInit
**RT2573**<7>--> RTMPInitAdapterBlock
**RT2573**<7><-- RTMPInitAdapterBlock
**RT2573**<7>--> NICInitTransmit
**RT2573**<7>--> NICInitRecv
**RT2573**<7>Not enough memory
**RT2573**<7><-- NICInitRecv
**RT2573**<7>---> ReleaseAdapter
**RT2573**<7><--- ReleaseAdapter
**RT2573**<7>rt73_get_ether_stats --->
**RT2573**<7>rt73_get_ether_stats --->[/code2m3qk98s]

So it seems it runs out of memory while allocating pRxContext->TransferBuffer in NICInitRecv in rtmp_init.c.
I tried to lower the amount of memory of that specific call to kmalloc to ridiculously small levels, but it always fails.

Just for experiment I tried to comment out altogether the allocation of the various transmit buffers in NICInitTransmit (which is called before NICInitRecv). I thought that since the kmallocs in NICInitTransmit didn't error skipping them would've left usable memory for the one in NICInitRecv.

But no, instead it still fails.

This seems a bit strange to me. Am I missing something ?
Thanks
--
nero

serialmonkey

11-04-2007 15:28:36

Afraid I can't reproduce this on my ARM setup. I agree, it's very odd you are getting memory errors on that call.

nerochiaro

16-04-2007 10:12:38

Afraid I can't reproduce this on my ARM setup. I agree, it's very odd you are getting memory errors on that call.[/quote2z24j846]

I think I found out how to at least bypass the problem. It looks like the only kmalloc calls that fail are those that have MEM_ALLOC_FLAG as second argument to kmalloc. That is, they require GFP_DMA | GFP_ATOMIC memory.

Taking away the GFP_DMA requirement allows the memory to be allocated and kmalloc to return successfuly and the driver sort of works.

Why only the receive buffers use GFP_DMA | GFP_ATOMIC and the transmit buffers use just GFP_KERNEL ?
Is DMA really required for these receive buffers ?
I'm not really an expert here, so i'm actually curious.

Also it might be that this is not the right fix, since the drivers seems to be having continuous failures in lots calls to RTUSB_VendorRequest (they all return -110 on calls to usb_control_msg).
Any ideas why this might happen or it's related to the memory allocation issue above ?

serialmonkey

17-04-2007 10:36:59

Afraid I can't really comment, that memory design was done by Ralink and we have never fully been able to understand it - hence why we rewrote it from scratch in rt2x00

nerochiaro

17-04-2007 11:06:01

Afraid I can't really comment, that memory design was done by Ralink and we have never fully been able to understand it - hence why we rewrote it from scratch in rt2x00[/quote2n0sauk1]

Speaking of rt2x00, I would surely prefer to use it, since being you the authors, the support will be surely better.

But we can't move to a 2.6.17 for now. is there any way to make it work on a 2.6.15 kernel ?

IvD

17-04-2007 11:45:24

is there any way to make it work on a 2.6.15 kernel ?[/quote18c1t693]

Not really, unless you want to spend a lot of time porting it.
Note that at the moment we already have serious problems bringing the latest mac80211 stack available for vanilla kernels...

chernwu

19-04-2007 14:56:51


To run it on the ARM I cross-compiled the r73 legacy driver from the "rt73 USB nightly CVS tarball" from the downloads page.

nero[/quote3gbddqdp]

can you tell me how did you cross-compiled it? i can't cross-compile it scesefully. can you give your code here? thanks very much.

nerochiaro

19-04-2007 16:37:04


To run it on the ARM I cross-compiled the r73 legacy driver from the "rt73 USB nightly CVS tarball" from the downloads page.

nero[/quote1y6wf253]

can you tell me how did you cross-compiled it? i can't cross-compile it scesefully. can you give your code here? thanks very much.[/quote1y6wf253]

Ok, this is what I remember

I put the contents of the Module directory into my arm 2.6.15 kernel tree under drivers/usb/net/rt73, then did the following to make it part of the kernel build
- I added to the /drivers/usb/net/Kconfig to add an option to enable the rt73 module,
- Then edited the Makefile in /drivers/usb/net to have it build the subdir rt73 when the option above is active.
Then I ran the kernel menuconfig to actually enable that option.

Finally I edited the Makefile for the rt73 driver itself
- put the right paths in KERNEL_SOURCE and MODULE_ROOT
- removed the calls to /sbin/depmod since we're not on the target system
- deleted the module and debug rules
- renamed arm rule to module and armdebug rule to debug

At this point doing make modules && make modules_install from the kernel root did the trick.
I'm not sure if this will be enough on your system. It worked for me.
Good luck !

nerochiaro

20-04-2007 21:20:23

Afraid I can't really comment, that memory design was done by Ralink and we have never fully been able to understand it - hence why we rewrote it from scratch in rt2x00[/quotelb6i0aao]

All right, I've moved forward from my last message and solved that old problem. However a new problem surfaced now, and I'd like some help on this too.

First off, the solution for the error i mentioned in a previous post was that of raising the timeout for usb_control_msg() to 2000. The error I was getting was -110, which meant timeout. I don't know exactly why such an high timeout is needed, but that works now.

(As a side note, please note that i think from kernel 2.6.12 that timeout shall be passed in milliseconds, not jiffies)

After I got past that error, the driver started picking up control packets off the air and eventually started doing the scan of all channels for AP presence. However at a certain point the driver always crashes.

This crash is always reproducible and happens because for some reason the MLME queue overflows (message "ERROR!!! <7>MlmeEnqueueForRecv full and dropped").
See the attached crash.txt file for a complete debug trace up to the problem plus kernel oops info and all.

i guess the MLME queue overflows because it's not being processed fast enough, but not sure why or how to prevent this from happening.

I am also not sure what is actually causing the crash itself. The stack traces of the oops are pretty suspicious and seem to indicate some background task that is woken up and derefences a NULL pointer.
I have to admit.after lots of debug that i have no idea what's really happening there.

My head is a quite sore from bashing against this particular wall, and I feel a bit at a dead end.
So if you or anyone can give me some hints, I would be extremely grateful.

(Attached is also a patch with all the tiny modifications I've done so far, in case you're interested. It's really a small patch)

chernwu

22-04-2007 08:56:35



At this point doing make modules && make modules_install from the kernel root did the trick.
I'm not sure if this will be enough on your system. It worked for me.
Good luck ![/quote3dq057zo]

thank you very much, i have cross-compiled it successfully, )
after i download it to my ARM9 board, i can't access our route by ping. the message is

[code3dq057zo]/lib/modules/2.6.8.1/kernel/drivers/net # uname -a
Linux 192.168.1.144 2.6.8.1 #1 Tue Jan 2 11:01:09 CST 2007 armv4tl unknown [/code3dq057zo]

[code3dq057zo]ifconfig rausb0
rausb0 Link encap:Ethernet HWaddr 00:18:F8:35:79:26
inet addr:192.168.1.123 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20922 errors:0 dropped:219 overruns:219 frame:219
TX packets:1559 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2301995 (2.1 MiB) TX bytes:117728 (114.9 KiB) [/code3dq057zo]
it has recevied 2.1MiB data, and send some,
[code3dq057zo]# iwconfig rausb0
rausb0 RT73 WLAN ESSID:"hyena"
Mode:Managed Channel:6 Bit Rate=54Mb/s
RTS thr:off Fragment thr:off
Encryption key:6C69-7368-69
Link Quality:0/100 Signal level:-121 dBm Noise level:-115 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0[/code3dq057zo]
says the device works.
but when i scanning ssids by
[code3dq057zo]# iwlist rausb0 scanning[/code3dq057zo]
it returns "no results",and when i ping our route, noting returns.
i don't know why, the wireless card works well in my Ubuntu. any help will greatly apricated )

nerochiaro

22-04-2007 09:08:13

the device works. but when i scanning ssids by
[code1qyaay9e]# iwlist rausb0 scanning[/code1qyaay9e] it returns "no results",and when i ping our route, noting returns. i don't know why, the wireless card works well in my Ubuntu. any help will greatly apricated )[/quote1qyaay9e]
Try doing as i did. Load the driver with debug=2, capture all the output you get (not sure where it goes on your platform) for, say, the first three minutes of operation after you do bring up the interface. Then attach it here in a post.
Without that debug messages it's pretty impossible to say what's happening, as nwallis said before.

chernwu

22-04-2007 09:36:34

i recompiled rt73 by
[code2jfx2z5i]make armdebug[/code2jfx2z5i]
and gives rt73.ko, with some warning says
[code2jfx2z5i]/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c: In function `RTMPMoveMemory':
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2788: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2788: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2790: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2790: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2792: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2792: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2794: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2794: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2796: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2796: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2798: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2798: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2800: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2800: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2802: warning: use of cast expressions as lvalues is deprecated
/home/oem/terk/embed/trunk/cirrus-arm-linux-1.0.4/linux-2.6.8.1/drivers/usb/net/rt73/rtmp_init.c:2802: warning: use of cast expressions as lvalues is deprecated
[/code2jfx2z5i]
and i load it to my board, but i got nothing print out by typing "insmod rt73_debug.ko debug=2"(i renamed it to rt73_debug.ko)
[code2jfx2z5i]/wifi # insmod rt73_debug.ko debug=2
/wifi # rmmod rt73_debug.ko[/code2jfx2z5i]
any problem?
but i can't remove the driver
[code2jfx2z5i] lsmod
Module Size Used by Not tainted
rt73 332304 0 - Live 0xbf070000
prism2_usb 77028 0 - Live 0xbf05c000
p80211 30032 1 prism2_usb, Live 0xbf053000
zd1211b 301328 0 - Live 0xbf008000
qemotor 14148 8 - Live 0xbf003000
qeinterrupt 5768 1 qemotor, Live 0xbf000000
/wifi # rmmod rt73
Segmentation fault
/wifi # rmmod rt73
rmmod: rt73: Device or resource busy
[/code2jfx2z5i]
thanks for your reply )

nerochiaro

22-04-2007 09:49:53

i recompiled rt73 and i load it to my board, but i got nothing print out. Any problem?[/quote20u2wnhj]
As I said, i don't know where the kernel debug messages go to your platform. Maybe you can use syslog to send them to a log file ?
You really should check with someone who knows that specific platform.
As for the warnings, I have them too but they seem harmless.
And for the rmmod, it's again important to see what the module outputs when you do the rmmod.

So you really need to get the kernel debug messages somewhere where you can copy and attach them here, or there's no way to try and see what's happening.

chernwu

22-04-2007 10:11:39


So you really need to get the kernel debug messages somewhere where you can copy and attach them here, or there's no way to try and see what's happening.[/quote2ms52y9k]

i got it by dmesg
[code2ms52y9k]rtusb init ====>
rt73 1-3:1.0: usb_probe_interface
rt73 1-3:1.0: usb_probe_interface - got id
idVendor = 0x13b1, idProduct = 0x20
**RT2573**<7>usb device name rausb0
**RT2573**<7>BulkOutMaxPacketSize 64
**RT2573**<7>rt73_get_ether_stats --->
usbcore: registered new driver rt73
rt73 driver version - 1.0.3.6 CVS
**RT2573**<7>--> PortCfgInit
**RT2573**<7><-- PortCfgInit
**RT2573**<7>--> RTMPInitAdapterBlock
**RT2573**<7><-- RTMPInitAdapterBlock
**RT2573**<7>--> NICInitTransmit
**RT2573**<7>--> NICInitRecv
**RT2573**<7><-- NICInitRecv
**RT2573**<7>Init: MAC_CSR0=0x0002573a, Status=0x00000004
**RT2573**<7>--> NICLoadFirmware
**RT2573**<7>--> Error 2 opening /etc/Wireless/RT73STA/rt73.bin
**RT2573**<7>NICLoadFirmware failed, used local Firmware(v 1.7) instead
**RT2573**<7><-- NICLoadFirmware (src=/etc/Wireless/RT73STA/rt73.bin)
**RT2573**<7>--> NICInitializeAsic
**RT2573**<7>BBP version = 22
**RT2573**<7><-- NICInitializeAsic
**RT2573**<7>--> Error 2 opening /etc/Wireless/RT73STA/rt73sta.dat
**RT2573**<7>--> NICReadEEPROMParameters
<7>Local MAC = 00:18:f8:35:79:26
**RT2573**<7>E2PROM: Version = 1, FAE release #1
<7>Tx power for channel 1 : 14
<7>Tx power for channel 2 : 14
<7>Tx power for channel 3 : 14
<7>Tx power for channel 4 : 14
<7>Tx power for channel 5 : 14
<7>Tx power for channel 6 : 13
<7>Tx power for channel 7 : 13
<7>Tx power for channel 8 : 13
<7>Tx power for channel 9 : 13
<7>Tx power for channel 10 : 12
<7>Tx power for channel 11 : 12
<7>Tx power for channel 12 : 11
<7>Tx power for channel 13 : 11
<7>Tx power for channel 14 : 11
<7>Tx power for channel 36 : ffffffff
<7>Tx power for channel 40 : ffffffff
<7>Tx power for channel 44 : ffffffff
<7>Tx power for channel 48 : ffffffff
<7>Tx power for channel 52 : ffffffff
<7>Tx power for channel 56 : ffffffff
<7>Tx power for channel 60 : ffffffff
<7>Tx power for channel 64 : ffffffff
<7>Tx power for channel 100 : ffffffff
<7>Tx power for channel 104 : ffffffff
<7>Tx power for channel 108 : ffffffff
<7>Tx power for channel 112 : ffffffff
<7>Tx power for channel 116 : ffffffff
<7>Tx power for channel 120 : ffffffff
<7>Tx power for channel 124 : ffffffff
<7>Tx power for channel 128 : ffffffff
<7>Tx power for channel 132 : ffffffff
<7>Tx power for channel 136 : ffffffff
<7>Tx power for channel 140 : ffffffff
<7>Tx power for channel 149 : ffffffff
<7>Tx power for channel 153 : ffffffff
<7>Tx power for channel 157 : ffffffff
<7>Tx power for channel 161 : ffffffff
<7>Tx power for channel 165 : ffffffff
<7>Tx power for channel 34 : ffffffff
<7>Tx power for channel 38 : ffffffff
<7>Tx power for channel 42 : ffffffff
<7>Tx power for channel 46 : ffffffff
**RT2573**<7>E2PROM: G Tssi[-4 .. +4] = 255 255 255 255 - 255 -255 255 255 255, step=255, tuning=0
**RT2573**<7>E2PROM: A Tssi[-4 .. +4] = 255 255 255 255 - 255 -255 255 255 255, step=255, tuning=0
**RT2573**<7>E2PROM: RF freq offset=0xa
**RT2573**<7><-- NICReadEEPROMParameters
**RT2573**<7>--> NICInitAsicFromEEPROM
**RT2573**<7>pAd->RfIcType = 2
**RT2573**<7>Use Hw Radio Control Pin=0; if used Pin=0;
**RT2573**<7>RFIC=2, LED mode=0
**RT2573**<7><-- NICInitAsicFromEEPROM
***rt73***: Interface goes up for the first time, activating permanent MAC
***rt73***: Active MAC is: 00:18:f8:35:79:26.
<7>Local MAC = 00:18:f8:35:79:26
**RT2573**<7>RTMPSetPhyMode(=0)
**RT2573**<7>country code=129/128, RFIC=2, PHY mode=0, support 13 channels
<7>channel #1
<7>channel #2
<7>channel #3
<7>channel #4
<7>channel #5
<7>channel #6
<7>channel #7
<7>channel #8
<7>channel #9
<7>channel #10
<7>channel #11
<7>channel #12
<7>channel #13
**RT2573**<7>Exptected ACK rate[1] = 1 Mbps
**RT2573**<7>Exptected ACK rate[2] = 2 Mbps
**RT2573**<7>Exptected ACK rate[5] = 5 Mbps
**RT2573**<7>Exptected ACK rate[11] = 11 Mbps
**RT2573**<7>Exptected ACK rate[6] = 6 Mbps
**RT2573**<7>Exptected ACK rate[9] = 6 Mbps
**RT2573**<7>Exptected ACK rate[12] = 12 Mbps
**RT2573**<7>Exptected ACK rate[18] = 12 Mbps
**RT2573**<7>Exptected ACK rate[24] = 24 Mbps
**RT2573**<7>Exptected ACK rate[36] = 24 Mbps
**RT2573**<7>Exptected ACK rate[48] = 24 Mbps
**RT2573**<7>Exptected ACK rate[54] = 24 Mbps
**RT2573**<7> MlmeUpdateTxRates (MaxDesire=54, MaxSupport=54, MaxTxRate=54, Rate Switching =1)
**RT2573**<7> MlmeUpdateTxRates (TxRate=54, RtsRate=2, BasicRateBitmap=0x015f)
**RT2573**<7>AsicSetSlotTime(=9 us)
**RT2573**<7>--> MLME Initialize
**RT2573**<7>==> MlmeInitMemory
**RT2573**<7><== MlmeInitMemory
**RT2573**<7><-- MLME Initialize
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 0
**RT2573**<7>AsicAntennaSelect(ch=1) - Tx=Ant-A, Rx=Ant-A
**RT2573**<7>AsicSwitchChannel(RF=2) to #1, TXPwr=20%, R1=0x94002c0c, R2=0x94000786, R3=0x9406a855, R4=0x940caa0b
**RT2573**<7>rt73_get_ether_stats --->
**RT2573**<7>rt73_get_ether_stats --->
**RT2573**<7>MMCHK - PortCfg.Ssid[0]=**RT2573**<7>RSSI=-121, CCA=127, keep R17 at 0x20
**RT2573**<7>AsicAdjustTxPower = 20, AvgRssi = -121
**RT2573**<7>STAMlmePeriodicExec - LastRssi=0, BbpRssiToDbmDelta=121
**RT2573**<7>MLME periodic exec, no association so far
<7>--->RTUSBRxPacket
<7>BulkIn actual length(128)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 1
**RT2573**<7>MlmeDequeue, num=0
<7>--->RTUSBRxPacket
<7>BulkIn actual length(128)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 2
**RT2573**<7>MlmeDequeue, num=0
<7>--->RTUSBRxPacket
<7>BulkIn actual length(128)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 3
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>MMCHK - PortCfg.Ssid[0]=**RT2573**<7>RSSI=-121, CCA=143, keep R17 at 0x20
**RT2573**<7>AsicAdjustTxPower = 20, AvgRssi = -121
**RT2573**<7>STAMlmePeriodicExec - LastRssi=0, BbpRssiToDbmDelta=121
**RT2573**<7>MLME periodic exec, no association so far
**RT2573**<7>MMCHK - PortCfg.Ssid[0]=**RT2573**<7>RSSI=-121, CCA=97, --R17= 0x1c
**RT2573**<7>AsicAdjustTxPower = 20, AvgRssi = -121
**RT2573**<7>STAMlmePeriodicExec - LastRssi=0, BbpRssiToDbmDelta=121
**RT2573**<7>MLME periodic exec, no association so far
eaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>SYNC - PeerBeacon from 00:14:78:b6:7a:70 - Dtim=0/1, Rssi=ffffffca
**RT2573**<7>Rx My BEACON
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 17
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 18
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>SYNC - PeerBeacon from 00:14:78:b6:7a:70 - Dtim=0/1, Rssi=ffffffcc
**RT2573**<7>Rx My BEACON
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 19
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 20
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>SYNC - PeerBeacon from 00:14:78:b6:7a:70 - Dtim=0/1, Rssi=ffffffce
**RT2573**<7>Rx My BEACON
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 21
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 22
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>SYNC - PeerBeacon from 00:14:78:b6:7a:70 - Dtim=0/1, Rssi=ffffffcc
**RT2573**<7>Rx My BEACON
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 23
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 24
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>SYNC - PeerBeacon from 00:14:78:b6:7a:70 - Dtim=0/1, Rssi=ffffffcc
**RT2573**<7>Rx My BEACON
**RT2573**<7>MMCHK - PortCfg.Ssid[5]=hyen... MlmeAux.Ssid[5]=hyen...
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 25
**RT2573**<7>3 strong RSSI=-52, CCA=52, fixed R17 at 0x40
**RT2573**<7>MMCHK - CQI= 82 (Tx Fail=0/Retry=0/Total=0, Rx Fail=6/Total=26, RSSI=-52 dbm)
<7>54: NDIS push BE=0, BK=0, VI=0, VO=0, TX/RX AGGR=<0,0>, p-NDIS=0, RSSI=-52, ACKbmap=15f, PER=0%
**RT2573**<7>AsicAdjustTxPower = 19, AvgRssi = -52
**RT2573**<7>STAMlmePeriodicExec - LastRssi=69, BbpRssiToDbmDelta=121
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 26
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>SYNC - PeerBeacon from 00:14:78:b6:7a:70 - Dtim=0/1, Rssi=ffffffcc
**RT2573**<7>Rx My BEACON
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 27
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 28
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>SYNC - PeerBeacon from 00:14:78:b6:7a:70 - Dtim=0/1, Rssi=ffffffce
**RT2573**<7>Rx My BEACON
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 29
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 30
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>SYNC - PeerBeacon from 00:14:78:b6:7a:70 - Dtim=0/1, Rssi=ffffffcc
**RT2573**<7>Rx My BEACON
<7>--->RTUSBRxPacket
<7>BulkIn actual length(192)
**RT2573**<7>MlmeEnqueueForRecv, num=1
<7><---RTUSBRxPacket Complete
**RT2573**<7>RTUSBBulkReceive:: pAd->NextRxBulkInIndex = 31
**RT2573**<7>MlmeDequeue, num=0
**RT2573**<7>PeerBeaconAndProbeRspSanity - unrecognized EID = 7
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA
**RT2573**<7>PeerBeaconAndProbeRspSanity - Receive IE_WPA[/code2ms52y9k]

the device works now, thanks very much.

chernwu

30-04-2007 02:02:25

hi, now I find another problem the armdebug module can works but the "module" can't, the armdebug module are twice as big as the "module". will the armdebug module cause some problem if I use it on my board?

nerochiaro

30-04-2007 05:37:59

hi, now I find another problem the armdebug module can works but the "module" can't, the armdebug module are twice as big as the "module". will the armdebug module cause some problem if I use it on my board?[/quote2yu3g37x]

You should probably use "make arm" instead of "make module", if you want to build the module for ARM outside of your kernel tree.
But i really suggest you take a bit of time and have the module build inside your kernel tree with the standard KBuild system of the kernel.

chernwu

03-05-2007 12:47:22

You should probably use "make arm" instead of "make module", if you want to build the module for ARM outside of your kernel tree.
But i really suggest you take a bit of time and have the module build inside your kernel tree with the standard KBuild system of the kernel.[/quotecxwxbsn4]

Yes, I know your meaning, and I did as what you said change "arm" to m"odule" in Makefile, but the problem is there too (
Now the debug module can works, I don't care about it since it can works. Does the debug module has some shortcoming?

rei1984

26-05-2007 14:17:02

Hi,

i cross_compile the rt73-cvs-2007041706,and generate RT73.ko

my console orders

1./etc/tmp # insmod rt73.ko
rtusb init ====>
usbcore registered new driver rt73
/etc/tmp # usb 1-1 new full speed USB device using s3c2410-ohci and address 2
idVendor = 0x148f, idProduct = 0x2573

2./etc/tmp # ifconfig rausb0 192.168.1.166 up
rt73 driver version - 1.0.3.6 CVS
***rt73*** Interface goes up for the first time, activating permanent MAC
***rt73*** Active MAC is 0019e08578e0.
/etc/tmp # ifconfig
rausb0 Link encapEthernet HWReading data from NAND FLASH without ECC is not
recommended
addr 0019E08578E0
inet addr192.168.1.166 Bcast192.168.1.255 Mask255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU1500 Metric1
RX packets0 errors0 dropped0 overruns0 frame0
TX packets0 errors0 dropped0 overruns0 carrier0
collisions0 txqueuelen1000
RX bytes0 (0.0 B) TX bytes0 (0.0 B)


3./etc/tmp # iwconfig
Reading data from NAND FLASH without ECC is not recommended
lo no wireless extensions.

eth0 no wireless extensions.

rausb0 RT73 WLAN ESSID""
ModeManaged Frequency=2.412 GHz Bit Rate=54 Mb/s
RTS throff Fragment throff
Encryption keyoff
Link Quality=0/100 Signal level-121 dBm Noise level-115 dBm
Rx invalid nwid0 Rx invalid crypt0 Rx invalid frag0
Tx excessive retries0 Invalid misc0 Missed beacon0

4.
/etc/tmp # iwconfig rausb0 essid TP-LINK
/etc/tmp # iwconfig rausb0 channel 6
/etc/tmp # iwlist rausb0 scan
rausb0 No scan results

/etc/tmp # iwlist rausb0 scan
rausb0 No scan results


question
rausb0 No scan results ,why? my AP is no encryption.

my wireless is work well on redhat9.0,use the same command ,
why my embeded board(s3c2410) can't work?

kernel2.6.14.14
/etc/tmp # iwconfig -v
iwconfig Wireless-Tools version 28
Compatible with Wireless Extension v11 to v20.

Kernel Currently compiled with Wireless Extension v19.

rausb0 Recommend Wireless Extension v14 or later,
Currently compiled with Wireless Extension v19.



My USB wireless card isTP-LINK WN321g !

thanks.

Zi7

26-05-2007 14:25:44

rausb0 means it's an old driver.
Why don't you try a recent CVS?

rei1984

27-05-2007 01:19:32

yes,i know your means, i cross-compile the rt73-cvs-20070523 ,and generate rt73.ko

my console orders(kernel is2.6.14.1 from www.kernel.org)

1. download rt73.ko to /lib/modules

2.download rt73.bin to /lib/firmware , /lib/firmware/2.6.14.1 ,/lib/firmware/2.6.14.1/extra

3.insmod /lib/modules/rt73.ko
console shows
rtusb init ====>
usbcore registered new driver rt73

4.insert my usb wireless card(tp-link321g)
console shows
load firmware fail ! couldn't find the firmware!

------------------------------------------------------
so i recompile the rt73-cvs-20070417 (old driver),
and generate rt73.ko

i only download rt73.ko to my target board, this version driver rt73.bin is useless,i guess rt73.ko has rt73.bin in it.


my console orders(kernel is2.6.14.1 from www.kernel.org)

1.download rt73.ko to /tmp (wherever if u like.)

2.insmod rt73.ko
console shows
rtusb init ====>
usbcore registered new driver rt73

3.insert my usb wireless card(tp-link321g)
console shows
/etc/tmp # usb 1-1 new full speed USB device using s3c2410-ohci and address 2
idVendor = 0x148f, idProduct = 0x2573

4. /etc/tmp # ifconfig rausb0 192.168.1.166 up
rt73 driver version - 1.0.3.6 CVS
***rt73*** Interface goes up for the first time, activating permanent MAC
***rt73*** Active MAC is 0019e081ce3a.

5./etc/tmp # iwconfig rausb0 essid TP-LINK channel 6

6./etc/tmp # iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

rausb0 RT73 WLAN ESSID"TP-LINK"
ModeManaged Frequency=2.437 GHz Bit Rate=54 Mb/s
RTS throff Fragment throff
Encryption keyoff
Link Quality=0/100 Signal level-121 dBm Noise level-115 dBm
Rx invalid nwid0 Rx invalid crypt0 Rx invalid frag0
Tx excessive retries0 Invalid misc0 Missed beacon0


7./etc/tmp # iwlist rausb0 scan
rausb0 No scan results


8./etc/tmp # ifconfig
rausb0 Link encapEthernet HWReading data from NAND FLASH without ECC is not
recommended
addr 0019E081CE3A
inet addr192.168.1.166 Bcast192.168.1.255 Mask255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU1500 Metric1
RX packets97 errors0 dropped0 overruns0 frame0
TX packets962 errors0 dropped0 overruns0 carrier0
collisions0 txqueuelen1000
RX bytes12430 (12.1 KiB) TX bytes68380 (66.7 KiB)
// RX bytes12430 (12.1 KiB) my card has sended the data,and the led in my card sparks regularly.

9. iwconfig rausb0 mode Ad-Hoc
//my card has sended the more data,
the led in my card sparks all the time!

10.iwconfig

/etc/tmp # iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

rausb0 RT73 WLAN ESSID"TP-LINK"
ModeAd-Hoc Frequency=2.437 GHz Cell DE6D7CB20B52
Bit Rate=11 Mb/s
RTS throff Fragment throff
Encryption keyoff
Link Quality=0/100 Signal level-121 dBm Noise level-115 dBm
Rx invalid nwid0 Rx invalid crypt0 Rx invalid frag0
Tx excessive retries0 Invalid misc0 Missed beacon0



---------------------------------------

what i can do to solve the problem?

Sinclair73

27-05-2007 01:21:01

Hi,

i'm trying to run my dlink dwl-g122 (also based on rt73) with the latest legacy driver from cvs on my Linksys NSLU2 (ixp4xxle/armv5tel) device with Debian sid and kernel 2.6.21. (see http//www.nslu2-linux.org/wiki/SlugOS/SlugOSLE)
Before looking for the make options i tried only "make" and compile runs fine. But no WPA-connection, no AP found in scan.
Now i tried "make arm" but compile fails with
rt73-cvs-2007052610/Module/rtmp_init.c In function 'RTMPMoveMemory'
rt73-cvs-2007052610/Module/rtmp_init.c1828 error invalid lvalue in increment
...
then i changed these lines back to the line
memcpy(pDest, pSrc, Length);
Then compile is successfull, and everything looks fine. AP connection and scan.
But before creating an Openembedded install-package, what is the reason for this problems?

maybe my infos help chernwu too...

regards
Sinclair

Zi7

27-05-2007 10:24:38

Now i tried "make arm" but compile fails with
[code8516ihzx]rt73-cvs-2007052610/Module/rtmp_init.c: In function 'RTMPMoveMemory':
rt73-cvs-2007052610/Module/rtmp_init.c:1828: error: invalid lvalue in increment
...
[/code8516ihzx]
then i changed these lines back to the line
[code8516ihzx]memcpy(pDest, pSrc, Length);[/code8516ihzx]
Then compile is successfull, and everything looks fine. AP connection and scan.
But before creating an Openembedded install-package, what is the reason for this problems?[/quote8516ihzx]
I don't know, why would we ever want this instead of a simple memcpy?
[code8516ihzx] *(((PUCHAR)pDest)++) = *(((PUCHAR)pSrc)++);
if(--Length == 0) return;
*(((PUCHAR)pDest)++) = *(((PUCHAR)pSrc)++);
if(--Length == 0) return;
*(((PUCHAR)pDest)++) = *(((PUCHAR)pSrc)++);
...
[/code8516ihzx]
By the way, how did you do to have the firmware loaded on your ARM linux Sinclair73? Lots of chinese support requests for that these days...

hennichodernich

27-05-2007 12:11:42

By the way, how did you do to have the firmware loaded on your ARM linux Sinclair73?[/quote11rygeup]

Most likely because SlugOS seems to be an up-to-date community-maintained ARM distro and not some obscure hackish rip-off distro copied from anywhere without any technical understanding... roll

Most of the cheap junk sold as PC hardware nowadays lacks good engineering.

regards
Henning

Sinclair73

27-05-2007 13:25:42

Hi Olivier ,
[quote39imglew]By the way, how did you do to have the firmware loaded on your ARM linux Sinclair73? Lots of chinese support requests for that these days...[/quote39imglew]
The new Open-Source SlugOS NPE- (LAN) driver needs loading a firmware too, so there is CONFIG_FW_LOADER=y in the kernel config and the firmware loader is still compiled in the kernel. But creating a kernel-module is also no problem.

Is it possible for you to create 2 different configs for arm in the cvs-version of the rt73 driver? I think many NSLU2-Users will ask me the next days how to use this wlan stick on this device. I dont know the history of the
[quote39imglew]*(((PUCHAR)pDest)++) = *(((PUCHAR)pSrc)++);
if(--Length == 0) return;
*(((PUCHAR)pDest)++) = *(((PUCHAR)pSrc)++);
if(--Length == 0) return;
*(((PUCHAR)pDest)++) = *(((PUCHAR)pSrc)++); [/quote39imglew]
Testing new versions for arm is no problem here.

regards
Sinclair

Zi7

27-05-2007 14:19:23

By the way, how did you do to have the firmware loaded on your ARM linux Sinclair73? Lots of chinese support requests for that these days...[/quote2t7nsruh]
The new Open-Source SlugOS NPE- (LAN) driver needs loading a firmware too, so there is CONFIG_FW_LOADER=y in the kernel config and the firmware loader is still compiled in the kernel.
[/quote2t7nsruh]
CONFIG_FW_LOADER wasn't the problem for these guys actually, it's just that they missed proper udev/hotplug support for firmwares.

Is it possible for you to create 2 different configs for arm in the cvs-version of the rt73 driver?[/quote2t7nsruh]
I'd much better make it clear if all ARM out here can cope with a basic memcpy call here and do the right thing...

Sinclair73

27-05-2007 14:57:06

[quotevtzonpth]CONFIG_FW_LOADER wasn't the problem for these guys actually, it's just that they missed proper udev/hotplug support for firmwares. [/quotevtzonpth]
recent debian sid version of udev is running on my NSLU2, and loading firmware is automatically done when modprobe the rt73 driver.
But i still must do the configuration for starting and init the wpa configuration manually. I will automate do this the next days.


[quotevtzonpth]I'd much better make it clear if all ARM out here can cope with a basic memcpy call here and do the right thing...[/quotevtzonpth]
thats right...

Sinclair

dao

30-05-2008 13:01:19

Hello Everyone,
I'm trying to get the D-Link DWL-G122 (Rev.C1) to work with the Davinci ARM development board, without any luck (

When I do 'insmod' after compiling the latest CVS driver, I get

[code3kvo1nqc]root@192.168.0.103:/# insmod rt73.ko debug=2
rt73: init
rt73: idVendor = 0x7d1, idProduct = 0x3c03
rt73: Failed to request_firmware. Check your firmware file location
rt73: Failed to load Firmware.
rt73: probe of 1-1.2:1.0 failed with error -2
usbcore: registered new driver rt73[/code3kvo1nqc]

...I specified the path, placed copies of rt73.bin in /root, /etc/Wireless/RT73STA/ and elsewhere but none of these work.

So, I moved on to the "RaLink RT73 USB Enhanced Driver" (rt73-k2wrlz-X.X.X) at
http//homepages.tu-darmstadt.de/~p_larbig/wlan/

...with versions 2.0.X, I manage to do 'insmod' with success.
(because apparently they load their own internal firmware (v1.7))
but when I do "ifconfig rausb0 up" I keep getting these errors

[code3kvo1nqc]Error 2 opening /etc/Wireless/RT73STA/rt73.bin[/code3kvo1nqc]

...and
[code3kvo1nqc]usb 1-1.2: ifconfig timed out on ep0out
**RT2573**<7>USBVendorRequest failed ret=-110
[/code3kvo1nqc]

Also, running 'ifconfig' lists in rausb0 "HWaddr 000000000000"
(for clarity, I list the full outputs only at the end of this post)

- Can anybody please help?

I really don't know what to do next...

Regards & looking forward to your answer,
David O.
(david.oliveira{at]svep.se)


PS the full outputs

[code3kvo1nqc]root@192.168.0.103:/# ifconfig rausb0
**RT2573**<7>rt73_get_ether_stats --->
rausb0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)[/code3kvo1nqc]


[code3kvo1nqc]root@192.168.0.103:/# ifconfig rausb0 up
rt73 driver version - 1.0.3.6 CVS
**RT2573**<7>--> PortCfgInit
**RT2573**<7><-- PortCfgInit
**RT2573**<7>--> RTMPInitAdapterBlock
**RT2573**<7><-- RTMPInitAdapterBlock
**RT2573**<7>--> NICInitTransmit
**RT2573**<7>--> NICInitRecv
**RT2573**<7><-- NICInitRecv
**RT2573**<7>Init: MAC_CSR0=0x0002573a, Status=0x00000004
**RT2573**<7>--> NICLoadFirmware
**RT2573**<7>NICLoadFirmware OK: CRC = 0x29e9 ver=1.7
usb 1-1.2: ifconfig timed out on ep0out
**RT2573**<7>USBVendorRequest failed ret=-110
**RT2573**<7><-- NICLoadFirmware (src=/etc/Wireless/RT73STA/rt73.bin)
**RT2573**<7>---> ReleaseAdapter
**RT2573**<7><--- ReleaseAdapter
**RT2573**<7>rt73_get_ether_stats --->
**RT2573**<7>rt73_get_ether_stats --->[/code3kvo1nqc]

Starcrasher

31-05-2008 22:27:00

Don't expect someone will bring you help for drivers downloaded elsewhere but maybe somebody can help you make drivers from this site working.

dao

02-06-2008 07:48:08

Don't expect someone will bring you help for drivers downloaded elsewhere but maybe somebody can help you make drivers from this site working.[/quote2hpfxy5g]

Absolutely!
I was just trying to detail the issue as completly as possible.

- So, any ideas on how to load the firmware rt73.bin with the cvs driver?

Thanks in advance,
D.

dao

03-06-2008 14:37:28

Hi again.

I thought the problem might be due to dodgy support of USB2.0 in Davinci…
So I inserted a USB1.1 hub in series with the wifi dongle to make it work in 1.1 mode.
Now I’m using a script - ‘loadfirmware’ - to ”feed” the driver with the firmware, depending how the dongle is attached (with hub / no hub)

loadfirmware
[code322zvnp9]
#! /bin/sh

sleep 2

DEV=`ls -d /sys/class/firmware/1*`

echo Loading firmware into $DEV

echo 1 > $DEV/loading

cat /rt73.bin > $DEV/data

echo 0 > $DEV/loading
[/code322zvnp9]

it does get me a bit further, I insert the module with “(insmod rt73.ko debug=2 &); ./loadfirmware”, and I get
[code322zvnp9]
root@192.168.0.78:/# (insmod rt73.ko debug=2 &); ./loadfirmware
rt73: init
rt73: idVendor = 0x7d1, idProduct = 0x3c03
Loading firmware into /sys/class/firmware/1-1.1
root@192.168.0.About to load firmware!
78:/#
[/code322zvnp9]
[I believe the overwritten prompt is due to the scripted “sleep”]


But then, when I try to do ‘ifconfig up’, I get
[code322zvnp9]
root@192.168.0.78:/# ifconfig wlan0 up
rt73: driver version - 1.0.3.6 CVS
rt73: Firmware not load
ifconfig: SIOCSIFFLAGS: Input/output error
[/code322zvnp9]
(and 'ifconfig' lists in wlan0 "HWaddr 000000000000")


- Any ideas on how to get the dongle working?

Apparently, the people at wiki.davincidsp
http//wiki.davincidsp.com/index.php?ti ... i_USB_WLan
got the CVS driver to work with the exact same hardware
(Davinci ARM board & D-Link DWL-G122 (rev.C1) wifi dongle)
What am I doing wrong?

Many thanks,
David

dao

13-06-2008 09:44:21

Hi yet again,

In case anyone is interested, I’ve managed to get it to work.
I applied the latest USB patches - all the way to lsp patch level 1846
http//support.mvista.com/content/Downl ... i/Updates/
And now everything runs ok.

I’ve also finally managed to control the Tx Power with the serialmonkey RT73 USB legacy driver.
Done it by altering the value of variable ´R3´ in function AsicAdjustTxPower(…)

David

majji.hari

31-10-2008 14:28:49

hi could u please tell me the procedure that u have followed
to cross compile the drivers for ATM processor environment. ?
Thanks,
HARI

bupt

24-12-2008 01:44:31

Hi, dao.
I'm trying to get the TP-Link TL-WN 321G to work with the MPC349 board, but the firmware can not be loaded.
This is the information

[code3q2licar]# insmod rt73.ko
rt73: init
usbcore: registered new driver rt73
~ # usb 1-1.1: new high speed USB device using fsl-usb2-mph and address 3
usb 1-1.1: Product: 54M.USB.......
usb 1-1.1: Manufacturer: Ralink
rt73: idVendor = 0x148f, idProduct = 0x2573
rt73: Failed to request_firmware. Check your firmware file location
rt73: Failed to load Firmware.
rt73: probe of 1-1.1:1.0 failed with error -2[/code3q2licar]
How did you solve this problem?
Thank you very much
and my Email liucheny@gmail.com