云网牛站
所在位置:首页 > Linux教程 > 在Linux系统中BCM4356无线网卡驱动问题的解决

在Linux系统中BCM4356无线网卡驱动问题的解决

2018-12-22 15:08:14作者:lissdd稿源:深度站

以下为你提供在 Linux 操作系统中 BCM4356 无线网卡驱动问题的解决方案,针对 Ubuntu18.04 和 Deepin linux 15.8 等 Linux 发行版。

 

前言

目前很多新笔记本电脑的用的是BCM的无线网卡和蓝牙模块集成模块,比如华为MateBook、神舟PcPad、联想多型号,但安装各种最新版的Linux都无法驱动,网上有很多解决方法,如 b43-fwcutter工具,自己下载驱动源码编译等,可是都无法解决问题。经过不断的摸索,终于解决了问题,以下提供解决方案。

 

一、补充蓝牙固件

1、查型号:

dmesg | grep brcm

可能出现如下错误:

Bluetooth: hci1: BCM: chip id 63 Bluetooth: hci1: BCM20702A Bluetooth: hci1: BCM20702A1 (001.002.014) build 0000 bluetooth hci1: Direct firmware load for brcm/BCM20702A1-0b05-17cb.hcd failed with error -2 Bluetooth: hci1: BCM: Patch brcm/BCM20702A1-0b05-17cb.hcd not found

显然是缺少蓝牙固件,去下载broadcom-bt-firmware:

下载:https://github.com/winterheart/broadcom-bt-firmware

选该页面的右边“Clone or download”得到一个压缩包broadcom-bt-firmware-master.zip,如下图:

在Linux系统中BCM4356无线网卡驱动问题的解决

解压后的brcm目录中找对应型号的hcd文件,不同的BCM型号hcd文件不同。

对于 BCM4356来说,还需要简单更名(这显然是BCM驱动开发者的粗心):

把 BCM4356A2-13d3-3485.hcd  更名为:BCM4354A2-13d3-3485.hcd

2.复制到驱动目录下:

sudo cp 你的hcd文件 /lib/firmware/brcm

 

二、补充Wifi固件

1、下载内核驱动:

可能出现错误,下载下面安装包。

下载:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/l/linux-firmware/

对于ubuntu18.04 和 Deepin linux 15.8 下载 linux-firmware_1.157_all.deb,如下图:

在Linux系统中BCM4356无线网卡驱动问题的解决

下载:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.157_all.deb

注意:显然不同的linux版本要测试优选,如果最后驱动成功,但总是显示示输入wifi密码对话框,就是因为驱动版本没选对。

2、解压安装:

不要直接双击.deb文件安装,而是解压提取其中三个文件:

bcm43xx_hdr-0.fw

bcm43xx-0.fw

brcmfmac4356-pcie.bin //根据网卡型号变化

同样要复制到驱动目录:

sudo cp 他们三 /lib/firmware/brcm

3、补充配置文件:

需要brcmfmac4356-pcie.txt(本文最后附上,请自行加到txt文件中)

sudo cp brcmfmac4356-pcie.txt  /lib/firmware/brcm

 

三、测试

重启测试,如果没有自动加载,出现wifi图标,则手动:

sudo modprobe brcm

这时应该有wifi图标和密码对话框。

如果dmesg 中有如下错误,可以不管它,照常上网:

brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4356-pcie.clm_blob failed with error -2

如果密码对话框不消失,就是下载的固件版本不对,重新选下。

 

附:brcmfmac4356-pcie.txt

# Sample variables file for BCM94356Z NGFF 22x30mm iPA, iLNA board with PCIe for production package

NVRAMRev=$Rev: 373428 $

#4356 chip = 4354 A2 chip

sromrev=11

boardrev=0x1101

boardtype=0x073e

boardflags=0x02400201

#0x2000 enable 2G spur WAR

boardflags2=0x00802000

boardflags3=0x0000000a

#boardflags3 0x00000100 /* to read swctrlmap from nvram*/

#define BFL3_5G_SPUR_WAR   0x00080000   /* enable spur WAR in 5G band */

#define BFL3_AvVim   0x40000000   /* load AvVim from nvram */

