허용 가능한 패킷 손실률(< 0.5%)을 얻으려면 IEEE 802.11g 네트워크 인터페이스 컨트롤러의 전송 속도를 줄여야 합니다. 그렇지 않으면 패킷 손실률이 매우 높아집니다(일반적으로 > 50%이지만 동일함). NetworkManager를 사용하여 네트워크 연결을 처리하지만 (적어도 이 데비안 버전에서는) 전송 속도를 줄이는 옵션이 없으므로 sudo iwconfig wlan0 rate 1M
컴퓨터를 켤 때마다 명령줄을 통해 수동으로 수행합니다.
전송 속도가 기본적으로 1Mbit/s가 되도록 GNU/Linux 시스템을 구성하려면 어떻게 해야 합니까(컴퓨터를 시작할 때마다 수동으로 설정할 필요 없이)?
참고: 하나의 무선 네트워크에만 연결되어 있지만 컴퓨터를 켤 때마다 항상 사용할 수 있는 것은 아니며(기술적인 문제가 아니라 해당 위치에 있지 않기 때문입니다) 연결이 즉시 이루어지지 않습니다. 그래서 이 문제를 해결하고 실행하기 위해 그래픽 환경에 로그인할 때 실행되는 A 스크립트를 만들어 작동하게 할 수 없습니다 iwconfig lwan0 rate 1M
.
미리 감사드립니다.
답변1
인터페이스가 나타날 때까지(DHCP가 완료될 때까지) 설정을 기다릴 수 있는 경우 인터페이스가 나타날 때 스크립트를 실행하는 몇 가지 방법이 있습니다.
데비안 방식은 스크립트를 /etc/network/if-up.d/
. 인터페이스 이름과 기타 사항은 환경 변수를 사용하여 스크립트에 전달됩니다. 예제 스크립트:
if [ "$IFACE" = "wlan0" ] ; then
if iwconfig "$IFACE" | fgrep -q 'ESSID:"My Wireless Network"' ; then
iwconfig wlan rate 1M
fi
fi
NetworkManager 방식은 스크립트를 /etc/NetworkManager/dispatcher.d/
. 여기서는 인터페이스 이름이 첫 번째 명령줄 인수로 전달됩니다. 스크립트는 기본적 "$IFACE"
으로 동일해 보입니다 "$1"
. 실제로 디렉토리를 살펴보면 01ifupdown
NetworkManager가 "Debian 방식" 스크립트를 실행하도록 하는 호환성 스크립트를 볼 수 있습니다.
Debian 스타일 스크립트 작성에 대한 자세한 내용은 man 5 interfaces
"IFACE 옵션" 섹션을 읽어보세요.