安装Broadcom无线驱动程序

我在为Ubuntu安装Broadcom驱动程序时遇到了严重问题。 它在我以前的版本上完美运行,但现在,它是不可能的。

为BCM43xx卡安装Broadcom无线驱动程序的步骤是什么?

我是一个没有Linux知识的用户,因此我需要有关如何制作,编译等的明确解释。


lspci -vnn | grep Network lspci -vnn | grep Network显示:

 Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] 

iwconfig显示:

 lo no wireless extensions. eth0 no wireless extensions. 

注意:每次添加新信息并确认其工作时,都会更新以下答案。

0.简介和背景

这个答案是基于各种Ubuntu用户进行的广泛研究,这些用户几乎在与Broadcom相关的所有问题上一起工作。 特别感谢chili555谁在Ubuntu论坛和本网站上提供了许多与无线设备相关的问题以及通过电子邮件,聊天,IRC以及其他一些使用几种最受欢迎​​的Broadcom无线卡测试各种驱动程序的人(真的非常感谢Chili555。这家伙知道他的东西)。

总的来说,我们希望提供一个易于理解的答案,并涵盖大多数Broadcom卡/驱动程序。 按照本指南操作后,您需要在Ad-Hoc模式,基础架构模式或两者中使用其他设备测试无线连接至少2小时(我实际建议8小时)。 将要解决的常见问题(除了未安装的驱动程序)是:

  • 几分钟或几小时后连接超时
  • 停止搜索其他设备(看不到任何其他设备)
  • 即使在AP没有密码的情况下,也要求密码
  • 停止任何接收/传输流量(需要重启以暂时修复)
  • 在日志中使用dmesg错误导致系统崩溃(下面的链接1)
  • 系统完全冻结(您只能按重启/电源按钮)(下面的链接1)
  • 尝试正确配置或连接创建巨大的日志报告
  • 通过附加驱动程序 / 附加硬件安装时失败(下面链接3)
  • 每隔X秒连续连接和断开连接
  • 出现在网络管理器上连接但未接收Internet
  • 在没有正确完成连接的情况下尝试多次连接
  • 连接时间太长
  • 从先前版本升级(例如:12.04到12.10)后,它将停止工作
  • 无线卡无法开启,启用或禁用(下面的链接2)
  • 无线卡被硬件阻止
  • 在Launchpad,Ubuntu论坛和Askubuntu中发现了更多问题

链接1 – https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060268
链接2 – https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/732677
链接3 – 给出类似于“抱歉,此驱动程序的安装失败”的错误。

因此,考虑到这一点,以下是我们现在所拥有的,只需3个步骤即可简化:

1.了解您拥有的Broadcom无线网卡

每天都会出现数十种Broadcom无线网卡。 找到任何网卡的正确驱动程序的关键是所谓的PCI ID (PCI.ID)。 为了找出你有哪个PCI.ID,我们按CTRL + ALT + T打开终端(它应该打开一个空白背景的窗口),在这个终端内我们运行以下命令:

 lspci -nn -d 14e4: 

如果您有Broadcom无线适配器,您将获得以下内容(在大多数情况下,上面示例中使用的ID 14e4是Broadcom无线卡):

 Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03) 

此示例中的PCI.ID14e4:4320,如Brackets […]中所示。 在某些情况下,对于某些特殊情况,您还需要修订版本(如果出现)。 在这种情况下,修订版本是rev 03 ,如末尾括号(…)中所示。 那么在搜索之后你需要的是:

 [14e4:4320] (rev 03) 

有了这些新信息,您可以在下表中查看并选择适当的方法来安装驱动程序。 例如,在这种情况下,由于你有14e4:4320 rev 03 ,如果我们沿着列表向下显示完全相同的PCI.ID,你会看到在Ubuntu 12.04,13.10或14.04的列中显示firmware-b43-installer软件包驱动程序。 这意味着您只需要安装此特定软件包,因为它出现在所有Ubuntu版本列中。

注意 – 在继续之前,如果您以前安装了任何驱动程序,将任何驱动程序文件或配置文件列入黑名单或取消注释,或者对系统进行了任何更改以使驱动程序在以前的尝试中有效,则需要撤消它们才能按照本指南。 我们假设您从头开始执行此操作,并且未以任何方式更改系统中的任何配置文件,模块或驱动程序(除了更新系统之外)。 这包括使用apt-get,aptitude,synaptic,dpkg,软件中心或手动编译和安装软件包的任何安装。 系统必须从头开始才能使其工作,并避免在早期工作完成时可能出现的任何冲突。

