Modify

Opened 4 years ago

Last modified 7 days ago

#12313 new defect

RT305X Dir-300B1 rt2x00queue_write_tx_frame: Error

Reported by: janegle@… Owned by: developers
Priority: high Milestone: Barrier Breaker 14.07
Component: base system Version: Attitude Adjustment 12.09 Beta
Keywords: rt2x00queue_write_tx_frame: Error Cc:

Description

RT305X Dir-300B1 wifi unable to connect
and
dmesg

[492904.800000] br-lan: received packet on eth0.1 with own address as source address
[492909.510000] device wlan0 left promiscuous mode
[492909.520000] br-lan: port 2(wlan0) entered disabled state
[492911.320000] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[492911.340000] device wlan0 entered promiscuous mode
[492911.460000] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[492911.970000] br-lan: port 2(wlan0) entered forwarding state
[492911.980000] br-lan: port 2(wlan0) entered forwarding state
[492911.990000] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[492913.980000] br-lan: port 2(wlan0) entered forwarding state
[492916.040000] phy0 -> rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2.
[492916.040000] Please file bug report to http://rt2x00.serialmonkey.com.
[492925.370000] phy0 -> rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
[492925.370000] Please file bug report to http://rt2x00.serialmonkey.com.
[493030.240000] br-lan: received packet on eth0.1 with own address as source address

/etc/config/wireless

config wifi-device 'radio0'

option type 'mac80211'
option channel '6'
option macaddr '00:24:01:ff:77:7c'
option hwmode '11ng'
option htmode 'HT40+'
list ht_capab 'GF'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'TX-STBC2'
option disabled '0'
option noscan '1'
option frag '2346'
option rts '2346'
option dtim_period '100'
option beacon_int '100'

config wifi-iface

option device 'radio0'
option mode 'ap'
option ssid 'AkuoWLAN'
option encryption 'psk2+aes'
option key 'afdfdfdfdsf'
option network 'lan'

And I restart wifi,it appear again.so just reboot.
I also change some wifi option,but it would display the error.And wifi cannot be connected.If connected ,client cannot ping the router.

Attachments (0)

Change History (37)

comment:1 Changed 2 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

comment:3 Changed 22 months ago by anonymous

I also encountered this problem. But I found, if you don't use encryption on wifi setting, this annoyance will disappear.

comment:4 Changed 16 months ago by anonymous

It is still here, OpenWrt Chaos Calmer r44945

comment:5 Changed 13 months ago by Diftraku

This is still present as of r45918 (Chaos Calmer 15.05-RC2, nightly build). The device I have is a D-Link DIR-615 H1/H2 (more or less identical).

OpenWRT version: "Chaos Calmer" 15.05-rc2 r45918
Linux Kernel: 3.18.14
Platform: ramips/rt305x
Device: D-Link DIR-615-H1/H2
Installed kmod's for Realtek:

# opkg list-installed | grep rt
kmod-rt2800-lib - 3.18.14+2015-03-09-3
kmod-rt2800-mmio - 3.18.14+2015-03-09-3
kmod-rt2800-soc - 3.18.14+2015-03-09-3
kmod-rt2x00-lib - 3.18.14+2015-03-09-3
kmod-rt2x00-mmio - 3.18.14+2015-03-09-3

Output of dmesg (truncated):

[   69.780000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
...
[  122.370000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
...
[  122.430000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
...
[ 2120.910000] rt305x-esw 10110000.esw: link changed 0x00
[ 2122.380000] ieee80211 phy0: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush
[ 2122.520000] rt305x-esw 10110000.esw: link changed 0x08
[ 2122.600000] ieee80211 phy0: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush
[ 2122.630000] rt305x-esw 10110000.esw: link changed 0x18
...
[ 2165.500000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2
[ 2165.500000] Please file bug report to http://rt2x00.serialmonkey.com

Output of logread (truncated):

...
Sun Jun 28 20:48:22 2015 kern.err kernel: [ 2165.500000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2
Sun Jun 28 20:48:22 2015 kern.err kernel: [ 2165.500000] Please file bug report to http://rt2x00.serialmonkey.com
...

So far, only restarting the device (which forces the reload of the kernel mods and resets the wireless chips) helps to re-enable the Wi-Fi. I had this issue pop up on the stable build of "Barrier Breaker" after a long while of no problems other than occasional issues of not connecting to the Wi-Fi on my Galaxy S4 on enable.

comment:6 follow-up: Changed 13 months ago by anonymous

I discovered that the problem occurs with kernel 3.14 and newer. With 3.10 wifi is working as expected

comment:7 in reply to: ↑ 6 Changed 13 months ago by anonymous

Replying to anonymous:

I discovered that the problem occurs with kernel 3.14 and newer. With 3.10 wifi is working as expected

With kernel 3.10.49 wifi has this problem too.

comment:8 Changed 12 months ago by anonymous

Choas Calmer rev 42618 is the first with kernel 3.14.18 for lantiq.
On my ARV752DPW iw dev wlan0 scan shows nothing. After that I patched the sources to use the old kernel 3.10.49. With that kernel iw scan is working as expected.

comment:9 Changed 12 months ago by stixpjr

On r46317 Choas Calmer:

Linux version 3.18.18 (openwrt@gb-15) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r46317) ) #1 Tue Jul 14 09:57:57 UTC 2015
SoC Type: Ralink RT3883 ver:1 eco:5
CPU0 revision is: 0001974c (MIPS 74Kc)
MIPS: machine is Asus RT-N56U

Seeing the following error:

[1026921.970000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[1026921.990000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2

endpoints fail to connect, so down && up:

[1034272.040000] device wlan0 left promiscuous mode
[1034272.050000] br-lan: port 2(wlan0) entered disabled state
[1034272.300000] ieee80211 phy0: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush
[1034272.520000] ieee80211 phy0: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush
[1034283.460000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[1034283.480000] device wlan0 entered promiscuous mode
[1034283.820000] br-lan: port 2(wlan0) entered forwarding state
[1034283.830000] br-lan: port 2(wlan0) entered forwarding state
[1034283.840000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[1034285.830000] br-lan: port 2(wlan0) entered forwarding state
[1034289.020000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2
[1034289.020000] Please file bug report to http://rt2x00.serialmonkey.com

Bah. Done debugging, reboot.

comment:10 Changed 11 months ago by sailer.aleks@…

WT3020 Chaos Calmer 15.05-rc3
The same problem.
WIFI works but after few hours it stops working. WIFI is still on and can be discovered.
DHCP hears WIFI clients and allocates IP addresses.
However, any devices are not able to get IP address over WIFI connection.
The problem is gone temporarily after restart but reappears soon.

[    0.000000] Linux version 3.18.17 (buildbot@builder1) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r46018) ) #1 Fri Jul 3 19:55:36 CEST 2015
[    0.000000] Board has DDR1
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: Ralink MT7620N ver:2 eco:6
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[    0.000000] MIPS: machine is Nexx WT3020
........
[   14.100000] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5390, rev 0500 detected
[   14.120000] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 7620 detected
[   14.130000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[168864.660000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[168864.680000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[168864.700000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[168864.720000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[168864.740000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[168864.760000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[168864.770000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[168864.790000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[168864.810000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2

comment:11 Changed 9 months ago by auetal@…

Same problem here... D-Link DIR615 Rev. D3

[    0.000000] Linux version 3.18.21 (hauetaler@ffobk-dev) (gcc version 4.8.3 (
OpenWrt/Linaro GCC 4.8-2014.04 r47188) ) #1 Sat Oct 17 07:39:44 CEST 2015
[    0.000000] SoC Type: Ralink RT3052 id:1 rev:3
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)
[    0.000000] MIPS: machine is D-Link DIR-615 D
.
.
.
.
[   33.710000] ------------[ cut here ]------------
[   33.720000] WARNING: CPU: 0 PID: 1277 at /home/hauetaler/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_rt305x/compat-wireless-2015-03-09/drivers/net/wireless/rt2x00/rt2800lib.c:1095 rt2800_get_txwi_rxwi_size+0x19c/0x268 [rt2800lib]()
[   33.770000] Modules linked in: rt2800soc rt2800mmio rt2800lib pppoe ppp_async iptable_nat rt2x00soc rt2x00mmio rt2x00lib pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 mac80211 ipt_REJECT ipt_MASQUERADE ebtable_nat ebtable_filter ebtable_broute cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_id xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT slhc nf_reject_ipv4 nf_nat_masquerade_ipv4 nf_nat_ftp nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack_ftp nf_conntrack iptable_raw iptable_mangle iptable_filter ip_tables ebtables ebt_vlan ebt_stp ebt_snat ebt_redirect ebt_pkttype ebt_mark_m ebt_mark ebt_limit ebt_ip6 ebt_ip ebt_dnat ebt_arpreply ebt_arp ebt_among ebt_802_3 crc_itu_t crc_ccitt compat sch_teql sch_sfq sch_red sch_prio sch_pie sch_htb sch_gred sch_fq sch_dsmark sch_codel em_text em_nbyte em_meta em_cmp act_ipt act_skbedit act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw sch_hfsc batman_adv libcrc32c ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables tun ipv6 eeprom_93cx6 arc4 crypto_blkcipher leds_gpio act_police cls_basic sch_tbf sch_ingress gpio_button_hotplug crc16 crc32c_generic crypto_hash
[   33.990000] CPU: 0 PID: 1277 Comm: hostapd Not tainted 3.18.21 #1
[   34.010000] Stack : 00000000 00000000 00000000 00000000 803241f2 00000035 00000000 80da402c
[   34.010000]    00000001 80d53d40 8028f030 802e0ac3 000004fd 8032341c 80fc3790 80d53d40
[   34.010000]    00000008 0000001c 00000001 80046e58 00000003 80023e00 00000447 80d53d40
[   34.010000]    80292544 80fa9cc4 00000000 00000000 00000000 00000000 00000000 00000000
[   34.010000]    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   34.010000]    ...
[   34.080000] Call Trace:
[   34.080000] [<80013c78>] show_stack+0x50/0x84
[   34.090000] [<80023f08>] warn_slowpath_common+0x84/0xb4
[   34.100000] [<80023fc0>] warn_slowpath_null+0x18/0x24
[   34.110000] [<80da402c>] rt2800_get_txwi_rxwi_size+0x19c/0x268 [rt2800lib]
[   34.130000]
[   34.130000] ---[ end trace 6f8dd5afc33a9411 ]---


[10559.810000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[10559.830000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[10559.840000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[10559.860000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2

comment:12 Changed 9 months ago by Python1320

"wifi down;wifi up" revives the connection also on ARV7510PW (w. box, black antenna). Wired it to the unused WPS button. No need to reboot or reload kernel modules manually, finally.

Also, not sure if it has been said yet, but it looks like "Dropping frame due to full tx queue 2" happens only with a lot of traffic and not by waiting for the bug to happen for days. Haven't figured out which direction causes it if not both yet though.
So far it seems just a single big file transfer over windows file transfer in either direction between WiFi and ethernet device crashes the WiFi.

I would really like to get this thing fixed because RDP crashes the WiFI constantly. I can't help much with the driver side, but I could provide 24/7 shell/UART access to a spare ARV7510PW and a nearby WiFi client if some developer needs to do live testing.
Alternatively I can try compiling and running patched code and see if I can still trigger the bug, this device can't brick because of UART mode. I'm reachable on IRC.

comment:13 Changed 9 months ago by anonymous

Seems to be present in 4.1.x branch as well :/

comment:14 Changed 8 months ago by saidi

Still present in r47197 - Linux version 4.1.10

root@OpenWrt:~# uname -a
Linux OpenWrt 4.1.10 #7 Fri Oct 16 10:57:35 UTC 2015 mips GNU/Linux
root@OpenWrt:~# cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='Bleeding Edge'
DISTRIB_REVISION='r47197'
DISTRIB_CODENAME='designated_driver'
DISTRIB_TARGET='brcm63xx/generic'
DISTRIB_DESCRIPTION='OpenWrt Designated Driver r47197'
DISTRIB_TAINTS='no-all'
root@OpenWrt:~# dmesg |grep chip
[   14.833984] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3070, rev 0201 detected
[   14.875461] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0005 detected
root@OpenWrt:~# dmesg |grep firm
[   30.345772] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[   30.371362] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29
[  159.852999] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  160.003533] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 9 in queue 2                                                       
[  282.872600] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  283.656790] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 14 in queue 2                                                      
[  301.356902] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 6 in queue 2                                                       
[  308.045146] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 4 in queue 2                                                       
[  308.071095] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  312.072849] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  313.073225] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  313.506148] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 4 in queue 2                                                       
[  314.073725] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  314.431157] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 3 in queue 2                                                       
[  315.073974] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  330.793982] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 14 in queue 2                                                      
[  331.079726] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  333.080348] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  333.480588] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 9 in queue 2                                                       
[  334.080852] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  337.081754] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  339.968025] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 11 in queue 2                                                      
[  340.030139] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 11 in queue 2                                                      
[  402.070341] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  403.069851] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  404.069224] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  404.257020] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 4 in queue 2                                                       
[  404.410771] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 13 in queue 2                                                      
[  410.065874] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  411.065351] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset                             
[  452.991032] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 10 in queue 2                                                      
[  516.969317] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 15 in queue 2
[  523.743445] ieee80211 phy0: rt2800usb_txdone: Warning - Data pending for entry 15 in queue 2
[  533.058599] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset

I noticed this happen if the router is running for a day or so, it's like the temperature of the chips have something to do with it.

Last edited 8 months ago by saidi (previous) (diff)

comment:15 follow-up: Changed 8 months ago by saidi

I built openwrt from source with the warning code removed from rt2800 driver, the overall performance is much better and kernel log is clean.
Also i added a cron job that will put the interface down from 1:am to 6:am when now one is using it.
It would be cool if we disable this unhelpful warnings in the main source.
Hope that help.

comment:16 Changed 7 months ago by osuro

I started getting similar problems with my Asus RT-N56U router, WiFi works for a while until it suddenly dies. It only affects 2.4 Radio, 5 seems to work as usual.

Kernel traces shows the following

[ 4521.180000] ieee80211 phy0: rt2800mmio_txstatus_is_spurious: Warning - 4 spurious TX_FIFO_STATUS interrupt(s)
[ 4521.200000] ieee80211 phy0: rt2800mmio_txdone: Warning - Got TX status for an empty queue 3, dropping
[ 4574.150000] ieee80211 phy0: rt2800mmio_txstatus_is_spurious: Warning - 4 spurious TX_FIFO_STATUS interrupt(s)
[ 4574.170000] ieee80211 phy0: rt2800mmio_txdone: Warning - Got TX status for an empty queue 3, dropping
[ 4625.220000] ieee80211 phy0: rt2800mmio_txstatus_is_spurious: Warning - 4 spurious TX_FIFO_STATUS interrupt(s)
[ 4625.240000] ieee80211 phy0: rt2800mmio_txdone: Warning - Got TX status for an empty queue 2, dropping
[ 4752.700000] ieee80211 phy0: rt2800mmio_txstatus_is_spurious: Warning - 4 spurious TX_FIFO_STATUS interrupt(s)
[ 4752.720000] ieee80211 phy0: rt2800mmio_txdone: Warning - Got TX status for an empty queue 2, dropping
[ 5464.490000] ieee80211 phy0: rt2800mmio_txstatus_is_spurious: Warning - 4 spurious TX_FIFO_STATUS interrupt(s)
[ 5464.510000] ieee80211 phy0: rt2800mmio_txdone: Warning - Got TX status for an empty queue 2, dropping
[25317.350000] nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. Use the iptables CT target to attach helpers instead.
[87306.560000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2

And then...

[87745.300000] ------------[ cut here ]------------
[87745.310000] WARNING: CPU: 0 PID: 7639 at /home/buildbot/slave-local/ramips_rt3883/build/build_dir/target-mipsel_74kc+dsp2_uClibc-0.9.33.2/linux-ramips_rt3883/compat-wireless-2015-03-09/drivers/net/wireless/rt2x00/rt2800lib.c:1095 0x8718402c [rt2800lib@87180000+0x15f60]()
[87745.360000] Modules linked in: rt2800soc rt2800pci rt2800mmio rt2800lib pppoe ppp_async iptable_nat rt2x00soc rt2x00pci rt2x00mmio rt2x00lib pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 mac80211 ipt_REJECT ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_id xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT slhc nf_reject_ipv4 nf_nat_masquerade_ipv4 nf_nat_ftp nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack_ftp nf_conntrack iptable_raw iptable_mangle iptable_filter ip_tables crc_itu_t crc_ccitt compat ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables ipv6 eeprom_93cx6 arc4 crypto_blkcipher leds_gpio ohci_platform ohci_hcd ehci_platform ehci_hcd gpio_button_hotplug usbcore nls_base usb_common
[87745.510000] CPU: 0 PID: 7639 Comm: luci Not tainted 3.18.20 #1
[87745.530000] Stack : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[87745.530000] 	  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[87745.530000] 	  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[87745.530000] 	  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[87745.530000] 	  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[87745.530000] 	  ...
[87745.600000] Call Trace:[<80013964>] 0x80013964
[87745.610000] [<80013964>] 0x80013964
[87745.610000] [<8718402c>] 0x8718402c [rt2800lib@87180000+0x15f60]
[87745.620000] [<80023b74>] 0x80023b74
[87745.630000] [<8718402c>] 0x8718402c [rt2800lib@87180000+0x15f60]
[87745.640000] [<87190000>] 0x87190000 [rt2800lib@87180000+0x15f60]
[87745.660000] [<80023c2c>] 0x80023c2c
[87745.660000] [<87225830>] 0x87225830 [mac80211@87200000+0x580f0]
[87745.670000] [<8718402c>] 0x8718402c [rt2800lib@87180000+0x15f60]
[87745.690000] [<87184368>] 0x87184368 [rt2800lib@87180000+0x15f60]
[87745.700000] [<870cb7e0>] 0x870cb7e0 [rt2x00lib@870c8000+0x7730]
[87745.710000] [<870c8020>] 0x870c8020 [rt2x00lib@870c8000+0x7730]
[87745.720000] [<870cc1d8>] 0x870cc1d8 [rt2x00lib@870c8000+0x7730]
[87745.730000] [<8007e9c4>] 0x8007e9c4
[87745.740000] [<800abf48>] 0x800abf48
[87745.750000] [<87227b24>] 0x87227b24 [mac80211@87200000+0x580f0]
[87745.760000] [<80048818>] 0x80048818
[87745.770000] [<800accd4>] 0x800accd4
[87745.770000] [<800f0ba0>] 0x800f0ba0
[87745.780000] [<87227be0>] 0x87227be0 [mac80211@87200000+0x580f0]
[87745.790000] [<8004aedc>] 0x8004aedc
[87745.800000] [<87196604>] 0x87196604 [rt2800mmio@87196000+0x1520]
[87745.810000] [<8004aff8>] 0x8004aff8
[87745.820000] [<8002669c>] 0x8002669c
[87745.830000] [<800480f0>] 0x800480f0
[87745.830000] [<80026078>] 0x80026078
[87745.840000] [<801d64b8>] 0x801d64b8
[87745.850000] [<800263e4>] 0x800263e4
[87745.850000] [<80004830>] 0x80004830
[87745.860000] 
[87745.860000] ---[ end trace 0503f5892025f764 ]---
[87746.710000] br-lan: port 2(wlan0) entered forwarding state
[87746.780000] br-guest: port 2(wlan0-1) entered forwarding state
[87747.240000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2
[87747.240000] Please file bug report to http://rt2x00.serialmonkey.com

comment:17 Changed 6 months ago by anonymous

Hi. I think I am having this issue too, on a DIR-615 D1 with the 15.05 final release (so not the most current. I know, this comment is probably not helpful, but I just wanted to add my experiences with the error, too).
If I basically have no traffic on wi-fi, it may hold for days (best case: I had it running 3 weeks).
If I use it, though, say by using Netflix HD streaming, it may stop working within the hour.
...
[35092.970000] br-lan: received packet on eth0.1 with own address as source address
[35263.120000] rt305x-esw 10110000.esw: link changed 0x1A
[35307.750000] rt305x-esw 10110000.esw: link changed 0x12
[35309.320000] rt305x-esw 10110000.esw: link changed 0x1A
...
[40231.680000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
...
[42759.090000] nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. Use the iptables CT target to attach helpers instead.

It seems as soon as the "rt2x00queue_write_tx_frame: Error" message appears, Wi-fi stops working. It is still being shown as up, but there is no working connection. In the system log, I can then observer my wi-fi devices trying to get IP addresses in the system log, though.

Not sure if relevant, using wi-fi on "N" mode, WPA2-PSK @ auto cipher and channel 11.

comment:18 Changed 6 months ago by anonymous

I have the same problem with Nexx WT3020 (OpenWrt Designated Driver r48613 / LuCI Master (git-16.027.57019-8eaac4b)) from trunk.

But, I discover something: If you transfer big files from a lan over wifi (something like 5 Mbps) with just ONE device connected, it doesn't crash, but if you connect another device (without doing nothing) it crash after few minutes.

comment:19 Changed 6 months ago by anonymous

I have exact same problem with Arcor803 with r46767

comment:20 Changed 6 months ago by Lanek

I think those tickets
https://dev.openwrt.org/ticket/17556
https://dev.openwrt.org/ticket/18069
https://dev.openwrt.org/ticket/19331
https://dev.openwrt.org/ticket/19496
https://dev.openwrt.org/ticket/20457
https://dev.openwrt.org/ticket/20610

may be duplicates or related to this one here. And there's more with error descriptions which seem to match this one.

Also, I believe the priority setting may be set to "Highest" instead(?), as the Highest category seems to include issues making wi-fi unusable. Furthermore, I guess the milestone/version setting is a bit outdated.
I don't have any rights to do this, so it's a suggestion for anyone who might.

Hope this issue can be pinned down and fixed soon. Seems to have been around for a long time and apart from this issue, which kills wi-fi usage, basically, I don't have any other issues and love openwrt.

Last edited 6 months ago by Lanek (previous) (diff)

comment:21 Changed 6 months ago by anonymous

Same problem on 3052f based Huawei hg255d ,version from cc 6th,Jan 2016 thunk,that's too bad...rt2x00 queue write tx frame error,dropping frame due to full tx queue 2

comment:22 Changed 6 months ago by jow

No openwrt developer is actively maintaining the rt2x00 driver family, you should report that upstream at linux-wireless.

comment:23 Changed 6 months ago by Lanek

Thanks for the suggestion, jow. I am by far no expert at this type of stuff, so I hope I did that correctly.

Searched for bug ticket and found this: https://bugzilla.kernel.org/show_bug.cgi?id=82751
And added a comment that it is still occuring. Wasnt sure what kernel is currently in trunk, as I have not access to my device currently and not sure how to find out any other way. I did leave a link to this ticket here, though.

If commenting on that ticket is correct, it'd make sense to add additional info there that may help.

comment:24 Changed 5 months ago by anonymous

Confirming same issue with WiFi on a ramips Nexx WT3020 with trunk (r48526). Happened after a 12 hour uptime recently, not sure if it's related to a DHCP renew. Rebooting fixed it.

Logs shows a bunch of these messages:

rt2800mmio_txstatus_is_spurious: Warning - 4 spurious TX_FIFO_STATUS interrupt(s)

comment:25 in reply to: ↑ 15 Changed 4 months ago by anonymous

Replying to saidi:

I built openwrt from source with the warning code removed from rt2800 driver, the overall performance is much better and kernel log is clean.
Also i added a cron job that will put the interface down from 1:am to 6:am when now one is using it.
It would be cool if we disable this unhelpful warnings in the main source.
Hope that help.

does your wireless ever freezes? this solution worked well when i've experienced rt2800usb slowdowns. https://dev.openwrt.org/ticket/13523#comment:50

comment:26 Changed 4 weeks ago by kenneho

I've got the same issue. I'm running "OpenWrt Chaos Calmer 15.05.1 / LuCI 15.05-149-g0d8bbd2 Release (git-15.363.78009-956be55) " on an Asus RT-N56U router. The 2.4 GHz network frequently dies, while the 5 GHz will stay alive.

Any known workarounds for this issue? I'm thinking maybe some cronjob to check for occurence of "rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2" in the log, and then trigger wifi restart, but I'd need some way of tailing the system log (like logstash) and the execute "wifi down; wifi up" when those messages appear.


Last edited 4 weeks ago by kenneho (previous) (diff)

comment:27 Changed 4 weeks ago by kenneho

I'm experimenting with this workaround:

root@OpenWrt:~# grep monitor.sh /etc/rc.local
/bin/sh /mnt/usb/scripts/monitor.sh &
root@OpenWrt:~#
root@OpenWrt:~# cat /mnt/usb/scripts/monitor.sh
logger "Starting the monitor script"
logread -f | while read LOGLINE
do
    if [ "$LOGLINE" != "${LOGLINE/Dropping frame due to full tx queue/}" ]; then logger "Found \"$LOGLINE\". Restarting Wifi"; wifi down; wifi up; else echo "No match for $LOGLINE" >>/mnt/usb/monitor.log; fi
done

comment:28 Changed 4 weeks ago by Python1320

You can try using https://github.com/Python1320/rtrebooter

It still requires finishing up and does not seem to work all the time but I do not have more time to continue it. I should also write some guide on how to build it for yourself, should just be a copypaste to right place.

At least for me turning WiFi off and on does not fix it all the time, but reloading the modules seems to improve the probability of a working WiFi afterwards which my script tries to also do.

comment:29 Changed 4 weeks ago by kenneho

Thanks for the tip. Just in case turning off and on wifi doesn't do the trick, I've replaced this feature with a simple reboot:

root@OpenWrt:~# cat /mnt/usb/scripts/monitor.sh
logger "Starting the monitor script"
logread -f | while read LOGLINE
do
    if [ "$LOGLINE" != "${LOGLINE/Dropping frame due to full tx queue/}" ]; then logger "Found \"$LOGLINE\". Rebooting..."; reboot; else echo "No errors found in \"$LOGLINE\"" >>/mnt/usb/monitor.log; fi
done

My simple workaround is not as neat as yours, but if it works I think I'll leave it at that for the time being.

comment:30 Changed 3 weeks ago by anonymous

Is there any fix ?

I'm facing the same problem for this release.

root@OpenWrt:~# cat /etc/openwrt_release
DISTRIB_ID="OpenWrt"
DISTRIB_RELEASE="14.07"
DISTRIB_REVISION="r42625"
DISTRIB_CODENAME="barrier_breaker"
DISTRIB_TARGET="ramips/generic"
DISTRIB_DESCRIPTION="OpenWrt Barrier Breaker 14.07"
DISTRIB_TAINTS=""

comment:31 Changed 2 weeks ago by kenneho

My USB pen died, and so did my reboot script. The reboot script is thus not running.
An hour ago I had these messages on my router:

Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.150000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.170000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.190000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.210000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.220000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.240000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.260000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.280000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.300000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.320000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.330000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.350000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.370000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.390000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
Sun Jul 10 06:01:36 2016 kern.err kernel: [33521.410000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2

Despite those messages, I haven't had any issues with my wifi. So maybe these messages aren't related to my wifi issues after all? Now I'm confused.

comment:32 Changed 2 weeks ago by anonymous

Are there anything in /proc or /sys or something that might indicate that we've encountered the issue with wifi being up but allowing connections? Or are there some kernel modules I could increase logging for that might hint at the same issue? If so, it might be easier to get to the bottom of this issue (and I could have my workaround script trigger on those events).

comment:33 Changed 2 weeks ago by kenneho

Btw, the last comment was by me.

comment:34 follow-up: Changed 8 days ago by anonymous

This is annoying so bad. Flashed lasted build 15 with

Kernel 4

, and it's still persists !!!! Jesus Christ! Opened 4 years ago'", seriously?

comment:35 Changed 8 days ago by elijahg0@…

I also get the same issue, since switching from DD-WRT. On OpenWrt Chaos Calmer 15.05.1, kernel 3.18.23.

comment:36 Changed 7 days ago by anonymous

*sigh* This just started happening to me recently, after a few months of running fine with no issues. I also made no changes. I'm using an ASUS RT-N56U with Chaos Calmer. I don't want to have to change firmwares. :(

comment:37 in reply to: ↑ 34 Changed 7 days ago by kenneho

Replying to anonymous:

This is annoying so bad. Flashed lasted build 15 with

Kernel 4

, and it's still persists !!!! Jesus Christ! Opened 4 years ago'", seriously?

I don't mean to sound arrogant or anything, but after all this is a hard problem to solve on a firwmare provided to us for free, so we should give the developers some slack and instead try and help with debugging this.
Until it's resolved, maybe the workaround script (which reboots the router) I provided a few comments ago will do the trick?

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.