Bug 1669 - iwl4965 slow data transfer
: iwl4965 slow data transfer
Status: RESOLVED NEEDSMOREDATA
: Bugzilla
default
: unspecified
: All __UNSPECIFIED__
: P1 blocker
Assigned To:
:
:
:
:
:
  Show dependency treegraph
 
Reported: 2008-05-15 20:27 by
Modified: 2009-05-28 15:37 (History)


Attachments
dmesg of association with AP and ftp download (148.93 KB, application/octet-stream)
2008-06-14 05:05, Kim Nguyen
Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-05-15 20:27:32
On various networks, my upload & download speed tends to max out at 18-kbytes
and 30-kbytes per second respectively.  It does not seem to matter if I am near
or far from the AP.  I am using a Linksys WRT54G but have the problem on other
routers.

Any suggestions on how I can go about debugging this better?

Hardware: Lenovo/Thinkpad T61 with Intel 4965AGN
OS: Ubuntu Hardy 8.04 
$ uname -a 
Linux ophelia 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64
GNU/Linux

$ modinfo iwl4965
filename:      
/lib/modules/2.6.24-16-generic/ubuntu/wireless/iwlwifi/iwlwifi/compatible/iwl4965.ko
license:        GPL
author:         Copyright(c) 2003-2007 Intel Corporation
version:        1.2.0
description:    Intel(R) Wireless WiFi Link 4965AGN driver for Linux
srcversion:     BFF70BD669F5E9D76F2C9C1
alias:          pci:v00008086d00004230sv*sd*bc*sc*i*
alias:          pci:v00008086d00004229sv*sd*bc*sc*i*
depends:        iwlwifi_mac80211
vermagic:       2.6.24-16-generic SMP mod_unload 
parm:           antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int)
parm:           disable:manually disable the radio (default 0 [radio on]) (int)
parm:           hwcrypto:using hardware crypto engine (default 0 [software])
 (int)
parm:           debug:debug output mask (int)
parm:           disable_hw_scan:disable hardware scanning (default 0) (int)
parm:           queues_num:number of hw queues. (int)
parm:           qos_enable:enable all QoS functionality (int)
------- Comment #1 From 2008-05-25 09:12:07 -------
Yup, +1.

HP 8710w with Intel 4965AG_ running Kubuntu Hardy.  Checked the microcode and
it's the latest (-1), module version is 1.2.0, and my kernel is
2-6-24-16-generic.

Wireless transfer of a large file starts out at 200KB/s (2Mb), but ramps down
to a miserable 18KB/s after only about 3 minutes, and stays there forever.  My
spectrum is almost clear, and trying channels 1, 6, 11 on G made no difference. 

However turning off power management seems to mostly solve the problem:
iwconfig wlan0 power off

Now the transfers stay around 80-100KB/s, which although is nothing near what's
promised, but still livable.  Running the Belkin pre-N AP on G only with WPA2,
and KDE's wireless applet shows 
Link Quality: 97%
Signal Strength: 87%
Noise Level: 70%
Bit Rate: 1Mb/s

I suspect it's something to do with power management screwing up and turning
down Tx power when it shouldn't.  Whether that's the fault of the driver, the
kernel, KDE, or Ubongo, I don't know.

My signal strength is so high I will next experiment with setting Tx power
fixed, and ramping down power to see whether I get a higher transfer rate.
(In reply to comment #0)
> On various networks, my upload & download speed tends to max out at 18-kbytes
> and 30-kbytes per second respectively.  It does not seem to matter if I am near
> or far from the AP.  I am using a Linksys WRT54G but have the problem on other
> routers.
> 
> Any suggestions on how I can go about debugging this better?
> 
> Hardware: Lenovo/Thinkpad T61 with Intel 4965AGN
> OS: Ubuntu Hardy 8.04 
> $ uname -a 
> Linux ophelia 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64
> GNU/Linux
> 
> $ modinfo iwl4965
> filename:      
> /lib/modules/2.6.24-16-generic/ubuntu/wireless/iwlwifi/iwlwifi/compatible/iwl4965.ko
> license:        GPL
> author:         Copyright(c) 2003-2007 Intel Corporation
> version:        1.2.0
> description:    Intel(R) Wireless WiFi Link 4965AGN driver for Linux
> srcversion:     BFF70BD669F5E9D76F2C9C1
> alias:          pci:v00008086d00004230sv*sd*bc*sc*i*
> alias:          pci:v00008086d00004229sv*sd*bc*sc*i*
> depends:        iwlwifi_mac80211
> vermagic:       2.6.24-16-generic SMP mod_unload 
> parm:           antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int)
> parm:           disable:manually disable the radio (default 0 [radio on]) (int)
> parm:           hwcrypto:using hardware crypto engine (default 0 [software])
>  (int)
> parm:           debug:debug output mask (int)
> parm:           disable_hw_scan:disable hardware scanning (default 0) (int)
> parm:           queues_num:number of hw queues. (int)
> parm:           qos_enable:enable all QoS functionality (int)
> 

