Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am not able to install drivers for my Wi-Fi + Bluetooth card (Broadcom BCM43142).

What I have done till now:

  1. I have tried using the drivers at this website.
  2. I tried following the instructions given here for both the apt-get install, download tar ball and install and offline install (from Ubuntu's boot DVD).
  3. I tried installing bcmwl-kernel-source.

At the end of every single method [1,2,3], when I do a sudo modprobe wl, I invariably get this:

modprobe: ERROR: could not insert 'wl': Exec format error.

I have also tried blacklisting drivers other than wl and have tried reinstalling the same several times.

  1. I also tried using ndiswrapper which was successful enough to make the UNCLAIMED driver (see below for the output of lshw -c Network) change to something else.

However at the end the Wi-Fi did now show up or work.

Kernel version: 3.13.0-24-generic

I have tried everything I could do to my full ability. It would be extremely helpful if you could help me setup my Wi-Fi. I am willing to pastebin output of any commands that you might ask me to execute. (I have added the outputs of lshw -c Network and lspci -nn , but please don't hesitate to ask me anything else.)

lshw -c Network
WARNING: you should run this program as super-user.
  *-network UNCLAIMED     
       description: Network controller
       product: BCM43142 802.11b/g/n
       vendor: Broadcom Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list
       configuration: latency=0
       resources: memory:90500000-90507fff

02:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)

The output of sudo apt-get install bcmwl-kernel-source. The official driver (by Ubuntu) for this WLAN card:

sudo apt-get install bcmwl-kernel-source
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B/1,126 kB of archives.
After this operation, 1,417 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 318223 files and directories currently installed.)
Removing wireless-bcm43142-oneiric-dkms ( ...
Removing all DKMS Modules
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.103ubuntu4) ...
update-initramfs: Generating /boot/initrd.img-3.13.0-24-generic
Selecting previously unselected package bcmwl-kernel-source.
(Reading database ... 318162 files and directories currently installed.)
Preparing to unpack .../bcmwl-kernel-source_6.30.223.141+bdcom-0ubuntu2_amd64.deb ...
Unpacking bcmwl-kernel-source ( ...
Setting up bcmwl-kernel-source ( ...
Loading new bcmwl- DKMS files...
Building only for 3.13.0-24-generic
Building for architecture x86_64
Building initial module for 3.13.0-24-generic

Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/3.13.0-24-generic/updates/dkms/


DKMS: install completed.

This is the error I keep getting repeatedly:

modprobe: ERROR: could not insert 'wl': Exec format error

update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.103ubuntu4) ...
update-initramfs: Generating /boot/initrd.img-3.13.0-24-generic

Also, what is meant by the same?

I went through the following Ask Ubuntu questions:

The second one seems to be a very comprehensive summary of all possible ways... Still I am stuck up with this Exec Format error.

share|improve this question
This particular driver was already covered on this site here. Have you tried that? –  Jos May 2 '14 at 18:15
@Jos The 1st answer doesnt work for me ! (same modprobe error). The second seems to work for a lot of ppl. I have seen the same at other forums too. But unfortunately the link is dead ... Thanks for the reply :) –  rvraghav93 May 2 '14 at 18:49
To me, none of the links are dead - in particular, the links to the .deb files both work (the ones in someone's Dropbox). Which seems something you could easily try. –  Jos May 2 '14 at 18:52
The dropbox deb package doesnt work and again throws this error when I do modprobe wl that I previously mentioned. I meant this jas.gemnetworks.com link. Does it work for you ? –  rvraghav93 May 2 '14 at 18:54
Oh, I see what you mean now. Never mind. –  Jos May 2 '14 at 18:57

4 Answers 4

up vote 5 down vote accepted

OK, so I finally fixed this :D

First here's what I learnt in the process:

  1. NEVER ram your OS with different drivers or modules haphazardly until your problem gets fixed, at least not without a) Knowing what / why you are doing, and b) MOST IMPORTANTLY How to undo the same.

  2. Whenever you try a different driver, module, or package, first uninstall the package that you previously installed for the same purpose.

And lots of thanks to @chili555 who pointed out that the leftover from a previous package was the reason.

So what I did was:

  1. I tried installing bcmwl-kernel-source on a live run of Ubuntu 14.04 (with my LAN cable) and checked if WLan works now. (And yeah, it did confirm that Ubuntu 14.04 / BCM43142 / bcmwl-kernel-source were not the problem.)

  2. I went to /etc/modprobe.d and cross checked the files there with my hard disk installation's version of the same folder.

  3. This /etc/modprobe.d directory contains configuration files which contain blacklisting information for different modules. I made a note of the available files and later removed what was not available here from my hard disk installation's version of the same folder too.

  4. I went to /lib/modules/3.*/updates/. This is the directory that stores all your modules (wl, b43, etc. ... ) and the one that I messed up with various custom patched versions of wl modules listed in various forums.

  5. After cross checking with my hard disk installation's version of lib/modules/3.*/updates/, I manually removed all Bluetooth / wireless / dkms / wl / (and in particular one mac80211) and cleaned up any other modules that are related to wlan.

  6. I finally replaced (did a recursive copy onto) the /etc/modprobe.d and /lib/modules/3.*/updates/ directories (of my hard disk installation) with the same directories from the live OS.

  7. Reboot

  8. Do sudo apt-get install bcmwl-kernel-source. This is the official working driver for BCM43142 for Ubuntu 14.04.

  9. Reboot and sudo modprobe wl and viola, wireless was working!

And finally sincere apologies to all my cross-posting, reposting, spamming IRCs with this question repeatedly. :P

NOTE: Replacing /removing your hard disk installation files is recommended only for those who installed your OS recently. Otherwise there is a risk that you could replace / remove files / modules that may have been installed for other devices which may be irrelevant to this issue.

Thanks again to chili555 :)

share|improve this answer
I was more lucky. After an update I lost my wifi connection. Via USB threatening I just did your 8 step: sudo apt-get install bcmwl-kernel-source --- and bump! It works without a need of a reboot. –  Felipe Micaroni Lalli Sep 30 '14 at 21:05

I also had the same issue with Ubuntu 11.10 and 12.10. The problem was that Wi-Fi was not detected on BCM43142 Sony VAIO FIT 15E. Therefore, when I tried to install Ubuntu 13.10, I checked the option of "Install this third party software" during installation, and it worked for me!!

See step 2 on Install Ubuntu, sub section Prepare to install Ubuntu. You can also try this.

share|improve this answer
Ummm.. I remember having chosen that third party option I guess, since I installed this Ubuntu 14 only recently. But is there anyway to do the same now again without having to reinstall ubuntu ? –  rvraghav93 May 2 '14 at 18:51

I too had the same trouble when installing Linux Mint, Ubuntu 13.10 and 14.04. I had to use a LAN cable or USB tethering from my phone to get bcmwl-kernel-source installed which seemed to be the only working wireless driver for my DELL inspiron 15.

however i was able to see the bcmwl-kernel-source in the additional drivers section of the software updates after running

sudo apt-get update

from the terminal after establishing interet connection via LAN or USB tethering and you will see the additional drivers listed from where i was able to install the driver pretty easily.

share|improve this answer

I've encountered the issue and to solve it I just run the next command:

# (sudo rmmod b43 ; sudo rmmod bcma ; sudo rmmod wl ; sudo modprobe wl ; sudo modprobe lib80211_crypt_tkip)

It seems that b43 or bcma are collisions to the wl module.

Hope it will help someone...

share|improve this answer

protected by Community Mar 22 at 3:31

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.