轶哥

📚 Having fun with AI Agent. Always learning.

    Ubuntu安装无线网卡驱动 Wifi/BT BCM4330 (AP6383)
    •   更新:2017-05-03 16:46:38
    •   首发:2016-04-08 12:32:29
    •   教程
    •   11039

      像BCM4330 (AP6383)这样的Wifi/蓝牙一体化芯片常见于一些平板电脑、笔记本和mini pc中。特别是z3735、z8300、core m这些芯片的平板电脑很常见。AP6210也比较常见,但目前暂未解决其驱动问题。

      如何在搭载这样芯片的设备中安装Linux驱动呢?Ubuntu16.04版本的内核中仍然没有封装对应驱动(Ps:貌似Intel和Ubuntu合作,Intel NUC可以完美安装Ubuntu)。

      首先到官网下载你喜欢的Ubuntu版本(建议下载高版本)。制作U盘启动工具,可以参考《平板电脑安装Ubuntu教程》。设置BIOS后进入引导选择菜单请选择:“Try Ubuntu without install”这样的选项,先进入到CD模式的Ubuntu下。

      如果你的设备在这样的模式下能够上网,蓝牙、电源管理等各项驱动也正常,那么恭喜你中奖了,可以直接点击桌面的Install Ubuntu安装系统(如下图)。

    安装LOGO

      并非所有人都那么幸运。就像开头提到的,很多搭载混合功能的芯片并没有被Ubuntu等Linux衍生版操作系统封装驱动。因此需要手动安装驱动。

      在另外一台设备上下载驱动再安装?这样太麻烦了。告诉大家一个小诀窍,如果你有安卓手机的话,在连接WIFI的情况使用USB数据线连接装有Ubuntu的设备,找到设置下的“个人热点”,开启USB网络共享。(别问我iphone可以不,只要你有流量就没有不可以的事情。)。

    手机开启热点

      之后在你的Ubuntu设置网络为自动,即可连接网络。联网安装过程可以自动下载一些东西,很方便。

    安装后截图

      安装Ubuntu完毕后,下载brcmfmac4330-sdio.bin文件。将其放到/lib/firmware/brcm/目录下,如果没有brcm,请mkdir一个。然后到你的设备官网下载Windows版本的wifi驱动文件。找到其中的brcmfmac4330-sdio.txt文件并放到同一个目录下(/lib/firmware/brcm/)。

      文件的内容可能是这样的:

    #Sample variables file for BCM94330 SD FC AGB board T77H360.04_EVT5_20120731
    manfid=0x2d0
    prodid=0x0547
    vendid=0x14e4
    devid=0x4360
    boardtype=0x05e1
    boardrev=0x1202
    boardflags=0x10080a00
    nocrc=1
    xtalfreq=26000
    boardnum=22
    macaddr=00:90:4c:c5:12:38
    ag0=0x40
    ag1=0xBF
    aa2g=1
    aa5g=1
    ccode=all
    pa0itssit=0x20
    pa0b0=4924
    pa0b1=-595
    pa0b2=-157
    rssismf2g=0xa
    rssismc2g=0x3
    rssisav2g=0x7
    #rssi params for 5GHz
    rssismf5g=0x4
    rssismc5g=0x3
    rssisav5g=0x7
    #PA parameters for lower a-band
    pa1lob0=5050
    pa1lob1=-630
    pa1lob2=-195
    #PA parameters for midband
    pa1b0=4880
    pa1b1=-625
    pa1b2=-200
    #PA parameters for high band
    pa1hib0=4880
    pa1hib1=-620
    pa1hib2=-190
    rxpo5g=0
    maxp2ga0=0x44
    maxp5ga0=0x3A
    maxp5gla0=0x3A
    maxp5gha0=0x3A
    # 2.4G Tx Power offsets
    ofdm2gpo=0x22222222
    mcs2gpo0=0x4444
    mcs2gpo1=0x4444
    # 5G Tx Power offsets
    ofdm5gpo=0x00000000
    ofdm5glpo=0x00000000
    ofdm5ghpo=0x00000000
    mcs5gpo0=0x2222
    mcs5gpo1=0x2222
    mcs5glpo0=0x2222
    mcs5glpo1=0x2222
    mcs5ghpo0=0x2222
    mcs5ghpo1=0x2222
    sromrev=3
    il0macaddr=00:90:4c:c5:12:38
    wl0id=0x431b
    cckPwrOffset=6
    triso2g=3
    #swctrlmap_2g=0x44844484,0x42824282,0x42824282,0x18282,0x1ff
    swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x18282,0x1ff
    triso5g=6
    swctrlmap_5g=0x10101010,0x28282020,0x20202020,0x10202,0x0f8
    noise_cal_ref_2g=53
    rfreg033=0x19
    rfreg033_cck=0x1f
    dacrate2g=160
    dacrate5g=160
    txalpfbyp2g=1
    bphyscale=17
    cckPwrIdxCorr=-15
    pacalpwr5glo=13
    pacalpwr5glo1=11
    pacalpwr5g=13
    pacalpwr5g1=11
    pacalpwr5ghi=13
    pacalpwr5ghi1=11
    #pacalpwr2g1=13
    #pacalath2g=180
    #pacalidx2g1=55
    pacalpwr2g=13
    txgaintbl=1
    rfreg088=15
    cckdigfilttype=20
    noise_cal_adj_2g=-3
    #wake on wireless LAN
    sd_gpout=0
    sd_gpval=1
    sd_gpdc=0
    

      总之需要保证有以下两个文件,且brcmfmac4330-sdio.txt文件是你的厂商提供的有效文件,驱动才能正常工作:

    /lib/firmware/brcm/brcmfmac4330-sdio.bin
    /lib/firmware/brcm/brcmfmac4330-sdio.txt
    

      执行这个Linux命令:

    $ cat /sys/bus/acpi/devices/INT33BB\:00/power_state
    

      如果返回D3cold说明你的ACPI没有打开,wifi模块不会正常工作。需要执行这个命令:

    echo on > /sys/bus/platform/devices/INT33BB\:00/power/control
    

      这个命令需要sudo权限,如果无法执行,那么vim修改一下即可。

      最后reboot,发现Wifi可以正常连接。

    成功安装截图1

    成功安装截图2

      很遗憾BCM4330 (AP6383)的蓝牙驱动我调试后一直不稳定,无法正常使用,如果我调试成功将会在此放出蓝牙驱动的安装方法。需要使用蓝牙功能可以先买一个USB蓝牙,很小巧,即插即用。

      后注:

      不是所有型号的芯片都需要用这样的驱动方法。比如“rtl8723bs”这个Wifi/Bt/FM三合一芯片,可以直接clone驱动代码编译:https://github.com/hadess/rtl8723bs,编译完毕reboot后wifi即可使用。蓝牙驱动可以试试:https://github.com/lwfinger/rtl8723bs_bt。朋友冀兄友情提示:rtl8723bs在某些设备上存在死机的情况,如果出现肯定在1小时之内,如果2小时都没出现应该就没有问题了,请大家留意!

    打赏
    交流区(3)
    Dosck_Q

    博主,我的是中柏ezpad4s升级版,cpu是z8300,安装ubuntu16.04成功了,但是按照你的方法安装网卡驱动显示

    root@WuWenQing-Linux:/lib/firmware/brcm# cat /sys/bus/acpi/devices/INT33BB:00/power_state cat: '/sys/bus/acpi/devices/INT33BB:00/power_state': 没有那个文件或目录 root@WuWenQing-Linux:/lib/firmware/brcm# echo on > /sys/bus/platform/devices/INT33BB:00/power/control bash: /sys/bus/platform/devices/INT33BB:00/power/control: 没有那个文件或目录 root@WuWenQing-Linux:/lib/firmware/brcm# exit exit wuwenqing@WuWenQing-Linux:~$ sudo echo on > /sys/bus/platform/devices/INT33BB:00/power/control bash: /sys/bus/platform/devices/INT33BB:00/power/control: 没有那个文件或目录 求指教

    2016年4月22日 05:36回复
    轶哥

    网卡是什么型号呢?

    2016年4月23日 02:02回复
    轶哥

    问题解决了吗?

    2016年5月6日 14:49回复
    尚未登陆
    发布
      上一篇 (基于Docker部署Node.js应用环境)
    下一篇 (Ubuntu 16.04 安装搜狗输入法)  

    评论回复提醒