新搞了一台小主机,装完深度25.10发现没有WIFI,跟着AI折腾完了留给需要的人参考:
Broadcom wl 驱动是闭源的,最后更新于 2017 年(版本6.30.223)。
此后各个发行版的社区一直围绕这个最后的版本进行修补,Deepin自然是Debian系列(当前版本是6.30.223.271-29)。
Linux 6.x 内核移除了大量旧 API,会导致 wl 编译失败。所以需要进行手动修补
※ 缺少 asm/unaligned.h(6.x 内核必然缺)
※ wl 驱动代码与 6.x 内核 API 不兼容
步骤
关闭磐石只读保护(Deepin的特色功能,不关闭的话无法进行修改。)
控制中心-系统-开发者选项-关闭“磐石只读保护”
从Debian国服下载最新版本的驱动(当前为6.30.223.271-29)
http://ftp.cn.debian.org/debian/pool/non-free/b/broadcom-sta/broadcom-sta-dkms_6.30.223.271-29_amd64.deb
修复缺失的 unaligned.h(6.x 内核必做)
sudo mkdir -p /usr/src/linux-headers-$(uname -r)/include/asm sudo ln -s /usr/src/linux-headers-$(uname -r)/include/linux/unaligned.h \ /usr/src/linux-headers-$(uname -r)/include/asm/unaligned.h
sudo mkdir -p /usr/src/linux-headers-$(uname -r)/include/asm
sudo ln -s /usr/src/linux-headers-$(uname -r)/include/linux/unaligned.h \
/usr/src/linux-headers-$(uname -r)/include/asm/unaligned.h
这是 Broadcom wl 在 6.x 内核上最常见的致命错误。
安装 broadcom-sta-dkms
打开终端进入驱动文件所在目录执行:
sudo dpkg -i broadcom-sta-dkms_6.30.223.271-29.deb
sudo dpkg -i broadcom-sta-dkms_6.30.223.271-29.deb
安装过程会自动编译和安装,成功的话会看到:
DKMS: build completed. DKMS: install completed.
DKMS: build completed.
DKMS: install completed.
加载 wl 驱动
modprobe wl
modprobe wl
重启
reboot
reboot
成功的话一般重启后就能看到无线SSID了,或者:
lsmod | grep wl
lsmod | grep wl
如果看到:
wl xxxx 0
wl xxxx 0
说明驱动加载成功。
或者
nmcli device
nmcli device
如果看到:
ethernet 和 wifi 都是 “已连接” 即可