我在 Raspberry Pi 上安装了 20.04 - 仅服务器版本。然后我安装了最小桌面。
我希望我的 wifi 在启动时启用,并且尝试了几种方法,但就是无法让它工作。
我试过了:
- 编辑 /var/lib/systemd/rfkill/platform-fe300000.mmcnr:wlan (0|1)
- 编辑 /boot/firmware/usercfg.txt (rfkill.default_state=0|1)
- 稍后添加服务以发出“rfkill unblock all”禁用 systemctl
- 禁用 systemd-rfkill、.service 和 .socket,但它们都会在下次启动时启用
我查看了 systemd 启动日志,发现 wifi 先被启用然后又被禁用。
nmcli 给出:
wlan0: unavailable
"Broadcom BCM43438 combo and Bluetooth Low Energy"
wifi (brcmfmac), DC:A6:32:43:6D:27, sw disabled, hw, mtu 1500
rfkill 给出:
ID TYPE DEVICE SOFT HARD
0 wlan phy0 blocked unblocked
为什么有竞争进程独立地尝试控制 wifi 适配器???
我知道我可能会在发出“rfkill unblock all”命令之前将一个休眠一段时间的服务合并在一起,但我想正确地执行此操作,所以有人可以告诉我需要查看哪些进程(启用、禁用、配置、卸载)吗?
这是 Raspberry Pi,所以我假设导致 rfkill 软阻止的驱动程序问题不是原因,因为 rfkill 可以在命令行上立即工作。事实上,即使我运行rfkill unblock all
并且 wifi 已启动,nmcli 也会返回:
wlan0: unavailable
"Broadcom BCM43438 combo and Bluetooth Low Energy"
wifi (brcmfmac), DC:A6:32:43:6D:27, sw disabled, hw, mtu 1500
我不介意阅读,但有人能告诉我从哪里开始吗?
提前致谢,
杰森
答案1
感谢@user535733,这个问题现在已经修复!
解决方案是指定
renderer: networkd
在/etc/netplan/50-cloud-init.yaml
看来 NetworkManager 和 systemd-networkd是竞争,所以我停止并禁用了 NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo reboot
在随后的启动以及此后的 3 次启动中,wlan0 全部存在并且正确。