linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* rt2x00: Ralink RT5572 very high peak current consumption
@ 2014-05-23 12:25 Matthias Fend
  2014-05-26 15:37 ` AW: " Matthias Fend
  0 siblings, 1 reply; 6+ messages in thread
From: Matthias Fend @ 2014-05-23 12:25 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org

Hello Ralink experts,

I recognized spurious problems with Ralink RT5572 USB-dongles when using this dongles as access point in 5G band.
The problems may appear as short usb disconnect-connect events or failed vendor request messages at different offsets with different error codes or will not appear for days ;)
During error research I noticed that, most likely during the beacon send time (100ms interval), there are very high peak currents in the supply of the USB-dongle.

I tried it with two different dongles, the base current for all three is in the range of  ~200mA:
Buffalo WI-U2-300D: Peak ~1A
TP-Link TL-WDN3200: Peak ~1.2mA

We could reproduce this issue on two different machines (x86 and arm), did test with kernel versions 3.10.19, 3.13.0 and 3.14.4 tried hostapd-2.0 and hostapd-2.1 and loaded chip firmware version V0.29, V0.33 and V0.35.

As a comparison I also created an 5G access point setup with a windows7 machine - all with the latest drivers from the manufacturer webpage.
Buffalo WI-U2-300D: Peak 330mA
TP-Link TL-WDN3200: Peak 330mA
Which seems more legit than the values from the linux setups.

The access point functionality itself worked with every tested combination, but there is definitively something wrong.
I also started to grab the usb communication of the windows driver to see if there is an obvious difference in some of the written registers.
But this kind of reverse engineering is not as easy since the windows driver does not write the same registers as the linux drivers but write some others - and of course I have no datasheet/register description.

Until now the only interesting thing I found out is that the linux driver writes 0x00000082 to the TXOP_HLDR_ET (0x1608) register whereas the windows driver uses a value of 0x0000000a. Changing this register during runtime in a linux system reduces the current peaks to 50 percent of their previous value.
But there is still something else wrong.

So, in my despair I try to get help in any form (hints, datasheets/manuals, ideas, experience, ...).

Thanks,
 ~Matthias


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-06-04 13:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-23 12:25 rt2x00: Ralink RT5572 very high peak current consumption Matthias Fend
2014-05-26 15:37 ` AW: " Matthias Fend
2014-05-26 16:56   ` Andreas Hartmann
2014-05-27 15:12   ` Stanislaw Gruszka
2014-05-27 15:44     ` AW: " Matthias Fend
2014-06-04 13:18       ` Stanislaw Gruszka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).