Ubuntu 18.04에서 ThinkPad-L440의 Wi-Fi 연결이 무작위로 끊깁니다. 많은 문제 해결을 수행하고 제안된 해결 방법을 많이 시도했지만 문제가 지속됩니다.
가끔 인터넷을 탐색하는 동안 연결 상태를 유지하는 사이트(예: Reddit, Google Drive)에서 몇 초 동안 오프라인 상태라고 표시되었다가 다시 정상으로 돌아오는 것을 볼 수 있습니다. 또한 일부 인스턴트 메시징 도구도 같은 시간 동안 오프라인 상태가 됩니다. 내 라우터 IP를 핑하고, 시간을 인쇄하고, 핑이 실패할 때 경고음을 울리는 작은 스크립트를 만들었습니다. 실제로 짧은 Wi-Fi 재연결을 자주 감지했습니다(대부분의 간격은 60~90초였습니다).
지금까지 내가 찾은 것 :
- 문제가 하드웨어가 아닌 클라이언트에 있는지 확인합니다(라우터 로그를 확인하세요. 다른 장치에는 그런 문제가 없습니다.동일한 노트북이 Windows에서 부팅되고 정상적으로 작동합니다.)
- 저장된 연결을 삭제하고 재연결(
nmcli con delete <SSID>
및nmcli dev wifi connect <SSID> password <password>
)을 비롯해 다양한 서비스 재시작, 기기 재시작 등이 가능합니다. - 클라이언트와 라우터 측을 2.4GHz 및 5GHz 대역에 연결하도록 강제하는 것(내 AP는 동일한 SSID를 가진 듀얼 밴드입니다)은 2.4에서 덜 발생하는 것처럼 보이지만 아직 완전히 제거되지는 않았습니다. 5GHz도 필요하기 때문에 2.4Ghz를 사용하는 것은 해결책이 아닙니다.
- 절전 기능 비활성화
/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
해당 줄을 주석 처리 하세요./etc/dhcp/dhclient.conf
- 무선 인터페이스에 대해 IPv6를 완전히 비활성화합니다.
- DNS 구성을 확인하세요.
/etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf:
# This file is managed by man:systemd-resolved(8). Do not edit.
...
nameserver 127.0.0.53
options edns0
search lan
----------------
/etc/systemd/resolved.conf:
# This file is part of systemd.
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes
- 네트워크 관리자 구성을 확인하십시오.
/etc/NetworkManager/NetworkManager.conf:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
----------------
/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf:
[connection]
wifi.powersave = 2
- 수준 확인
dmesg
및Network-Manager.service
로그DEBUG
(이유 3은 "이제 장치가 관리되지 않습니다.")네트워크 관리자/이유 코드 디버깅 - Ubuntu Wiki):
dmesg:
[ 3205.127410] wlp2s0: Limiting TX power to 17 (20 - 3) dBm as advertised by XX:XX:XX:XX:XX:XX
[ 3284.204536] wlp2s0: deauthenticating from XX:XX:XX:XX:XX:XX by local choice (Reason: 3=DEAUTH_LEAVING)
[ 3286.955049] wlp2s0: authenticate with XX:XX:XX:XX:XX:XX
[ 3286.958967] wlp2s0: send auth to XX:XX:XX:XX:XX:XX (try 1/3)
[ 3286.961583] wlp2s0: authenticated
[ 3286.964357] wlp2s0: associate with XX:XX:XX:XX:XX:XX (try 1/3)
[ 3286.966033] wlp2s0: RX AssocResp from XX:XX:XX:XX:XX:XX (capab=0x111 status=0 aid=2)
[ 3286.967569] wlp2s0: associated
----------------
Network-Manager.service:
Nov 26 10:27:31 ThinkPad-L440 NetworkManager[954]: <debug> [1701012451.6742] platform: signal: link changed: 3: wlp2s0 <UP;broadcast,multicast,up> mtu 1500 arp 1 wifi? init addrgenmode none addr XX:XX:XX:XX:XX:XX driver iwlwifi rx:23080,12307791 tx:21126,3434093
Nov 26 10:27:31 ThinkPad-L440 NetworkManager[954]: <debug> [1701012451.6743] device[0x55a4db33bb30] (wlp2s0): queued link change for ifindex 3
Nov 26 10:27:31 ThinkPad-L440 NetworkManager[954]: <warn> [1701012451.6746] sup-iface[0x55a4db3be030,wlp2s0]: connection disconnected (reason -3)
...
Nov 26 10:31:57 ThinkPad-L440 NetworkManager[954]: <debug> [1701012717.2698] auth: call[254]: CheckAuthorization succeeded: (is_authorized=1, is_challenge=0)
Nov 26 10:31:57 ThinkPad-L440 NetworkManager[954]: <debug> [1701012717.2698] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scanning requested
Nov 26 10:31:57 ThinkPad-L440 NetworkManager[954]: <debug> [1701012717.2699] device[0x55a4db33bb30] (wlp2s0): wifi-scan: no SSIDs to probe scan
Nov 26 10:31:57 ThinkPad-L440 NetworkManager[954]: <debug> [1701012717.2700] device[0x55a4db33bb30] (wlp2s0): add_pending_action (1): 'wifi-scan'
Nov 26 10:31:57 ThinkPad-L440 NetworkManager[954]: <debug> [1701012717.2700] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scheduled in 120 seconds (interval now 120 seconds)
Nov 26 10:31:57 ThinkPad-L440 NetworkManager[954]: <debug> [1701012717.2761] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scanning-state: scanning
Nov 26 10:32:01 ThinkPad-L440 NetworkManager[954]: <debug> [1701012721.0916] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scanning-state: idle
Nov 26 10:32:01 ThinkPad-L440 NetworkManager[954]: <debug> [1701012721.1181] device[0x55a4db33bb30] (wlp2s0): failed to match hidden AP XX:XX:XX:XX:XX:XX
Nov 26 10:32:01 ThinkPad-L440 NetworkManager[954]: <debug> [1701012721.1427] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scan-done callback: successful
Nov 26 10:32:01 ThinkPad-L440 NetworkManager[954]: <debug> [1701012721.1428] device[0x55a4db33bb30] (wlp2s0): remove_pending_action (0): 'wifi-scan'
Nov 26 10:32:15 ThinkPad-L440 NetworkManager[954]: <debug> [1701012735.2661] auth: call[255]: CheckAuthorization(org.freedesktop.NetworkManager.network-control), subject=unix-process[pid=6045, uid=1000, start=300653]
Nov 26 10:32:15 ThinkPad-L440 NetworkManager[954]: <debug> [1701012735.2681] auth: call[255]: CheckAuthorization succeeded: (is_authorized=1, is_challenge=0)
Nov 26 10:32:15 ThinkPad-L440 NetworkManager[954]: <debug> [1701012735.2682] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scanning requested
Nov 26 10:32:15 ThinkPad-L440 NetworkManager[954]: <debug> [1701012735.2683] device[0x55a4db33bb30] (wlp2s0): wifi-scan: no SSIDs to probe scan
Nov 26 10:32:15 ThinkPad-L440 NetworkManager[954]: <debug> [1701012735.2684] device[0x55a4db33bb30] (wlp2s0): add_pending_action (1): 'wifi-scan'
Nov 26 10:32:15 ThinkPad-L440 NetworkManager[954]: <debug> [1701012735.2684] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scheduled in 120 seconds (interval now 120 seconds)
Nov 26 10:32:15 ThinkPad-L440 NetworkManager[954]: <debug> [1701012735.2748] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scanning-state: scanning
Nov 26 10:32:19 ThinkPad-L440 NetworkManager[954]: <debug> [1701012739.3076] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scanning-state: idle
Nov 26 10:32:19 ThinkPad-L440 NetworkManager[954]: <debug> [1701012739.3508] device[0x55a4db33bb30] (wlp2s0): wifi-scan: scan-done callback: successful
Nov 26 10:32:19 ThinkPad-L440 NetworkManager[954]: <debug> [1701012739.3508] device[0x55a4db33bb30] (wlp2s0): remove_pending_action (0): 'wifi-scan'
Nov 26 10:32:19 ThinkPad-L440 NetworkManager[954]: <debug> [1701012739.3798] ndisc-lndp[0x55a4db399f80,"wlp2s0"]: processing libndp events
- 로그와 상태를 확인하여
wpa_supplicant.service
네트워크 관리자를 방해하는 여러 DHCP 클라이언트가 없는지 확인하세요.wpa_supplicant
d-bus를 통해 네트워크 관리자가 시작한 데몬으로 실행됩니다. 모든 것이 괜찮아 보이며 로그에 경고나 오류가 없습니다.
디버깅을 위한 추가 정보:
$ sudo lshw -C network
description: Wireless interface
product: Wireless 7260
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlp2s0
version: 83
serial: XX:XX:XX:XX:XX:XX
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=4.15.0-213-generic firmware=17.948900127.0 ip=192.168.2.248 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:32 memory:f2400000-f2401fff
$ sudo iwconfig
wlp2s0 IEEE 802.11 ESSID:"XXXXXXXXXX"
Mode:Managed Frequency:5.66 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate=866.7 Mb/s Tx-Power=17 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=54/70 Signal level=-56 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:8 Missed beacon:0
$ sudo nmcli connection show
connection.id: XXXXXXXXXX
connection.uuid: 31ce91dc-831d-4343-a876-1fd0570bddd4
connection.stable-id: --
connection.type: 802-11-wireless
connection.interface-name: --
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.auth-retries: -1
connection.timestamp: 1701017466
connection.read-only: no
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
connection.mdns: -1 (default)
802-11-wireless.ssid: XXXXXXXXXX
802-11-wireless.mode: infrastructure
802-11-wireless.band: --
802-11-wireless.channel: 0
802-11-wireless.bssid: --
802-11-wireless.rate: 0
802-11-wireless.tx-power: 0
802-11-wireless.mac-address: XX:XX:XX:XX:XX:XX
802-11-wireless.cloned-mac-address: --
802-11-wireless.generate-mac-address-mask:--
802-11-wireless.mac-address-blacklist: --
802-11-wireless.mac-address-randomization:default
802-11-wireless.mtu: auto
802-11-wireless.seen-bssids: XX:XX:XX:XX:XX:XX,XX:XX:XX:XX:XX:XX
802-11-wireless.hidden: no
802-11-wireless.powersave: 0 (default)
802-11-wireless-security.key-mgmt: wpa-psk
802-11-wireless-security.wep-tx-keyidx: 0
802-11-wireless-security.auth-alg: --
802-11-wireless-security.proto: --
802-11-wireless-security.pairwise: --
802-11-wireless-security.group: --
802-11-wireless-security.pmf: 0 (default)
802-11-wireless-security.leap-username: --
802-11-wireless-security.wep-key0: <hidden>
802-11-wireless-security.wep-key1: <hidden>
802-11-wireless-security.wep-key2: <hidden>
802-11-wireless-security.wep-key3: <hidden>
802-11-wireless-security.wep-key-flags: 0 (none)
802-11-wireless-security.wep-key-type: unknown
802-11-wireless-security.psk: <hidden>
802-11-wireless-security.psk-flags: 0 (none)
802-11-wireless-security.leap-password: <hidden>
802-11-wireless-security.leap-password-flags:0 (none)
802-11-wireless-security.wps-method: 0 (default)
ipv4.method: auto
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: ""
ipv4.dns-priority: 0
ipv4.addresses: --
ipv4.gateway: --
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
ipv6.method: auto
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: ""
ipv6.dns-priority: 0
ipv6.addresses: --
ipv6.gateway: --
ipv6.routes: --
ipv6.route-metric: -1
ipv6.route-table: 0 (unspec)
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: 0 (disabled)
ipv6.addr-gen-mode: stable-privacy
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
ipv6.token: --
proxy.method: none
proxy.browser-only: no
proxy.pac-url: --
proxy.pac-script: --
GENERAL.NAME: XXXXXXXXXX
GENERAL.UUID: 31ce91dc-831d-4343-a876-1fd0570bddd4
GENERAL.DEVICES: wlp2s0
GENERAL.STATE: activated
GENERAL.DEFAULT: yes
GENERAL.DEFAULT6: yes
GENERAL.SPEC-OBJECT: /org/freedesktop/NetworkManager/AccessPoint/2
GENERAL.VPN: no
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/6
GENERAL.ZONE: --
GENERAL.MASTER-PATH: --
IP4.ADDRESS[1]: 192.168.2.248/24
IP4.GATEWAY: 192.168.2.1
IP4.ROUTE[1]: dst = 192.168.2.0/24, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.2.1, mt = 600
IP4.DNS[1]: 192.168.2.1
IP4.DOMAIN[1]: lan
DHCP4.OPTION[1]: domain_name = lan
DHCP4.OPTION[2]: requested_routers = 1
DHCP4.OPTION[3]: requested_netbios_scope = 1
DHCP4.OPTION[4]: requested_subnet_mask = 1
DHCP4.OPTION[5]: dhcp_server_identifier = 192.168.2.1
DHCP4.OPTION[6]: requested_domain_search = 1
DHCP4.OPTION[7]: requested_host_name = 1
DHCP4.OPTION[8]: subnet_mask = 255.255.255.0
DHCP4.OPTION[9]: requested_ntp_servers = 1
DHCP4.OPTION[10]: next_server = 192.168.2.1
DHCP4.OPTION[11]: network_number = 192.168.2.0
DHCP4.OPTION[12]: dhcp_lease_time = 43200
DHCP4.OPTION[13]: dhcp_message_type = 5
DHCP4.OPTION[14]: requested_domain_name_servers = 1
DHCP4.OPTION[15]: requested_netbios_name_servers = 1
DHCP4.OPTION[16]: expiry = 1701060666
DHCP4.OPTION[17]: requested_time_offset = 1
DHCP4.OPTION[18]: requested_broadcast_address = 1
DHCP4.OPTION[19]: ip_address = 192.168.2.248
DHCP4.OPTION[20]: domain_name_servers = 192.168.2.1
DHCP4.OPTION[21]: broadcast_address = 192.168.2.255
DHCP4.OPTION[22]: requested_domain_name = 1
DHCP4.OPTION[23]: requested_ms_classless_static_routes = 1
DHCP4.OPTION[24]: dhcp_rebinding_time = 37800
DHCP4.OPTION[25]: requested_static_routes = 1
DHCP4.OPTION[26]: host_name = ThinkPad-L440
DHCP4.OPTION[27]: dhcp_renewal_time = 21600
DHCP4.OPTION[28]: requested_wpad = 1
DHCP4.OPTION[29]: requested_interface_mtu = 1
DHCP4.OPTION[30]: requested_rfc3442_classless_static_routes = 1
DHCP4.OPTION[31]: routers = 192.168.2.1
IP6.ADDRESS[1]: 2606:6d00:17:1796:b8a6:2ecd:8a68:6eab/64
IP6.ADDRESS[2]: fd03:bb95:6ff8:0:88e5:422f:3bbe:7a9f/64
IP6.ADDRESS[3]: 2606:6d00:17:1796::1c0/128
IP6.ADDRESS[4]: fd03:bb95:6ff8::1c0/128
IP6.ADDRESS[5]: fe80::75e0:860c:9167:4558/64
IP6.GATEWAY: fe80::52d2:f5ff:fe09:3b20
IP6.ROUTE[1]: dst = ff00::/8, nh = ::, mt = 256, table=255
IP6.ROUTE[2]: dst = fe80::/64, nh = ::, mt = 256
IP6.ROUTE[3]: dst = fe80::/64, nh = ::, mt = 600
IP6.ROUTE[4]: dst = 2606:6d00:17:1796::1c0/128, nh = ::, mt = 600
IP6.ROUTE[5]: dst = fd03:bb95:6ff8::1c0/128, nh = ::, mt = 600
IP6.ROUTE[6]: dst = fd03:bb95:6ff8::/48, nh = fe80::52d2:f5ff:fe09:3b20, mt = 600
IP6.ROUTE[7]: dst = fd03:bb95:6ff8::/64, nh = ::, mt = 600
IP6.ROUTE[8]: dst = 2606:6d00:17:1796::/64, nh = ::, mt = 600
IP6.ROUTE[9]: dst = ::/0, nh = fe80::52d2:f5ff:fe09:3b20, mt = 600
IP6.DNS[1]: fd03:bb95:6ff8::1
DHCP6.OPTION[1]: dhcp6_name_servers = fd03:bb95:6ff8::1
DHCP6.OPTION[2]: ip6_address = 2606:6d00:17:1796::1c0
DHCP6.OPTION[3]: dhcp6_client_id = 0:4:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:98:ac:fa:f3
DHCP6.OPTION[4]: life_starts = 1701008951
DHCP6.OPTION[5]: rebind = 34560
DHCP6.OPTION[6]: starts = 1701008951
DHCP6.OPTION[7]: dhcp6_server_id = 0:3:0:1:50:d2:f5:9:3b:20
DHCP6.OPTION[8]: dhcp6_solmax_rt = 60
DHCP6.OPTION[9]: requested_dhcp6_client_id = 1
DHCP6.OPTION[10]: requested_dhcp6_name_servers = 1
DHCP6.OPTION[11]: max_life = 43200
DHCP6.OPTION[12]: requested_dhcp6_domain_search = 1
DHCP6.OPTION[13]: ip6_prefixlen = 64
DHCP6.OPTION[14]: renew = 21600
DHCP6.OPTION[15]: iaid = 4f:9e:d3:6f
DHCP6.OPTION[16]: preferred_life = 43200
$ sudo modinfo iwlwifi
- 출력이 켜져 있습니다.페이스트빈
이제 아이디어가 없어졌습니다. 나는 내가 생각한 모든 것과 Google에서 찾을 수 있는 것을 모두 확인하고 시도했습니다. 내가 볼 수 있는 유일한 옵션은 Linux 커널 및/또는 무선 드라이버의 일종의 버그입니다. 하지만 확인을 받을 때까지 이 문제를 망치고 싶지 않습니다.
문제를 해결하도록 도와주세요.