네트워크 카드에 성능 문제가 있습니다. 잠시 후 인터넷이 끊어지지만 Wi-Fi 연결 수준은 변경되지 않습니다. 동일한 Wi-Fi 핫스팟에 다시 연결하면 이 문제를 해결할 수 있습니다.
인터넷 연결을 지속적으로(예: 10초마다) 확인하고 연결이 끊어지면 스크립트가 Wi-Fi에 다시 연결되는 해결 스크립트를 작성하고 싶습니다. 사용하고 싶지만 설명서에는 ping
자동화 스크립트에 사용하는 것이 현명하지 않다고 나와 있습니다.ping
$ uname -a
Linux NS-COMP 4.11.0-13-generic #19~16.04.1-Ubuntu SMP Wed Aug 2 20:06:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ lspci -knn | grep Net -A2
03:00.0 Network controller [0280]: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe [1814:3290]
Subsystem: Foxconn International, Inc. RT3290 Wireless 802.11n 1T/1R PCIe [105b:e055]
Kernel driver in use: rt2860
답변1
Wi-Fi 연결이 계속 끊어지는 이유:
~에 따르면데비안 문서현재 로드된 것 rt2800pci
대신에 사용해야 합니다 . rt2860
문제를 해결하기 위해 다시 연결 스크립트를 실행할 필요는 없습니다.
Bash 스크립트 예
Wi-Fi 연결이 끊어졌을 때(커널 모듈 다시 로드 + 다시 연결) 연결하기 위해 bash 스크립트를 실행해야 하는 경우 샘플 bash 스크립트는 다음과 같습니다 reconnect
.
#!/bash/bash
if ! [ "$(ping -c1 8.8.8.8)" ]
then
modprobe -r rt2860
modprobe rt2800pci
ip link set wlan0 down
ip link set wlan0 up
fi
reconnect
10초마다 스크립트를 실행합니다.
while true ; do ./reconnect & sleep 10 ; done &
몇 시간 후에 Wi-Fi가 오프라인 상태가 되면 1시간마다 스크립트를 실행하는 크론 작업을 만드는 것이 좋습니다.여기 몇 가지 예가 있어요