[rt2x00-users] communication stops in AP mode
Juan Carlos Garza
juancarlosgarza at gmail.com
Sat Apr 30 01:14:16 EST 2011
Hi
On Fri, Apr 29, 2011 at 5:00 PM, Balint Viragh <bviragh at dension.com> wrote:
> Hi all,
>
> I am using the rt2x00 driver in an embedded device and I have noticed that
> sometimes the communication stops.
>
> Some detailed info of the system:
> I have tried two WiFi dongles with 3370 and 3070 chipsets:
> Bus 005 Device 011: ID 148f:3370 Ralink Technology, Corp.
> Bus 005 Device 015: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070
> Wireless Adapter
> uname -a:
> Linux (none) 2.6.35.10 #2 Thu Apr 28 16:28:52 CEST 2011 armv5tejl GNU/Linux
> head of the dmesg:
> [ 0.000000] Linux version 2.6.35.10 (balint at bviragh) (gcc version 4.3.4
> (crosstool-NG-1.8.0) ) #2 Thu Apr 28 16:28:52 CEST 2011
> [ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ),
> cr=00053177
> The used compat-wireless version is 2011-04-25, the IEEE80211_HW_SUPPORTS_PS
> flag is removed by a patch.
> I have also tried some of the new patches:
> http://git.kernel.org/?p=linux/kernel/git/ivd/rt2x00.git;a=commit;h=3897717649d3569f2a88b5976c7f3983271d4b1c
> http://git.kernel.org/?p=linux/kernel/git/ivd/rt2x00.git;a=commit;h=77e95f305548f39b6c506b62c775a3a04484d2d4
> Hostapd:
> I have tried 0.7.3 with assoc resp tx status patch:
> http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=commitdiff;h=b8281964afb1df98135418fc22a9fa240968d100
> and the newest version from hostap trunk also.
>
> The phenomena is similar that was reported by Hassan Rasid, except I do not
> see that error message in the log:
> http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-April/003483.html
>
> When the communication stops, only the beacon frames are sent by the device
> periodically.
> It is impossible to associate a client in this state, since there is no
> response for the probe requests.
> From this state the system can be restored by restarting hostapd
> (via my networking script, that brings up the network interface, starts
> hostapd and udhcpd, but it does not reload kernel modules).
>
> However I can observe the same symptoms, the "rt2x00queue_write_tx_frame:
> Error - Arrived at non-free entry in the non-full queue 2" messages are
> missing from the log.
>
> I can reproduce the phenomena about twice in ten restarts of the system,
> using the following scenario:
> * The device starts, udev detects the USB WiFi dongle and loads the
> rt2x00usb driver
> * udev starts the networking script that brings up the network interface,
> starts hostapd and udhcpd
> * A client detects the WiFi network and attempts to connect
> * At this time or after a while all communication stops when the bug could
> be reproduced.
> Sometimes a client can connect to the AP and the communication stops after
> that.
> Sometimes the client can authenticate successfully but DHCP packets are
> lost.
> Sometimes the client authentication fails.
>
> Monitoring the WiFi network by wireshark in this state, shows that only the
> periodic beacon frames are sent by the device.
>
> I can see the following messages reported periodically in dmesg, but these
> messages are also in the log, when the system works fine.
> [ 25.040000] phy0 -> rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA
> timed out, invoke forced forced reset
> [ 25.240000] phy0 -> rt2x00queue_flush_queue: Warning - Queue 2 failed to
> flush
>
> I have checked /sys/kernel/debug/ieee80211/phy0/rt2800usb/queue/queue when
> the communication stops:
> qid flags count limit length index dma done done
> 14 0x00000001 128 128 127 127 127 0
> 0 0x00000001 13 64 2 15 13 13
> 1 0x00000001 0 64 0 0 0 0
> 2 0x00000001 97 64 0 33 33 33
> 3 0x00000001 0 64 0 0 0 0
> 16 0x00000001 0 8 0 0 0 0
>
> Here is the log of a situation when the communication stops after a client
> has connected:
> [ 1.050000] usb 1-1: new full speed USB device using at91_ohci and
> address 2
> [ 1.560000] udev: starting version 136
> [ 2.240000] Compat-wireless backport release:
> compat-wireless-2011-04-14-3-g77081fd
> [ 2.240000] Backport based on linux-next.git next-20110421
> [ 2.980000] cfg80211: Calling CRDA to update world regulatory domain
> [ 5.070000] phy0 -> rt2x00_set_chip: Info - Chipset detected - rt: 3390,
> rf: 000b, rev: 3212.
> [ 5.190000] ieee80211 phy0: Failed to initialize wep: -2
> [ 5.190000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
> [ 5.240000] Registered led device: rt2800usb-phy0::radio
> [ 5.250000] Registered led device: rt2800usb-phy0::assoc
> [ 5.260000] Registered led device: rt2800usb-phy0::quality
> [ 5.290000] usbcore: registered new interface driver rt2800usb
> [ 6.510000] phy0 -> rt2x00lib_request_firmware: Info - Loading firmware
> file 'rt2870.bin'.
> [ 6.580000] phy0 -> rt2x00lib_request_firmware: Info - Firmware detected
> - version: 0.236.
> [ 9.560000] ieee80211 phy0: device now idle
> [ 9.810000] phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 -
> CWmin: 3, CWmax: 4, Aifs: 2, TXop: 102.
> [ 9.830000] phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 -
> CWmin: 4, CWmax: 5, Aifs: 2, TXop: 188.
> [ 9.850000] phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 -
> CWmin: 5, CWmax: 10, Aifs: 3, TXop: 0.
> [ 9.870000] phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 -
> CWmin: 5, CWmax: 10, Aifs: 7, TXop: 0.
> [ 13.680000] ieee80211 phy0: device no longer idle - in use
> [ 13.920000] phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 -
> CWmin: 3, CWmax: 4, Aifs: 2, TXop: 102.
> [ 13.940000] phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 -
> CWmin: 4, CWmax: 5, Aifs: 2, TXop: 188.
> [ 13.960000] phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 -
> CWmin: 5, CWmax: 10, Aifs: 3, TXop: 0.
> [ 13.980000] phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 -
> CWmin: 5, CWmax: 10, Aifs: 7, TXop: 0.
> [ 21.040000] phy0 -> rt2x00usb_watchdog_tx_dma: Warning - TX queue 0 DMA
> timed out, invoke forced forced reset
> [ 21.240000] phy0 -> rt2x00queue_flush_queue: Warning - Queue 0 failed to
> flush
> [ 22.040000] phy0 -> rt2x00usb_watchdog_tx_dma: Warning - TX queue 0 DMA
> timed out, invoke forced forced reset
> [ 22.240000] phy0 -> rt2x00queue_flush_queue: Warning - Queue 0 failed to
> flush
> [ 22.950000] ieee80211 phy0: Allocated STA 5c:59:48:b4:8f:82
> [ 22.950000] ieee80211 phy0: Inserted STA 5c:59:48:b4:8f:82
> [ 25.040000] phy0 -> rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA
> timed out, invoke forced forced reset
> [ 25.240000] phy0 -> rt2x00queue_flush_queue: Warning - Queue 2 failed to
> flush
> [ 26.040000] phy0 -> rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA
> timed out, invoke forced forced reset
> [ 26.240000] phy0 -> rt2x00queue_flush_queue: Warning - Queue 2 failed to
> flush
> [ 27.040000] phy0 -> rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA
> timed out, invoke forced forced reset
> [ 27.240000] phy0 -> rt2x00queue_flush_queue: Warning - Queue 2 failed to
> flush
> [ 31.040000] phy0 -> rt2x00usb_watchdog_tx_dma: Warning - TX queue 0 DMA
> timed out, invoke forced forced reset
> [ 31.240000] phy0 -> rt2x00queue_flush_queue: Warning - Queue 0 failed to
> flush
> [ 32.040000] phy0 -> rt2x00usb_watchdog_tx_dma: Warning - TX queue 0 DMA
> timed out, invoke forced forced reset
> [ 32.240000] phy0 -> rt2x00queue_flush_queue: Warning - Queue 0 failed to
> flush
>
> Thanks in advance!
>
> Best regards,
> Balint Viragh
>
>
>
> _______________________________________________
> users mailing list
> users at rt2x00.serialmonkey.com
> http://rt2x00.serialmonkey.com/mailman/listinfo/users_rt2x00.serialmonkey.com
>
I had some problems with AP in the past (similar configuration to
yours, but other erros) and Helmut Schaa recommended the following
patches (which at least worked for me), so try them, they might help,
I am not sure if they are already applied to the wireless-testing, as
they were only experimental.
[1] http://git.kernel.org/?p=linux/kernel/git/ivd/rt2x00.git;a=commit;h=878a2bbc20100d8bccf84cc058373fe7de2e6501
[2] http://git.kernel.org/?p=linux/kernel/git/ivd/rt2x00.git;a=commit;h=4f3ab1e88d8b5ce4852d075016ca784a00383452
[3] http://git.kernel.org/?p=linux/kernel/git/ivd/rt2x00.git;a=commit;h=c8cb3a0af064fb5d9cbbaa16bd2f308ba3b90ceb
[4] http://git.kernel.org/?p=linux/kernel/git/ivd/rt2x00.git;a=commit;h=66b096e6ad64f718425d2de9a70d82ba187d7db4
Best regards,
--
Juan Carlos Garza Fernández
More information about the users
mailing list