• Rt2800usb kernel problem


    I have this Ralink Technology, Corp. RT3072 Wireless Adapter
    I,m stuck using the 3.8.11 kernel because any one above this I get this error an journalctl fills up with this till it errors out too.
    kernel: ieee80211 phy2: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
    kernel: ieee80211 phy2: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 15 in queue 2

    I can connect to internet but the faster it downloads the more of this i get till the internet drops then it takes a min or for it to come back and it goes in an out kinda annoying. cant really download anything this way becuse nothing finishes it always get connection reset by peer. cant hardly watch a 1min youtube video either without it stoping at least 3 times.

    I dtd find this how do i rebuild 3.10-5 to test with this patch?

    [url:ayte0ush]https://dev.openwrt.org/ticket/13523[/url:ayte0ush]

    “linux-3.10.5_rt2x00-jiffies.patch”

    — cut here —

    diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
    index ac854d7…354a7a0 100644
    — a/drivers/net/wireless/rt2x00/rt2800usb.c
    +++ b/drivers/net/wireless/rt2x00/rt2800usb.c
    @@ -126,7 +126,7 @@ static inline bool rt2800usb_entry_txstatus_timeout(struct queue_entry *entry)

    if (!test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))

    return false;

    tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(100));

    • tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(500));

    if (unlikely(tout))

    rt2x00_warn(entry->queue->rt2x00dev,

    “TX status timeout for entry %d in queue %d\n”,

    diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.h b/drivers/net/wireless/rt2x00/rt2x00queue.h
    index 4a7b34e…f743a4d 100644
    — a/drivers/net/wireless/rt2x00/rt2x00queue.h
    +++ b/drivers/net/wireless/rt2x00/rt2x00queue.h
    @@ -650,7 +650,7 @@ static inline int rt2x00queue_dma_timeout(struct queue_entry *entry)

    {

    if (!test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))

    return false;

    return time_after(jiffies, entry->last_action + msecs_to_jiffies(100));

    • return time_after(jiffies, entry->last_action + msecs_to_jiffies(500));

    }

    /

    — cut here —

  • I have this Ralink Technology, Corp. RT3072 Wireless Adapter
    I,m stuck using the 3.8.11 kernel because any one above this I get this error an journalctl fills up with this till it errors out too.
    kernel: ieee80211 phy2: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
    kernel: ieee80211 phy2: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 15 in queue 2

    I can connect to internet but the faster it downloads the more of this i get till the internet drops then it takes a min or for it to come back and it goes in an out kinda annoying. cant really download anything this way becuse nothing finishes it always get connection reset by peer. cant hardly watch a 1min youtube video either without it stoping at least 3 times.

    I dtd find this how do i rebuild 3.10-5 to test with this patch?

    [url:ayte0ush]https://dev.openwrt.org/ticket/13523[/url:ayte0ush]

    “linux-3.10.5_rt2x00-jiffies.patch”

    — cut here —

    diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
    index ac854d7…354a7a0 100644
    — a/drivers/net/wireless/rt2x00/rt2800usb.c
    +++ b/drivers/net/wireless/rt2x00/rt2800usb.c
    @@ -126,7 +126,7 @@ static inline bool rt2800usb_entry_txstatus_timeout(struct queue_entry *entry)

    if (!test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))

    return false;

    tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(100));

    • tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(500));

    if (unlikely(tout))

    rt2x00_warn(entry->queue->rt2x00dev,

    “TX status timeout for entry %d in queue %d\n”,

    diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.h b/drivers/net/wireless/rt2x00/rt2x00queue.h
    index 4a7b34e…f743a4d 100644
    — a/drivers/net/wireless/rt2x00/rt2x00queue.h
    +++ b/drivers/net/wireless/rt2x00/rt2x00queue.h
    @@ -650,7 +650,7 @@ static inline int rt2x00queue_dma_timeout(struct queue_entry *entry)

    {

    if (!test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))

    return false;

    return time_after(jiffies, entry->last_action + msecs_to_jiffies(100));

    • return time_after(jiffies, entry->last_action + msecs_to_jiffies(500));

    }

    /

    — cut here —

  • OK got it patched this is it.
    diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c
    b/drivers/net/wireless/rt2x00/rt2800usb.c
    index ac854d7…354a7a0 100644
    — a/drivers/net/wireless/rt2x00/rt2800usb.c
    +++ b/drivers/net/wireless/rt2x00/rt2800usb.c
    @@ -129,7 +129,7 @@ static inline bool rt2800usb_entry_txstatus_timeout(struct queue_entry *entry)

    if (!test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
    return false;

    • tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(100));
    • tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(500));
      if (unlikely(tout))
      rt2x00_warn(entry->queue->rt2x00dev,
      “TX status timeout for entry %d in queue %d\n”,

    diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.h
    b/drivers/net/wireless/rt2x00/rt2x00queue.h
    index 4a7b34e…f743a4d 100644
    — a/drivers/net/wireless/rt2x00/rt2x00queue.h
    +++ b/drivers/net/wireless/rt2x00/rt2x00queue.h
    @@ -636,7 +636,7 @@ static inline int rt2x00queue_dma_timeout(struct queue_entry *entry)

    {
    if (!test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))
    return false;

    • return time_after(jiffies, entry->last_action + msecs_to_jiffies(100));
    • return time_after(jiffies, entry->last_action + msecs_to_jiffies(500));
      }

    /

    Well I got the kernel patched but it didnt help for people using the rt2800usb there is a regression from 3.8.11 to 3.9 kernel

  • If it were me with this same situation, I would try the AUR kernel ‘linux-mainline’ to test if this 2.11rc7 kernel might fix this.

    I do run it all the time now, and it sure is a winner for me. Very fast. Hope it fixes your problem.

    In God's love,
    †MaNNa <{{{\>< …to You all thanks and glory Lord Yeshua!

    And Jesus prayed to The Father, "And this is the way to ete…

Posts 4Views 1250
Log in to reply