MAC Retransmission / WMM Retry Count

Discussion in 'Tomato Firmware' started by wizziwig, Apr 1, 2014.

  1. wizziwig

    wizziwig Reformed Router Member

    Does Tomato have any options similar to dd-wrt for setting the retry count for failed wifi packets?

    From dd-wrt advanced wifi-screen:

    wmm.jpg

    I think you can also set this via "iwconfig eth0 retry" on most network cards but I'm not sure if that's possible on a Tomato router.

    I need this to improve local LAN UDP traffic reliability because UDP does not have automatic re-transmission like TCP. I assume the default Tomato short/long retry counts are just 7/4?
     
  2. Marcel Tunks

    Marcel Tunks Networkin' Nut Member

    Why are you having so many failed transmissions? Wireless problem?
     
  3. wizziwig

    wizziwig Reformed Router Member

    It's not a lot of dropped packets. Much less than 1%. But even a single dropped packet means lost data when dealing with UDP. This could result in video glitch or audio drop-out depending on what application you're using.

    You can check your own setup for dropped UDP packets using iperf. Just let it run long enough and you'll probably encounter a few, especially further out from router. I usually test for about 15-30 minutes.

    For example, this would simulate an RTP video stream:

    Run receiving server on wireless machine:

    iperf -s -u -l 1328

    Run sending client on wired ethernet machine:

    iperf -c 192.168.1.8 -u -b 20m -t 900 -l 1328

    Replace the ip address with that of your server. You can also adjust the "20m" to change sending speed in mbits/sec and "900" for number of seconds to test. It will report results after test completes. 1 out-of-order packet is normal.

    For me, raising the retry counts slightly reduces the dropped packets to a point where I only see them at extreme distances with 5Ghz 150Mbps link 802.11n. With 802.11ac, there are usually even less dropped packets. It's a nice dd-wrt feature that seems to be missing in Tomato.

    Maybe there is a way to set it from telnet console?
     
    Last edited: Apr 1, 2014
  4. wizziwig

    wizziwig Reformed Router Member

    Figured out the right driver variables for my broadcom AC66U clone by digging through the dd-wrt source code.

    Either from telnet or Tools->System Commands :

    Code:
    nvram set wl_wme_txp_bk="7 3 4 2 0"
    nvram set wl_wme_txp_be="7 3 4 2 0"
    nvram set wl_wme_txp_vi="7 3 4 2 0"
    nvram set wl_wme_txp_vo="7 3 4 2 0"
    
    sleep 2
    nvram commit
    sleep 10
    reboot
    "7 3 4 2 0" are the default values. Just replace with whatever retry counts you need. I think 15 is the max retry for both short and long packets. No more dropped UDP packets for me. :D
     
  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