OpenWrt官方固件安装网卡固件开启wifi功能
最近又开始倒腾OpenWrt官方固件 开启wifi的需求了
我的是官方的OpenWrt系统23.05.4版本
安装基本软件列表
netdata
# TTYD终端
ttyd
luci-app-ttyd
luci-i18n-ttyd-zh-cn
# 皮肤主题
luci-theme-argon
luci-app-argon-config
luci-i18n-argon-config-zh-cn
# OpenClash
luci-app-openclash
ipset依赖检查安装
然后重启,出现服务
首先我的无线网卡型号是博通的
Broadcom BCM-BCM943224HMS
首先安装pciutlis
opkg update
opkg install pciutils
安装完成后列出pci设备
lspci
执行结果如下:
root@OpenWrt:~
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller
00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller
00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04)
01:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43224 802.11a/b/g/n (rev 01)
root@OpenWrt:~
可以看到最后一行,证明BCM43224无线网卡被系统成功识别了
03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43224 802.11a/b/g/n (rev 01)
但是它依旧没有在luci界面中显示,网络——接口中只有Wan Lan,网络中没有无线配置开关
因为我们没有安装driver驱动 & firmware固件
从软件包中搜索“broadcom”,我们可以看到有共 42条记录
通过匹配筛选,我找到了如下适合的包
kmod-brcmsmac 用于Broadcom IEEE802.11n PCIe 无线网卡的内核模块
kmod-brcmutil 该模块包含 Broadcom Wireless 驱动程序 brcmsmac 和 brcmfmac 所需的一些常见的部分。
brcmsmac-firmware 用于 Broadcom BCM43xx 系列无线网卡的固件(Firmware)
kmod-b43 一个内核模块,用于支持 Broadcom BCM43xx 系列无线网卡。这个模块通常被称为 b43 或者 brcmsmac
还有一个
broadcom-43224-sprom 2023-04-27-d36f7fcb-1 1.16 KiB BCM43224 Fallback SPROM
broadcom-43224-sprom
包含了用于 BCM43224 无线网卡的Fallback SPROM(串行可编程只读存储器)数据。SPROM 是一种存储设备,通常用于保存设备的基本配置信息,例如 MAC 地址和其他重要的硬件标识符。
如果您遇到了无线网卡无法识别或配置的问题,这个包可以帮助系统识别并配置无线网卡。OpenWrt 会尝试使用这个包中的数据来初始化您的无线网卡。
借助人工智能,把这个驱动的事分析好了,现在我要开始安装了。
确定只需要安装这个kmod-brcmsmac
Broadcom IEEE802.11n PCIe 无线网卡的内核模块,因为我的网卡是11n协议的,我曾经尝试测试安装其他的几个会出现只有abg协议,没有n
kmod-brcmsmac
重启后看下效果,出现了无线选项
编辑SSID:点开后,发现无法使用加密模块,需要安装hostapd
安装hostapd
后重启,再配置好就可以使用了
记得配置国家代码。中国或者澳大利亚优先。
出现了n协议,且设备接入设备正常。
后来,我升级了wifi6的无线网卡,具体型号是MT7921,我的设备插口是MINI PCIE的。
同样,使用lspci
查看pcie设备信息(看最后一行)
root@OpenWrt:~
0:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04)
01:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
03:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter
root@OpenWrt:~
我后来完全重置了OpenWRT(因为之前安装了kmod-brcmsmac
固件,radio中出现了老的radio0和新的radio1),重新安装了新的固件kmod-mt7921e
。
- kmod-mt7921e 代表pcie接口;
- kmod-mt7921u 代表usb接口;
- kmod-mt7921s 不知道代表什么接口
找到你合适的驱动安装后,(我安装的是 kmod-mt7921e),下面这两个也会被同时安装。
kmod-mt7921-firmware
kmod-mt7921-common
这之后再启动,无线驱动就都起来了。
但是,我发现一个问题,每次重启设备后,我都需要点击“radio0”的“重启”,wifi才正常。
处理方法如下:
1、配置无线,确保每次重启时,无线没有被禁用
vim /etc/config/wireless
在已经配置好的无线配置里,添加这一行option disabled '0'
config wifi-device 'radio0'
option type 'mac80211'
option path 'pci0000:00/0000:00:1c.2/0000:03:00.0'
option band '5g'
option htmode 'HE80'
option country 'CN'
option cell_density '3'
option channel '157'
option txpower '6'
option disabled '0'
2、延迟无线网卡的启动
chartGPT告诉我,在/etc/rc.local
这个配置文件中增加10s的sleep
,就能推迟启动了,我配置后,再重启果然正常了。
root@OpenWrt:~
(sleep 10; wifi) &
exit 0
root@OpenWrt:~
如果: 无线网卡无法发射频射(就是看着所有配置都一切正常,但是你搜不到无线wifi信号)
我的网卡信道暂时只能开149、153、157这几个信道上
下面这部分只做为mark备忘,本次不涉及
安装了其他的设备,会协议只支持abg,是兼容程序,不好
安装驱动
opkg install kmod-brcmsmac kmod-brcmutil kmod-b43
安装固件
opkg install brcmsmac-firmware
重启看
opkg install Kmod-iwlwifi wireless-regdb wireless-tools iwlwifi-firmware-ax210 wireless-tools wpa-supplicant hostapd