为什么 wifi 启动时先启用然后又禁用?如何启用它(Pi + 20.04.1)

为什么 wifi 启动时先启用然后又禁用?如何启用它(Pi + 20.04.1)

我在 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 全部存在并且正确。

相关内容