Broadcom STA driver gets autoinstalled on BCM4313, where it's no longer needed

Bug #1306928 reported by HEXcube on 2014-04-12
30
This bug affects 4 people
Affects Status Importance Assigned to Milestone
jockey (Ubuntu)
Medium
Alberto Milone
Precise
Medium
Unassigned
Trusty
Undecided
Unassigned
ubuntu-drivers-common (Ubuntu)
High
Alberto Milone
Precise
Undecided
Unassigned
Trusty
High
Alberto Milone

Bug Description

SRU request:

== 14.04 ==

[Impact]

Ubuntu 14.04 ships with a good open replacement for the proprietary driver, which seems to work on many systems that were quietly dropped by the proprietary driver. We should default to the open driver. This will only affect 14.04.1.

[Test Case]

1) If the broadcom driver is already installed, make sure to remove it:

sudo apt-get --purge remove bcmwl-kernel-source

Then reboot.

2) Test the automatic installation using the following command:

ubuntu-drivers autoinstall

and make sure that ubuntu-drivers does not install the broadcom driver

[Regression Potential]

It should be minimal (and affect only 14.04.1). The open broadcom driver should already work out of the box.

Furthermore the test suite now covers this test case.

== 12.04 ==

[Impact]

Kernel versions higher than 3.11 ship with a good open replacement for the proprietary driver, which seems to work on many systems that were quietly dropped by the proprietary driver. We should default to the open driver when this is the case. This will only affect 12.04.5.

[Test Case]

1) If the broadcom driver is already installed, make sure to remove it:

sudo apt-get --purge remove bcmwl-kernel-source

Then reboot.

2) Make sure that "linux-generic-lts-trusty" is installed:

sudo apt-get install linux-generic-lts-trusty

And reboot.

3) Test the automatic installation using the following command:

jockey-text --auto-install

and make sure that Jockey does not install the broadcom driver

[Regression Potential]

It should be minimal (and affect only 12.04.5). The open broadcom driver should already work out of the box.

Furthermore the test suite now covers this test case.

== Description ==

The propreitory driver Broadcom STA (packaged as 'bcmwl-kernel-source', provides 'wl' kernel module) gets autoinstalled upon Ubuntu 12.04.4 installation on systems with Broadcom BCM4313 (14e4:4727) wireless cards. Upto Ubuntu 12.04.3 with 3.8 kernel, this was good behaviour. But, with 3.11 kernel used in Ubuntu 13.10 and Ubuntu 12.04.4, the official open source 'brcmsmac' driver had improved (with the newly implemented AdHoc and AP mode, and other improvements) over propreitory 'wl'. On newer kernel versions, 'brcmsmac' works better than 'wl'.
    Autoinstalling the 'wl' driver would actually be a "downgrade" of functionality. I understand that there are some cards work only with 'wl', but it's better not to do autoinstall of 'bcmwl-kernel-source' on the ones supported by 'brcmsmac'. It maybe offered on the jockey Additional Drivers list, though I don't see any reason why anyone would prefer 'wl' over 'brcmsmac' now. I don't know if this issue remains on Ubuntu 14.04LTS's jockey merged with 'ubuntu-drivers' package. But, if it does that has to be fixed too. I hope this issue is fixed soon, so that Ubuntu 12.04.5 is released with the fixed jockey.

HEXcube (hexcube) on 2014-04-12
tags: added: 12.04.4
tags: added: 14.04
Changed in ubuntu-drivers-common (Ubuntu):
status: New → Triaged
Changed in jockey (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Changed in ubuntu-drivers-common (Ubuntu):
importance: Undecided → Medium
Changed in jockey (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Changed in ubuntu-drivers-common (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
description: updated
Shih-Yuan Lee (fourdollars) wrote :

In my case, I need to install linux-firmware-nonfree instead of bcmwl-kernel-source to enable the WiFi.
http://paste.ubuntu.com/7320852/ is the output of dmesg, and it is why I know linux-firmware-nonfree can fix my problem.

Shih-Yuan Lee (fourdollars) wrote :

BTW, `ubuntu-drivers list` can also find linux-firmware-nonfree.
It looks like http://paste.ubuntu.com/7320967/.

HEXcube (hexcube) wrote :

@Shih-Yuan Lee Your BCM4321 (14e4:4328) also used bcmwl-kernel-source in kernels before 3.11, but now works better with linux-firmware-nonfree. I found this in http://askubuntu.com/questions/55868/how-to-install-broadcom-wireless-drivers-bcm43xx/60395#60395. That post is kinda a one stop place for everything on Broadcom driver installation in Linux. I wish the Broadcom guys did a more complete listing of cards and drivers for Linux.

Romain Fluttaz (botux) wrote :

On 14.04 we need to manually remove bcmwl-kernel-source, and use brcmsmac.
Just for informations :

Remove bcmwl and install linux-firmware-nonfree :
sudo apt-get purge bcmwl-kernel-source
sudo apt-get install linux-firmware-nonfree

Then you need to blacklist b43 and wl :
echo "blacklist b43" | sudo tee -a /etc/modprobe.d/blacklist.conf
echo "blacklist wl" | sudo tee -a /etc/modprobe.d/blacklist.conf

sudo modprobe -r b43 wl brcmsmac
sudo modprobe brcmsmac

And reboot.

Changed in jockey (Ubuntu Trusty):
status: New → Invalid
Changed in ubuntu-drivers-common (Ubuntu Trusty):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Alberto Milone (albertomilone)
importance: Medium → High
Changed in ubuntu-drivers-common (Ubuntu):
importance: Medium → High

Hello HEXcube, or anyone else affected,

Accepted jockey into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/jockey/0.9.7-0ubuntu7.15 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ubuntu-drivers-common (Ubuntu Precise):
status: New → Invalid
Changed in jockey (Ubuntu Precise):
importance: Undecided → Medium
status: New → Fix Committed
tags: added: verification-needed
HEXcube (hexcube) wrote :

I did the test case on my Ubuntu 12.04.4 with linux-generic-lts-saucy kernel 3.11.0-18. I didn't install linux-generic-lts-trusty as instructed in the SRU test case coz brcmsmac works good for all kernels above v3.10 which includes the saucy kernel too. So, I installed jockey and jockey-common version 0.9.7-0ubuntu7.15 and ran the following command:

jockey-text --auto-install

It didn't install bcmwl-kernel-source. So, iguess this solves the problem. But, i still have to test with the updated kernel. So, i'm not marking this as verified.

Boyuan Deng (bryandeng) on 2014-05-10
Changed in jockey (Ubuntu Trusty):
status: Invalid → Confirmed
Boyuan Deng (bryandeng) wrote :

Hi all:

Thank all of you for this bug report. Finally I got BCM4313 [14e4:4727] running on my Dell Precision M4600 with Ubuntu 14.04 LTS.
I just ran "sudo apt-get --purge remove bcmwl-kernel-source", then WLAN is OK.

One more question:
I didn't install "linux-firmware-nonfree", but "lsmod" told me I have the module b43, is this normal ?
(Though in my situation b43 need not to be blacklisted.)

Boyuan Deng (bryandeng) wrote :

More information for developers:

[ 3.804708] Support for cores revisions 0x17 and 0x18 disabled by module param allhwsupport=0. Try b43.allhwsupport=1
[ 3.804757] b43: probe of bcma0:0 failed with error -524
[ 3.807420] Broadcom 43xx driver loaded [ Features: PNL ]
[ 3.857258] brcmsmac bcma0:0: mfg 4bf core 812 rev 24 class 0 irq 17

HEXcube (hexcube) wrote :

@bryandeng Ubuntu 14.04 uses the package 'ubuntu-drivers-common' instead of 12.04's 'jockey'. That is why jockey and 'ubuntu-drivers-common' are marked invalid for Trusty and Precise respectively. You shouldn't have changed it.
I'm also using BCM4313 which from 3.10 kernel onwards works better with the open source brcmsmac driver in kernel. No need to install 'linux-firmware-nonfree'. Doing lspci shows b43 in my case too, but I don't know if it should be blacklisted.

Changed in jockey (Ubuntu Trusty):
status: Confirmed → Invalid
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-drivers-common - 1:0.2.92.2

---------------
ubuntu-drivers-common (1:0.2.92.2) utopic; urgency=medium

  * gpu-manager.c:
    - Revert switch to the intel driver from modesetting until
      some issues are fixed.
 -- Alberto Milone <email address hidden> Mon, 28 Apr 2014 18:37:02 +0200

Changed in ubuntu-drivers-common (Ubuntu):
status: Triaged → Fix Released
Shih-Yuan Lee (fourdollars) wrote :

I have verified `jockey-text --auto-install` from precise-proposed and it won't install bcmwl-kernel-source on linux-generic-lts-trusty.

tags: added: verification-done
removed: verification-needed
Shih-Yuan Lee (fourdollars) wrote :

Sorry, I made a mistake.
I have verified `jockey-text --auto-install` from precise-proposed and it won't install bcmwl-kernel-source on linux-generic-lts-saucy.

tags: added: verification-needed
removed: verification-done
description: updated
description: updated
HEXcube (hexcube) wrote :

Verified 0.9.7-0ubuntu7.15 from precise-proposed with linux-generic-lts-trusty. And I blacklisted b43 driver using

echo "blacklist b43" | sudo tee -a /etc/modprobe.d/blacklist.conf

to stop some messages displayed at startup/boot plymouth splash

Changed in jockey (Ubuntu):
status: Triaged → Fix Committed
tags: added: verification-done
removed: verification-needed
Brian Murray (brian-murray) wrote :

Hello HEXcube, or anyone else affected,

Accepted ubuntu-drivers-common into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/ubuntu-drivers-common/1:0.2.91.6 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ubuntu-drivers-common (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: removed: verification-done
tags: added: verification-needed
Mathew Hodson (mathew-hodson) wrote :

Package in precise-proposed was verified in comment #13.

tags: added: verification-done-precise
HEXcube (hexcube) wrote :

Tested and verified ubuntu-drivers-common version 1:0.2.91.6 from trusty-proposed. Works as expected - doesn't install bcmwl-kernel-source package. Gives the following output :

No drivers found for automatic installation.

tags: added: verification-done-trusty
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-drivers-common - 1:0.2.91.6

---------------
ubuntu-drivers-common (1:0.2.91.6) trusty-proposed; urgency=medium

  * UbuntuDrivers/detect.py, debian/tests/system, tests/ubuntu_drivers.py:
    - Do not autoinstall the broadcom driver. The open driver should be a
      better solution now (LP: #1306928), as the binary driver prevents
      a number of systems from using the wireless card.
    - Autoinstall linux-firmware-nonfree. This will help now that we no
      longer autoinstall Broadcom's binary driver.
    - Fix the relevant tests now that linux-firmware-nonfree has replaced
      bcmwl.
  * gpu-manager.c, tests/gpu-manager.py:
    - Ignore CRT displays when using PRIME. This works around systems whose
      BIOS provides a ghost output (LP: #1296020).
    - Check that we don't remove xorg.confs on 1st boot (as per the
      previous SRU).
    - Try harder when loading bbswitch (LP: #1310023). If loading bbswitch
      fails try with or without the "skip_optimus_dsm=1" option. Also, make
      sure that we trim dmi resources or matching will give us false
      positives.
    - Switch to intel/SNA for optimus systems (LP: #1326257).
    - Make sure to unload nvidia-uvm or nvidia won't be
      unloaded.
    - Make sure to walk properly the /dev/dri dir. This
      prevents the program from stopping when, for example
      /dev/dri/card1 is available while /dev/dri/card0 is
      not.
 -- Alberto Milone <email address hidden> Fri, 06 Jun 2014 11:20:28 +0200

Changed in ubuntu-drivers-common (Ubuntu Trusty):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for ubuntu-drivers-common has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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

Other bug subscribers