85% performance hit in iwlwifi from 12.04 to 14.04

Bug #1319630 reported by Pablo Piaggio
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Won't Fix
High
Seth Forshee

Bug Description

Summary: Almost 10 times slower speeds using 14.04 compared with 12.04 (same machine). Using iperf, Precise: 172 Mbits/sec. Trusty: 27.4 Mbits/sec. Using rsync: Precise: 19.83MB/s. Trusty: 3.12MB/s.

Details:

Machine:
    Laptop Toshiba Satellite A665
    Triple boot Ubuntu 12.04, 13.04 and 14.04

Network (same network for both):
    d-link router
    5Ghz rage

Wireless card: Centrino

$ lspci -nnk | grep -iA2 network
07:00.0 Network controller [0280]: Intel Corporation Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] [8086:0087] (rev 5f)
 Subsystem: Intel Corporation Centrino Advanced-N + WiMAX 6250 2x2 AGN [8086:1301]
 Kernel driver in use: iwlwifi

12.04 Precise
#######################################################################

$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 12.04.4 LTS
Release: 12.04
Codename: precise

 $ uname -a
Linux vanhalen 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

$ iperf -c reinhardt
------------------------------------------------------------
Client connecting to reinhardt, TCP port 5001
TCP window size: 23.5 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.105 port 43135 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 206 MBytes 172 Mbits/sec

$ rsync -vP LAS.s22e10.432p.mp4 reinhardt:./
user@reinhardt's password:
LAS.s22e10.432p.mp4
   235861112 100% 19.83MB/s 0:00:11 (xfer#1, to-check=0/1)

sent 235889984 bytes received 31 bytes 14296364.55 bytes/sec
total size is 235861112 speedup is 1.00

14.04 Trusty
#######################################################################

$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty

$ uname -a
Linux vanhalen 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ iperf -c reinhardt
------------------------------------------------------------
Client connecting to reinhardt, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.105 port 49807 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.1 sec 32.9 MBytes 27.4 Mbits/sec

$ rsync -e "ssh -p2312" -vP LAS.s22e10.432p.mp4 reinhardt:./
user@reinhardt's password:
LAS.s22e10.432p.mp4
    235,861,112 100% 3.12MB/s 0:01:12 (xfr#1, to-chk=0/1)

sent 235,918,776 bytes received 34 bytes 2,930,668.45 bytes/sec
total size is 235,861,112 speedup is 1.00

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-extra-3.13.0-24-generic 3.13.0-24.47
ProcVersionSignature: Ubuntu 3.13.0-24.47-generic 3.13.9
Uname: Linux 3.13.0-24-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.14.1-0ubuntu3.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: pablo 1977 F.... pulseaudio
 /dev/snd/controlC0: pablo 1977 F.... pulseaudio
CurrentDesktop: Unity
Date: Wed May 14 22:38:47 2014
HibernationDevice: RESUME=UUID=fed461e0-ae63-4fb1-8d92-8140a1b06551
InstallationDate: Installed on 2014-05-13 (2 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
MachineType: TOSHIBA Satellite A665
ProcFB: 0 VESA VGA
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-24-generic root=UUID=77c75c70-93b5-41fa-984c-4fa7f9473ffc ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-24-generic N/A
 linux-backports-modules-3.13.0-24-generic N/A
 linux-firmware 1.127.2
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 09/14/10
dmi.bios.vendor: TOSHIBA
dmi.bios.version: 1.80
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: NWQAA
dmi.board.vendor: TOSHIBA
dmi.board.version: 1.00
dmi.chassis.asset.tag: *
dmi.chassis.type: 9
dmi.chassis.vendor: TOSHIBA
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnTOSHIBA:bvr1.80:bd09/14/10:svnTOSHIBA:pnSatelliteA665:pvrPSAW3U-0DE039:rvnTOSHIBA:rnNWQAA:rvr1.00:cvnTOSHIBA:ct9:cvrN/A:
dmi.product.name: Satellite A665
dmi.product.version: PSAW3U-0DE039
dmi.sys.vendor: TOSHIBA

Revision history for this message
Pablo Piaggio (papibe) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
tags: added: precise
Revision history for this message
Pablo Piaggio (papibe) wrote :

The line:
12.04 Trusty
#######################################################################

should say:
12.04 Precise
#######################################################################

Pablo Piaggio (papibe)
description: updated
Revision history for this message
Pablo Piaggio (papibe) wrote :

Lines edited.

(comment #3 no longer applies),

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.15 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15-rc5-utopic/

Changed in linux (Ubuntu):
importance: Undecided → High
status: Confirmed → Incomplete
tags: added: kernel-da-key
Revision history for this message
Pablo Piaggio (papibe) wrote :

Hi Joseph. Thanks for your interest.

Working on it. I'll post my results ASAP.

P.S.: I'm a little confused. I know the iwlfifi driver is not in linux-image-generic*, but in linux-image-extra-*. Does this mean that the driver will remain the same? Is your assessment, then, that the problem lays on how the kernel itself works with the driver?

Regards.

Revision history for this message
Pablo Piaggio (papibe) wrote :

Done. Bad news. It does not fix the problem. The speeds remain slow as before.

Tagged as 'kernel-bug-exists-upstream' as requested.

Any other thought?

Details:
---------------------------------------------------------------------------

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty

$ uname -a
Linux vanhalen 3.15.0-031500rc5-generic #201405091635 SMP Fri May 9 20:36:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ iperf -c reinhardt
------------------------------------------------------------
Client connecting to reinhardt, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.105 port 33675 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.1 sec 32.5 MBytes 27.1 Mbits/sec
pablo@vanhalen:~$ l
bookmarks-2014-05-12.json Documents/ Music/ report.txt Videos/
Desktop/ Downloads/ Pictures/ report.txt~
devproj/ examples.desktop Public/ Templates/

$ rsync -e "ssh -p2312" -vP LAS.s22e10.432p.mp4 reinhardt:./
user@reinhardt's password:
LAS.s22e10.432p.mp4
    235,861,112 100% 3.31MB/s 0:01:07 (xfr#1, to-chk=0/1)

sent 235,918,776 bytes received 34 bytes 3,209,779.73 bytes/sec
total size is 235,861,112 speedup is 1.00
------------------------------------------------------------------------------------------------------------

P.S.: I answered my own question regarding the driver: iwlwifi comes in the upstream kernel:

$dpkg -S $(modinfo iwlwifi | head -1 | awk '{print $2}')
linux-image-3.15.0-031500rc5-generic: /lib/modules/3.15.0-031500rc5-generic/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko

tags: added: kernel-bug-exists-upstream
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

This issue appears to be an upstream bug, since you tested the latest upstream kernel. Would it be possible for you to open an upstream bug report[0]? That will allow the upstream Developers to examine the issue, and may provide a quicker resolution to the bug.

Please follow the instructions on the wiki page[0]. The first step is to email the appropriate mailing list. If no response is received, then a bug may be opened on bugzilla.kernel.org.

Once this bug is reported upstream, please add the tag: 'kernel-bug-reported-upstream'.

[0] https://wiki.ubuntu.com/Bugs/Upstream/kernel

Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Pablo Piaggio (papibe) wrote :

Yes. No problem.

Working on it.

I'll update when done.

Revision history for this message
Pablo Piaggio (papibe) wrote :
Revision history for this message
Pablo Piaggio (papibe) wrote :

Got an answer right away. I'll test this tomorrow morning.

-------- Original Message --------
Date: Tue, 20 May 2014 07:58:10 +0300
From: Emmanuel Grumbach <email address hidden>

On Tue, May 20, 2014 at 7:19 AM, Pablo Piaggio <email address hidden> wrote:
> [1.] One line summary of the problem:
> 85% decrease performance in iwlwifi from 3.2.0-29-generic to
> 3.15.0-031500rc5-generic

add 11n_disable=8 as a module parameter.
We disabled TX AMPDU by default due to issues users were seeing. If
you are after performance, add this module parameter and you'll get
your performance back.

Pablo Piaggio (papibe)
tags: added: kernel-bug-reported-upstream
Revision history for this message
Seth Forshee (sforshee) wrote :

Pablo: Did you test Emmanuel's suggestion, and did it help?

If so, you can make the workaround permanent by creating a file in the /etc/modprobe.d directory (e.g. iwlwifi-11n.conf) which contains the line "options iwlwifi 11n_disable=8". Tx AMPDU has caused problems for enough people that I don't think there's much chance of changing the default back to on.

Changed in linux (Ubuntu):
status: Triaged → Incomplete
Changed in linux (Ubuntu):
status: Incomplete → Triaged
status: Triaged → Incomplete
Revision history for this message
Pablo Piaggio (papibe) wrote :

Hi again Joseph. Thanks for your guidance through out this process :)

Yes, this bring the speed back close as it were in 12.04. I tested on both the upstream kernel, and the current Trusty 14.04 kernel. Both are working at fairly high speeds again (see below).

So I guess this one was not exactly a bug, but a conscious decision to compromise speed in favor of stability.

Kind Regards.

Upstream kernel
######################################################################

$ uname -a
Linux vanhalen 3.15.0-031500rc5-generic #201405091635 SMP Fri May 9 20:36:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ iperf -c reinhardt
------------------------------------------------------------
Client connecting to reinhardt, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.105 port 49994 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 104 MBytes 87.1 Mbits/sec

$ rsync -e "ssh -p2312" -vP LAS.s22e10.432p.mp4 reinhardt:
user@reinhardt's password:
LAS.s22e10.432p.mp4
    235,861,112 100% 13.49MB/s 0:00:16 (xfr#1, to-chk=0/1)

sent 235,918,776 bytes received 34 bytes 10,039,098.30 bytes/sec
total size is 235,861,112 speedup is 1.00

Current Trusty kernel
######################################################################

$ uname -a
Linux vanhalen 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ iperf -c reinhardt
------------------------------------------------------------
Client connecting to reinhardt, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.105 port 54472 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 132 MBytes 110 Mbits/sec

$ rsync -vP LAS.s22e10.432p.mp4 reinhardt:
user@reinhardt's password:
LAS.s22e10.432p.mp4
    235,861,112 100% 12.12MB/s 0:00:18 (xfr#1, to-chk=0/1)

sent 235,918,776 bytes received 34 bytes 8,902,596.60 bytes/sec
total size is 235,861,112 speedup is 1.00

Revision history for this message
Seth Forshee (sforshee) wrote :

Thanks, Pablo. In that case I'm going to close the bug.

Changed in linux (Ubuntu):
assignee: nobody → Seth Forshee (sforshee)
status: Incomplete → Won't Fix
Revision history for this message
madbiologist (me-again) wrote :

This might be fixed in the Ubuntu 15.04 "Vivid Vervet" kernel 3.19.0-17.17 by this commit:

iwlwifi: fix max_ht_ampdu_exponent for older devices

The diff file mentions your Intel Corporation Centrino Advanced-N + WiMAX 6250 2x2 AGN.

Revision history for this message
Thulasiram (thulasiram-valleru) wrote :

My Dell XPS 14Z has Intel Centrino Advanced 6230 WLAN adapter and with Linux driver, the connection often drops and even the bandwidth is reduced to 5 Mpbs from 25 Mpbs which I get in Windows. I am aware that the bug was present even in Windows but a firmware update is released.

I tried to follow Ubuntu forums and wireless Kernel page to keep track of this bug and I didn't find any change to this Linux driver or even a work around. I followed the suggestions from the forums and the result is unfruitful and remains the same with each iteration of Kernel version.

I tried 15.04, other variants of Linux distribution although knowing that every distribution use the same firmware from kernel.org. I lost my hope already and looking for an alternative PCI-e Wifi adapter. For almost three years, Linux community couldn't give a solution and I think they even hate the idea of releasing a patch.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.