macaddr=00:90:4c:1a:10:01

ccode=X2

regrev=1

antswitch=0

pdgain5g=4

pdgain2g=4

tworangetssi2g=0

tworangetssi5g=0

paprdis=0

femctrl=10

vendid=0x14e4

devid=0x43a3

manfid=0x2d0

#prodid=0x052e

nocrc=1

otpimagesize=502

xtalfreq=37400

rxgains2gelnagaina0=0

rxgains2gtrisoa0=7

rxgains2gtrelnabypa0=0

rxgains5gelnagaina0=0

rxgains5gtrisoa0=11

rxgains5gtrelnabypa0=0

rxgains5gmelnagaina0=0

rxgains5gmtrisoa0=13

rxgains5gmtrelnabypa0=0

rxgains5ghelnagaina0=0

rxgains5ghtrisoa0=12

rxgains5ghtrelnabypa0=0

rxgains2gelnagaina1=0

rxgains2gtrisoa1=7

rxgains2gtrelnabypa1=0

rxgains5gelnagaina1=0

rxgains5gtrisoa1=10

rxgains5gtrelnabypa1=0

rxgains5gmelnagaina1=0

rxgains5gmtrisoa1=11

rxgains5gmtrelnabypa1=0

rxgains5ghelnagaina1=0

rxgains5ghtrisoa1=11

rxgains5ghtrelnabypa1=0

rxchain=3

txchain=3

aa2g=3

aa5g=3

agbg0=2

agbg1=2

aga0=2

aga1=2

tssipos2g=1

extpagain2g=2

tssipos5g=1

extpagain5g=2

tempthresh=255

tempoffset=255

rawtempsense=0x1ff

pa2ga0=-147,6192,-705

pa2ga1=-161,6041,-701

pa5ga0=-194,6069,-739,-188,6137,-743,-185,5931,-725,-171,5898,-715

pa5ga1=-190,6248,-757,-190,6275,-759,-190,6225,-757,-184,6131,-746

subband5gver=0x4

pdoffsetcckma0=0x4

pdoffsetcckma1=0x4

pdoffset40ma0=0x0000

pdoffset80ma0=0x0000

pdoffset40ma1=0x0000

pdoffset80ma1=0x0000

maxp2ga0=80

maxp5ga0=78,78,78,78

maxp2ga1=80

maxp5ga1=78,78,78,78

cckbw202gpo=0x0000

cckbw20ul2gpo=0x0000

mcsbw202gpo=0x99644422

mcsbw402gpo=0x99644422

dot11agofdmhrbw202gpo=0x6666

ofdmlrbw202gpo=0x0022

mcsbw205glpo=0x88766663

mcsbw405glpo=0x88666663

mcsbw805glpo=0xbb666665

mcsbw205gmpo=0xd8666663

mcsbw405gmpo=0x88666663

mcsbw805gmpo=0xcc666665

mcsbw205ghpo=0xdc666663

mcsbw405ghpo=0xaa666663

mcsbw805ghpo=0xdd666665

mcslr5glpo=0x0000

mcslr5gmpo=0x0000

mcslr5ghpo=0x0000

sb20in40hrpo=0x0

sb20in80and160hr5glpo=0x0

sb40and80hr5glpo=0x0

sb20in80and160hr5gmpo=0x0

sb40and80hr5gmpo=0x0

sb20in80and160hr5ghpo=0x0

sb40and80hr5ghpo=0x0

sb20in40lrpo=0x0

sb20in80and160lr5glpo=0x0

sb40and80lr5glpo=0x0

sb20in80and160lr5gmpo=0x0

sb40and80lr5gmpo=0x0

sb20in80and160lr5ghpo=0x0

sb40and80lr5ghpo=0x0

dot11agduphrpo=0x0

dot11agduplrpo=0x0

phycal_tempdelta=255

temps_period=15

temps_hysteresis=15

rssicorrnorm_c0=4,4

rssicorrnorm_c1=4,4

rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8

rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8

 

相关主题

Deepin 15.8/Ubuntu 18.04用intel无线网卡9260ac速度跑不满的解决

精选文章
热门文章