我的Debian系统换成了systemd-networkd 管理网络,没有无线相关的硬件设备, 然后升级内核到6.1.0-23后,报以下错误:
platform regulatory.0: firmware: failed to load regulatory.db (-2)
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
cfg80211: failed to load regulatory.db
原因是:
Debian 6.1.xx 使用 rfkill , rfkill又使用cfg80211, cfg80211在启动的时候会尝试查找 regulatory.db 文件。
而 regulatory.db 这个文件是wireless-regdb 这个程序包带的 。
所以,要么内核屏蔽 rfkill 和cfg80211这两个,要么就安装 wireless-regdb 这个包。
千古八方的博客测试两种方法都可以, 千古八方选择的是安装wireless-regdb包来解决。
参考:
https://github.com/systemd/systemd/issues/27520
https://github.com/sonic-net/sonic-buildimage/commit/4f4a5d04602309df1f1e3d6c72b4610182412f4f