Bug 13009
Summary: | Very slow download with Ralink rt2400 card and kernel 2.6.27 or newer | ||
---|---|---|---|
Product: | Drivers | Reporter: | shakixp |
Component: | network-wireless | Assignee: | drivers_network-wireless (drivers_network-wireless) |
Status: | CLOSED OBSOLETE | ||
Severity: | normal | CC: | alan, gwingerde, IvDoorn, linville, loic-kernel |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.27, 2.6.28, 2.6.29, 2.6.30, 2.6.31 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
dmesg output and kernel config (2.6.26 and 2.6.27-rc2)
rt2400 register dumps in 2.6.26 and 2.6.27-rc2 Change basic_rate mask Fix ACK timeouts causing too many failures for TX frames. |
Description
shakixp
2009-04-04 16:43:41 UTC
Created attachment 20800 [details]
dmesg output and kernel config (2.6.26 and 2.6.27-rc2)
Please enable debugfs support for rt2x00 and use the script: http://kernel.org/pub/linux/kernel/people/ivd/tools/rt2x00_regdump.sh on 2.6.26 and 2.6.27-rc2 to obtain register dumps from the 2 cases. Make sure that you make the dump when the interface is up and supposed to be working. Thanks Created attachment 21462 [details]
rt2400 register dumps in 2.6.26 and 2.6.27-rc2
Excuse me for not writing for so log, but I've been very busy. I've made 3 register dumps for each kernel: one before connecting to the network, one right after connecting and one during download. I've also included dmesg output. The registers after connecting to the network are indeed quite different, but I was suprised that there is one difference before connecting - csr, line 60th. It seems that sometimes (2.6.29) it is possible to download something with speed reaching 130-140kB/s and an average speed about 60kB/s, but it is still far less than it used to be (and less than transfer rate, which I couldn't change anyway). Created attachment 21468 [details]
Change basic_rate mask
Could you try attached patch?
Not sure if it will apply, but the change should be simple enough for a manual change as well. ;)
I've applied this patch to 2.6.29.1 (it was to difficult for me to apply it to kernel 2.6.27-rc2) and it helped a lot. Now it is possible to download at full speed. Thanks for help. I've checked 2.6.30-rc8-git5 kernel and downloading is still very slow. Will this bug be fixed in final release or in future mainline kernels? Getting very late for 2.6.30...Ivo, have you posted that one on linux-wireless? (In reply to comment #8) > Getting very late for 2.6.30...Ivo, have you posted that one on > linux-wireless? No I haven't, but I won't either. The patch is very bad and I only attached it to see if this bug falls under the same category/cause as some other speed-related bugs. For example, this bug is exactly the same bug only on different hardware: [Bug 13362] rt2x00: slow wifi with correct basic rate bitmap http://bugzilla.kernel.org/show_bug.cgi?id=13362 The basic problem is that invalid data was written to the registers in 2.6.26 because of a bug in mac80211. This apparently triggered rt2x00 to transmit frames quite fast, but the specs indicate the value that was written was completely invalid and I actually expected that nothing would be transmitted or at least terribly slow with that invalid value. So it is more complicated than I thought. Since the time needed to fix it might be quite long, wouldn't it be reasonable to apply some temporary hack to 2.6.30 (or 2.6.30.1) to allow faster downloads? The patch may be bad, but it works. Anyway, if you need any testing, I can help. Well it even gets harder then that, I now that the patch fixes the problem for your hardware, but since it is an invalid value, I am not sure if it will negatively impact other devices. Problems with slow bitrates have been reported for all kernel versions so far, so what is a regression for some users was not nesceserrily a regression for another user... :( Any news in this matter? Created attachment 22990 [details]
Fix ACK timeouts causing too many failures for TX frames.
Please try this patch.
I've applied this patch but it didn't help at all. Still no more than 40-32 KB/s. On both 2.6.29 and 2.6.31. What is more, 2.6.31 may contain another bug as 'iwlist wlan0 scan' shows link quality 10/70 for all notworks. But it is a minor one. Gertjan, Ivo, anything more to add here? I'm declaring this one dead -- I don't forsee any further work to improve rt2400 performance... |