例如,如果您以前安装了bcmwl-kernel-source软件包,则需要使用purge方法将其删除:

 sudo apt-get purge bcmwl-kernel-source 

2.准备系统

如果你刚刚安装了Ubuntu,你需要在我们安装你的驱动程序之前建立一个可用软件包的索引,如果你还没有这样做的话:

 sudo apt update 

我甚至会更进一步更新Ubuntu的PCI.ID列表:

 sudo update-pciids 

以防您刚刚使用的特定新Broadcom设备的ID出现。

现在使用您在上面的步骤中找到的PCI.ID,我们然后在下面的列表中搜索匹配的PCI.ID以及以简单和正确的方式安装与其关联的驱动程序的方法。 终端将用于避免任何与GUI相关的问题。 除非另有说明,否则这适用于所有情况。 安装程序仅通过终端进行,同时通过临时有线以太网连接或USB调制解调器连接到互联网,或任何可能为您的PC提供Internet访问的方式。 在下面的列表中找到正确的包后,我们继续安装。

3.安装包(在线)

假设您使用了上面搜索中找到的PCI.ID 14e4:4320 rev 03 ,然后查看下表并发现要安装的正确软件包是firmware-b43-installer ,然后我们继续简单地安装此软件包在终端:

 sudo apt install firmware-b43-installer 

然后重启

 sudo reboot 

要安装的格式非常简单,它只是:

 sudo apt install  

在上面的示例中, PACKAGE_NAMEfirmware-b43-installer

BROADCOM WIRELESS TABLE(2017年8月18日更新)

 PCI.ID 16.04 LTS 17.10+ ------------------------------------------------------------------------------------ 14e4:0576 Special Case #1 UNKNOWN 14e4:1713 firmware-b43-installer firmware-b43-installer 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:4328 rev 03 bcmwl-kernel-source bcmwl-kernel-source 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 Special Case #1 Special Case #1 14e4:a962 firmware-b43-installer firmware-b43-installer ------------------------------------------------------------------------------------ 

特例#1 – 使用bcmabrcmsmac驱动程序组合。 默认情况下,软件包linux-firmware安装了必需linux-firmware

特例#2 – 对于华硕PCE-AC88 AC3100 ,步骤如下:

  1. 下载此文件 ,解压缩后,将其放在/ lib / firmware / brcm中
    sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
  2. 然后sudo nano /etc/rc.local添加modprobe brcmfmac并保存
  3. sudo reboot

在像Lenovo S10-2这样的硬件中,如果您的无线网卡试图连接到SSID(继续尝试连接),那么让它运行的替代方法是安装bcmwl-kernel-source软件包(删除任何其他软件包)安装相关的包)。 有关此无线设备的更多信息,请阅读下面的调试部分。

重要注意事项 – 2014年9月之后,如果您按照此答案仍然无法安装正确的驱动程序,请尝试使用firmware-b43-installer软件包并通过注释通知我们。 有一些更改,一些驱动程序只适用于此包。 在安装之前,请记住要有一个干净的系统:

 sudo apt install firmware-b43-installer 

在某些特定情况下,在安装firmware-b43-installer您需要删除b43模块,再次启用它,甚至可以使用rfkill取消阻止:

  sudo modprobe -r b43 sudo modprobe b43 sudo rfkill unblock all 

如果您的Broadcom卡具有不同的pci.id,请提出新问题。 一旦解决,该解决方案将被添加到此howto中。

4.安装包(离线)

4.1安装firmware-b43-installer

要离线安装firmware-b43-installer请参阅此答案 。

4.2安装bcmwl-kernel-source

对于需要安装bcmwl-kernel-source但离线的情况, 这里有一个很好的答案。 但基本上遵循以下步骤:

  1. 在Ubuntu软件包存储库中搜索软件包
  2. 确保选择正确的架构(32位,64位等)。
  3. 在同一文件夹中下载与其相关的包和依赖包。
  4. 当您需要所有包(及其依赖项)时,继续转到包含所有包的文件夹并运行sudo dpkg -i *.deb 。 这将安装该文件夹中的所有包。 如果它出现任何错误,请阅读错误并按照其提及的步骤操作。

举一个例子,在进入上面提到的第1点之后,如果你有Broadcom 14e4:43a0 ,你会搜索bcmwl-kernel-source软件包并在选择相应的Ubuntu版本(在我的情况下为16.04或Xenial)后,我会登陆以下页面:

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

在此页面上,我将选择相应的体系结构(32或64),但还需要下载该页面上提到的3个软件包依赖项,如下图所示:

在此处输入图像描述

下载所有软件包和依赖项后,您可以继续将所有软件包复制到单个文件夹并运行dpkg命令,如上面的步骤4所述。

注意

在某些计算机中,在执行命令之前,您需要在BIOS中停用安全启动选项。 这适用于例如已安装bcmwl-kernel-source但驱动程序尚未运行的情况。 您可以像这样重新安装,或通过进入BIOS设置禁用安全启动:

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

调试

以下信息是有关解决与无线管理相关的各种问题以及与其他网络设备冲突的其他材料。 知道在某些情况下您需要更新内核版本,因为每个新版本的内核都会引入新的网络驱动程序,改进现有驱动程序或解决与它们相关的错误。

在阅读下面提到的要点之前,请务必在Ubuntu系统上启用所有存储库。 要检查,请运行终端software-properties-gtk并确保已启用Ubuntu软件选项卡上的所有选项。

  • 要通过终端配置无线设备,我建议如何在终端中手动连接和断开网络连接?

  • 如果您的连接经常丢失,则某些用户建议将IPv6设置为Ignore 。 只需转到网络管理器(顶部面板上的网络图标)。 单击它,然后选择编辑设置 。 然后转到您正在使用的无线连接,选择它。 现在转到那里提到IPv6设置的最后一个标签。 在“方法”字段中,选择“ 忽略”

  • 如果您的笔记本电脑没有检测到您的无线网卡,一些用户提到使用rfkill unblock all将解决问题。 其他人只需关闭笔记本电脑上的WiFi开关然后再打开(这台笔记本电脑上有物理开关)。 有关rfkill更多信息,请阅读rf kill unblock all DOES NOT WORK!

  • 如果你得到b43-phy0错误:致命DMA错误/ b43-phy0警告:强制PIO执行以下操作:

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

    如果它工作,然后将其添加到RC文件,以便每次启动时执行它。 如果需要,可以将PIO更改为1。

  • 如果您在安装DKMS模块(如Nvidia,Broadcom或其他人)时没有可用的密钥 ,您可以转到Pilot的答案

  • 如果您的无线网卡看到/没有看到路由器并陷入无休止的“尝试连接(尝试1/3)”循环,解决方案可能是您的路由器或无线SSID设备的正确配置。

    对于所有无线卡,一般来说,考虑您使用的网络设备(路由器,交换机,无线信道和无线频段等)非常重要。 有了这些信息,您将能够更好地评估当您到达死胡同时问题的根源。 一个例子是使用14e4:4315 rev 01 PCIID的Lenovo S10-2。 即使在安装了正确的驱动程序之后,用户也会在“尝试连接”循环中结束。 它会看到无线SSID,但在尝试连接时,它会进入重新连接循环。

    解决方案是这个特定的无线设备不支持40 Mhz信道,也不支持802.11N。 在这种情况下,路由器实际上只用强制40 Mhz和WiFi-N进行广播。 当路由器设置为自动模式和20/40 Mhz通道时,无线网卡正常工作。 这种情况在其他情况下也会重复,因此对网络设备进行适当的评估会有很大帮助。

    对于重复的情况:

    错误@ wl_cfg80211_get_station:错误的Mac地址……

    当进行dmesg并且您的无线连接经常丢失(一小时或一天几次)时,问题可能在于您在无线信号中用作无线网桥(2个路由器共享相同的SSID和连接)。 现代路由器可以通过提供相同的SSID来扩展无线连接。 您的无线连接可能会丢失,因为您可能位于两个路由器之间,两者之间的信号强度几乎相同。

    如果您的连接经常丢失,则意味着您几乎位于两个路由器设备的中间。 要降低或消除无线设备的丢弃率,请尝试将自己定位在无线卡只能看到一个路由器或至少其中一个路由器的信号强度高于另一个路由器的位置。

    还有一些技术可以通过将BSSID设置为您要连接的路由器的MAC地址来强制无线设备仅连接到特定路由器。 这将强制您的无线设备仅连接到它。

    在此处输入图像描述

安全启动问题

在某些特定情况下,如果未禁用安全启动,则安装驱动程序(无论是通过各种DEB程序包在脱机模式下还是通过具有Internet访问权限的apt-get)都将无效。

这是因为安全启动拒绝了所需的访问权限,因此驱动程序看起来像是正确安装的,而事实上并非如此。 因此,对于非常具体的情况,您需要暂时禁用安全启动才能使驱动程序正常工作。

Linux固件更新

在其他情况下,寻找和安装最新的Linux固件可以解决这个问题。 要么解决工作卡发生的小问题,要么首次使卡工作。

我用Broadcom bcm4311驱动程序解决了我的问题。

我为解决这个问题而采取的步骤(我在ubuntu论坛上从nm_geo中偷走了这个方法):

(您可能需要安装synaptic或您最喜欢的包管理器。)

  • 通过在终端上发出以下命令来卸载bcmwl-kernel-source软件包:

     sudo apt-get remove bcmwl-kernel-source 
  • 确保firmware-b43-installerfirmware-b43-installerb43-fwcutter软件包(当然,其他人需要上网):

     sudo apt-get install firmware-b43-installer b43-fwcutter 
  • 输入终端:

     cat /etc/modprobe.d/* | egrep 'bcm' 

    (您可能希望复制此内容)并查看术语“黑名单bcm43xx”是否存在。

  • 如果是,键入cd /etc/modprobe.d/ ,然后键入sudo gedit blacklist.conf

    #放在前面: blacklist bcm43xx

    然后保存文件(我在终端收到关于无法保存的错误消息,但实际上确实保存了正确)。

  • 重启

在我完成上述操作后,无线必须被rfkill 解锁 : 如何解锁rfkill中列出的内容?

这是Broadcom无线芯片的常见问题。

在终端中运行以下命令:

 sudo apt-get remove --purge bcmwl-kernel-source 

如果命令运行成功,请尝试打开无线(使用硬件密钥)。

如果它不起作用或命令失败说没有这样的模块,那么你可以尝试打开一个终端并输入

 dmesg | grep b43 

如果你看到如下行:

 [ 17.453421] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found [ 17.453427] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not found [ 17.453432] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website. [ 17.680077] b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23) [ 17.993040] b43-phy0: Radio hardware status changed to DISABLED 

那么你可能缺少broadcom卡的固件。 打开软件中心 ,搜索并安装以下软件包,

  • B43-fwcutter
  • 固件-B43-lpphy-installerer

重启一次。 现在无线应该工作。

4313的驱动程序

我们只列举Broadcom芯片组的驱动程序以及它们如何与4313配合使用:

  • Broadcom STA 。 附加驱动程序建议。 旧。 可怕。 绝对的垃圾。 跳过它。 如果您已安装它,请将其删除。

  • b43-fwcutter 。 很多人看到“Broadcom”并跳上这个,但它与4313(更新)不兼容。 如果已安装,请将其清除。

  • ndiswrapper 。 比STA驱动程序更加不稳定。 在一切崩溃之前,我设法让它工作了大约10分钟。

  • brcm80211又名brcmsmac 。 这是最近添加到Ubuntu的(相对)新驱动程序(因为驱动程序已添加到内核中)。 这应该很好,并且(在最近版本的Ubuntu,Natty和Oneiric中)应该“正常工作”。 这是你正在寻找的机器人。 将此驱动程序用于4313

    如果你没有运行Natty或Oneiric,你的内核可能不会有这个驱动程序。 您需要至少运行2.6.27并且我建议将2.6.28作为最低限度(您可以通过运行uname -r来检查您的操作)。

    如果你落后于版本,我建议升级但是为了快速修复,你可以看看主线内核并尝试其中一个。 安装内核软件包很少有风险,因为您通常可以使用grub引导屏幕回退到旧软件包。

如果你运行lsmod | grep brc你知道你可能是正确的驱动程序 lsmod | grep brc ,你brcmsmac在输出中看到brcm80211brcmsmac

将您的成功列入黑名单

如果您没有看到,那么其他内容已被加载,您需要将其列入黑名单。 如果您可以看到已加载的内容,那么请编辑/etc/modprobe.d/blacklist.conf并开始添加以下行:

 blacklist b43 blacklist b43legacy blacklist bcma blacklist ndiswrapper 

你显然需要小心,如果你有另一个无线设备可能正在使用冲突的驱动程序,就像你将其列入黑名单,你也会打破那个:)

感谢您的宝贵回复。

通过以下步骤解决了此问题:

  1. 我从附加驱动程序中删除了Broadcom STA无线驱动程序
  2. 在Ubuntu软件中心输入 bcm
  3. 安装“用于b34驱动程序的固件的安装程序包”(firmware-b43-installer)

现在它正在无线工作。 您无需执行上述步骤。 为无线安装“B43驱动程序”。

安装firmware-b43-installer软件包。 首先从“其他驱动程序”中卸载专有驱动程序。

然后在终端中执行:

 sudo apt-get install firmware-b43-installer 

刚重启后,对我来说很漂亮。

我总是建议您使用终端删除并重新安装broadcom驱动程序

在终端中键入以下命令

 sudo apt-get purge bcmwl-kernel-source 

然后

 sudo apt-get install bcmwl-kernel-source 

然后,这将重建您的驱动程序。

让我们知道您的身体情况如何

你可以重新启动你的电脑,如果这是一个痛苦的类型,终端中的以下命令将“打开”你的无线

 sudo modprobe -r b43 ssb wl 

然后

 sudo modprobe wl 

最后我自己解决了这个问题,但我不确定如何。 我打算使用来自broadcom.com的源代码和http://www.broadcom.com/docs/linux_sta/README.txt中提供的说明编译驱动程序,但是在指令的这一步

On Ubuntu, you will need headers and tools. Try these commands:
# apt-get install build-essential linux-headers-generic
# apt-get build-dep linux

已经安装了必需和头文件。 我刚刚运行sudo apt-get build-dep linux命令和Voilá!,重新启动后,我的连接开始以正常速度运行。

我不确定我做了什么。 我猜它会构建内核或驱动程序依赖(或两者)。 BCM驱动程序需要此步骤,并且骑师自我配置由于某种原因省略了它。

无论如何,这是固定的。

有时,附加驱动程序实用程序将无法安装Broadcom STA无线驱动程序。 发生这种情况时,首先检查STA驱动程序是否确实支持您的卡,然后执行此操作,打开终端窗口(ctrl-alt-t)并运行

 lspci -nn | grep -i BCM 

输出将包括无线卡型号,请确保它属于下面列出的型号。

STA驱动程序支持的Broadcom无线卡:

BCM4311,BCM4312,BCM4313,BCM4321,BCM4322,BCM43224,BCM43225,BCM43227,BCM43228

如果支持该卡,请尝试手动安装驱动程序。 打开终端窗口(ctrl-alt-t),然后运行

 sudo apt-get install bcmwl-kernel-source 

您可能需要在此时重新启动。

这对我有用:

  1. 安装firmware-b43-installer (在Synaptic中自动添加+ b43fwcutter)
  2. 使用Synaptic卸载bcm-kernel-source软件包
  3. 从附加驱动程序中删除原始无线STA驱动程序
  4. 重启

步骤#3对我来说是关键的一步。 如果您不删除原始无线STA驱动程序,您将遇到问题。

打开Synaptic并使用b43-fwcutterfirmware-b43-lpphy-installer而不是bcmwl-kernel-source或任何其他。

What worked for me for my Broadcom bcm4313 on Asus Eee PC Seashell 1015PEM with Ubuntu 12.04:

  • don’t use restricted drivers
  • add “blacklist bcma” to /etc/modprobe.d/blacklist.conf
  • sudo modprobe brcmsmac
  • add brcmsmac to /etc/modules
  • 重启

As I’ve found out, to systemize this a little, there are four driver families available:

  1. open-source b43 from the the [b43m project][1] that is available in [Linux kernel][2],
  2. open-source brcmsmac/brcmfmac, also availalble in [kernel][3]
  3. Windows libs via [ndiswrapper][4], and
  4. [Broadcom][5]’s own linux [libs (STA)][6]

These links also provide reference to the drivers and lists with chipsets supported.

To be clear with referencing the different IDs, make sure to consult the STA link above prior to reading on, and comprare to yours via:

 lspci -nn | grep Network | grep "\[....:....\]" 

Here’s an example for 4313 (from link #6):

 BRCM Product Name | PCI Vendor ID | PCI Product ID | Dell Device ID 4313 2.4 Ghz | 0x14e4 | 0x4727 | Dell 1501 

Other than the driver, you also need the firmware, firmware-b43-installer .

The description below has been applied to the STA driver but has been written before this.

Although Ubuntu is meant to be versatile, beautiful, and easy to use for everyone, packages still are prone to dependency faults. Look, installing drivers and other system stuff, it’s reasonable to get as verbose a feedback as possible, ie, do this manually or semi-manually (apt-get), avoid those GUI installers.

I’ve been experiencing the same issues with my 4313. Let me offer a blunt and partly non-analytical solution:

  1. Remove everything of STA that you have

     sudo apt-get purge bcmwl-kernel-source broadcom-sta-common broadcom-sta-source 
  2. Install that again manually:

     sudo apt-get install bcmwl-kernel-source broadcom-sta-common broadcom-sta-source 
  3. Read the output. I’ve been having a nice double-liner:

    Building for architecture x86_64 Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed.

In such case, which I assume happens quite often, since (1) The inherent dependency isn’t resolved and (2) There’s a break in the wl interface upon upgrades (which may involve a kernel update), in such case, you should simply do the following two steps and I assume you don’t need to reinstall the WiFi driver sources:

  1. Check you current kernel version as follows (third entry) :

     uname -r 
  2. Install the appropriate linux-headers, which in my case is:

     sudo apt-get install linux-headers-**generic** 

After this command you should see (as this has been deferred upon incapacity to compile during the installation procedure of the STA WiFi driver source files):

 Setting up linux-headers-3.5.0-17-generic (3.5.0-17.28) ... Examining /etc/kernel/header_postinst.d. run-parts: executing /etc/kernel/header_postinst.d/dkms 3.5.0-17-generic /boot/vmlinuz-3.5.0-17-generic * Running DKMS auto installation service for kernel 3.5.0-17-generic * bcmwl (5.100.82.112+bdcom)... bcmwl (5.100.82.112+bdcom): Installing module... 

I’m not sure whether the guys responsible for packages would get to see this. Still, having used Gentoo for years, I’ve got used to its verbosity and which may seem unnecessary coloring and formatting of output. You guys should add formatting and colors to your apt-get routine, it’s so much easier, especially for novice users, to understand what may have gone wrong. And add the headers dependency, you could remove them afterwards–and surely you’d have to rebuild the module upon kernel change .

I hope this helps, and I’m cautious of generalizing the above path to resolve the mass issue. Just give it a try, if it works, awesome, if it doesn’t there are so many more solutions offered which are notably more analytical and proficient.

I’ve also stumbled upon these answers (with a check

 lspci -nn | grep Network 

For pci.id 14er:4727 –which holds in my case): Wireless does not work anymore after software update with Ubuntu 12.10 on a Dell Latitude E6230 and How do I get an Acer Npilfy 802.11 (BCM43225) wireless card working? who refers to the former.

And I’ve also missed the fact that Ubuntu offers a link in the packages to the currently installed and running kernel and headers version in order to avoid defining the kernel version.

I had the same problem with my Acer TravelMate 8172 and its Broadcom 4357 controller on Ubuntu 12.04. I had tried several solutions posted on the web for other Broadcom devices but they didn’t work. andybleaden’s solution above worked for me.

Following Andy’s instructions, first I removed and reinstalled the Broadcom drivers with:

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

After that, I executed

 sudo modprobe -r b43 ssb wl sudo modprobe wl 

to enable the wireless card.

Unfortunately, the wireless card is off whenever I reboot, so I created a script with the above two modprobe commands to execute whenever I reboot. This will have to do until Ubuntu 12.04 is updated with a fix.

I used user ‘bkratz’ solution on http://ubuntuforums.org/showthread.php?t=1928241 and it worked for me.


Run these:

 sudo apt-get install --reinstall bcmwl-kernel-source broadcom-sta-common broadcom-sta-source echo "blacklist brcmsmac" | sudo tee -a /etc/modprobe.d/blacklist.conf echo "blacklist bcma" | sudo tee -a /etc/modprobe.d/blacklist.conf 

The first makes sure that the sta driver is in place, the second and third blacklist the two drivers brcmsmac and bcma which clash with the correct sta driver. Copy/paste or make sure your typing is correct!

The last step is to go to ‘Additional drivers’ and enable the driver.

I first thought I would edit Luis Alvarado’s excellent answer (see his post on september 7th, 2011), because when I followed the steps, it appeared the package that is indicated in the table (see his post) for my PCI.ID does not actually correspond.

In fact, my PCI.ID is 14e4:4727 , which, according to the table, requires the installation of the package bcmwl-kernel-source . This package was perviously installed on my computer, but the Wifi wasn’t working (no detection of any wireless network, since the upgrade to Ubuntu 16.04). I instead tried to install the firmware-b43-installer following Luis Alvarado’s answer (using firmware-b43-installer is an alternative already pointed out in his post), and it worked !

So, in case it helps someone else in the same case as me, here is the necessary information :

  • Output of the lspci -nn -d 14e4: command :

     02:00.0 Network controller [0280]: Broadcom Limited BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01) 
  • The steps I followed :

    1. Purge the bcmwl-kernel-source package :

       sudo apt-get purge bcmwl-kernel-source 
    2. Run the following commands (see Luis Alvarado’s answer for details) :

       sudo apt-get update sudo update-pciids 
    3. Install the firmware-b43-installer package and not the bcmwl-kernel-source package (contrary to what is advised in the table for 14e4:4727 rev 01 ) :

       sudo apt-get install firmware-b43-installer` 
    4. Reboot:

       sudo reboot 

And now the Wifi should work !

Thanks a lot Luis Alvarado !

Make sure your wireless adapter is not disabled. You can check it by running:

 rfkill list 

To enable wireless adapters, run:

 sudo rfkill unblock wifi 

Dell Inspiron E1505, the following steps (alone), worked for me. I had to undo the extra steps of editing the blacklist file.

  • open the ‘Synaptic Package Manager’ and search for ‘bcm’

  • uninstall the bcmwl-kernel-source package

  • make sure that the firmware-b43-installer and the b43-fwcutter packages are installed

  • 重启

The issue with your wifi is that you are using the one forced by Ubuntu, but that does not work. Run the following commands to get the Wifi properly working:

Press Ctrl + Alt + T

 sudo apt-get update sudo apt-get install firmware-b43-installer sudo reboot 

After you reboot. Your Wi-Fi should work as intended.

I had the same problem and I have solved it by adding

 blacklist acer_wmi 

to /etc/modprobe.d/blacklist.conf

A restart later wireless worked.

(this was taken from http://ubuntuforums.org/showpost.php?p=11006092&postcount=2 )

I had the same problem yesterday (Dell Latitude D530 w/broadcom 4311).

I did:

 sudo apt-get install firmware-b43-installer 

That was that until the next reboot. Now I had to find out how to re-enable it but now the problem lies somewhere else.

Just installing the additional drivers, it works in my Dell Vostro 3500.

I did the following steps:

  1. sudo apt-get remove bcmwl-kernel-source

  2. Then re install the additional drivers given below. I activated it.

This package contains Broadcom 802.11 Linux STA wireless driver for use with Broadcom’s BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, BCM43225-, BCM43227- and BCM43228-based hardware.

In the case where either the blacklist.conf or apt-get re-install for b43 Broadcom didn’t work, it may simply be because the default wireless config still hasn’t been enabled properly for WPA/WPA2.

Network folder, wireless and select Options ubuntu 12.04:

  • ipv6 tab – just keep the method as automatic and uncheck the ‘Require IPv6 addressing…’
  • ipv4 tab – method should be automatic (DHCP) and check the ‘Require IPv4 addressing…’
  • wireless tab – force device mac address to lock connection to the permanent mac address of the laptop

There is a much easier way of solving this problem. The trick is the order in which you install proprietary drivers. The Broadcom driver MUST be installed FIRST before any others.

Example I have a HP TX2-1050ED with Broadcom B43 and ATI Raedon graphics.

I enabled the ATI Raedon driver first then the Broadcom driver this lead to the errors mentioned above.

When I uninstalled the ATI driver then installed the Broadcom driver and reboot. I had wireless. Then I installed the ATI driver and now both work.

This is actually a bug in Jockey as Jockey should resolve the driver conflict for you.

So in short. Broadcom First, then other drivers.

Make sure you’re not having an unresolved linux-headers dependency, cf. After upgrading to Ubuntu 12.04, my Broadcom STA Wireless driver is not working , otherwise install them.

I have a Dell inspiron 6000 BCM4318 wireless LAN Controller I managed to solve this using synaptic package manager

Here I : First I uninstalled bcmwl-kernel-source Then installed firmware-b43-installer and b43-fwcutter which rebuilt the wifi drivers

I then had to restart

BCM4311 for my DV6000 is not working with the STA driver nor with the b43 driver. With b43 the LED always stays orange (WLAN disabled).

With rfkill I can see:

 1: hp-wifi: Wireless LAN Soft blocked: no Hard blocked: no 

With the STA driver I can search the network, but the connection never finishes. The system worked fine with Ubuntu 10.10 (Maverick Meerkat) (x86) – now I am using Ubuntu 11.10 (Oneiric Ocelot) beta 2 (x64).

dmesg shines some light on the error:

s/Drivers/b43#devicefirmware and download the correct firmware for this driver version. > Please carefully read all instructions on this website.

[ 367.927967] b43-phy0 ERROR: Firmware file “b43/ucode13.fw” not found
[ 367.927981] b43-phy0 ERROR: Firmware file “b43-open/ucode13.fw” not found
[ 367.927989] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver v

It seems like the firmware files are missing from the Linux drivers(?). I got the LED back to blue (WLAN is enabled) and scanning is working with:

 sudo apt-get install firmware-b43-installer 

This was from the site http://linuxwireless.org/en/users/Drivers/b43 .

Now the WLAN network is working for me (doublecheck for the WPA2 password was required 🙂 ).

For anyone else who is getting the “wireless is disabled by hardware switch -a” message under wireless (you’ll see it by clicking on the icon) – and it’s “hard block”, that may work in any model (that is working for me in netgear “wireless USB adapter”, haven’t checked the others, but it may work).

First check if it hard-blocked. Run in terminal ( Ctrl + Alt + T ):

 sudo rfkill list 

If it is, first run this to unblock:

 sudo rfkill unblock all 

Then I shutdown my PC, disconnected it from electricity and opened its left door. I removed the cycled battery and hit the power-button 20 long and short presses to reset the BIOS .

Then I returned the battery and connected the PC to electricity. I turned on the PC and set the BIOS (also for things like no diskette and boot pririty) in the Wake-on-LAN category where it says something on PME to enabled.

I pressed F10 to save settings and restarted. After all this, the system was ready–desktop and its files. I waited for a while and the Wi-Fi was responding again.

That have already worked for me four times (it may happen any time you are forcing a shutdown or disconnecting the Wi-Fi).

I hope that it would be of help to someone too (:

I have a b43 card and have been using Ubuntu with it since 9.04, I’ve used the same method to get it working since. It involves some command line usage but believe me it’s worth it.

To begin with,if you already have b43-fwcutter installed, you need to reinstall it, please run:

 sudo apt-get remove b43-fwcutter 

I assume you know the type model of your wireless card. This method does not use the Additionals Drivers way.

After you’ve uninstalled b43-fwcutter reboot your computer. NB if you’ve no access to a wired network on your machine you will need to download the b43-fwcutter package manually from here , as well as your card’s driver from here . My card is the 4311 so I download the broadcom-wl-4-150-10.5.tar.bz2.

Once you have reinstalled b43-fwcutter either by running sudo apt-get install b43-fwcutter or by using the .deb file you’d have gotten from the quoted website.

You need to extract your firmware from the tarball. Run command;

 tar -xvjf broadcom-wl-4-150-10.5.tar.bz2 

You may need to change the filename to reflect what you downloaded from the driver site, or just use tar -xvjf broadcom* . 然后跑

 cd broadcom-wl-4.150.10.5/driver sudo b43-fwcutter -w /lib/firmware wl_apsta_mimo.o 

Now reboot and everything should work fine!

I found the light wouldn’t come on when I switched it to the op position. A utility you can try is rfkill to get it to come on. You have to do this every time you reboot.

 sudo rfkill unblock all