Ich verwende den rt2800usb-Treiber (mit einem RT5370-USB-Dongle) und konfiguriere meinen Raspberry Pi als WiFi-Hotspot mit Hostapd. Das Problem ist, dass ich regelmäßig Timeouts bekomme (siehe Beispiel). Dies wäre kein Problem, wenn ich mein RPi nicht als Fernbedienung für einen Quadcopter verwenden würde. Es scheint unabhängig davon zu sein, wie ich mein RPi mit Strom versorge, und es passiert mit allen Ralink-WLAN-Dongles dieses Typs, die ich habe.
Antwort von 192.168.42.1: Bytes=32 Zeit=1ms TTL=64
Antwort von 192.168.42.1: Bytes=32 Zeit=1ms TTL=64
Antwort von 192.168.42.1: Bytes=32 Zeit=1ms TTL=64
Zeitüberschreitung der Anforderung.
Antwort von 192.168.42.1: Bytes=32 Zeit=1ms TTL=64
Antwort von 192.168.42.1: Bytes=32 Zeit=1ms TTL=64
Antwort von 192.168.42.1: Bytes=32 Zeit=1ms TTL=64
dmesg Ausgabe:
[ 2606.960813] ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 6 in queue 2
[ 2606.960897] ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 6 in queue 2
[ 2606.960925] ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 6 in queue 2
[ 2606.961001] ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
[ 2606.961052] ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 8 in queue 2
[ 2606.961093] ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 9 in queue 2
[ 2606.961133] ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 10 in queue 2
[ 2606.961174] ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 11 in queue 2
[ 2608.352291] ieee80211 phy0: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
[ 2608.352524] ieee80211 phy0: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
[ 2608.352766] ieee80211 phy0: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
[ 2608.353014] ieee80211 phy0: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
[ 2608.353262] ieee80211 phy0: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
[ 2608.353511] ieee80211 phy0: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
Ich habe eine kleine Grafik als Illustration vorbereitet. Ich habe meine eigene Ping-Funktion implementiert (mit variablen Timings aus Testgründen) und sehe alle ~ 12s eine Zeitüberschreitung (rot durch eine kleine Lücke gekennzeichnet). Ich glaube, der normale Benutzer wird diese Zeitüberschreitungen nicht bemerken, wenn er nur im Internet surft.
quelle
Antworten:
Es scheint ein bekanntes Problem zu sein. Nach allem, was ich gefunden habe, können wir nur Folgendes tun:
und deaktivieren Sie die Hardware-Verschlüsselung (so wird dies in der Software durchgeführt). Bearbeiten oder erstellen Sie /etc/modprobe.d/rt2800usb.conf:
Vergessen Sie auch nicht, /lib/firmware/rt2870.bin gemäß diesem Artikel http://www.raspberrypi.org/forums/viewtopic.php?t=22623 von der MediaTek-Website zu aktualisieren !
Firmware-Versionen als Referenz:
Die Firmware-Version wird beim Booten auf dmesg in der folgenden Zeile gedruckt:
rt2x00lib_request_firmware: Info - Firmware erkannt - Version:
quelle
Nach dem Update auf den neuesten Kernel habe ich 4 Stunden gebraucht, ohne fast so viele dieser Fehler zu machen. Verwenden Sie
rpi-update
diese Option, um Ihren Kernel zu aktualisieren.Als Referenz ist mein
uname -a
:Ich bekomme immer noch
rt2800usb_entry_txstatus_timeout
gelegentlich Fehler, aber es füllte mein dmesg. Ich bekomme dieGot TX status for an empty queue
Fehler nicht mehr .Aktualisieren:
Sprach zu früh. Mein Pi war 7 Stunden lang viel besser und bekam dann wieder eine Flut von Fehlern. Ich konnte nicht herausfinden, was die Fehlerfluten auslöst. Das Problem scheint nicht auf Raspberry Pi beschränkt zu sein (auch auf OpenWRT , Fedora , Kernel.org ). Es scheint, als würden einige Leute berichten, dass für eine bestimmte Zeit alles normal ist, bevor die Fehler auftreten.
quelle
Ich habe heute Morgen den Kernel aktualisiert (von Linux alarmpi 3.12.26-2-ARCH auf Linux alarmpi 3.12.28-2-ARCH) und seitdem mein Tagebuch mit gefüllt
rt2800usb_entry_txstatus_timeout: Warnung - Zeitlimit für TX-Status für Eintrag 6 in Warteschlange 2
Möglicherweise keine saubere Lösung, aber durch das Herabstufen des Kernels auf die vorherige Version funktionierten die Dinge wieder (mehr als 7 Stunden später).
quelle
Ich benutze ein Himbeer B +, Linux 3.12.32+, mit Wipi Wifi-Dongle. Der Pi befindet sich in einem Audio-Vorverstärker, wobei der WLAN-Dongle von außen über ein Verlängerungs-USB-Kabel (Typ A an der Schalttafel) angeschlossen ist. Es ist wichtig, dass die USB-Kabelmasse fest mit dem Gehäuse des Vorverstärkers verbunden ist. Andernfalls erhalten wir genau die in der Frage gezeigten Fehlermeldungen. Ich habe keine Verbesserung mit neueren rasbian oder aktualisierten Versionen von rt2870.bin (getestet v0.36) gesehen. In einigen Umgebungen können die dmesg-Fehlermeldungen auf Funkverschmutzung in unmittelbarer Nähe des WLAN-Funkgeräts zurückzuführen sein (Motoren erzeugen Frequenzen, die Funkgeräte stören können). Versuchen Sie, den Abstand zwischen dem Radio und der Störung zu maximieren und / oder die Funkabschirmung zu verbessern.
quelle