Terrible wireless speed, please help.

Discussion in 'Tomato Firmware' started by alexo, Jan 10, 2009.

  1. alexo

    alexo Network Guru Member


    I have an older WRT54GS (v1 I think) running Tomato 1.23
    There are two computers connected, one wired and one wireless via a WMP54GS card (latest drivers). Both machines run Win-XP SP3. The wireless machine is about 10m from the router with one drywall between them.

    The wired gets good speed (very close to the promised 6Mbps down / 500Kbps up). The wireless fluctuates between tolerable and unusable.

    "Unusable" means waiting several minutes for a web page to load, the DslReports speed test either not completing or showing <10% throughput, the "Tweak Test" timing out, etc.

    I am attaching some images with my configuration.


    This is on a good day. A couple of days ago, the measured quality was 12 to 16 and web browsing was unusable. I suspect that this is the problem but I am not sure. And even if it is, I don't know how to tackle it.

    Here are some more screenshots with info:





    Please advise!

    Thank you,
  2. azak

    azak Addicted to LI Member

    Here is what I would try

    1 Try a different channel on the router. You can't necessarily trust the wireless survey to decide. Try 1, 6, 11
    2 Increase the output power on the router to 80mw (Advanced-Wireless)
    3 Make sure that the computer case is not in the line of sight between the router and adapter antennas.

    Good luck!
  3. Planiwa

    Planiwa Network Guru Member

    I might try to isolate the problem a little. Let's check your router-to-computer wifi link. Do you have a decent ssh client on your windows end? Try this:

    [B][FONT="Courier New"]scp   -P22    root@[I]YOUR-ROUTER[/I]:/bin/busybox   /dev/null[/FONT][/B]
    This should take 1 second to transfer the 800kB.

    If yes, you know that the problem is not in the WiFi link.
    If no, then start by fixing the wifi link.

    You can simply take the router close to the computer. (You need no WAN connection for this test.) If your router is close to your computer and you still have a problem moving data, you won't need to wonder about distance, obstructions, interference, busy web sites, slow DSL, etc., and can concentrate on finding the problem.
  4. alexo

    alexo Network Guru Member

  5. Planiwa

    Planiwa Network Guru Member

    Hm. Seems like someone completely ignored my message.

    BTW, if you yank the router off the modem, as I suggested, and when it's just the PC and the router -- (*nothing* else) -- and Advanced > Conntrack/NF shows oodles of connections, then for sure you have a virus on our PC.

    Feel free to tell us what happened when you tried what I suggested before, or else to tell us why you didn't bother trying. :)
  6. alexo

    alexo Network Guru Member

    Hello Planiwa,

    Not really. I do not have a "decent ssh client" (or even an indecent one) on my home PCs and by the time I saw your message, the client PC was already uses by my father in law. I did not want to interrupt him and was too tired to wait until he finishes.

    I will install one and try your suggestion soon, although the DslReports transfer speed test varies significantly between the "good" and the "bad" days so I am not sure I will be able to duplicate the conditions.

    Your other suggestion, taking the router near the client, I already tried and linked to the results.

    Please define "oodles".

    Is my explanation above up to your high standards?
  7. Planiwa

    Planiwa Network Guru Member

    Removing all cables except the power from the router can be useful in isolating problems between one PC and the router, such as apparent WiFi problems.

    Using scp, as I showed, can be useful in measuring transfer speed. The scp client may display it directly, in kB/s. BTW, this can be a convenient way of measuring upload speed from your router to the Net, (without having to use a LAN computer!) if you have access from a host on the Net.

    Even without scp and even without a pingable WiFi-connected host, the following may be helpful:

    1. disconnect all but the power cable from the router (eliminates the WAN factors)
    2. place router near wifi-connected host (eliminates wifi unknowns)
    3. In "Device List", should see Quality > 50%
    4. Open a window to "Real Time" -- select the WL interface
    5. Open a second window to "Ping" -- select your host, count=20, size=10000; click [Ping]
    6. Watch the "Real Time" window.

    The TX rate should go from under 10 kbits/s to over 90.
    If you do the pings from the command line, you can increase the size to 40000, and see TX rates peaking at 2000 kbits/s. (Using large packets to estimate data rate, even though ping primarily measures latency.)

    Do take note of the ping times as well, if your host answers pings. Should be about 40ms for 40000 byte packets, and perhaps 2ms for standard pings. The router will handle 40k byte pings, but your PC may not.

    Next you can ping from the PC up to the router.

    If you *can* move data between the PC and the router in isolation, then that means one thing.

    If not, then you can concentrate on the wifi connection without distraction. (Might want to check to make sure it's not an Intel 2100 or 2200 type card, for example.)

    Another possibility (with the offline router next to the PC), if WiFi fails to work, is to test with an ethernet connection. Just in case the PC is possessed by something that messes with connectivity, irrespective of the interface.

    Perhaps there are other handy diagnostic tools that I have overlooked?
  8. mstombs

    mstombs Network Guru Member

    What drivers are you using on the "WMP54GS card (latest drivers)", the latest Linksys are very old, see


    for more info - the "GS" means you do have a Broadcom chipset in the adaptor.

    You then have a choice with using windows wireless monitor or the Broadcom utility.
  9. alexo

    alexo Network Guru Member


    The SCP results (without moving the router) are, consistently:

    | 784 kB | 392.5 kB/s | ETA: 00:00:00 | 100%

    Is it good or bad?

    Trying with a larger file (/proc/kcore) I get slightly better results with Speedboost disabled than I get with it enabled, which is strange.


    "latest" from Linksys, of course.
    I'll try the one you mentioned.

    By the way, what's the "utility" for?
  10. Planiwa

    Planiwa Network Guru Member

    That's pretty good. About optimal, since the measuring error is about 1 second.
    I get 530 KB/s on the 16 MB file.

    Using /proc/kcore is a great idea! I didn't want to suggest a very large file at first since you were saying it takes several minutes to load a web page.

    So, this tells me that there is nothing wrong with your pc-router wifi link. At least not while you were testing. :)

    You say "without moving the router". Fantastic. I expect your ping times are pretty good too.

    So now we have some concrete measurements. Perhaps your PC is possessed?

    I would keep an eye on connections. If you are not doing BT or other P2P there should be under 50 connections. If you see 100's of connections on a quiescent system, something is wrong.

    [Note to shell programmers who want to count/analyse connections in /proc/net/ip_conntrack -- be sure to only ever retrieve the file with cat and then feed it to other processes. Do not let grep, sed, wc, or awk (and certainly not more) loose on it. You will get very incomplete results if you do.]

    (A few weeks ago a remote router was alerting me that one user was suddenly surging 3000 connections. I discovered that they were mostly SMTP. This user's PC was furiously sending Spam into all the world.)

    Another thing you can watch is actual traffic.

    If you get the impression that no traffic is flowing between your router and the pc (because it takes so long to load a page), you can measure the actual traffic.

    For example, use the traffic meters in Tomato (called "bandwidth" instead of traffic, for some strange reason). Be sure to watch the WL interface.

    Or you could monitor the counters associated with the interfaces. For example:

    [FONT="Courier New"]set -- $(ifconfig ppp0)
    sleep 10
    set -- $(ifconfig ppp0)
    DKBITPS=$(( (DB - DB0)*8 /10240 ))
    UKBITPS=$(( (UB - UB0)*8 /10240 ))
    echo $DKBITPS / $UKBITPS [/FONT]
    will give you the kbits/s over 10s to and from the WAN.

    One convenient counter of total traffic is:

    set -- $(iptables -t mangle -L -vx | grep POSTR); echo "     $7"
    If you get the impression you are waiting for data to flow, but you are actually measuring vast amounts of data flowing, you'll know what's going on.
  11. alexo

    alexo Network Guru Member

    That's the problem exactly.
    Everything is chugging along just fine now so I suspect there were external factors (interference).

    I will retry the test when the slowdowns reappear and post here.

    Thank you for your help and advice!

    Best wishes,
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice