Ubuntu 14.04上Broadcom BCM43142的驱动程序(Trusty Tahr)

我无法为我的Wi-Fi +蓝牙卡(Broadcom BCM43142)安装驱动程序。

到目前为止我做了什么:

  1. 我尝试过使用本网站的驱动程序。
  2. 我尝试按照这里给出的说明进行apt-get安装,下载tar ball以及安装和离线安装(来自Ubuntu的启动DVD)。
  3. 我尝试安装bcmwl-kernel-source

在每个方法[1,2,3]的最后,当我做一个sudo modprobe wl ,我总是得到这个:

modprobe:错误:无法插入’wl’:Exec格式错误。

我还尝试过将wl以外的驱动程序列入黑名单,并尝试重新安装相同的几次。

  1. 我也尝试使用ndiswrapper ,它成功地使UNCLAIMED驱动程序(参见下面的lshw -c Network的输出)改为其他东西。

然而,最终Wi-Fi现在显示或工作。

内核版本: 3.13.0-24-generic

我已尽力完成我所能做的一切。 如果你可以帮我设置我的Wi-Fi,那将非常有帮助。 我愿意你可能要求我执行的任何命令的pastebin输出。 (我已经添加了lshw -c Networklspci -nn的输出,但请不要犹豫,问我别的什么。)

 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 lspci 02:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01) 

sudo apt-get的输出安装bcmwl-kernel-source 。 此WLAN卡的官方驱动程序(由Ubuntu提供):

 sudo apt-get install bcmwl-kernel-source Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: wireless-bcm43142-oneiric-dkms The following NEW packages will be installed: bcmwl-kernel-source 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 (6.20.55.19~bdcom0602.0400.1000.0400-0somerville1) ... Removing all DKMS Modules Done. 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 (6.30.223.141+bdcom-0ubuntu2) ... Setting up bcmwl-kernel-source (6.30.223.141+bdcom-0ubuntu2) ... Loading new bcmwl-6.30.223.141+bdcom DKMS files... Building only for 3.13.0-24-generic Building for architecture x86_64 Building initial module for 3.13.0-24-generic Done. wl: Running module version sanity check. - Original module - Installation - Installing to /lib/modules/3.13.0-24-generic/updates/dkms/ depmod....... DKMS: install completed. 

这是我不断反复出现的错误:

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 

另外,是什么意思?

我经历了以下Ask Ubuntu问题:

  • 如何为Dell Vostro 3460/3560安装BCM43142无线驱动程序?

  • 安装Broadcom无线驱动程序

第二个似乎是对所有可能方式的非常全面的总结……我仍然坚持这个Exec Format error

好的,所以我终于解决了这个问题:D

首先,这是我在这个过程中学到的东西:

  1. 永远不要随意用不同的驱动程序或模块撞击你的操作系统,直到你的问题得到解决, 至少不是没有a)知道你在做什么/为什么,以及b)最重要的是如何撤消相同的操作。

  2. 每当您尝试不同的驱动程序,模块或程序包时, 首先卸载先前为同一目的安装的程序包

非常感谢@ chili555谁指出前一个包的剩余是原因。

所以我做的是:

  1. 我尝试在Ubuntu 14.04的实时运行(使用我的LAN电缆)上安装bcmwl-kernel-source并检查WLan是否正常工作。 (是的,它确实证实了Ubuntu 14.04 / BCM43142 / bcmwl-kernel-source不是问题 。)

  2. 我去了/etc/modprobe.d并用我的硬盘安装版本的同一文件夹交叉检查那里的文件。

  3. /etc/modprobe.d目录包含配置文件,其中包含不同模块的黑名单信息。 我记下了可用的文件,后来从同一文件夹的硬盘安装版本中删除了这里没有的内容。

  4. 我去了/lib/modules/3.*/updates/是存储所有模块(wl,b43等等)的目录,以及我在各种论坛中列出的各种自定义修补版本的wl模块。

  5. 在使用我的硬盘安装版本的lib/modules/3.*/updates/进行交叉检查后,我手动删除了所有蓝牙/无线/ dkms / wl /(特别是一个mac80211)并清理了与之相关的任何其他模块。 WLAN。

  6. 我终于使用来自实时操作系统的相同目录替换(执行了递归复制) /etc/modprobe.d/lib/modules/3.*/updates/目录(我的硬盘安装)。

  7. 重启

  8. sudo apt-get install bcmwl-kernel-source 。 这是适用于Ubuntu 14.04的BCM43142的官方工作驱动程序。

  9. 重启和sudo modprobe wl和中提琴,无线正在工作!

最后,我对我的所有交叉发布,重新发布,垃圾邮件IRCs反复提出这个问题表示诚挚的道歉。 :P

注:建议仅为最近安装操作系统的用户更换/删除硬盘安装文件。 否则,您可能会更换/删除可能与其他设备安装的文件/模块,这可能与此问题无关。

再次感谢chili555 🙂

编辑我最近更新了我的内核以支持我的USB显示器的DisplayLink驱动程序和bam wifi已经消失。

盲目尝试重新安装bcmwl-kernel-source在构建日志中引发以下错误。

 "alloc_netdev" requires 4 arguments, but only 3 given 

事实certificate,升级后的内核(版本3.18)没有更新驱动程序。 有点谷歌搜索让我到这篇文章 –

https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/1358966

哪些链接可用于修补版本的wl ,它与升级后的内核一起使用。

我手动下载并安装了这个人,并恢复了wifi。

现在我可以回去安静地浏览lolcats了。 阿门。

我在安装Linux Mint,Ubuntu 13.10和14.04时遇到了同样的麻烦。 我不得不使用手机上的LAN电缆或USB网络共享来安装bcmwl-kernel-source ,这似乎是我的DELL inspiron 15唯一可用的无线驱动程序。

但是我在运行后能够在软件更新的附加驱动程序部分看到bcmwl-kernel-source

 sudo apt-get update 

在通过LAN或USB网络共享建立interet连接后从终端,您将看到列出的其他驱动程序,我可以很容易地安装驱动程序。

我对Ubuntu 11.10和12.10也有同样的问题。 问题是在BCM43142 Sony VAIO FIT 15E上未检测到Wi-Fi。 因此,当我尝试安装Ubuntu 13.10时,我在安装过程中选中了“安装此第三方软件”选项,它对我有用!!

请参阅安装Ubuntu上的步骤2,子部分准备安装Ubuntu 。 你也可以试试这个。

我遇到了这个问题并解决了它,我只需运行下一个命令:

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

似乎b43或bcma是与wl模块的冲突。

希望它会帮助别人……