(In reply to comment #0)
> On various networks, my upload & download speed tends to max out at 18-kbytes
> and 30-kbytes per second respectively.  It does not seem to matter if I am near
> or far from the AP.  I am using a Linksys WRT54G but have the problem on other
> routers.
> 
> Any suggestions on how I can go about debugging this better?
> 
> Hardware: Lenovo/Thinkpad T61 with Intel 4965AGN
> OS: Ubuntu Hardy 8.04 
> $ uname -a 
> Linux ophelia 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64
> GNU/Linux
> 
> $ modinfo iwl4965
> filename:      
> /lib/modules/2.6.24-16-generic/ubuntu/wireless/iwlwifi/iwlwifi/compatible/iwl4965.ko
> license:        GPL
> author:         Copyright(c) 2003-2007 Intel Corporation
> version:        1.2.0
> description:    Intel(R) Wireless WiFi Link 4965AGN driver for Linux
> srcversion:     BFF70BD669F5E9D76F2C9C1
> alias:          pci:v00008086d00004230sv*sd*bc*sc*i*
> alias:          pci:v00008086d00004229sv*sd*bc*sc*i*
> depends:        iwlwifi_mac80211
> vermagic:       2.6.24-16-generic SMP mod_unload 
> parm:           antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int)
> parm:           disable:manually disable the radio (default 0 [radio on]) (int)
> parm:           hwcrypto:using hardware crypto engine (default 0 [software])
>  (int)
> parm:           debug:debug output mask (int)
> parm:           disable_hw_scan:disable hardware scanning (default 0) (int)
> parm:           queues_num:number of hw queues. (int)
> parm:           qos_enable:enable all QoS functionality (int)
> 

(In reply to comment #0)
> On various networks, my upload & download speed tends to max out at 18-kbytes
> and 30-kbytes per second respectively.  It does not seem to matter if I am near
> or far from the AP.  I am using a Linksys WRT54G but have the problem on other
> routers.
> 
> Any suggestions on how I can go about debugging this better?
> 
> Hardware: Lenovo/Thinkpad T61 with Intel 4965AGN
> OS: Ubuntu Hardy 8.04 
> $ uname -a 
> Linux ophelia 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64
> GNU/Linux
> 
> $ modinfo iwl4965
> filename:      
> /lib/modules/2.6.24-16-generic/ubuntu/wireless/iwlwifi/iwlwifi/compatible/iwl4965.ko
> license:        GPL
> author:         Copyright(c) 2003-2007 Intel Corporation
> version:        1.2.0
> description:    Intel(R) Wireless WiFi Link 4965AGN driver for Linux
> srcversion:     BFF70BD669F5E9D76F2C9C1
> alias:          pci:v00008086d00004230sv*sd*bc*sc*i*
> alias:          pci:v00008086d00004229sv*sd*bc*sc*i*
> depends:        iwlwifi_mac80211
> vermagic:       2.6.24-16-generic SMP mod_unload 
> parm:           antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int)
> parm:           disable:manually disable the radio (default 0 [radio on]) (int)
> parm:           hwcrypto:using hardware crypto engine (default 0 [software])
>  (int)
> parm:           debug:debug output mask (int)
> parm:           disable_hw_scan:disable hardware scanning (default 0) (int)
> parm:           queues_num:number of hw queues. (int)
> parm:           qos_enable:enable all QoS functionality (int)
> 

