![Ubuntu 14.04 (Trusty Tahr) 上的 Broadcom BCM43142 驱动程序](https://linux22.com/image/853774/Ubuntu%2014.04%20(Trusty%20Tahr)%20%E4%B8%8A%E7%9A%84%20Broadcom%20BCM43142%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F.png)
我无法安装 Wi-Fi + 蓝牙卡(Broadcom BCM43142)的驱动程序。
我到目前为止所做的:
- 我尝试过使用这网站。
- 我尝试按照给出的说明进行操作这里对于
apt-get
安装,请下载 tar ball 并安装以及离线安装(从 Ubuntu 的启动 DVD)。 - 我尝试安装
bcmwl-kernel-source
。
在每个方法 [1,2,3] 结束时,当我执行 a 时sudo modprobe wl
,我总是得到这个:
modprobe:错误:无法插入‘wl’:执行格式错误。
我也尝试过将其他驱动程序列入黑名单,wl
并尝试过多次重新安装。
- 我还尝试使用
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
首先,以下是我在此过程中学到的东西:
在问题得到解决之前,切勿随意使用不同的驱动程序或模块来破坏你的操作系统,至少不是a) 不知道自己在做什么/为什么做,以及 b) 最重要的是如何撤消相同操作。
每当你尝试不同的驱动程序、模块或软件包时,首先卸载之前安装的软件包。
非常感谢@辣椒555他指出,原因是之前的包裹剩下了东西。
所以我做的是:
我尝试
bcmwl-kernel-source
在 Ubuntu 14.04 的实时运行中安装(使用我的 LAN 电缆),并检查 WLan 现在是否可以正常工作。(是的,它可以正常工作确认 Ubuntu 14.04 / BCM43142 /bcmwl-kernel-source
没有问题。我去那里
/etc/modprobe.d
并将那里的文件与我硬盘上安装的同一文件夹的版本进行了交叉检查。此
/etc/modprobe.d
目录包含配置文件,其中包含不同模块的黑名单信息。我记下了可用的文件,然后从硬盘安装的同一文件夹中删除了此处不可用的文件。我去了
/lib/modules/3.*/updates/
。这是存储所有模块(wl、b43 等...)的目录,也是我弄乱了各个论坛中列出的各种自定义修补版本的 wl 模块的目录。与我的硬盘安装的版本交叉检查后
lib/modules/3.*/updates/
,我手动删除了所有蓝牙/无线/dkms/wl/(特别是一个mac80211)并清理了与wlan相关的任何其他模块。我最终替换了(做了递归复制到) 将
/etc/modprobe.d
和/lib/modules/3.*/updates/
目录(我的硬盘安装的目录)与实时操作系统中的目录相同。重启
请执行
sudo apt-get install bcmwl-kernel-source
。这是适用于 Ubuntu 14.04 的 BCM43142 的官方工作驱动程序。重新启动
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
摘自: