debian12为啥wifi每次重启都是被禁用。。。

每次启动wifi都是禁用的,使用ip link set wlo1 up提示RTNETLINK answers:Opration not possible due to RF-kill,安装rfkill执行显示wireless soft blocked yes。
可以使用nmcli radio wifi on 开启wifi,但是每次都需要这个命令,想问下有没有持久化的配置,让wifi每次启动不被禁用

1. 你可以尝试添加内核参数: rfkill.default_state=1,引用自:

https://www.kernel.org/doc/Documentation/rfkill.txt

2. 另外一个相关的可能服务是:

如果这个服务正常工作,它应该能正确保留开关状态。它也提供了相应的内核参数用来控制行为。

––––––

3. 其它可能:

  • 你的电脑某个快捷键是 wifi 开关(比如 Fn 相关快捷键),它和固件和 ACPI 影响了 wifi 状态

  • 也许你在使用 tlp,它也会控制无线电开关。

  • 某些系统的 BIOS 可能有相关配置。

  • 也许是固件错误或者服务冲突导致。

––––––

4. 不论如何,你都可以创建一个只运行一次的 systemd unit:

创建文件 /etc/systemd/system/nmcli-wifi-on.service

[Unit]
Description=NetworkManager enable wifi

[Service]
Type=oneshot
ExecStart=/usr/bin/nmcli radio wifi on

[Install]
WantedBy=multi-user.target

使用 sudo systemctl daemon-reload 重新生成配置,
使用 sudo systemctl enable nmcli-wifi-on.service 启用该服务。
重启电脑检查效果。

注意这只是一个示例,你可能需要自行根据具体情况调试或修改配置。

感谢解答,我的是一台nuc,查看tlp没有相关配置,创建服务重启了几次成功过一次,换了个win还是有同样的问题,感觉硬件问题可能性比较大,已经联系厂家售后了

因为服务运行的时候说不定在 block wifi 以前, 这是个竞争条件,你可以考虑修改 unit 的 After= 字段让它更晚运行,比如 After=network.target,或者 After=bluetooth.target 如果你有蓝牙设备的话(一般网卡和蓝牙是同一个设备)。

另外,systemd-analyze 工具可以用来分析 systemd 启动过程。

尝试使用了unit After字段,甚至重装了系统,wifi还是同样的问题,前天我把nuc寄回厂家了,我先等厂家回复我 :heart: