절전 모드에서 깨어날 때 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 state is now ASLEEP"(즉, 깨어날 때) 줄 바로 뒤에 첫 번째 문제가 다음 줄에 있는 것으로 보입니다.장치(wlan0): 신청자 인터페이스 상태: 완료됨 -> 비활성화됨".
제 생각엔 이것은 오히려 "... 완료 -> 연결 끊김" 이어야 한다고 생각합니다. 이는 깨우기 작업, 즉 깨어난 후 WI-Fi가 다시 제대로 작동할 때 나타납니다.
문제가 해결되지 않는 이유:
- 로그아웃했다가 다시 로그인하세요.
- 자고 또 일어나니,
- 최대 절전 모드로 들어갔다가 다시 깨어나면
- Network Manager 다시 시작( 사용
$ sudo systemctl restart NetworkManager.service
) - 달리기
$ sudo nmcli networking on
- 다음
wlan0
을 사용하여 네트워크 장치를 삭제하고 다시 만듭니다 . 이것이 작동하는 것처럼 보였지만 Wi-Fi는 여전히 작동하지 않습니다.iw dev wlan0 del
iw phy phy0 interface add wlan0 type managed addr ca:xxx:4b
$ 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: --
...
또한 다음은 A의 상태 보고서입니다.정상Wi-Fi 연결 작동 중:
$ 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