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

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

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

我到目前为止所做的:

  1. 我尝试过使用网站。
  2. 我尝试按照给出的说明进行操作这里对于apt-get安装,请下载 tar ball 并安装以及离线安装(从 Ubuntu 的启动 DVD)。
  3. 我尝试安装bcmwl-kernel-source

在每个方法 [1,2,3] 结束时,当我执行 a 时sudo modprobe wl,我总是得到这个:

modprobe:错误:无法插入‘wl’:执行格式错误。

我也尝试过将其他驱动程序列入黑名单,wl并尝试过多次重新安装。

  1. 我还尝试使用ndiswrapper,它足以成功使 UNCLAIMED 驱动程序(请参阅下面的输出lshw -c Network)更改为其他内容。

然而最后 Wi-Fi 确实出现或者可以使用了。

内核版本:3.13.0-24-generic

我已经尽我所能尝试了一切。如果你能帮我设置 Wi-Fi,那将非常有帮助。我愿意将你可能要求我执行的任何命令的输出粘贴到 pastebin 中。(我已添加了lshw -c Network和的输出lspci -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 install 的输出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

另外,同样的意思是什么?

我经历了以下询问 Ubuntu问题:

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

答案1

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

首先,以下是我在此过程中学到的东西:

  1. 在问题得到解决之前,切勿随意使用不同的驱动程序或模块来破坏你的操作系统,至少不是a) 不知道自己在做什么/为什么做,以及 b) 最重要的是如何撤消相同操作。

  2. 每当你尝试不同的驱动程序、模块或软件包时,首先卸载之前安装的软件包

非常感谢@辣椒555他指出,原因是之前的包裹剩下了东西。

所以我做的是:

  1. 我尝试bcmwl-kernel-source在 Ubuntu 14.04 的实时运行中安装(使用我的 LAN 电缆),并检查 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后,无线网络就可以正常工作了!

最后,向所有反复交叉发布、重新发布、在 IRC 上发垃圾帖子的人诚挚地致以歉意。:P

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

再次感谢 chili555 :)

编辑我最近更新了我的内核以支持DisplayLink我的 USB 显示器的驱动程序,但 Wi-Fi 却不见了。

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

"alloc_netdev" requires 4 arguments, but only 3 given

事实证明,驱动程序没有针对升级后的内核(版本 3.18)进行更新。谷歌搜索后,我找到了这篇文章 -

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

这里有可用的修补版本的链接wl,可以与升级后的内核一起使用。

我手动下载并安装小伙子,wifi 也恢复了。

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

答案2

我在安装 Linux Mint、Ubuntu 13.10 和 14.04 时也遇到了同样的问题。我不得不使用 LAN 电缆或手机的 USB 网络共享来获取bcmwl-内核源代码安装后,它似乎是我的 DELL inspiron 15 唯一能用的无线驱动程序。

但我能看到bcmwl-内核源代码在运行软件更新的附加驱动程序部分中

sudo apt-get update

通过 LAN 或 USB 网络共享建立互联网连接后,从终端您将看到列出的附加驱动程序,我可以很容易地从那里安装驱动程序。

答案3

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

请参阅第 2 步安装 Ubuntu,子节准备安装 Ubuntu你也可以尝试一下这个。

答案4

HP 笔记本上的 Ubuntu 20.04 也存在类似问题。解决方案:先决条件:识别您的芯片组:

lspci -vvnn | grep -A 9 Network 

您将在第一行或第二行获得芯片 ID。(例如 BCM4331)实际解决方案安装(如果可以通过以太网访问互联网)Broadcom STA 无线驱动程序(专有):

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

通过以下方式测试并避免重启:

sudo modprobe -r b43 ssb wl brcmfmac brcmsmac bcma
sudo modprobe wl

摘自:

这个 Ubuntu 帮助页面

相关内容