일시적으로는
sudo iwconfig wlan0 power off
재부팅을 하기 전 까지 일시적으로는 가능하다
집에서 운영중인 개인 서버를 유선랜으로 연결했다가 위치를 옮기려고 무선랜(wifi)로 변경했다. 변경 후 특별한 문제가 없어보였는데 이상하게 개인서버에서 띄운 wordpress 로딩이 매우 느렸다. 처음엔 nginx에 어떤 latency 같은 게 있나 찾아봤는데 유사한 사례가 없었다.
증상으로는 처음으로 http request를 날리면 한참 후에야 response가 날라오는 것이다. 그 후로 request를 날리면 정상적으로 돌아왔고 또 시간이 지나면 response가 느려졌다. 혹시 네트워크가 절전모드로 빠지나 다음 명령으로 확인해봤다.
$ iwconfig
enp0s31f6 no wireless extensions.
lo no wireless extensions.
wlp2s0 IEEE 802.11 ESSID:"test"
Mode:Managed Frequency:2.442 GHz Access Point: AC:9E:17:70:74:78
Bit Rate=72.2 Mb/s Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=70/70 Signal level=-38 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:281 Missed beacon:0
docker0 no wireless extensions
역시나 wifi 디바이스가 Power Management 값이 on으로 설정되어 있었다. 결국엔 절전모드로 진입해서 문제가 발생하는 것이다.
구글링으로 몇몇 방법들을 시도해봤으나 ubuntu 18.04에서는 잘 동작되지 않았다. 그러다 다음 링크에서 나온 방법을 사용해보니 잘 동작해서 포스트로 남긴다.
$ sudo vi /etc/network/interfaces
위 파일에 manual로 네트워크 설정을 했었는데 아래와 같이 “wireless-power off”를 추가해주었다.
auto wlp2s0
iface wlp2s0 inet static
address 192.168.1.100
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-ssid test-ssid
wpa-key_mgmt WPA-PSK warnus_2.4
wpa-psk password
wireless-power off //이거다
위와 같이 적용 후 재부팅을 하면 Power Management 값이 off로 설정된다.