Find the answer to your Linux question:
Results 1 to 6 of 6
Hello everyone, I am developing a product with a Raspberry Pi in it, and we are using Wi-Pi dongles, which use the rt2800usb driver. I've written a program that manages ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Dec 2013
    Posts
    5

    Problem with rt2800usb


    Hello everyone,

    I am developing a product with a Raspberry Pi in it, and we are using Wi-Pi dongles, which use the rt2800usb driver. I've written a program that manages the network. This program puts the WiFi stick in ad-hoc mode and automatically selects a channel based on what other Pi's select and how much background noise there is.

    However, when the program changes the channel the Wi-Pi is on, it stops transmitting beacons frames, which means that other devices, such as iPads, can no longer see the network.

    In addition, I see a lot of this in dmesg when I build rt2800usb with debugging enabled:

    [ 620.894510] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.898084] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.901842] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.905984] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.910651] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.915730] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.921008] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.926533] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.932424] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.938686] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 3 in queue 2
    [ 620.970602] phy0 -> rt2800usb_txdone_entry_check: Warning - TX status report missed for queue 2 entry 4
    [ 621.115658] phy0 -> rt2800usb_txdone_entry_check: Warning - TX status report missed for queue 2 entry 5
    [ 621.149132] phy0 -> rt2800usb_txdone_entry_check: Warning - TX status report missed for queue 2 entry 6
    [ 621.156623] phy0 -> rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
    [ 633.234441] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 4 in queue 2
    [ 633.234517] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 4 in queue 2
    [ 633.234528] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 4 in queue 2
    [ 633.304315] phy0 -> rt2800usb_txdone_entry_check: Warning - TX status report missed for queue 2 entry 5
    [ 633.311323] phy0 -> rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
    [ 633.734430] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 8 in queue 2
    [ 633.734491] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 8 in queue 2
    [ 633.734501] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 8 in queue 2
    [ 633.778592] phy0 -> rt2800usb_txdone_entry_check: Warning - TX status report missed for queue 2 entry 9
    [ 633.945401] phy0 -> rt2800usb_txdone_entry_check: Warning - TX status report missed for queue 2 entry 10
    [ 633.953264] phy0 -> rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
    [ 637.234497] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 2
    [ 637.238096] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 2
    [ 638.734600] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 1 in queue 2
    [ 638.738285] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 1 in queue 2
    [ 638.742149] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 1 in queue 2
    [ 638.746349] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 1 in queue 2
    [ 638.751318] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 1 in queue 2
    [ 638.756459] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 1 in queue 2
    [ 638.761937] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 1 in queue 2
    [ 638.767583] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 1 in queue 2
    [ 638.773085] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 2
    [ 638.778835] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 2
    [ 638.785231] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 2
    [ 638.791856] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 2
    [ 638.798858] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 2
    [ 638.806074] phy0 -> rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 2
    [ 638.813041] phy0 -> rt2800usb_txdone_entry_check: Warning - TX status report missed for queue 2 entry 3
    [ 638.830933] phy0 -> rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
    [ 638.830944] phy0 -> rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping

    I am using Linux kernel version 3.6.11. If need be, we can use a different WiFi stick with a different driver, but I'd like to get this one working if possible.

    Kyle

  2. #2
    Linux Guru rokytnji's Avatar
    Join Date
    Jul 2008
    Location
    Desert
    Posts
    4,002
    Well, you are smarter than me on this but from what I can read.

    Your script transmitting entries 1 through 4 are empty. Than a gap with no errors till 8.

    Your kernel is new enough.

    https://wiki.debian.org/rt2800usb

    It is included in the mainline Linux kernel since version 2.6.31
    So, maybe you missed the firmware install? Like I said. You seem more in tune with what you are trying than my reply probably gives you.

    Firmware is required and available in the firmware-ralink package.
    Since more knowledgeable members than me can't see your

    I've written a program that manages the network. This program puts the WiFi stick in ad-hoc mode and automatically selects a channel based on what other Pi's select and how much background noise there is.
    You might hear the crickets start chirping in this thread. Sorry. That is the best I have to say on the subject.
    Linux Registered User # 475019
    Lead,Follow, or get the heck out of the way. I Have a Masters in Raising Hell
    Tech Books
    Free Linux Books
    Newbie Guide
    Courses at Home

  3. #3
    Just Joined!
    Join Date
    Dec 2013
    Posts
    5
    I have the firmware installed, that's not a problem.

  4. #4
    Linux Engineer
    Join Date
    Dec 2013
    Posts
    1,051
    The TX status timeout warnings are an indication that you have a slow connection. Unless you have a more efficient driver for the dongle - not the one that comes with the kernel - you'll see those warnings.

    Not all devices can handle channel switching but you're saying the beacon stops. Does it start again? Perhaps a condition related to overflowing queues?

  5. #5
    Just Joined!
    Join Date
    Dec 2013
    Posts
    5
    gregm,

    No, the beacon does not start again. I think it's a bug in the rt2800usb driver, because I tried this with a WiFi stick that uses the ath9k driver, and didn't encounter this problem.

    I've tried building the drivers from Ralink, but I've had too much trouble getting them to cross-compile, and they don't seem very well-written to me, so I'd like to get the built-in driver working if possible.

  6. #6
    Just Joined!
    Join Date
    Dec 2013
    Posts
    5
    UPDATE: I just bumped my kernel version to 3.12.18 and the problem is still present.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •