[2.6.26-rc4] Problems with rt2x00 USB interface on powerpc

Previous thread: Attn winner/e-mail owner by l.nl on Sunday, June 1, 2008 - 3:21 pm. (1 message)

Next thread: BUG kmalloc-2048: Poison overwritten by Justin Mattock on Sunday, June 1, 2008 - 4:13 pm. (11 messages)
From: Rogério
Date: Sunday, June 1, 2008 - 12:30 pm

Hi.

I have an iBook G3 600MHz combo (late 2001 model, powerpc) with a USB
wireless card rt2x00 that doesn't work.

I just compiled a fresh 2.6.26-rc4 kernel and it can't get a lease from
the access point, even though it is able to see the access point.

The userland here is Debian unstable (sid) and I can perform some of the
steps in the direction of configuring the interface. For instance, the
following works (I am using wep as the encryption system with other systems
running under Linux, but, unfortunately, EVEN disabling encryption for the
sake of the tests doesn't help here):

*insert USB card*
ifconfig wlan0 up
iwconfig wlan0 essid "default"
iwconfig wlan0 s:my-key
iwconfig wlan0 ap any
(Here it shows that it can see the access point)
dhclient wlan0
(Here, it is unable to grab an IP addess from the access point)

I have all the information available (like the revision of my USB
device) for any developer that could help me in eliminating this bug
from the kernel on big-endian architectures.


Thanks in advance, Rogério.

P.S.: I am not currently subscribed to linux-kernel, so I would
appreciate any copies of the replies. Thanks.
-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org
--

From: Rogério
Date: Sunday, June 1, 2008 - 3:58 pm

Hi there.

I just did some more tests and I would like to report them here.


It seems that we have some problems with the USB card even on ia32:
after it is configured, I have to issue the command "iwconfig wlan0 ap any"
all the time so that I can be able to download anything or even resolve
names.

With a PCMCIA rt2500 adapter, I don't have such problems when running a
stock Ubuntu kernel from Hardy Heron.

So, it seems that the problem is a little deeper than just some
endianness thing to it.


Regards, Rogério Brito.

-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org
--

From: John W. Linville
Date: Friday, June 6, 2008 - 9:23 am

You should set the key _before_ setting the essid.

John
-- 
John W. Linville
linville@tuxdriver.com
--

From: Rog?rio Brito
Date: Friday, June 6, 2008 - 5:52 pm

First of all, thanks John for taking the time to reply to my
message.


Thanks, but that unfortunately doesn't seem to help. :-(

I have taken dmesg "snapshots" of my system together with many other
information regarding how it is configured and I put it at my
homepage, at <http://www.ime.usp.br/debug/>.

From what I am seeing, it looks like the bug mentioned in
<http://bugzilla.kernel.org/show_bug.cgi?id=9388>, but I don't get the
stack trace that is present there and I'm just trying to use WEP
instead of WPA or anything fancier.

Thanks for all the help and please let me know if further information
can be helpful for debugging this situation.


Thanks again, Rogerio Brito
--

From: John W. Linville
Date: Saturday, June 7, 2008 - 7:30 am

Did you apply this patch?

	http://bugzilla.kernel.org/attachment.cgi?id=14384

John
-- 
John W. Linville
linville@tuxdriver.com
--

From: Rogério
Date: Saturday, June 7, 2008 - 5:11 pm

Hi, again, John.


I think that you should have received a later reply telling about the typo
in the address above. It should have been:

No, I did not. Is it still relevant with -rc4 or with -rc5? I still get the
same problem with -rc5 (but I will have to test it a bit more with -rc5).
Just as a refresher:

* I can set everything on the iBook with the wireless key plugged;
* The wireless key *sees* the AP, even with encryption (that is, it grabs
  the MAC address of the AP, it (sometimes) shows me the signal strength,
  and if I issue "iwconfig wlan0 ap any", I see both the led of the
  wireless key blink and an increase of amount of data transmitted and
  received with "ifconfig wlan0");
* With everything set this way, if I do "dhclient wlan0", it doesn't get a
  lease from the AP---actually, despite the fact that it is possible to see
  the other point, dhclient goes, after some attempts of getting a lease,
  to background, but no address is ever gotten;
* Just to rule out possible problems with something sent to the address
  255.255.255.255 (which is reported as being done by dhclient), I tried to
  configure the address by hand via ifconfig, but, for instance, I couldn't
  ping my AP (which I can from other computers with a rt61pci driver and a
  PCMCIA connection);
* As I mentioned above, I have no problems with the rt61pci driver, but the
  USB one doesn't seem to work (unfortunately, the iBook does not have a
  PCMCIA slot). With a notebook with an on-board Intel wireless card, I
  *also* don't have any problems.

Well, thanks, for the help so far. I hope that we can solve this issue
quite soon, as I need this iBook for work.

I am willing to help as much as I can and test anything (even something
that might be "experimental"). I think that this is as good a tester that
you can get, right? :-)


Thanks, Rogério Brito.

-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : ...
From: Rogério
Date: Saturday, June 7, 2008 - 6:02 pm

Hi again, John.

I'm including Ivo van Doorn in this e-mail. I hope that the
problem gets solved soon.



Unfortunately, this patch won't even apply with 2.6.26-rc5 as the code
seems to have changed a lot between that date and today. For instance,
there doesn't seem to exist a function called "rt2500usb_config_mac_addr"
in the rt2x00 directory (just did a grep on my unconnected iBook).


Again, I am willing to test any "intrusive" change as I still don't have
valuable data on that machine. BTW, I have firmware from Debian's
ralink-firmware package (which should be what ralink has released)
installed on this machine.

I don't know if the firmware is needed in my case or not, though (my USB
adaptor is a D-Link DWL-G122 H/W Ver. B1, F/W Ver.: 2.03---took that info
from the back of the stick).

Oh, I should mention that MacOS X is able to use the card without any
problems on this machine and with encryption. (I may have forgotten to say
that before). And, just to rule out things, I can test this USB adaptor on
a ia32 notebook running Ubuntu's Hardy Heron, but I don't know how much
patched their kernel is.


Thanks, Rogério Brito.

-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org
--

From: Ivo van Doorn
Date: Sunday, June 8, 2008 - 3:42 am

Which driver is actually being used? rt2500usb or rt73usb?
Also what was the last kernel version on which the driver worked for you?

If there was a last known working kernel, could you download the debugfs script:
	http://rt2x00.serialmonkey.com/phpBB/download/file.php?id=1969
enable debugfs and MAC80211_DEBUGFS and RT2X00_LIB_DEBUGFS in your kernel,
and run the script to dump all registers from the hardware to a file?

Please do this for both the working kernel as the non-working kernel so I can
see if there is a register initialization problem which could have been triggered
by an endian-problem.

Ivo
--

From: Rogério
Date: Sunday, June 8, 2008 - 2:35 pm

Hi, Ivo.

First of all, thank you so much for helping with this issue. It is
greatly appreciated.


Nice to know that. I saw that the code has changed quite a good amount...

Anyway, I don't know if you saw the various outputs that I put at my
homepage (lots of dmesgs with the 2.6.26-rc4 kernel):
http://www.ime.usp.br/~rbrito/debug/


Just a comment here: it seems that with the -rc5 kernel I don't get
always the wireless key seeing the AP... Sometimes it shows "Not

The driver that actually gets loaded is rt2500usb. I tried rmmod'ing
rt2500usb and loading rt73usb, but a quick iwconfig doesn't even show

Unfortunately, I don't have any kernel for which this has worked for
me. I just did an experiment: I plugged the adaptor on a ia32 notebook
where a rt61pci works fine (it is running Ubuntu's Hardy---well,
actually, there are some problems, but I can get to that latter), but

I just grabbed the script. Here is the output with the options enabled

That was my first suspicion: and endianess problem. But now I am not so
sure.


Thanks again, Rog
From: Ivo van Doorn
Date: Sunday, June 8, 2008 - 3:02 pm

That is most unfortunate, since register dumps are usually most usefull when
I can compare the actual register values between a working and non-working setup.
However I just realized I had a D-Link stick myself, and apparently I have the exact
same model/type. I'll compile a 2.6.26-rc5 kernel and see if that stick works for me,

Thanks.

Ivo
--

From: Rogério
Date: Sunday, June 8, 2008 - 3:09 pm

Hi, Ivo.

Thank you very much for your very kind reply.




Yes. :) I have firmware files installed under /lib/firmware also (taken
from Debian's unstable release---which is what I am using). Are they

Ok. I will try to compile an 2.6.18 kernel with the out-of-tree modules.
I hope that this can prove useful. I plan on getting register dumps (and
I also hope that it will work; perhaps getting the register values with
the legacy rt2500 drivers would help you, if they are available at all.
I don't even know if they will work here, but I guess that I will give

Thank you so much.

I will compile other versions of the kernel just to see if I can see the
status of the driver with other versions of kernels/drivers. Since I
just installed a cross-compiler yesterday night on a *much* faster
machine, I don't have to wait more than 1 hour for each kernel
modification that I make (this iBook is slow).

As I said earlier, I plan on doing whatever test you want me to.


Thanks, Rogério Brito.

-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org
--

From: Rogério
Date: Sunday, June 8, 2008 - 3:30 pm

Hi again, Ivo.


I just observed one thing: with a 2.6.26-rc5 kernel, I always get
"Access Point: Not-Associated" with that script that I sent you
earlier.  On the other hand, with 2.6.26-rc4, I can actually associate
to the AP (i.e., I see its MAC address).

I may have changed some parameters for the kernel compilation between
the two of them. I will see if I can reproduce the problem with the same
.config file for the kernel.


Thanks, Rogério Brito.

-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org
--

From: Rogério
Date: Sunday, June 8, 2008 - 5:15 pm

Hi, yet again, Ivo.


Correction here: I just went to the ia32 notebook again and, now, running
Ubuntu's hardy kernel (which is a patched 2.6.24 kernel, AFAIK---yes, it
is; just checked it) I could make the D-Link stick work fine.

Unfortunately, it seems that while Ubuntu has debugfs compiled, it doesn't
have the rt2x00 debug information compiled in the standard kernel (I will
see if they have any debug version of their kernel---this ia32 notebook is a
Celeron 466MHz and it is also slow at compiling kernels, just as the iBook
is and it is my parents' only machine).

Unfortunately, I can't get your script to run here, since I got:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
root@rbrito-laptop:~# LANG= bash Desktop/regdump.txt 
ls: cannot access /debug/ieee80211/phy*/rt[0-9]*/: No such file or directory
root@rbrito-laptop:~# 

Well, I think that I was a bit hasty with my tests on ia32 and this Ubuntu
notebook.

Here is, BTW, the output of iwconfig on this machine, where I could get
the stick working:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
root@rbrito-laptop:~# iwconfig
lo        no wireless extensions.

wmaster0  no wireless extensions.

ra0       IEEE 802.11g  ESSID:""  
          Mode:Managed  Frequency:2.437 GHz  Access Point:
          00:13:46:51:10:65   
          Bit Rate=2 Mb/s   Tx-Power=27 dBm   
          Retry min limit:7   RTS thr:off   Fragment thr=2346 B   
          Encryption key:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX
          Link Quality=71/100  Signal level=-50 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

wmaster1  no wireless extensions.

wlan0     IEEE 802.11g  ESSID:"default"  
          Mode:Managed  Frequency:2.437 GHz  Access Point:
          00:13:46:51:10:65   
          Bit Rate=54 Mb/s   Tx-Power=27 dBm   
          Retry min limit:7   RTS thr:off   Fragment thr=2346 B   
    ...
From: Rogério
Date: Wednesday, June 11, 2008 - 2:36 am

Hi, Ivo and John.

I don't know if you received my earlier message.


The only problem that I had is that I had to reissue the command "iwconfig
wlan0 ap any" or, otherwise, the connection with the AP would be dropped (I

Oh, these endianness problems are a headache. I just fixed some in one
small program in lame (the MP3 compressor), but in the end, I finally
won. :-)

Anyway, did you have some time to check your D-Link stick? I am willing to
test more things or other kernel trees, if that is helpful to the project.


Regards, Rogério Brito.

-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org
--

From: John W. Linville
Date: Wednesday, June 11, 2008 - 6:43 am

What does "iwconfig wlan0" show _before_ doing the "iwconfig wlan0 ap any"?

John
-- 
John W. Linville
linville@tuxdriver.com
--

From: Rogério
Date: Wednesday, June 11, 2008 - 9:15 pm

Hi, Ivo and John.


Let me be a bit more detailed here: when I connected the D-Link stick on
the ia32 notebook with Ubuntu's 2.6.24 kernel, if I *didn't* issue the
command "iwconfig wlan0 ap any" *periodically* (say, with
     # while true; iwconfig wlan0 ap any; sleep 10; done
), then the connection would die: the dmesg logs would indicate that the
AP lost connection with the stick.

By the way, I see this exactly same behaviour with the rt61pci driver on
the same machine (with the only difference being that the interface name
is ra0 instead of wlan0): I even put a cron job to issue the command
every minute, so that my parents (which are using a PCMCIA card that
uses the rt61pci) don't have to learn about the nasty things of
networking.

Anyway, I would be happy to get the D-Link USB stick getting a lease
from the AP as a first step. This way, I think that I could help you
both much more than what I can now, and I would be a step closer into

Actually, it shows the output that I listed before in the mail that had
the script "levanta.sh" attached (which was blocked by many people's
e-mail servers): both interfaces up and configured with the same AP (but
the ra0 one with the DHCP daemon disabled).

(In that message, I mentioned something along the lines: notice that the
Signal Strength is reported to be higher on the ra0 interface than on
the wlan0, despite both working on ia32).


Regards, Rogério Brito.

P.S.: Sorry for an e-mail not more detailed. I'm not with physical
access to my parent's notebook.
-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org
--

From: Ivo van Doorn
Date: Wednesday, June 11, 2008 - 11:21 am

Kernel is compiling right now, I did attempt to test this earlier,
but something has changed in the IDE/SATA drivers or something
because I 2.6.26 no longer recognized my hard disk during boot which
obviously makes booting quite complicated. ;)