(In reply to comment #0)
> On various networks, my upload & download speed tends to max out at 18-kbytes
> and 30-kbytes per second respectively.  It does not seem to matter if I am near
> or far from the AP.  I am using a Linksys WRT54G but have the problem on other
> routers.
> 
> Any suggestions on how I can go about debugging this better?
> 
> Hardware: Lenovo/Thinkpad T61 with Intel 4965AGN
> OS: Ubuntu Hardy 8.04 
> $ uname -a 
> Linux ophelia 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64
> GNU/Linux
> 
> $ modinfo iwl4965
> filename:      
> /lib/modules/2.6.24-16-generic/ubuntu/wireless/iwlwifi/iwlwifi/compatible/iwl4965.ko
> license:        GPL
> author:         Copyright(c) 2003-2007 Intel Corporation
> version:        1.2.0
> description:    Intel(R) Wireless WiFi Link 4965AGN driver for Linux
> srcversion:     BFF70BD669F5E9D76F2C9C1
> alias:          pci:v00008086d00004230sv*sd*bc*sc*i*
> alias:          pci:v00008086d00004229sv*sd*bc*sc*i*
> depends:        iwlwifi_mac80211
> vermagic:       2.6.24-16-generic SMP mod_unload 
> parm:           antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int)
> parm:           disable:manually disable the radio (default 0 [radio on]) (int)
> parm:           hwcrypto:using hardware crypto engine (default 0 [software])
>  (int)
> parm:           debug:debug output mask (int)
> parm:           disable_hw_scan:disable hardware scanning (default 0) (int)
> parm:           queues_num:number of hw queues. (int)
> parm:           qos_enable:enable all QoS functionality (int)
> 

(In reply to comment #0)
> On various networks, my upload & download speed tends to max out at 18-kbytes
> and 30-kbytes per second respectively.  It does not seem to matter if I am near
> or far from the AP.  I am using a Linksys WRT54G but have the problem on other
> routers.
> 
> Any suggestions on how I can go about debugging this better?
> 
> Hardware: Lenovo/Thinkpad T61 with Intel 4965AGN
> OS: Ubuntu Hardy 8.04 
> $ uname -a 
> Linux ophelia 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64
> GNU/Linux
> 
> $ modinfo iwl4965
> filename:      
> /lib/modules/2.6.24-16-generic/ubuntu/wireless/iwlwifi/iwlwifi/compatible/iwl4965.ko
> license:        GPL
> author:         Copyright(c) 2003-2007 Intel Corporation
> version:        1.2.0
> description:    Intel(R) Wireless WiFi Link 4965AGN driver for Linux
> srcversion:     BFF70BD669F5E9D76F2C9C1
> alias:          pci:v00008086d00004230sv*sd*bc*sc*i*
> alias:          pci:v00008086d00004229sv*sd*bc*sc*i*
> depends:        iwlwifi_mac80211
> vermagic:       2.6.24-16-generic SMP mod_unload 
> parm:           antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int)
> parm:           disable:manually disable the radio (default 0 [radio on]) (int)
> parm:           hwcrypto:using hardware crypto engine (default 0 [software])
>  (int)
> parm:           debug:debug output mask (int)
> parm:           disable_hw_scan:disable hardware scanning (default 0) (int)
> parm:           queues_num:number of hw queues. (int)
> parm:           qos_enable:enable all QoS functionality (int)
> 
------- Comment #2 From 2008-05-26 06:29:01 -------
Bill:

I tried tho command:
iwconfig wlan0 power off

And it did not affect the data transfer rate.  Have you made any progress with
other settings?
------- Comment #3 From 2008-05-27 06:08:27 -------
I find now that it's not helping mine either.

Also setting Tx power down to 0dBm, since my signal is so strong, but that
doesn't help either.  

Surprisingly I have zero errors:

wlan0     Link encap:Ethernet  HWaddr:
          inet addr:192.168.1.2  Bcast:192.168.111.255  Mask:255.255.255.0
          inet6 addr:  Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5339 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5974 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3299612 (3.1 MB)  TX bytes:960056 (937.5 KB)

wlan0     IEEE 802.11g  ESSID:"Sir"  Nickname:""
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:11:
          Bit Rate=54 Mb/s   Tx-Power=0 dBm
          Retry min limit:7   RTS thr:off   Fragment thr=2346 B
          Encryption key:37A4- [2]
          Power Management:off
          Link Quality=100/100  Signal level=-35 dBm  Noise level=-93 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


This is a helluva serious problem for me.  Why is it that with an official
Intel driver, this is happening?
------- Comment #4 From 2008-05-27 07:09:35 -------
BTW, I have put these commands in /etc/network/ifup.d/intel4965AG , a file I
created, so the commands are executed every time the interface is brought up.
---------------------------------------------
[ "$IFACE" = "wlan0" ] || exit 0

echo "Turning off power mgmt..."
iwconfig wlan0 power off
echo "Setting Tx power to 0dBm..."
iwconfig wlan0 txpower 0

