vlambda博客
学习文章列表

Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!



在上个教程中,介绍了如何在MacBook上安装Ubuntu,如果按照教程操作的话,你可能会发现——无法连接WIFI!

这是为什么呢?

默认情况下,老款的Mac型号的Broadcom Wi-Fi芯片在Ubuntu中缺少相应的网卡驱动。Ubuntu官方文档也有说明,建议使用sudo apt-get并添加相应PPA安装驱动。

但是!

在没有网的情况下,是不能轻易使用apt-get的!

因此本文就来介绍一下如何在mac电脑上离线安装Ubuntu无线驱动。





确认型号&驱动文件





不同Mac电脑自带的Broadcom WIFI型号不一样,有两种驱动解决方案:

firmware-b43-installer和bcmwl-kernel-source

需要确定对应的型号PCI ID来安装相应的驱动文件。

下面是不同型号对应的解决方法表:


PCI.ID 16.04 LTS 17.10+
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 firmware-b43-installer firmware-b43-installer
14e4:4306 firmware-b43-installer firmware-b43-installer
14e4:4307 firmware-b43-installer firmware-b43-installer
14e4:4311 firmware-b43-installer firmware-b43-installer
14e4:4311 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 firmware-b43-installer firmware-b43-installer
14e4:4318 firmware-b43-installer firmware-b43-installer
14e4:4318 firmware-b43-installer firmware-b43-installer
14e4:4319 firmware-b43-installer firmware-b43-installer
14e4:4320 firmware-b43-installer firmware-b43-installer
14e4:4320 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 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: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 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:4727 bcmwl-kernel-source bcmwl-kernel-source
14e4:a962 firmware-b43-installer firmware-b43-installer


通过 CTRL+ALT+T 打开终端:


cat /etc/debian_versionlspci -vvnn | grep -A 9 Network


通过运行上面的命令,我们可以看到:

第一个命令显示的是ubuntu版本对应的debian版本 buster,如果是安装firmware-b43-installer,会用到。

第二个命令可以看到BCM4360,  Network Adapter [14e4:43a0] (rev 03)这样的字样,

可以得出小编的电脑使用的是Broadcom BCM4360这款型号的WIFI芯片,PCIID是14e4:43a0(rev 03)


Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!


所以小编的macbookAir就可以使用bcmwl-kernel-source





安装bcmwl-kernel-source






由于没有了网络,不能直接通过apt安装,那么就需要借助mac系统,或者其他电脑来下载需要的文件。


在https://packages.ubuntu.com/ 网页中,搜索关键词bcmwl-kernel-source,

如果你安装的Ubuntu并不是最新的eoan(19.10),那么需要在Dsitribution下拉选项框中选择Any。点击“搜索”按钮开始查找。

Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!

Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!


在结果中,我们看到了不同Ubuntu版本对应的bcmwl-kernel-source。

点击eoan(19.10)超链接,跳转到相应的下载页面。


Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!

Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!


在对应Ubuntu版本下载页面,我们还需要注意,软件需要的“依赖”包,以及具体硬件架构。

在使用apt安装软件时,依赖通常可以自动解决。由于目前我们的mac是无法上网的,因此依赖包可能也是需要下载的,小编的电脑缺少dkms,该依赖也需要下载。另外两个系统已经安装,所以不需要。


Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!

Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!

选择好框架后,64位选择amd64, 32位选择i386,就可以跳转到实际的下载页面,选择一个离你位置最近的镜像区域(亚洲)即可。


Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!


下载好deb文件后,将其复制到U盘中,就可以重启进入Ubuntu开始安装了。


在终端中,通过cd命令跳转到U盘目录:


cd /media/bruce/Ubuntu\ 19.1/

输入dpkg命令安装deb包:


sudo dpkg -i dkms_2.6.1-4ubuntu1.4ubuntu1_all.deb && sudo dpkg -i bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu5_amd54.deb


Ubuntu离线安装Broadcom无线网卡驱动,就这么简单!


deb包的名称根据你下载的具体文件名来定,也可以使用

dpkg -i *.deb来安装目录下所有deb文件。


重启后,你就可以看到WIFI可以正常识别并连接了。

 sudo reboot





安装firmware-b43-installer





对于不能使用bcmwl-kernel-source驱动网卡的型号,可以试试firmware-b43-installer

具体哪些型号可以,请参看上面提到的表格。


在安装firmware-b43-installer之前,需要确保bcmwl-kernel-source要卸载,输入下方命令:


 sudo apt-get purge bcmwl-kernel-source


接下来就开始下载相应firmware-b43-installer离线安装包。


1. 下载b43-fwcutter ,需要将下方的buster替换成具体的debian版本(在Ubuntu终端,通过cat /etc/debian_version 获取,下同)

https://packages.debian.org/buster/b43-fwcutter

2. 下载firmware-b43-installer

https://packages.debian.org/buster/firmware-b43-installer

3. 下载webfs

https://packages.debian.org/buster/webfs

4. 下载二进制文件

http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2

将上述下载的文件保存到U盘,重启进入Ubuntu系统,可以复制到桌面。

5. 输入下方命令,将www.lwfinger.com重定向到本机:

echo '127.0.0.1 www.lwfinger.com' | sudo tee --append /etc/hosts

6. 安装webfs,将webfs.deb替换为你下载的具体名字:

sudo dpkg -i ~/Desktop/webfs.deb

7. 运行命令,创建web服务器环境:

sudo mkdir -p /var/www/b43-firmwaresudo mv ~/Desktop/broadcom-wl-5.100.138.tar.bz2 /var/www/b43-firmware/sudo sed -i -e 's/web_root="\/var\/www\/html"/web_root="\/var\/www"/' /etc/webfsd.confsudo sed -i -e 's/web_port=""/web_port="80"/' /etc/webfsd.conf


8. 运行Web服务器:

sudo /etc/init.d/webfs restart

9. 安装b43-fwcutter: 

sudo dpkg -i ~/Desktop/b43-fwcutter.deb

10. 安装firmware-b43-installer:

sudo dpkg -i ~/Desktop/firmware-b43-installer.deb

11. 输入下方命令,在内核模块中屏蔽ndiswrapper: 

echo 'blacklist ndiswrapper' | sudo tee --append /etc/modprobe.d/blacklist.conf

12. pm-utils电源管理中配置安装的b43模块:

echo 'SUSPEND_MODULES="b43 bcma"' | sudo tee ---append /etc/pm/config.d/modules

13. 重启电脑查看是否生效: 

sudo reboot

14. 关闭并删除临时创建 的web服务器:

sudo apt-get remove -y webfs && sudo rm -rf /var/www/b43-firmware/


以上便是Ubuntu中离线安装Broadcom无线网卡的离线安装方式,不仅适合macBook电脑安装的Ubuntu,也适合其他PC安装Ubuntu却缺少Broadcom无线网卡的情况。