Ivo
--

From: Rogério
Date: Wednesday, June 11, 2008 - 9:23 pm

Hi, Ivo.


Just for the record, it is an ABX tool that I'm refactoring so that you
can compare two songs (one original and one compressed) and choose (from
a randomly chosen one) which is the original track. You might be
surprised at how LAME works well with even very low bitrates.

The program wasn't working with big-endian arches, but I fixed that


Obviously. :-) I'm waiting to get rid of MacOS X from this iBook. I
still want it to be with me for quite some time.


Thank you very much, Rogério.

P.S.: If you want me to test anything else, like a git tree or
something, please, don't hesitate to ask. I want the driver to work for
me (of course) and to have it work better for all the people with ra
wireless chips.
-- 
Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org
--

From: Ivo van Doorn
Date: Thursday, June 12, 2008 - 10:40 am

Unfortunately I haven't that much time to test it, and the allmodconfig kernel
is still providing the same problems as my usual configuration. I am a bit closer
at tracking this down, but I won't have another shot at this before the weekend :S

Ivo
--

From: Rogério
Date: Thursday, June 12, 2008 - 9:06 pm

Hi, Ivo.

I finally found a x86-64 (little-endian) where I could test the D-Link
stick.


Thanks quite unfortunate. For me, I can't make -rc5 associate with the
AP, which is a regression regarding -rc4. With -rc4, on this x86-64
machine, at least I could associate and everything looked fine, but like
with the iBook, I can't get a dhcp lease from the AP. :-(

(BTW, I think that I can do some sessions of "git bisect" to find which
patch has modified this behavior).

I compiled the kernel with debugfs, like you instructed me and got a
register dump of the kernel on this machine and looking at it, there
seems to have some endianness things going on, but I am not qualified to

Well, I'm attaching the diff between the regdump from the earlier try on
the iBook and the regdump from this x86-64. I think that some
conclusions may be drawn from it, since it seems to be your domain of
expertise.


Thanks, Rog
From: Rogério
Date: Thursday, June 12, 2008 - 9:52 pm

Hi again, Ivo and John.

I have finally made the rt2x00 work on the x86-64 with the kernel
2.6.25.

Just as a reminder:

* with kernel 2.6.26-rc4, I could associate with the AP, but could not
  get a DHCP lease;
* with kernel 2.6.26-rc5, I could not even associate with the AP.


I'm attaching here 3 files: the old output from regdump (taken from the
ibook), the new, working (with kernel 2.6.25.4) regdump and their diff.
Notice that there are some inverted values there, but they are shorts
(i.e., 16-bit integers) that are inverted, instead of the inverted
values being bytes.

I think that this may mean that your work may be easier on debugging the
driver (I hope so!).


Thanks for any help, Rog
Previous thread: Attn winner/e-mail owner by l.nl on Sunday, June 1, 2008 - 3:21 pm. (1 message)

Next thread: BUG kmalloc-2048: Poison overwritten by Justin Mattock on Sunday, June 1, 2008 - 4:13 pm. (11 messages)