Installing Broadcom Wireless Drivers - Ask Ubuntu


i'm having serious problems installing broadcom drivers ubuntu. worked on previous version, now, impossible.

what steps install broadcom wireless drivers bcm43xx card?

i'm user no advance knowledge in linux, need clear explanations on how make, compile, etc.


lspci -vnn | grep network showed:

broadcom corporation bcm4322 802.11a/b/g/n wireless lan controller [14e4:432b]  

iwconfig showed:

lo        no wireless extensions. eth0      no wireless extensions. 

note: answer below updated every time new information added , confirmed working.

0. introduction , background

this answer based on extensive research done various ubuntu users worked in issues related broadcom. special chili555 helped in ubuntu forums , on site many questions related wireless devices , others have contributed through e-mail, chats, irc , more in testing various drivers several of popular broadcom wireless cards (huge chili555 really. guy knows stuff).

in total wanted offer answer easy follow , covered broadcom cards / drivers. after follow guide, need test wireless connection @ least 2 hours (i recommend 8 hours) device in either ad-hoc mode, infrastructure mode or both. common problems solved (apart drivers not installing) are:

  • connections timeout after several minutes or hours
  • stops searching other devices (does not see other device)
  • keeps asking password on cases ap not have any
  • stops receiving/transmitting traffic (needs reboot temporarily fix)
  • crashes system dmesg errors in log (link 1 below)
  • system freezes (you can press reboot/power button) (link 1 below)
  • creates huge log reports trying correctly configure or connect
  • fails when installed via additional drivers / additional hardware (link 3 below)
  • connects , disconnects continuously every x amount of seconds
  • appears connected on network manager not receive internet
  • tries connect many times without correctly finishing connection
  • takes long connect
  • after upgrading previous version (eg: 12.04 12.10) stops working
  • wireless card not turn on, enable or disable (link 2 below)
  • wireless card blocked hardware
  • more problems found in launchpad, ubuntu forum , askubuntu

link 1 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060268
link 2 - https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/732677
link 3 - gives error similar "sorry, installation of driver failed."

so in mind, following have right simplified in 3 steps:

1. knowing broadcom wireless card have

there dozens of broadcom wireless cards , more seem appear every day. key finding correct driver network card known pci id (pci.id). find out pci.id have, proceed opening terminal pressing ctrl+alt+t (it should open window blank background) , inside terminal run following command:

lspci -nn -d 14e4: 

you following if have broadcom wireless adapter (the id 14e4 used in example above in cases broadcom wireless card):

broadcom corporation bcm4306 802.11bgn wireless network adapter [14e4:4320] (rev 03) 

the pci.id in example 14e4:4320 seen inside brackets [...]. in cases need revision version (if appears) special cases. in case, revision version rev 03 shown inside parentheses (...) @ end. need after search is:

[14e4:4320] (rev 03) 

with new information can in table below , select appropriate method install driver. example, in case, since have 14e4:4320 rev 03, if go down list 1 shows exact same pci.id see in columns ubuntu 12.04, 13.10 or 14.04 shows firmware-b43-installer package driver. means have install particular package since appears in ubuntu version columns.

note - before proceeding, if have installed drivers, have blacklisted or uncommented driver files or configuration files or have done changes whatsoever system make drivers work in previous attempts, need undo them in order follow guide. assume doing scratch , have not changed configuration files, modules or drivers in system in way (apart updating system). includes installations using apt-get, aptitude, synaptic, dpkg, software center or manual compilation , installation of packages. system has start scratch in order work , avoid conflicts may appear if earlier work done.

for example, if have installed bcmwl-kernel-source package, need remove using purge method:

sudo apt-get purge bcmwl-kernel-source 

2. preparing system

if have installed ubuntu, need build index of available packages before can install driver if have not done already:

sudo apt update 

i go further update ubuntu list of pci.ids:

sudo update-pciids 

just in case id of particular new broadcom device using has appeared.

now using pci.id found in steps above, search in list below find matching pci.id , method install driver associated in simple , correct way. terminal used avoid gui related issues. applies cases, except noted. installation procedure done via terminal , while connected internet temporary wired ethernet connection or usb modem or means possible can give pc, time, internet access. after find in list below correct package proceed installation.

3. installing package (online)

assuming used pci.id 14e4:4320 rev 03 found in search above, , looked @ table below , found correct package install firmware-b43-installer, proceed install package in terminal:

sudo apt install firmware-b43-installer 

and reboot

sudo reboot 

the format install pretty simple, it's just:

sudo apt install <package_name> 

in example above, package_name firmware-b43-installer.

broadcom wireless table (updated aug 18, 2017)

pci.id              16.04 lts                        17.10+ ------------------------------------------------------------------------------------ 14e4:0576           special case #1                   unknown       14e4:4301           firmware-b43-installer            firmware-b43-installer       14e4:4306           firmware-b43-installer            firmware-b43-installer       14e4:4306 rev 02    firmware-b43-installer            firmware-b43-installer       14e4:4306 rev 03    firmware-b43-installer            firmware-b43-installer       14e4:4307           firmware-b43-installer            firmware-b43-installer       14e4:4311           firmware-b43-installer            firmware-b43-installer       14e4:4311 rev 01    firmware-b43-installer            firmware-b43-installer       14e4:4312           firmware-b43-installer            firmware-b43-installer       14e4:4313           firmware-b43-installer            firmware-b43-installer                14e4:4315           firmware-b43-installer            firmware-b43-installer       14e4:4315 rev 01    firmware-b43-installer            firmware-b43-installer 14e4:4318           firmware-b43-installer            firmware-b43-installer                 14e4:4318 rev 02    firmware-b43-installer            firmware-b43-installer                 14e4:4319           firmware-b43-installer            firmware-b43-installer                14e4:4320 rev 02    firmware-b43-installer            firmware-b43-installer                14e4:4320 rev 03    firmware-b43-installer            firmware-b43-installer             14e4:4321           firmware-b43-installer            firmware-b43-installer   14e4:4324           firmware-b43-installer            firmware-b43-installer         14e4:4325           firmware-b43-installer            firmware-b43-installer       14e4:4328           firmware-b43-installer            firmware-b43-installer          14e4:4329           bcmwl-kernel-source               bcmwl-kernel-source         14e4:432a           bcmwl-kernel-source               bcmwl-kernel-source         14e4:432b           bcmwl-kernel-source               bcmwl-kernel-source         14e4:432c           bcmwl-kernel-source               bcmwl-kernel-source         14e4:432d           bcmwl-kernel-source               bcmwl-kernel-source        14e4:4331           firmware-b43-installer            firmware-b43-installer           14e4:4335           firmware-b43-installer            firmware-b43-installer       14e4:4350           firmware-b43-installer            firmware-b43-installer   14e4:4353           special case #1                   unknown         14e4:4353 rev 01    special case #1                   unknown                  14e4:4357           special case #1                   unknown         14e4:4358           bcmwl-kernel-source               bcmwl-kernel-source 14e4:4359           bcmwl-kernel-source               bcmwl-kernel-source        14e4:4360           bcmwl-kernel-source               bcmwl-kernel-source     14e4:4365           bcmwl-kernel-source               bcmwl-kernel-source       14e4:4365 rev 01    bcmwl-kernel-source               bcmwl-kernel-source       14e4:43a0           bcmwl-kernel-source               bcmwl-kernel-source 14e4:43ae rev 02    unknown                           unknown      14e4:43b1           bcmwl-kernel-source               bcmwl-kernel-source         14e4:43b1 rev 03    bcmwl-kernel-source               bcmwl-kernel-source               14e4:43c3 rev 04    unknown                           special case #2                      14e4:4727           bcmwl-kernel-source               bcmwl-kernel-source         14e4:4727 rev 01    bcmwl-kernel-source               bcmwl-kernel-source         14e4:a962           firmware-b43-installer            firmware-b43-installer       ------------------------------------------------------------------------------------ 

special case #1 - uses bcma , brcmsmac driver combination. required firmware installed default in package linux-firmware.

special case #2 - asus pce-ac88 ac3100 steps are:

  1. download file , after extracting it, put in /lib/firmware/brcm
    sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
  2. then sudo nano /etc/rc.local add modprobe brcmfmac , save
  3. sudo reboot

in hardware lenovo s10-2, if wireless card gets stuck trying connect ssid (keeps trying connect), alternative working install bcmwl-kernel-source package (remove other installed packages related it). read debugging section below more information regarding wireless device.

important note - after september 2014, if follow answer , still have problems installing correct driver, please try firmware-b43-installer package , notify via comments. there changes , drivers work package. remember have clean system before installing it:

sudo apt install firmware-b43-installer 

in particular cases, after installing firmware-b43-installer need remove b43 module, enable again , proceed unblock rfkill:

 sudo modprobe -r b43  sudo modprobe b43      sudo rfkill unblock   

if have broadcom card has different pci.id, please ask new question. once solved, solution added howto.

4. installing package (offline)