wlan0: Initial auth_alg=0
May 26 20:47:37 Hydra kernel: [   31.663196] wlan0: authenticate with AP 00:11:
May 26 20:47:37 Hydra kernel: [   31.664536] wlan0: RX authentication from
00:11: (alg=0 transaction=2 status=0)
May 26 20:47:37 Hydra kernel: [   31.664543] wlan0: authenticated
May 26 20:47:37 Hydra kernel: [   31.664547] wlan0: associate with AP 00:11:
May 26 20:47:37 Hydra kernel: [   31.666528] wlan0: RX AssocResp from 00:11:
(capab=0x611 status=0 aid=12)
May 26 20:47:37 Hydra kernel: [   31.666535] wlan0: associated
May 26 20:47:37 Hydra kernel: [   31.666649] wlan0: WMM queue=2 aci=0 acm=0
aifs=2 cWmin=15 cWmax=1023 burst=32
May 26 20:47:37 Hydra kernel: [   31.666655] wlan0: WMM queue=3 aci=1 acm=0
aifs=7 cWmin=15 cWmax=1023 burst=0
May 26 20:47:37 Hydra kernel: [   31.666661] wlan0: WMM queue=1 aci=2 acm=0
aifs=2 cWmin=7 cWmax=15 burst=64
May 26 20:47:37 Hydra kernel: [   31.666667] wlan0: WMM queue=0 aci=3 acm=0
aifs=2 cWmin=3 cWmax=7 burst=32
May 26 20:47:37 Hydra kernel: [   31.672480]
---------------------------------------------

Also, I am sure that if you check your logs you'll have millions and millions
of the following.  I get three of these every second, for 5 gig logfiles!
---------------------------------------------
May 26 21:28:39 Hydra kernel: [ 2435.597673] wmaster0: RX non-WEP frame, but
expected encryption
May 26 21:28:42 Hydra kernel: [ 2438.597584] wlan0: RX non-WEP frame, but
expected encryption
---------------------------------------------
------- Comment #5 From 2008-05-27 08:53:08 -------
Here's another idea:  I found a thread where the guy with this problem on the
4965AGN in Ubuntu, says he upgraded the firmware in his router with
http://www.dd-wrt.com/

Unfortunately DD-WRT is not certified for my router so I can't try it, but
maybe it'll help you.
------- Comment #6 From 2008-05-28 12:38:35 -------
Bill in reply to #5, I upgraded my Linksys WRT54G V2 running dd-wrt 0.23 SP2 to
0.24 did not solve the problem.
------- Comment #7 From 2008-05-28 13:52:53 -------
Uh oh, that doesn't bode well.

I may upgrade my Belkin pre-N router to draft-N and install DD-WRT just to see.

Too bad Intel isn't weighing in on this problem, which seems to be common.
------- Comment #8 From 2008-06-14 04:56:31 -------
I have the same problem, with some additional informations.

It only happens in 802.11b mode (testcase with a linksys BEFW11S4, latest
firmware available). I intially reported this as a packet loss through bug

http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1598

Ping packet loss has been fixed since but "data" packet loss still occurs (or
at least I suspect this is what happens).

I cannot dl with ftp/http/scp at more than 60kb/s when another laptop can dl
the same file at 500kb/s at least. If I reach 50kb/s and more, the connection
seems to be maxed out and all other thing (ssh tunnels, irc, IM) time out and
get disconnected.

I have to stress out that this issue *also* occurs with Windows Vista and that
it only happens in b-mode. G-N mode are ok under both OSes.

I'll attach the output of dmesg for the following test case:

modprobe iwl4965 debug=0x43fff
[ network-manager kicks in, authenticate with AP (wep), gets ip from dhcp ]

starts an ftp session with my ISP's ftp (i.e. usually fast).
get linux-2.6.25.6.tar.bz2

dl rate is around 55 kb/s
It happens with every encryption method I tested (none, wep, tkip) and
with every version of iwlwifi I tested: 

1.2.0 which is shipped with Ubuntu Hardy, kernel 2.6.24

1.2.x as found with compat-wireless patches.

I tested almost every daily snapshot. Latest test is with: iwlwifi 1.2.26kd,
kernel 2.6.25.6, with compat-wireles from 06/14/2008 which reflects the state
of Linville's wireless-testing branch of the same date.

Let me know if I can perform further tests (tcpdumps, other debugging
flags...).
------- Comment #9 From 2008-06-14 05:05:51 -------
Created an attachment (id=1463) [details]
dmesg of association with AP and ftp download

Debug log from association with ap and transfer test, with git version as of
14/06/08

output from modprobe iwl4965 debug=0x43fff
association with WEP access point in B mode and ftp download.

output of iwconfig wlan0:

wlan0     IEEE 802.11  ESSID:"fast306"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:0C:41:A5:A8:9A   
          Bit Rate=11 Mb/s   Tx-Power=14 dBm   
          Retry min limit:7   RTS thr:off   Fragment thr=2352 B   
          Link Quality=100/100  Signal level:-41 dBm  Noise level=-94 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
------- Comment #10 From 2008-06-14 16:04:48 -------
I am experiencing the very same problem but as Kim Nguyen said it only happens
when using a 802.11b network. Kernel 2.6.25.5, latest iwlwifi firmware.
Connection to my WRT54GS in G mode seems unaffected.
------- Comment #11 From 2008-06-26 00:43:42 -------
Although the symptoms are differents, the bug reported in this thread:

http://marc.info/?l=linux-wireless&m=121390524825380&w=2

seems similar, and is caused by a bug in the firmware. Maybe someone with
access to the firmware could look into it?
------- Comment #12 From 2008-06-26 01:28:44 -------
(In reply to comment #11)
> Although the symptoms are differents, the bug reported in this thread:
> 
> http://marc.info/?l=linux-wireless&m=121390524825380&w=2

No, they are different. The bug there is about 0 packet received on radar
protected channels (11h). This problem is about slow speed for 11b.
------- Comment #13 From 2008-06-29 02:41:25 -------
I'm having the same problems. As Kim Nguyen, I'm also seeing this with Windows
Vista - however, occasionally speeds will be fine in Vista, with no obvious
pattern that I've been able to figure out.
------- Comment #14 From 2008-06-30 17:15:37 -------
I am also experiencing this problem on my ASUS F3Sc laptop with iwl4965 AGN.
Running 32bit Ubuntu 8.04 with 2.6.24-19 kernel from hardy proposed. 802.11b is
painfully slow on my home AP ( Old Zyxel Prestige 650HW, with last firmware
made for it, transfer rates go only up to ~40kB/s even on local network).

I also tried running the latest drivers from compat-wireless
(compat-wireless-2008-06-30) but no change.

However, the problem seems to be QoS related, since adding line:
options iwl4965 qos_enable=0
to file /etc/modprobe.d/iwl4965 and than reloading the iwl4965 module with this
new setting "fixes" the issue for both driver versions (default from kernel and
the compat-wireless one as well) and I am able to reach full 802.11b speed.

(the qos idea taken from here
https://bugs.launchpad.net/ubuntu/+source/linux-ubuntu-modules-2.6.24/+bug/211094
)
------- Comment #15 From 2008-07-01 15:16:57 -------
(In reply to comment #14)

> However, the problem seems to be QoS related, since adding line:
> options iwl4965 qos_enable=0
> to file /etc/modprobe.d/iwl4965 and than reloading the iwl4965 module with this
> new setting "fixes" the issue for both driver versions (default from kernel and
> the compat-wireless one as well) and I am able to reach full 802.11b speed.

I confirm that setting qos_enable=0 works :)
Good job in finding the workaround. I tested with an older version of the
driver when I first reported this bug and it did not seem to change anything
but it works now (both with 1.2.26ks and the current git).
------- Comment #16 From 2008-07-07 23:00:57 -------
(In reply to comment #15)
> (In reply to comment #14)
> 
> > However, the problem seems to be QoS related, since adding line:
> > options iwl4965 qos_enable=0
> > to file /etc/modprobe.d/iwl4965 and than reloading the iwl4965 module with this
> > new setting "fixes" the issue for both driver versions (default from kernel and
> > the compat-wireless one as well) and I am able to reach full 802.11b speed.
> 
> I confirm that setting qos_enable=0 works :)
> Good job in finding the workaround. I tested with an older version of the
> driver when I first reported this bug and it did not seem to change anything
> but it works now (both with 1.2.26ks and the current git).
> 

I'm on Linux Mint Elyssa (Ubuntu Hardy) and a T61 with the iw4965 and the
workaround does not work for me. The workaround removes my problem with stalled
transfers, but I still have the low speed problem.
------- Comment #17 From 2008-10-08 15:29:15 -------
I'm also seeing this with a 5000 series wireless card.  The disable qos
workaround works for me, but it should either fixed or disabled by default
until it is fixed.
------- Comment #18 From 2008-11-28 13:59:56 -------
*** Bug 1839 has been marked as a duplicate of this bug. ***
------- Comment #19 From 2009-05-28 15:37:30 -------
From early december until this month we submitted several rate scaling fixes
upstream. Could you please test if the latest code gives you better
performance?