Ubuntu驱动bcm43430a0无线网卡

其实bcm43430这款无线网卡在linux内核4.4的时候就支持了,但是bcm43430有两个版本,内核自带的驱动无法驱动bcm43430a0,内核版本4.10以下均识别为brcm43430,4.10及以上虽然能够正常识别,但是由于/lib/firmware/brcm下缺少相应的固件和nvram,无法驱动。

硬件id

SD\VID_02d0&PID_a9a6&FN_1
SD\VID_02d0&PID_a9a6

固件和nvram

下载地址 密码:0wnp

驱动方法 (Android x86 和 linux桌面版通用):

在终端中输入(命令需要root权限)
lsmod | grep brcm
查看brcmfmac驱动模块有没有加载,
如果没有执行modprobe brcmfmac
确认brcmfamc被加载了后
执行dmesg | grep brcm

查看确实或者异常的固件名称,让后将压缩包中的文件命名为相应的名称(一般4.10以下的内核为brcmfmac43430-sdio,以上为brcmfmac43430a0-sdio),然后将文件重命名为对应名称再复制到/lib/firmware/brcm下即可

假设上一步中看到的是brcmfmac43430-sdio这个名称,执行
cp brcmfmac43430-sdio.bin brcmfmac43430-sdio.txt /lib/firmware/brcm
重新加载brcmfmac模块
modprobe -r brcmfmac
modprobe brcmfmac


在Ubuntu上和其他大多数linux桌面版,到这里无线网卡已经可以用了,但是在Andrioid X86上不行,重启之后成功驱动。


如果没有驱动成功可以重复一下上面的步骤,如果每个步骤输出的消息都提示正常的话,并且开机后lsmod没有brcmfmac模块的,可能是驱动模块被屏蔽了,到/etc/modprobe.d下查看.conf文件中有没有将brcmfmac屏蔽掉,如果有就在前面加#注释掉保存,再重启即可,如果还不行,则可能是brcmfmac没有被开机加载,这时候可以在/etc/modules最后一行加入brcmfmac,然后重启设备就行了。