4.1 installing firmware-b43-installer

to install firmware-b43-installer offline see this answer.

4.2 installing bcmwl-kernel-source

for cases need install bcmwl-kernel-source offline, here excellent answer it. follow steps:

  1. search package in ubuntu package repositories
  2. make sure select correct architecture (32-bit, 64-bit, etc..)
  3. download package , dependency packages related on same folder.
  4. when have packages needed (and dependencies), proceed on going folder has packages , run sudo dpkg -i *.deb. install packages in folder. if gives errors, read error , follow steps mentions.

to give example, after going point 1 mentioned above, if had broadcom 14e4:43a0, search bcmwl-kernel-source package , after selecting corresponding ubuntu version (in case 16.04 or xenial) land on following page:

http://packages.ubuntu.com/xenial/bcmwl-kernel-source

on page select corresponding architecture (32 or 64) need download 3 package dependencies mentioned on page seen in following image:

enter image description here

after downloading packages , dependencies, can proceed on copying packages single folder , running dpkg command mentioned on step 4 above.

note

in computers, before performing commands, need deactivate secure boot options in bios. applies cases, example, bcmwl-kernel-source installed driver not yet work. can reinstall so, or disable secure boot going bios setup:

sudo apt-get install --reinstall bcmwl-kernel-source 

debugging

the following information additional material read solving various issues related wireless management , conflicts other network devices. know cases need have updated kernel version, since each new version of kernel introduces either new network drivers, improvements on existing drivers or solves bugs regarding them.

before reading points mentioned below, sure have repositories enabled on ubuntu system. check, run on terminal software-properties-gtk , make sure options on ubuntu software tab enabled.

  • to configure wireless devices through terminal recommend how connect , disconnect network manually in terminal?

  • if connection drops every users have suggested set ipv6 ignore. go network manager (the network icon on top panel). click on select edit settings. go wireless connection using, select it. go last tab in there mentions ipv6 settings. in method field select ignore.

  • if laptop not detect wireless card users have mentioned using rfkill unblock all solve problem. others turned wifi switch on laptops off , on again (physical switch available on laptops). more information rfkill please read rf kill unblock not work!

  • if getting b43-phy0 error: fatal dma error / b43-phy0 warning: forced pio following:

    sudo rmmod b43      sudo modprobe b43 pio=0 qos=0   

    if works add rc files executed every time boot. can change pio 1 if need it.

  • if having required key not available when installing dkms module (like nvidia, broadcom or others) can go pilot's answer here

  • if wireless card see/not see router , gets stuck in endless "trying connect (try 1/3)" loop solution might proper configuration of router or wireless ssid device.

    for wireless cards in general, important take consideration network devices using (routers, switches, wireless channels , wireless bands, etc..). information able evaluate better source of problem when arrive @ dead end. example lenovo s10-2 uses 14e4:4315 rev 01 pciid. after installing correct driver user end in "trying connect" loop. see wireless ssid when trying connect it, enter reconnecting loop.

    the solution particular wireless device did not support 40 mhz channels nor support 802.11n. router in case broadcasting forced 40 mhz , on wifi-n only. when router set auto mode , 20/40 mhz channel, wireless card worked correctly. case scenario repeats in other cases, proper evaluation of network equipment lot.

    for cases repeated:

    error @wl_cfg80211_get_station : wrong mac address...

    when doing dmesg , wireless connection drops (several times hour or day), issue here might inside wireless signal used wireless bridge (2 routers sharing same ssid , connection). can happen modern routers have ability extend wireless connection offering same ssid. wireless connection might drop because might between both routers , signal strength between both same.

    if connection drops often, means in middle of both router devices. lower or eliminate dropping rate of wireless device, try position wireless card can see 1 router or @ least 1 of routers has higher signal strength other one.

    there techniques force wireless device connect specific router setting bssid mac address of router wish connect to. force wireless device connect it.

    enter image description here

secure boot issues

on specific scenarios, installing drivers, in offline mode through various deb packages or through apt-get internet access, not work if secure boot not disabled.

this because access needed denied secure boot drivers installed correctly when in fact did not. specific cases, need temporarily disable secure boot in order drivers work.

linux firmware update

on other cases looking , installing latest linux firmware solve issue. either solving minor problems happening working card or making card work first time.


Comments

Popular posts from this blog

download - Firefox cannot save files (most of the time), how to solve? - Super User

windows - "-2146893807 NTE_NOT_FOUND" when repair certificate store - Super User

sql server - "Configuration file does not exist", Event ID 274 - Super User