• Centos8.3安装broadcom(博通)BCM43142无线网卡驱动,Centos8没有wifi选项(No wifi adapter found centos)解决办法


    参考:杆菌大祭司> https://www.jianshu.com/p/3cb41b7b8fec

    第一步:查看网卡型号,确认无线网卡型号为BCMXXX

    lspci | grep Network # 无线网卡型号
    lspci | grep Ethernet # 有线网卡型号

    我的型号:

    • 08:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n (rev 01) --无线网卡:BCM43142 博通
    • 09:00.0 Ethernet controller: Qualcomm Atheros QCA8172 Fast Ethernet (rev 10)
      如果你的网卡也是博通,很遗憾,你和我一样幸运,请继续操作

    第二步:连接有线网,下载rpmfusion源(因为自带的源没有博通的网卡驱动)

    注意:此处需要最好访问https://download1.rpmfusion.org,找到当前系统对应的包

    sudo yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm --el:centos适用, --*8.noarch.rpm:centos8适用
    sudo yum install https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

    第三步:确保 kernel-devel 包的版本必须要和内核版本一致

    1. 查看内核版本:uname -r
      4.18.0-240.10.1.el8_3.x86_64
    2. 更换阿里源(可选)
      mv /etc/yum.repos.d/fedora.repo fedora.repo.bak
      mv /etc/yum.repos.d/fedora-updates.repo fedora-updates.repo.bak
      wget -O /etc/yum.repos.d/fedora.repo http://mirrors.aliyun.com/repo/fedora.repo
      wget -O /etc/yum.repos.d/fedora-updates.repo http://mirrors.aliyun.com/repo/fedora-updates.repo
    3. 指定版本下载,因为我的系统内核版本是4.18.0-240.10.1.el8_3.x86_64
      sudo dnf install kernel-devel -4.18.0-240.10.1.el8_3.x86_64

    第四步:安装驱动

    • broadcom-wl:专有的 Broadcom STA 驱动
      sudo dnf install broadcom-wl akmod-wl akmods
      sudo akmods
      sudo dnf update

    最后,重启电脑,如果有无线了,就此结束,如果没有,进行下一步。

    sudo depmod -a
    sudo modprobe wl

    • 再重启电脑,执行:ifconfig #查看无线网卡状态,出现wlp**
      设置中wifi选项出现,
      搞定!

    补充概念(填坑):

    Linux Kernel有一大特性就是模块化,通过kernel module(内核模块,Fedora中缩写作kmod)来扩展内核功能,其中,最常见的一类内核模块就是驱动程序(driver)。
    由于许可证或使用规模等原因(此坑就是因为centos没有博通许可),一些硬件的驱动无法进入kernel,只能通过内核模块的形式来加载使用(本文采用的原理)
    在Fedora中如果你启用了rpmfusion-nonfree源,你会看到大量kmod-打头的软件包,大多都是rpmfusion帮我们编译、打包好的各类私有驱动(比如nv idia、ati的显卡驱动,broadcom的网卡驱动等等)。
    几乎每一个kmod-软件包都有一个对应的akmod-软件包,akmod是能够自动编译、安装的kmod。
    由于内核模块是安装在某个特定的内核上的,当更新内核后必须重新给新内核安装内核模块,因而如何实现自动化的模块安装、管理一直是一个令人头痛的问题。
    解决这些问题的银弹就是akmods系统,通过上文所述的方法来实现自动安装,可以做到自动、及时为所有新内核装上模块。
    所以我们在安装私有驱动的时候其实只需要装上相应的akmod包即可了,而不再需要kmod。
    这和debian系的dkms是一样的(Ubuntu下的私有驱动都是通过dkms来安装的)。
    参考资料:kmod与akmod的区别

  • 相关阅读:
    大量 TIME_WAIT 状态 TCP 连接,对业务有什么影响?怎么处理
    点击按钮保存当前页面为图片html2canvas
    浅谈webpack优化
    nginx配置
    table表格边框线问题
    git push到指定仓库
    No bean named 'xxx' is defined错误,原因及解决方案
    关于The requested list key 'map' could not be resolved as a collection/array/map/enumera...
    Tomcat网页加载过慢的排查调整time_wait连接过多
    MySQL information_schema 系统库
  • 原文地址:https://www.cnblogs.com/shimmernight/p/14473789.html
Copyright © 2020-2023  润新知