Wi-Fi 액세스 포인트로 라즈베리 파이를 설정했습니다. 이 시점에서 내가 하고 싶은 것은 ssh rpi 뿐입니다. 나는 1~6분마다 SSH 세션이 5~30초 동안 중단되는 것을 발견했습니다. 내 노트북은 AP에 연결된 유일한 클라이언트입니다. 노트북에서 AP 주소로 연속 ping을 설정하면 평균 ping 시간은 약 1~4ms인데 가끔 100~500ms 정도의 과도한 지연 시간이나 최대 5~30초의 타임아웃이 발생하는 경우도 있습니다. 이는 SSH 세션이 활성화되어 있는지 여부에 관계없이 발생합니다. 이에 비해 이더넷 포트에 ping을 실행하면 모든 지연 시간은 1ms 이하이고 시간 초과도 없습니다. 채널을 바꿔봤는데 아무것도 안되네요.
흥미롭게도, wifi 'n' 모드(현재 g에서 실행 중), wmm 및 ht_capab을 Hostapd.conf에서 비활성화하면 상황이 크게 개선되고 시간 초과가 거의 발생하지 않습니다. 이러한 기능이 비활성화된 경우 일반적인 핑 시간은 1-2ms이며 가끔 120ms 지연이 발생하는 경우도 있습니다.
lsmod는 다음 모듈을 표시합니다.
-Module Size Used by
-aes_generic 31536 1
-8021q 17966 0
-garp 6295 1 8021q
-stp 1969 1 garp
-llc 5440 2 stp,garp
-snd_bcm2835 15846 0
-snd_pcm 77560 1 snd_bcm2835
-snd_page_alloc 5145 1 snd_pcm
-snd_seq 53329 0
-snd_seq_device 6438 1 snd_seq
-snd_timer 19998 2 snd_pcm,snd_seq
-snd 58447 5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
-arc4 1676 2
-rt2800usb 14940 0
-rt2800lib 55351 1 rt2800usb
-rt2x00usb 11215 1 rt2800usb
-rt2x00lib 42334 3 rt2x00usb,rt2800lib,rt2800usb
-mac80211 273413 3 rt2x00lib,rt2x00usb,rt2800lib
-cfg80211 184163 2 mac80211,rt2x00lib
-rfkill 18202 2 cfg80211
-crc_ccitt 1522 1 rt2800lib
-leds_gpio 2235 0
-led_class 3562 2 leds_gpio,rt2x00lib
호스트 구성 파일
-interface=wlan0
-driver=nl80211
-ctrl_interface_group=0
-ssid=ivoPI
-hw_mode=g
-ieee80211n=1
-wmm_enabled=1
-channel=5
-#macaddr_acl=0
-auth_algs=3
-#ignore_broadcast_ssid=0
-wpa=3
-wpa_passphrase=*******
-wpa_key_mgmt=WPA-PSK
-wpa_pairwise=TKIP
-rsn_pairwise=CCMP
-ht_capab=[HT20][SHORT-GI-20] #[RX-STBC1]
누군가가 여기에서 도움을 줄 수 있다면 크게 감사하겠습니다. 건배
이보
위에서 다음과 같이 합니다.
이제 위의 WiFi 어댑터와 클라이언트 모드의 다른 어댑터를 사용해 보았습니다. 첫 번째 어댑터에는 rt3072 칩과 rtl2800usb/cfg80211 드라이버가 있습니다. 두 번째 어댑터에는 Realtek rtl8188us 칩과 r8712u 스테이징 드라이버가 있습니다. 각 어댑터는 전원이 공급되는 허브에 (개별적으로) 연결됩니다. Raspberry Pi가 이더넷에 연결되어 있지 않습니다.
첫 번째 어댑터에는 프로세서 로드가 낮고 셸 또는 셸 트래픽이 없기 때문에 일반적인 ping 결과가 없습니다. 지연 시간은 모든 곳에서 2ms에서 320ms 사이로 완전히 무작위로 보입니다. 가끔 시간 초과가 발생합니다. top이 0.01초로 실행 중일 때 핑은 2~3ms로 매우 안정적이었으며 가끔 단일 핑 대기 시간은 195~222ms였습니다. 약 20분 동안 5초의 시간 초과가 관찰되었습니다.
두 번째 어댑터는 프로세서 로드가 낮고 셸이 없거나 트래픽이 없는 셸입니다. 일반적인 ping 결과는 1-2ms입니다. 핑 결과는 일반적으로 매우 안정적입니다. 부하가 있는 경우 - 최대 0.01초 실행 시 핑 대기 시간은 약 2~3ms이며 가끔 단일 핑 대기 시간은 166~200ms입니다. 시간 초과가 관찰되지 않습니다.
그러면 우리는 이것으로부터 어떤 결론을 내릴 수 있습니까? 제가 보기에는 이것이 rtl2800usb/cfg80211 또는 기타 관련 구성 요소의 드라이버 문제인 것 같습니다. 계속해서 top을 실행하면 문제가 거의 해결되는데, 이건 좀 아깝네요! 아직도 가끔 시간 초과가 발생합니다. 프로세서 로드가 높아졌는지 아니면 TCP/IP 트래픽이 증가하여 개선이 되었는지는 아직 알 수 없습니다.
답변1
내 Raspberry Pi의 다른 무선 스틱에서도 동일한 문제가 발생합니다. 다양한 전원 공급 장치, 다양한 라즈베리 및 전원 공급 USB 허브를 사용해 보았습니다. 그래서 나는 Wi-Fi 'n' 모드를 비활성화하면 더 나은 결과를 wmm
얻을 수 있다는 귀하의 관찰을 볼 수 있을 만큼 운이 좋았습니다 ht_capab
. wmm
Wi-Fi 라우터 Asus RT-N66U(실행 / ) openwrt
에서 n 모드를 비활성화했고 핑 tomato
시간이 10-100ms에서 1-3ms로 감소했으며 연결이 매우 안정적입니다. 이전에는 연결이 자주 끊어지고(30~60분 후) 속도가 느려지는 경우가 많았습니다.
하지만 전체 Wi-Fi 네트워크에 대해 n-모드를 비활성화하는 것은 해결책이 아니어서 다른 제안을 찾았습니다(https://github.com/xbianonpi/xbian/issues/217):
/etc/modprobe.d/8192cu.conf
다음 줄을 포함하는 파일을 만듭니다.options 8192cu rtw_power_mgnt=0 rtw_enusbss=0
재시작
이렇게 하면 Wi-Fi 스틱과 USB 자동 일시 중지 절전 기능이 꺼집니다.
배터리 절약 모드가 꺼져 있는지 확인할 수 있습니다.
cat /sys/module/8192cu/parameters/rtw_power_mgnt
24시간 이후 두 개의 서로 다른 라즈베리의 WiFi 연결이 이제 안정적입니다. 핑 시간은 Wi-Fi 라우터에서 n-모드 및 wmm을 비활성화하는 것보다 약간 길지만(5-6ms) 약간의 변경만으로 매우 안정적입니다.
답변2
클라이언트로서 네트워크에서도 동일한 동작이 발생합니까? 나는 당신만큼 자세히 테스트하지는 않았지만 때때로 내 파이가 그런 경향이 있습니다. 나는 그것을 몇 주 동안만 가지고 있었고 그것을 8192cu 드라이버에 기인했습니다. 그렇지 않으면 버그가 있습니다. , 전원 허브에 직접 연결하는 경우에만 작동하지 않습니다.
이는 동글이 파이의 저전력 USB 포트 중 하나에 있어야 함을 의미합니다. 즉, 동글이 제공할 수 있는 최대한의 USB 포트입니다.USB 2.0 표준 500mA 대신 140mA(바라보다 여기) - 내 생각엔 이것이 확실히 Wi-Fi 장치에 문제를 일으키기 쉬운 것 같습니다. 5초마다 라우터에 핑을 보내도록 하고, 핑이 실패하면 다시 연결합니다(보통 이것을 처리하는 NetworkManager나 시스템 데몬을 사용하지 않습니다... 어쨌든 즉시 다시 연결하면 약 15초 정도 걸립니다). ; 로그를 보면 지난 30시간 동안 이런 일이 3번 발생했는데, 나쁘지는 않지만 아무 것도 하지 않습니다. 금요일에 나는 그것을 ssh를 통해 컴파일했고(그래서 오랫동안 프로세서를 계속해서 최대화했습니다) 이런 일이 꽤 자주 일어났습니다(어쩌면 5-10분에 한 번? 운 좋게도 SSH I/O가 약간 정지되었습니다).
문제가 지속되면 전원 허브에서 작동하는 더 강력한 어댑터를 얻게 될 수도 있습니다. 액세스 포인트로 사용하고 싶다면 반드시 외부 전원 허브를 사용해야 한다고 생각합니다(아직 사용하지 않은 경우). 분명히 그들은 일반적으로 내부적으로 규제하지 않으므로 각 포트는 500mA가 아닌 허브 용량(2-4A)까지 올라갈 수 있습니다. 이는 암시적인 인용문을 끌 수도 있음을 의미합니다.여기. Belkin 허브가 있고 허브의 전압은 2A 5V 충전기보다 약 0.05-0.1V 낮습니다. 이제 Wi-Fi 어댑터를 파이(작은 나노 어댑터)에 연결하면 전압이 0.05-0.1V 더 낮아집니다. 이는 내가 가지고 있는 멀티미터에 따르면 최적의 범위가 4.75-5.25V이므로 중요하지 않습니다. 나노 어댑터가 있는 허브 바닥유휴 상태일 때.
Ag 네트워크에서 작업하려면 n보다 느리기 때문에 Wi-Fi 어댑터가 덜 필요하다고 생각합니다.
아, 그런데, 거기엔rpi 스택 교환:)
답변3
내 Pi와 모듈 8192cu
에 동일한 문제가 있지만 문제를 해결하기 위한 이러한 제안을 얻을 수 없습니다.
마지막으로, 필사적으로 그 지역에서 사용할 수 있는 다른 Wi-Fi 액세스 포인트가 무엇인지 확인했고 놀랍게도 이웃이 내가 사용하고 있던 것과 동일한 채널에 새로운 Wi-Fi 네트워크를 설정했습니다. 다른 채널로 전환하면 문제가 해결되었습니다!
더 이상 20,000ms의 핑이나 40%의 패킷 손실이 없습니다. 정말 좋습니다! 때로는 가장 간단한 솔루션이 가장 어려운 솔루션이기도 합니다 :-)