When I bought the X9S device, I did not know its WIFI was so not stable.
Sometimes, when I am watching movie, I have to disable/enable WIFI several times as the connection status will become fake and could not play movie for me.
This issue confused me for a long time and I could not fix it.
While several days ago, when I checked the kernel log, I found below information:
- [ 72.514156] RTW: rtw_set_ps_mode(wlan0) Enter 802.11 power save - WIFI-TRAFFIC_IDLE
- [ 72.523698] RTW: rtl8812_set_FwPwrMode_cmd: Mode=2 SmartPS=2 UAPSD=0
- [ 73.721096] RTW: rtw_set_ps_mode(wlan0) Leave 802.11 power save - WIFI-LPS_CTRL_LEAVE
- [ 73.729388] RTW: rtl8812_set_FwPwrMode_cmd: Mode=0 SmartPS=2 UAPSD=0
- [ 74.514328] RTW: rtw_set_ps_mode(wlan0) Enter 802.11 power save - WIFI-TRAFFIC_IDLE
- [ 74.522213] RTW: rtl8812_set_FwPwrMode_cmd: Mode=2 SmartPS=2 UAPSD=0
- [ 76.514363] RTW: traffic_status_watchdog(wlan0) acqiure wake_lock for 4500 ms(tx:93,rx_unicast:158)
- [ 76.523675] RTW: rtw_set_ps_mode(wlan0) Leave 802.11 power save - WIFI-TRAFFIC_BUSY
- [ 76.531603] RTW: rtl8812_set_FwPwrMode_cmd: Mode=0 SmartPS=2 UAPSD=0
So it seems X9S has the WIFI power save mode enabled, and run below command to confirm my assumption.
- root@X9S:~# iw wlan0 get power_save
- Power save: on
I wanted to disable it automatically and wrote some simple commands to the /etc/rc.local file.
- root@X9S:~# cat /etc/rc.local
- # Put your custom commands here that should be executed once
- # the system init finished. By default this file does nothing.
- IPADDR=192.168.13.25
- while true; do
- /sbin/ifconfig | grep "$IPADDR" >/dev/null
- if [ $? -ne 0 ]; then
- sleep 1
- else
- /sbin/ifconfig >/var/log/wlan
- /usr/sbin/iw wlan0 set power_save off >> /var/log/wlan
- break
- fi
- done &
- exit 0
The IPADDR is the assigned ip of the wireless adapter and after such change I played two movies and it worked really well.
Update: I found another more important reason of this issue was about the SMB settings on the DSM system, please check below screen shot: