新内核用ai搞成功了
飞牛 fnOS 1.1.30 安装 BCM4360 Broadcom 无线网卡驱动教程(6.18.18-trim)
更新于2026.5.11
适用于:
- BCM4360
- BCM43xx 系列
- Broadcom STA 闭源驱动
- 飞牛 fnOS 1.1.30
- 内核
6.18.18-trim
适用范围
系统版本
已验证:
理论适用于:
- 6.15+
- 6.16+
- 6.17+
- 6.18+
- 使用新 objtool 检查机制的 Debian / Ubuntu / fnOS 内核
适用网卡
本教程适用于 Broadcom STA 闭源驱动支持的 PCIe 无线网卡。
已验证成功:
常见兼容型号(理论适用,未逐一验证):
- BCM4311
- BCM4312
- BCM4313
- BCM4321
- BCM4322
- BCM43224
- BCM43225
- BCM43227
- BCM43228
- BCM4331
- BCM4352
- BCM4360
本教程解决的问题
主要解决:
broadcom-sta-dkms 在 6.18.18-trim 内核下无法编译
objtool 导致 wl.o 编译失败
modprobe wl 提示:
一、确认系统内核
SSH 登录后,建议先切换 root:
sudo -i
查看内核版本:
uname -r
输出应为:
6.18.18-trim
二、确认 headers 已安装
查看:
apt search linux-headers | grep trim
确认有:
linux-headers-6.18.18-trim
并检查:
ls -l /lib/modules/$(uname -r)
确认存在:
build -> /usr/src/linux-headers-6.18.18-trim
三、下载 Ubuntu 版 Broadcom 驱动
注意:
这里使用的是 Ubuntu 版** **broadcom-sta-dkms,不是 Debian 版。
实测 Debian 版在** **6.18.18-trim 下会遇到更多兼容问题,最终成功使用的是 Ubuntu 版:
broadcom-sta-dkms_6.30.223.271-23ubuntu1.2_all.deb
如果之前尝试过 Debian 版,可以先清理旧模块:
dkms remove broadcom-sta/6.30.223.271 --all --force
apt remove broadcom-sta-dkms
然后下载 Ubuntu 版:
cd /tmp
wget http://archive.ubuntu.com/ubuntu/pool/restricted/b/broadcom-sta/broadcom-sta-dkms_6.30.223.271-23ubuntu1.2_all.deb
安装:
apt install ./broadcom-sta-dkms_6.30.223.271-23ubuntu1.2_all.deb
此时大概率会编译失败,这是正常的。
典型报错类似:
objtool: aes_cbc_encrypt_pad+0x4c: unannotated intra-function call
make[4]: *** ... wl.o Error 255
四、添加 objtool 兼容标记
进入 Broadcom STA 源码目录:
cd /usr/src/broadcom-sta-6.30.223.271
添加兼容标记:
echo 'OBJECT_FILES_NON_STANDARD := y' >> Makefile
echo 'OBJECT_FILES_NON_STANDARD_wl.o := y' >> Makefile
五、绕过 Linux 6.18 objtool 检查
这是最关键一步。
Linux 6.18 的 objtool 检查更严格,Broadcom STA 老闭源驱动会在链接** **wl.o 时失败。
先备份 objtool:
cp /usr/src/linux-headers-6.18.18-trim/tools/objtool/objtool \
/usr/src/linux-headers-6.18.18-trim/tools/objtool/objtool.bak
临时替换为空脚本:
printf '#!/bin/sh\nexit 0\n' > \
/usr/src/linux-headers-6.18.18-trim/tools/objtool/objtool
赋予执行权限:
chmod +x /usr/src/linux-headers-6.18.18-trim/tools/objtool/objtool
六、重新编译 DKMS
删除旧模块:
dkms remove broadcom-sta/6.30.223.271 --all --force
重新加入:
dkms add /usr/src/broadcom-sta-6.30.223.271
编译:
dkms build broadcom-sta/6.30.223.271 -k 6.18.18-trim
安装:
dkms install broadcom-sta/6.30.223.271 -k 6.18.18-trim
修复 apt / dpkg 半安装状态:
dpkg --configure -a
apt install -f
七、加载驱动
先卸载可能冲突的开源模块:
modprobe -r b44 b43 b43legacy ssb brcmfmac brcmsmac bcma
加载** **wl:
modprobe wl
八、验证
查看无线网卡:
ip link
正常会出现类似:
wlp2s0
查看驱动绑定情况:
lspci -k -s 02:00.0
正常会看到:
Kernel driver in use: wl
九、恢复 objtool(可选)
驱动安装成功后,建议恢复 objtool:
mv /usr/src/linux-headers-6.18.18-trim/tools/objtool/objtool.bak \
/usr/src/linux-headers-6.18.18-trim/tools/objtool/objtool
十、说明
原因是:
-
Broadcom 官方 STA 驱动非常老
-
Linux 6.18 内核 objtool 检查更严格
-
fnOS 使用的是定制 trim 内核
-
Debian 版 broadcom-sta-dkms 在该环境下兼容性较差
-
Ubuntu 版 23ubuntu1.2 能编译到最后阶段,但仍会被 objtool 卡住
-
本教程是我在 fnOS 1.1.30 / 6.18.18-trim / BCM4360 上实测成功流程;如果之前安装过 Debian 版 broadcom-sta-dkms,建议先清理旧模块后再按教程操作。
如果 DKMS 编译失败,请先查看 /var/lib/dkms/broadcom-sta/6.30.223.271/build/make.log,不要盲目重复执行。
实测使用:
broadcom-sta-dkms_6.30.223.271-23ubuntu1.2_all.deb
并临时绕过 objtool 后,可以成功编译并加载** **wl 驱动。