wlan0 以太网不可用 / GENERAL.STATE 20(不可用)

wlan0 以太网不可用 / GENERAL.STATE 20(不可用)

从睡眠状态唤醒时,有时我的 Linux 笔记本电脑不会重新建立其 Wi-Fi 互联网连接。

有趣的是,重启即可修复,尽管必须进行完全关机/重启有点麻烦。

换句话说,当我从睡眠中醒来时,我的 HP Debian Buster v10.4 笔记本电脑有时无法重新连接到我的家庭接入点。这种情况发生的概率大约是每 6 次过夜中就有 1 次。


注意到 Wi-fi 已断网后,单击 也rescan for wireless networks无法解决问题。此外,iw wlan0 scan(或明确iw dev wlan0 scan)给出:“命令失败:网络已断网 (-100)”。


仔细研究输出journalctl -n 1000 -u NetworkManager -u wpa_supplicant后,我可以看到,在“NetworkManager 状态现在处于睡眠状态”(即唤醒时)这一行之后不久,第一个问题似乎出现在这样一行:“设备(wlan0):请求者接口状态:已完成->已禁用“。

我认为这应该是“...完成->断开连接”,它出现在工作唤醒中,即当WI-fi在唤醒后再次正常工作时。

无法修复的问题:

  • 注销并重新登录;
  • 睡一觉又醒来,
  • 冬眠然后醒来
  • 重新启动网络管理器(使用$ sudo systemctl restart NetworkManager.service
  • 跑步$ sudo nmcli networking on
  • 使用以下命令删除并重新创建wlan0网络设备:iw dev wlan0 del,然后iw phy phy0 interface add wlan0 type managed addr ca:xxx:4b。尽管这似乎有效,但 wifi 仍然无效。

我还检查过,$ rfkill list没有报告任何堵塞情况。


以下是 nmcli 在以下情况下的状态报告:失败的(互联网中断)状态。请注意普通州以下。 (我混淆了真实地址。)

$ nmcli device show wlan0
GENERAL.DEVICE:                         wlan0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         00:26:##:##:##:2A
GENERAL.MTU:                            1500
GENERAL.STATE:                          20 (unavailable)    <-- this is not right
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
...

另外,以下是来自普通的有效的 wifi 连接:

$ nmcli device show wlan0
GENERAL.DEVICE:                         wlan0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         00:26:##:##:##:2A
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)     <--- this is when it works
GENERAL.CONNECTION:                     Auto NETGEAR14
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]:                         192.168.1.128/32
IP4.GATEWAY:                            192.168.1.1
IP4.ROUTE[1]:                           dst = 192.168.1.128/32, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]:                           dst = 192.168.1.1/32, nh = 0.0.0.0, mt = 600
IP4.ROUTE[3]:                           dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.ROUTE[4]:                           dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 600
IP4.DNS[1]:                             192.168.1.1
IP6.ADDRESS[1]:                         fe80::...:7f2a/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 600
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

有什么想法吗?有没有办法重新初始化phy0收音机司机?

答案1

调试此问题的最佳方法是检查连接消失时的系统日志消息:

journalctl -n 1000 -u NetworkManager -u wpa_supplicant

NetworkManager 不直接使用内核 Wi-Fi API,而是依靠 wpa_supplicant 来实现。它可能wpa_supplicant.service卡住了,或者一直崩溃,或者与其他Wi-Fi 工具(例如 iwd、connman 或由其他应用程序意外启动的不同 wpa_supplicant 实例)。

您可以通过运行以下命令来增加 NetworkManager 的详细程度:

nmcli gen log level debug

并运行 wpa_supplicant:

busctl set-property fi.w1.wpa_supplicant1 \
                   /fi/w1/wpa_supplicant1 \
                    fi.w1.wpa_supplicant1 DebugLevel s debug

此外,尝试完全绕过 NM 和 w_s 并直接要求内核扫描网络 - 如果可行,则问题很可能出在用户空间方面;如果不行,则很可能出在驱动程序/硬件方面:

iw wlan0 scan

答案2

尝试更换你的WI-FI卡(硬件)。

我花了大约 20 美元买了一个新的,在笔记本电脑里很容易找到(在 YouTube 上搜索帮助)。我从旧卡上直接找到了零件号。你需要一些小型手表式螺丝刀。

收到新卡已经两个月了,问题已经消失。

我的样子是这样的:

在此处输入图片描述

相关内容