[SOLUTION] Broadcom wireless 4313, bcmwl-kernel-sources missing headers dependency
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bcmwl (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Installing Broadcom wireless driver for STA series (4313) yields inability to use wireless connections. The reason on the surface is the lack of, e.g., wl0 interface.
02:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
The versions concerned are all current as of Nov 15, 2012, Ubuntu 12.10, others are stated below.
During the installation of
sudo apt-get install bcmwl-kernel-source broadcom-sta-source broadcom-sta-common
a series of errors occurs:
Unpacking broadcom-sta-source (from .../broadcom-
Setting up bcmwl-kernel-source (5.100.
Loading new bcmwl-5.
Building for architecture x86_64
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
ERROR: Module b43 does not exist in /proc/modules
ERROR: Module b43legacy does not exist in /proc/modules
ERROR: Module ssb does not exist in /proc/modules
ERROR: Module bcm43xx does not exist in /proc/modules
ERROR: Module brcm80211 does not exist in /proc/modules
ERROR: Module brcmfmac does not exist in /proc/modules
ERROR: Module brcmsmac does not exist in /proc/modules
ERROR: Module bcma does not exist in /proc/modules
FATAL: Module wl not found.
FATAL: Error running install command for wl
The reason for this is obviously the lack of linux-headers which prevents the compilation of the wireless module from the source files installed, as the following resolves the issue:
1. find out the current kernel version running (cf. the build skip message above)--on my system it's 3.5.0-17-generic
uname -a
2. install the appropriate linux-headers:
sudo apt-get install linux-headers-
which yields (if the driver sources have already been installed and not been removed, otherwise install them again):
Setting up linux-headers-
Examining /etc/kernel/
run-parts: executing /etc/kernel/
* Running DKMS auto installation service for kernel 3.5.0-17-generic
* bcmwl (5.100.
bcmwl (5.100.
............
..........
After this, the module is loaded automatically, everything works again.
Assumed reason: missing dependency of bcmwl-kernel-source for linux-headers. Please add appropriate dependencies, as the same would happen on every kernel change.
Creating a package comprising the three packages bcmwl-kernel-source broadcom-sta-source broadcom-sta-common and adding a dependency for linux-headers-
A verbose coloring and formatting for apt-get ala Gentoo's emerge would be helpful for all users. An apt-get wrapper is presumably viable.
Other than that:
/etc/modprobe.
blacklist bcm43xx
blacklist b43
blacklist b43legacy
blacklist bcma
blacklist ndiswrapper
blacklist brcmsmac
/etc/modprobe.
# Warning: This file is autogenerated by bcmwl. All changes to this file will be lost.
blacklist b43
blacklist b43legacy
blacklist ssb
blacklist bcm43xx
blacklist brcm80211
blacklist brcmfmac
blacklist brcmsmac
blacklist bcma
cf. https:/ /bugs.launchpad .net/ubuntu/ +source/ bcmwl/+ bug/476038