Ubuntu

14e4:4727 brcm80211 Wifi driver : cannot connect to channels>11

Reported by Mossroy on 2012-02-12
38
This bug affects 8 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

Bug Description

I can not connect to some Wifi on my Asus eee-PC 1015PX netbook.

After some experimentations, I found that it can not connect to channels>11 (I live in France, where channels 12 and 13 are allowed. See https://en.wikipedia.org/wiki/List_of_WLAN_channels#2.4.C2.A0GHz_.28802.11b.2Fg.2Fn.29 ).
It has a Broadcom BCM4313 chipset and runs Ubuntu oneiric 11.10 with all updates. The driver is the open-source one : brcmsmac.
I can connect to Wifis on channels <=11 with no problem.

If I configure my Wifi on channel 13, it is correctly detected on another laptop using iwl3945 driver, and I can connect to it. But it does not appear in the list on the netbook.
If I switch to channel 5 for example, I can connect and use the Wifi.

I tried the workarounds proposed in similar issues :
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/836133
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/288401

None of them worked. I still can not connect. That's why I opened a separate issue.

Here is the detail :

With default config :
iw reg get => US
iwlist wlan0 channel => only the first 11 channels
Wifi on channel 13 not detected

With iw reg set FR :
iw reg get => FR
iwlist wlan0 channel => all 13 channels
Wifi on channel 13 detected, but cannot connect to it (asking the password again and again)
After a reboot, the setting is lost and comes back to the default config

With a file /etc/modprobe.d/regdom "options cfg80211 ieee80211_regdom=FR" and "options lbm_cw_cfg80211 ieee80211_regdom=FR" and a reboot :
iw reg get => 98
iwlist wlan0 channel => only the first 11 channels
Wifi on channel 13 not detected

With the file /etc/modprobe.d/regdom and iw reg set FR :
iw reg get => 00
iwlist wlan0 channel => only the first 11 channels
Wifi on channel 13 not detected

WORKAROUND: In Maverick install proprietary "Broadcam STA wireless drivers".

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: linux-image-3.0.0-15-generic 3.0.0-15.26
ProcVersionSignature: Ubuntu 3.0.0-15.26-generic 3.0.13
Uname: Linux 3.0.0-15-generic i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
AplayDevices:
 **** List of PLAYBACK Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
ApportVersion: 1.23-0ubuntu4
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 Cannot open /proc/net/unix: Permission denied
                      USER PID ACCESS COMMAND
 /dev/snd/controlC0: guest-ikcQY1 2033 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf7cf8000 irq 45'
   Mixer name : 'Realtek ALC269VB'
   Components : 'HDA:10ec0269,10438437,00100100'
   Controls : 11
   Simple ctrls : 7
CurrentDmesg: Error: command ['sh', '-c', 'dmesg | comm -13 --nocheck-order /var/log/dmesg -'] failed with exit code 1: comm: /var/log/dmesg: Permission denied
Date: Sun Feb 12 23:18:55 2012
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
MachineType: ASUSTeK Computer INC. 1015PX
ProcEnviron:
 PATH=(custom, no user)
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-15-generic root=UUID=468945ac-c291-45fc-9cac-44e8147bf07f ro quiet splash vt.handoff=7
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/06/2011
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1301
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: 1015PE
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: x.xx
dmi.chassis.asset.tag: 0x00000000
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK Computer INC.
dmi.chassis.version: x.x
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1301:bd05/06/2011:svnASUSTeKComputerINC.:pn1015PX:pvrx.x:rvnASUSTeKComputerINC.:rn1015PE:rvrx.xx:cvnASUSTeKComputerINC.:ct10:cvrx.x:
dmi.product.name: 1015PX
dmi.product.version: x.x
dmi.sys.vendor: ASUSTeK Computer INC.

Mossroy (mossroy) wrote :
Mossroy (mossroy) wrote :
Mossroy (mossroy) wrote :
Brad Figg (brad-figg) on 2012-02-12
Changed in linux (Ubuntu):
status: New → Confirmed
Mossroy (mossroy) wrote :

I found a similar issue on the debian bugtracker : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622842

Mossroy (mossroy) wrote :

Same issue on Ubuntu Precise alpha 2 with default config, running live-USB

Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.3 kernel[1] (Not a kernel in the daily directory). Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag(Only that one tag, please leave the other tags). This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text.

If this bug is fixed by the mainline kernel, please add the following tag 'kernel-fixed-upstream-KERNEL-VERSION'. For example, if kernel version 3.3-rc2 fixed the issue, the tag would be: 'kernel-fixed-upstream-v3.3-rc2'.

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.

[1] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3-rc2-precise/

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: needs-upstream-testing
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Mossroy (mossroy) wrote :

I tested with kernel 3.3-rc2 as requested. You'll find the dmesg attached.

It gives me the exact same behavior :
- wifi not detected with default config
- wifi detected but unable to connect with iw reg set FR
- wifi not detected with modprobe options, with or without iw reg set FR

I'm 100% sure I did not make a mistake with the wifi password (I use WPA2) because it's saved on the computer, and it connects correctly as soon as I change the channel on the router

tags: added: kernel-bug-exists-upstream
removed: needs-upstream-testing
Mossroy (mossroy) wrote :

I change the status back to "confirmed", as I gave the information requested (I suppose?)

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Mossroy (mossroy) wrote :

I did some more testing on different versions of Ubuntu. I installed on the same machine Ubuntu Precise and Maverick.
On Ubuntu Precise 12.04 alpha 2 (with all current updates), I have the same behavior : channels>11 seem unreachable

But on Ubuntu Maverick 10.10, it works!
It's certainly because Maverick does not use the same driver for Broadcam Wifi network adapters. By default, the wifi does not work, but Maverick suggests to install proprietary drivers : "Broadcam STA wireless drivers".
After installing this suggested driver, I can connect to my wifi on channel 13, and the reported driver is "wl".
If I restart on Oneiric or Precise, this same Wifi is not detected.

That confirms it's not a hardware problem.
It makes me suspect a bug in brcm80211 driver

Mossroy (mossroy) wrote :

I tried kernel 3.3-rc3 from http://kernel.ubuntu.com/~kernel-ppa/mainline/ on Oneiric : the behavior is the same as with 3.3-rc2.
I forgot to say that my test in comment #7 was done on Oneiric (the version for which I reported this bug).

I tried to test these latest kernels on Precise alpha 2, but had compile errors with dkms : see https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/933519
I still can not connect to the wifi on channel 13, but this test is probably not relevant as the dkms errors are precisely on bcmwl source...
Maybe it would be worth trying again when this compile error will be fixed

Mossroy (mossroy) wrote :

On this page : http://linuxwireless.org/en/users/Drivers/brcm80211#Developer_information , at paragraph "Regulatory Implementation for brcmsmac" is written :

This generation of chips contain additional regulatory support independent of the driver. The devices use a single worldwide regulatory domain, with channels 12-14 (2.4 GHz band) and channels 52-64 and 100-140 (5 GHz band) restricted to passive operation. Transmission on those channels is suppressed until appropriate other traffic is observed on those channels. Within the driver, we use the ficticious country code "X2" to represent this worldwide regulatory domain. There is currently no interface to configure a different domain. The driver reads the SROM country code from the chip and hands it up to mac80211 as the regulatory hint, however this information is otherwise unused with the driver.

If I understand correctly, it would mean that channels 12-14 would be restricted by the hardware itself?
I suppose it does not prevent it to connect on wifis on these channels, as it works with another driver. Maybe it only means that the chipset can only do passive scanning, instead of active scanning? (which should not prevent connecting)

Download full text (5.5 KiB)

Same for me with 02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6200 (rev 35)

root@scrat:~# iw list
Wiphy phy1
 Band 1:
  Capabilities: 0x872
   HT20/HT40
   Static SM Power Save
   RX Greenfield
   RX HT20 SGI
   RX HT40 SGI
   No RX STBC
   Max AMSDU length: 7935 bytes
   No DSSS/CCK HT40
  Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
  Minimum RX AMPDU time spacing: 4 usec (0x05)
  HT TX/RX MCS rate indexes supported: 0-15, 32
  Frequencies:
   * 2412 MHz [1] (15.0 dBm)
   * 2417 MHz [2] (15.0 dBm)
   * 2422 MHz [3] (15.0 dBm)
   * 2427 MHz [4] (15.0 dBm)
   * 2432 MHz [5] (15.0 dBm)
   * 2437 MHz [6] (15.0 dBm)
   * 2442 MHz [7] (15.0 dBm)
   * 2447 MHz [8] (15.0 dBm)
   * 2452 MHz [9] (15.0 dBm)
   * 2457 MHz [10] (15.0 dBm)
   * 2462 MHz [11] (15.0 dBm)
   * 2467 MHz [12] (15.0 dBm) (passive scanning, no IBSS)
   * 2472 MHz [13] (15.0 dBm) (passive scanning, no IBSS)
  Bitrates (non-HT):
   * 1.0 Mbps
   * 2.0 Mbps (short preamble supported)
   * 5.5 Mbps (short preamble supported)
   * 11.0 Mbps (short preamble supported)
   * 6.0 Mbps
   * 9.0 Mbps
   * 12.0 Mbps
   * 18.0 Mbps
   * 24.0 Mbps
   * 36.0 Mbps
   * 48.0 Mbps
   * 54.0 Mbps
 Band 2:
  Capabilities: 0x872
   HT20/HT40
   Static SM Power Save
   RX Greenfield
   RX HT20 SGI
   RX HT40 SGI
   No RX STBC
   Max AMSDU length: 7935 bytes
   No DSSS/CCK HT40
  Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
  Minimum RX AMPDU time spacing: 4 usec (0x05)
  HT TX/RX MCS rate indexes supported: 0-15, 32
  Frequencies:
   * 5180 MHz [36] (15.0 dBm) (passive scanning, no IBSS)
   * 5200 MHz [40] (15.0 dBm) (passive scanning, no IBSS)
   * 5220 MHz [44] (15.0 dBm) (passive scanning, no IBSS)
   * 5240 MHz [48] (15.0 dBm) (passive scanning, no IBSS)
   * 5260 MHz [52] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5280 MHz [56] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5300 MHz [60] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5320 MHz [64] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5500 MHz [100] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5520 MHz [104] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5540 MHz [108] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5560 MHz [112] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5580 MHz [116] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5600 MHz [120] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5620 MHz [124] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5640 MHz [128] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5660 MHz [132] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5680 MHz [136] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5700 MHz [140] (15.0 dBm) (passive scanning, no IBSS, radar detection)
   * 5745 MHz [149] (15.0 dBm) (passive scanning, no IBSS)
   * 5765 MHz [153] (15.0 dBm) (passive scanning, no IBSS)
   * 5785 MHz [157] (15.0 dBm) (passive scanning, no IBSS)
   * 5805 MHz [161] (15.0 dBm) (passive scanning, no IBSS)
   * 5825 MHz [165] (15.0 dBm) (passive scanning, no IBSS...

Read more...

Jeffrey Tees (jeff-tees) wrote :

I've had this problem since The House upgraded to BT Infinity (which is broadcasting on Channel 12) I can not change this as it's a shared house and the other pcs and Game consoles seem unaffected. Only my Acer Aspire One D260 seems unable to see the Access Point for the house using the onboard Broadcom 4313 Wifi (A TL-WN727N TP-Link USB stick (Ralink) works though.

I have Win XP on the machine and the onboard Wifi has the same problem under that OS as well, despite checking that the drivers were up to date.

tags: added: precise
description: updated

Mossroy, thank you for reporting this and helping make Ubuntu better. As a potential WORKAROUND, does installing the proprietary Broadcom STA wireless in Oneiric/Precise work for you following https://help.ubuntu.com/community/BroadcomSTA%28Wireless%29 ? As a potential WORKAROUND, does installing ndiswrapper work for you following https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper ?

summary: - brcm80211 Wifi driver : cannot connect to channels>11
+ 14e4:4727 brcm80211 Wifi driver : cannot connect to channels>11
Mossroy (mossroy) wrote :

Here are the results of my tests for your proposed workarounds.
Unfortunately, none of them worked for me.

Broadcom STA wireless :
I did not manage to make it work with your link https://help.ubuntu.com/community/BroadcomSTA%28Wireless%29. But I managed to install it with https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx#STA_-_Internet_access :
- sudo apt-get install bcmwl-kernel-source
- activate driver in the additional drivers GUI

I checked that driver "wl" was used after connecting to another wifi network
I have a slightly different behavior : the wifi network on channel 13 is not detected at all.
iw reg get or iw reg set commands fail with a "nl80211 not found'

Ndiswrapper :
I managed to install it following https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper (I had to compile ndiswrapper 1.57 from source). I used the windows driver from http://www.mediafire.com/file/3po0b925r0n1yyl/

I checked that driver "ndiswrapper" was used after connecting to another wifi network
I can see my channel 13 wifi network, but cannot connect to it (asking password again and again)
iw reg get or iw reg set commands also fail with a "nl80211 not found'
I also tried to change the windows .ini, to put FR as the default country, but it did not seem to change anything

I checked again with another laptop that my wifi on channel 13 was working correctly. It does work with a iwl3945 driver

Mossroy, regarding your tests in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/931168/comments/15 :

>"Here are the results of my tests for your proposed workarounds.
Unfortunately, none of them worked for me.

Broadcom STA wireless :
I did not manage to make it work with your link https://help.ubuntu.com/community/BroadcomSTA%28Wireless%29. But I managed to install it with https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx#STA_-_Internet_access :
- sudo apt-get install bcmwl-kernel-source
- activate driver in the additional drivers GUI

I checked that driver "wl" was used after connecting to another wifi network
I have a slightly different behavior : the wifi network on channel 13 is not detected at all.
iw reg get or iw reg set commands fail with a "nl80211 not found'"

You did this in Oneiric? If so, could you please test this in Quantal via http://cdimage.ubuntu.com/daily/current/ ?

>"Ndiswrapper :
I managed to install it following https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper (I had to compile ndiswrapper 1.57 from source)."

Could you please comment if anything changes using ndiswrapper in Quantal, from the Ubuntu repository?

>" I used the windows driver from http://www.mediafire.com/file/3po0b925r0n1yyl/"

It is not advisable to use a driver not downloaded from an OEM. Could you please comment on using the Windows XP wireless driver downloaded directly from the OEM -> http://www.asus.com/Eee/Eee_PC/Eee_PC_1015PX/#download ?

Mossroy (mossroy) wrote :

Christopher,
The tests were made on Precise with all updates (12.04.1).
I just reinstalled the netbook with Precise, because wifi did not work any more after the ndiswrapper test (maybe I did something wrong in the uninstall process).
Anyway, I won't have the time to run the tests on Quantal for now. I'll try to do it later. Is it possible to test on live-USB?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Mossroy (mossroy) wrote :

This issue seems to be solved in 12.10 Quantal beta 1.
I ran it with a live USB : wifi on channel 13 is detected and ubuntu connects successfully to it.
iw reg get => 00
iwlist wlan0 channel => all 13 channels

It's using the same brcmsmac driver as in 12.04.1, so I suppose it might come from an update in this driver?

In any case, jt's solved in 12.10. That's good news!
I'd like to help investigate if there is a way to backport this fix in 12.04, because it's a LTS.

I suppose I could test with an upstream or backported kernel. Which version should I test? https://wiki.ubuntu.com/KernelMainlineBuilds ? Another one?

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Mossroy, glad to hear it is fixed for you in Quantal. Did you personally need a backport to Precise or an earlier release, or may we close this as Status Invalid?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Mossroy (mossroy) wrote :

Yes, I would like to keep my netbook with 12.04.x LTS if possible.
In any case, it's not just a question of me.
If I understood correctly, the kernel for 12.04.x LTS will be upgraded to improve hardware support in the future (because it's a LTS).
IMHO, this could be a fix that might be included in this process.

I tested the kernel 3.5.0_14 from quantal repos on my 12.04 netbook : it detects all 13 channels. So the fix is definitely in the kernel.
I had to install http://packages.ubuntu.com/quantal/i386/linux-image-3.5.0-14-generic, http://packages.ubuntu.com/quantal/i386/kernel/linux-image-extra-3.5.0-14-generic, http://packages.ubuntu.com/quantal/linux-headers-3.5.0-14, and http://packages.ubuntu.com/quantal/i386/linux-headers-3.5.0-14-generic

I had a quick look at the changelog on git.kernel.org : it looks like the firmware for brcm4313 has been upgraded. If we're lucky, backporting this firmware might be enough?
Of course, I'm willing to help and test.

Regarding the status of this ticket, I don't see why it should be closed a Invalid.
IMHO, it should be closed as "Fix released" for Quantal, and still "Confirmed" for Precise (until we find a way to backport the fix)

Mossroy, thank you for taking the time to report this bug and helping to make Ubuntu better. However, I am closing it because the bug has been fixed in the latest development version of Ubuntu - Quantal Quetzal.

This is a significant bug in Ubuntu. If you need a fix for the bug in previous versions of Ubuntu, please do steps 1 and 2 of the SRU Procedure [1] to bring the need to a developer's attention.

[1]: https://wiki.ubuntu.com/StableReleaseUpdates#Procedure

Thank you for your understanding.

Changed in linux (Ubuntu):
status: Incomplete → Fix Released
Mossroy (mossroy) wrote :

OK. Thanks Christopher.

Regarding a potential backport, it certainly does not come from an updated firmware : the firmware files /lib/firmware/brcm/bcm43xx-0.fw and /lib/firmware/brcm/bcm43xx_hdr-0.fw are the same when used with both kernels on my machine.

So it comes from an update in the driver itself.
This commit might be the one that should be backported : https://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commitdiff;h=6b8da423315b5ea7573c8c3a3925941b9a1c3932
At least the commit description corresponds to the symptoms : with kernel 3.2.0-30, I get an US country code, and with 3.5.0-14, I get an 00 country code

If I find some time to work on it, I'll try to recompile the 3.2.0-30 kernel with this commit, to see if it works

Mossroy (mossroy) wrote :

In fact, I suppose recompiling the module brcmsmac should be enough, instead of the whole kernel

Mossroy (mossroy) wrote :

I tested a recompiled brcmsmac module with the patch mentioned above : not better.
I also tried to add the patch from https://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commit;h=edc7651f3a4ffa7fca37d92401562694121512ad : not better.

I had a further look at the changelog. This commit looks more promising :
https://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commit;h=898d3c3b2462cd439edb575f43b732425693aff0
It changes the way brcmsmac reads info from sprom, by using the bcma module. This includes changing the way it reads the country code.
So it might be a good candidate for a backport test.

Unfortunately, it seems more difficult to backport this commit. The patch does not fit well on the source code of kernel 3.2.0-31, and I suppose it would also need to backport some code for bcma module and recompile it.
I did not manage to compile brcmsmac this way.

Peter S (peter-sevemark) on 2013-07-12
affects: linux (Ubuntu) → ubuntu
Changed in ubuntu:
assignee: nobody → Peter S (peter-sevemark)
affects: ubuntu → linux (Ubuntu)
Changed in linux (Ubuntu):
assignee: Peter S (peter-sevemark) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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