Dell XPS의 Linux: AX201 Wi-Fi 성능 수정

4230 단어 linux
저는 Dell XPS 13 9310의 Linux에 매우 만족합니다. 최신 버전의 Fedora(이 글을 쓰는 시점에 35개, 곧 36개로 업그레이드될 예정)를 사용합니다.

그러나 Wi-Fi 연결은 절전 기능을 끄면 성능이 훨씬 좋아진다는 것을 알기까지 몇 달 동안 큰 어려움을 겪었습니다. 절전 기능을 켜면 좌우 패킷이 자주 손실됩니다. 이것은 일반적인 핑 세션이었습니다.

[bowmanjd@lappy386 ~]$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=223 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=1.15 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=64 time=15.3 ms
64 bytes from 192.168.0.1: icmp_seq=6 ttl=64 time=1.56 ms
^C
--- 192.168.0.1 ping statistics ---
6 packets transmitted, 4 received, 33.3333% packet loss, time 5075ms
rtt min/avg/max/mdev = 1.147/60.182/222.714/94.010 ms


처음 두 개의 삭제된 패킷에 유의하십시오. 때로는 더, 때로는 덜. 처음에는 무선 액세스 포인트를 탓했지만 다른 어떤 클라이언트 장치에서도 이 문제가 발생하지 않았습니다. 마지막으로 XPS에서 Windows로 부팅하고 훨씬 더 나은 무선 성능을 확인했습니다. 분명히 이것은 일종의 드라이버 문제입니다.

이에 대한 다양한 솔루션이 있을 수 있으며 언젠가는 커널에서 수정될 것이라고 생각하지만 현재 해결 방법은 다음과 같습니다.

NetworkManager 솔루션



NetworkManager를 사용하는 Linux 배포판의 경우 새 구성 파일을 /etc/NetworkManager/conf.d/ 디렉토리에 추가하십시오. 내용과 함께 disable_power_save.conf와 같은 이름을 지정합니다.

[connection]
wifi.powersave = 2


먼저 sudo 또는 이와 유사한 방법을 사용하여 루트로 승격합니다.

하나의 명령으로 모든 작업을 수행할 수 있습니다.

printf "[connection]\nwifi.powersave = 2\n" | sudo tee /etc/NetworkManager/conf.d/disable_power_save.conf


그런 다음 다음을 사용하여 NetworkManager를 다시 시작합니다.

sudo systemctl restart NetworkManager


ping으로 성능을 테스트하면 현저한 개선이 있어야 합니다.

wifi.powersave 구성 옵션



NetworkManager에는 powersave를 포함하여 무선 어댑터 설정에 대해 구성 가능한 여러 옵션이 있습니다. 할 수 있습니다read about them in the API documentation. 여기에서 다음powersave 옵션을 발견합니다.
  • NM_SETTING_WIRELESS_POWERSAVE_DEFAULT(0)(전역적으로 구성된 값 사용).
  • NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1)(현재 구성된 설정을 건드리지 마십시오)
  • NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2)(Wi-Fi 절전 비활성화)
  • NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3)(Wi-Fi 절전 활성화)

  • 이 경우 Wi-Fi 절전 기능을 비활성화하고 싶습니다. 따라서 구성 파일의 값 2는 다음과 같이 설정됩니다.

    [connection]
    wifi.powersave = 2
    


    무선 카드의 절전 설정 감지 및 설정



    NetworkManager를 사용하거나 사용하지 않고 AX201 및 기타 Wi-Fi 카드의 절전 설정은 iw 명령으로 읽을 수 있습니다.

    먼저 iw dev로 무선 어댑터 이름을 찾거나 이름만 가져옵니다.

    iw dev | grep -o 'Interface.*'
    


    무선 어댑터는 "wl"로 시작합니다. 내 것은 wlp0s20f3 이므로 현재 절전 설정을 얻으려면 다음 작업을 수행하십시오.

    iw dev wlp0s20f3 get power_save
    


    이미 NetworkManager 구성을 변경하고 NetworkManager를 다시 시작한 경우 결과는 Power save: off 이어야 합니다.

    비슷한 명령을 사용하여 power_save를 다시 켤 수 있습니다.

    iw dev wlp0s20f3 set power_save on
    


    다른 솔루션을 기다리는 중...



    물론 새로운 커널 릴리스와 함께 드라이버 솔루션이 곧 제공되기를 바랍니다. 아마도 위의 솔루션은 장기적으로 필요하지 않을 것입니다. 이 문제를 해결하는 다른 방법을 접했다면 언제든지 의견을 사용하십시오!

    기타 리소스



  • Jean-Christophe Berthon's gist NetworkManager 스크립트 및 메모 포함
  • javamarket's comments in this archlinux forum topic
  • 좋은 웹페이지 즐겨찾기