archlinux bcm4360 无线网卡驱动

大概搞了八个小时,总觉得别人是一行命令的事情,到我这里就贼鸡儿麻烦。
(难道是我哪里做错了?)
首先博通4360这个网卡一般是mac上的网卡,我是装了黑苹果才换的这个网卡,性能听强的。
闲话不多说,下面开始。
首先,你已经是完整的安装上了arch,然后你发现自己的无线网卡不能用。在终端输入:

lspci -vnn |grep 0280  

得到了如下的结果(也许会有小小的不同):
03:00.0 Network controller [0280]: Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)

Screenshot from 2017-03-15 16-11-25.png

上图来自这里

然后你在终端输入(默认已经安装好了yaourt):

yaourt -S broadcom-wl-dkms

如果这样就按装好了,并且没有什么错误提示,你可以重启试试,并且确保你有一款管理网络的软件例如:NetworkManager,Wicd等,不推荐Wicd,他好像并不能连上有线网,重启之后看看是不是有wifi启动了,同样的你还可以试试:ifconfig -a ,如果可以看到一个以w开头的设备,那么就代表你已经驱动了无线网卡了。
然而你在上一条命令的最后看到了如下的文字则往往表示没有成功:

(1/2) Install DKMS modules
==> No kernel 4.10.2-1-ARCH modules. You must install them to use DKMS!
==> No kernel 4.10.1-1-ARCH headers. You must install them to use DKMS!
(2/2) Arming ConditionNeedsUpdate...

当然你如果阅读官方的文档你就可以看到,后面有说需要输入这几行命令:

rmmod b43
rmmod ssb
modprobe wl

上面几条命令的来源
but,运行modprobe wl的时候,遇到了:

modprobe: FATAL: Module wl not found in directory /lib/modules/4.10.1-1-ARCH

就是卡在了这里,然后花了很多时间去弄这个。
后来在github上找到了一篇文章,https://github.com/antoineco/broadcom-wl
虽然我不是按照他的方法来安装的,但是他提醒了我,更新系统:

Screenshot from 2017-03-15 16-59-35.png

也就是说将broadcom-wl(-dkms)加入dkms中,然后会在下一次更新系统内核的时候会自动安装。
关于DKMS的语法 !important
那么我具体是怎么安装的呢?

git clone https://aur.archlinux.org/broadcom-wl.git
sudo dkms add -m broadcom-wl -v 6.30.223.271

然后运行dkms status你可以看到:
broadcom-wl,6.30.223.271 added
之后我更新了archlinux的内核,从4.10.1-1到了4.10.2-1,使用的命令是

sudo pacman -S linux

安装完然后重启之后就可以识别无线网卡了。
并且再次运行dkms status可以看到


Screenshot from 2017-03-15 17-20-19.png

这个方法可以用来参考,现在想来,之所以之前不能安装的原因因该是这样:
我使用了yaourt安装了linux-header,但是版本是4.10.2-1,但是我当时的版本是4.10.1-1的,所以会告诉我这个 :No kernel 4.10.1-1-ARCH headers. You must install them to use DKMS! 然后我的系统版本本来就是4.10.1-1,自然就没有4.10.2-1的所有模块了。这样就直接导致了这个模块没有通过dkms安装进去,那么在那个modprobe wl自然是不能找到这个模块的。
我现在在想,以后装软件是不是都先更新一下内核版本(;° ㅂ°)

linux真tm好玩,两天只吃了两顿饭。

推荐阅读更多精彩内容