[Fork] FreshTomato-MIPS

Discussion in 'Tomato Firmware' started by kille72, Apr 26, 2018.

  1. pedro311

    pedro311 Networkin' Nut Member

    Yes, I'm using it on my spare/test router.
    But you should search this thread: some versions of this router works better on RT-N version.
     
  2. schnappi

    schnappi Networkin' Nut Member

    Quoting koitsu from way back: "64KB NVRAM builds for the RT-N66U are fine to use as long as your CFE is 1.0.1.4 or newer."

    Wasn't able to find the FreshTomato WRT54GL firmware in the "Mega" downloads folders. Can you point in right direction?
     
  3. pharma

    pharma Network Guru Member

    Firmware freshtomato-K26USB_RT-N5x-MIPSR2-2018.4-AIO-64K flashed to a RT-N66U with no issues.
    Edit: A bit of work was done according to the changelog. Thanks for your efforts Pedro and team!
     
    Last edited: Sep 18, 2018
    pedro311 likes this.
  4. pedro311

    pedro311 Networkin' Nut Member

    You can always buy me a beer or two! ;)
     
    pharma likes this.
  5. kernel-panic69

    kernel-panic69 Network Newbie Member

    AFAIK, you can't flash a 2.6 kernel firmware on a WRT54 series without hacking the CFE. Not sure if these are actually 2.4 Kernel files or not, but I am assuming not:

    freshtomato-K26_RT-MIPSR1-2018.4-Mini.zip
    freshtomato-K26_RT-MIPSR1-2018.4-MiniIPv6.zip
    freshtomato-K26_RT-MIPSR1-2018.4-MiniVPN.zip

    If that is the case, that they are not 2.4 kernel images, I think you'll have to build your own from source. @pedro311, can you clarify, please?
     
  6. pedro311

    pedro311 Networkin' Nut Member

    I have no problems flash my WRT54G V2.1 with "freshtomato-K26_RT-MIPSR1-2018.4-Mini"
     
    kernel-panic69 likes this.
  7. Señor Nimda

    Señor Nimda New Member Member

    Linksys E2500 - bricked so hard, hardware reset does not work :eek:

    As there is no E2500 specific image, I used the generic one:
    "freshtomato-K26USB_RT-MIPSR2-2018.4-MiniVPN"

    This one worked properly on the last Shibby:
    1.28.0000 MIPSR2-140 K26 USB Mega-VPN

    (Will try unbricking when I have more time & will report here if any success.)
     
  8. kernel-panic69

    kernel-panic69 Network Newbie Member

    Uhm, there are E2500-specific images. You obviously didn't look in the right folder(s). K26RT-N/Linksys E-Series.
     
  9. oglops

    oglops Connected Client Member

    I want to compile from source, what is the difference between mips-master and mips-RT-AC branch ?

    And on mips-master branch, there are src and src-rt directories
    on mips-RT-AC branch, there are src, src-rt and src-rt-6.x directories

    What are the differences ?
     
  10. AndreDVJ

    AndreDVJ LI Guru Member

    RT-AC branch contains kernel and drivers specifically for 802.11ac devices (though builds for RT-N66U are functional with newer drivers).

    So if you want to compile firmware for RT-AC66U and friends, you should checkout that branch and then start compilation. Otherwise you remain at master branch.

    If you are working on changes, you do so from the master branch - and once you're satisfied - then you checkout mips-RT-AC branch and to a git merge mips-master.
     
  11. UserDirk

    UserDirk New Member Member

    Thank you, it's works now.
     
  12. kernel-panic69

    kernel-panic69 Network Newbie Member

    I'm trying to figure out why the RT-AC folder isn't part of mips-master, seems like this doesn't make sense to me, but then again, having everything together can be counter-productive. The instructions on the main bitbucket page should be updated to include checking out the RT-AC branch.
     
    Last edited: Sep 19, 2018
  13. RxBrad

    RxBrad Networkin' Nut Member

    Just a quick confirmation.... I'm currently using Shibby 1.28.0000 MIPSR2-140 K26 Max on an Asus RT-N10P (yes, currently having NVRAM issues because I never properly reset settings between flashes).

    Name Asus RT-N10P
    Model Broadcom 11/0x058e//0x1153/0x710
    Chipset Broadcom BCM53572 chip rev 1 pkg 11
    CPU Frequency 300MHz
    Flash Size 8MB
    Total / Free Memory 28.02 MB / 17.30 MB (61.75%)
    Total / Free NVRAM 32.00 KB / 8 (0.02%)
    From the "Asus RT-Nxx & CO" folder, I'm fairly sure I can use these:
    • freshtomato-K26-NVRAM32K_RT-N5x-MIPSR2-2018.4-MiniIPv6
    • freshtomato-K26-NVRAM32K_RT-N5x-MIPSR2-2018.4-Mini
    ...slightly less sure whether I can use these (I'd like to continue using the Max version):
    • freshtomato-K26USB-NVRAM32K_RT-N5x-MIPSR2-2018.4-IPv6-VPN
    • freshtomato-K26USB-NVRAM32K_RT-N5x-MIPSR2-2018.4-Max
    ...and fairly certain I can't use this, since it's too big:
    • freshtomato-K26USB-NVRAM32K_RT-N5x-MIPSR2-2018.4-Mega-VPN
    Should I be okay installing the Max version listed above? I remember on the Shibby builds that the indicator LEDs were reversed on this model from similar N models, but not sure if there were other differences which would exclude using FreshTomato on the N10P. Thanks!
     
  14. M0g13r

    M0g13r LI Guru Member

    rtn66u on fresh 2018.4 ac vpn ... time does not work :\
    back to RAF
     
  15. pedro311

    pedro311 Networkin' Nut Member

    Could you explain more precisely what you mean?
    It was a clean install?
    My test rt-n66u has no problems with this compilation...
     
  16. M0g13r

    M0g13r LI Guru Member

    yepp first was an clean install ... router gets no time
    then flashed back raf/settings and dirty flashed tomatofresh ... router gets no time
    how long have to wait ?

    ps. time germany ... ntp europe
     
  17. pedro311

    pedro311 Networkin' Nut Member

    You still have not explained in what conditions it's happening ...
     
  18. M0g13r

    M0g13r LI Guru Member

    what conditions do u mean?
    i set it up like ever the last years ... and it get's no time ... scheduled can not run without time
    maybe i have to wait some hours ?! ;)
     
  19. kernel-panic69

    kernel-panic69 Network Newbie Member

    Was there anything in the syslogs that said ntpd time sync failed? I'm on 6 days+ uptime without any issue with this. Also, keep in mind, there is a space to enter your modem's local IP for your ISP hardware into, or 0.0.0.0. Otherwise, dns resolution doesn't seem to work AFAIK.
     
  20. Monk E. Boy

    Monk E. Boy Network Guru Member

    You could always run a 2.6 kernel on a WRT-54G series but it's not as efficient, which is why people stayed on 2.4 builds. It's a hardware limitation but strictly performance related. The newer RT drivers may or may not work as well as the ND or... crap what did they use before ND? Original?... drivers, but something to do with packet forwarding doesn't run as efficiently on the 54G under 2.6. I kind of stopped paying attention 10 years ago when I retired my 54GL, but this much I remember, because I was curious about 2.4 vs. 2.6.
     
    kernel-panic69 likes this.
  21. M0g13r

    M0g13r LI Guru Member

    flashed again to test what was wrong .... imported settings ....
    everything works now fine i didn't changed anything .... got no clue why :\
    nice work guys thx!

    hm ... on qos / view graps on clicking zoom graphs the svg doesent change and the % gets NaN%

    Sep 20 15:36:15 R0ut3r user.warn igmpproxy[1444]: select() failure; Errno(4): Interrupted system call
    Sep 20 15:36:15 R0ut3r local0.notice udpxy[1455]: udpxy 1.0-23.9 (prod) standard [Linux 2.6.22.19 mips] is exiting with rc=[0]
    Sep 20 15:36:15 R0ut3r local0.notice udpxy[5942]: udpxy 1.0-23.9 (prod) standard [Linux 2.6.22.19 mips] is starting
     
    Last edited: Sep 20, 2018
  22. FredericM

    FredericM Network Newbie Member

    Hi,

    I've an issue with the connected wireless clients. Sometimes it happens that wireless clients are still shown as connected while they are already disconnected for a few hours:
    [​IMG]

    [​IMG]

    I have a Asus RT-N66U running Freshtomato 2018.4 MIPSR2 K26 USB AIO-64K (I've also seen this issue on 2018.3).
    I recently switched from AdvancedTomato but I cleared the NVRAM and configured everything manually again. I applied the same settings as in AdvancedTomato where I didn't encounter this issue.
    I'm using this in a script to do some presence detection for our home automation to detect our phones.
    Some days it works and other times it doesn't work as expected.

    Please let me know if you want some part of my configuration but I guess this is most unlikely caused by configuration.

    Thanks!

    Greetings,
    Frederic
     
  23. pedro311

    pedro311 Networkin' Nut Member

    The WL driver in MIPS branch, has not been touched since fork from shibby v140, so I don't know how it can work better or worse...
     
    pharma, jerrm and M_ars like this.
  24. koitsu

    koitsu Network Guru Member

    This problem has been reported several times over the years. The data in Device List comes from several places aggregated together, and is, generally speaking, one of the more hairy/complicated parts of Tomato. These posts by me, or threads by others, may help you:

    * http://www.linksysinfo.org/index.ph...man-issues-with-the-device-list-screen.72628/
    * http://www.linksysinfo.org/index.php?threads/device-list-update-interval.73879/
    * http://www.linksysinfo.org/index.php?threads/command-to-clear-device-list-without-rebooting.73632/
    * http://www.linksysinfo.org/index.php?threads/attaching-a-simple-unmanaged-switch.74183/#post-297533

    The reason I've given you these links: look at the post dates and you'll see this isn't a new thing.

    The first link includes a thorough write-up from me on the subject. However, there is no "immediate/obvious cause" found, but Toastman suspected it's something from Shibby's work (which AdvancedTomato and FreshTomato are both based on). So there may be a bug somewhere, but it's hard to know for certain because nobody is sure how to reproduce the problem 100% reliably (so that devs can reproduce it). If this problem truly doesn't happen in AdvancedTomato (for anyone), then possibly they fixed the problem (maybe intentionally, maybe by accident?). But to make an already complicated matter worse, it's suspected that there are some models of routers that might not exhibit this issue, and that the issue might be specific to MIPS (e.g. fixed on ARM). If it's not present on ARM, then it could be something like a deep wireless driver behaviour/quirk, in which case we can't do anything about it because the wireless driver is closed-source and a binary blob provided by Broadcom.

    Hope this helps in some way.
     
    Techie007 likes this.
  25. KZ522X

    KZ522X New Member Member

    First off, have to say that most of this discussion is way, way above my head, so please feel free to dumb this down. (E.g., I only just came across the term "libsodium"and have only the vaguest understanding that it is responsible for the encryption being used.)

    Currently running Shibby Tomato 1.28.0000 MIPSR2-132 K26 Max on an Asus N12. Had been using dnscrypt-proxy to dnscrypt.eu-nl, which has recently stopped working. According to the developer who maintains that server, the libsodium version running on my Tomato (DNScrypt-proxy 1.4.1) is now outdated because of a recent dnscrypt.eu upgrade --the cause of the interruption of this service. He suggested getting a newer version of Tomato.

    It has been suggested to me by someone knowledgeable in these matters that, for this Asus, I might try flashing either the freshtomato-K26_RT-N5x-MIPSR2-2018.4-MiniIPv6.zip or the freshtomato-K26_RT-N5x-MIPSR2-2018.4-Max.zip, if the first doesn't work out.

    Basic question is do either of these have a more recent version of the dnscrypt-proxy, and/or a more recent version of the libsodium (it's possible that a newer version of the libsodium is all that's needed), which might work now to connect to the upgraded dnscrypt.eu? And do they have a similar drop down selection of the various dnscrypt-proxy resolvers available?

    Thanks for any help you might be able to offer.
     
    Last edited: Sep 21, 2018
  26. kernel-panic69

    kernel-panic69 Network Newbie Member

    The caveat of dnscrypt is whether or not v1 or v2 protocols are being used by the resolvers, v2 requires golang from what I understand. I'm not sure if any of the wl drivers or anything you could borrow from any GPL sources would be newer, etc. or not. At least the devices are staying listed vice disappearing and reappearing randomly. Not that I am having that issue with FreshTomato, but it is a weird bug in another firmware.
     
  27. KZ522X

    KZ522X New Member Member

    Successfully flashed freshtomato-K26_RT-N5x-MIPSR2-2018.4-Max to the Asus N12D1 and am now able to connect to dnscrypt.eu. But wondering why there is no longer any entry for Static DNS in Basic->Network for this version of Tomato? Has it been moved somewhere else? Have searched exhaustively, but can't find it.
     
  28. Feliciano

    Feliciano Network Newbie Member

    First and foremost, thanks kille72, pedro311 and others for continuing the Tomato work.
    One question to save me time:
    Being the E1000v2 only 4MB of flash, Is there a MultiWAN option on those builds?
     
    Last edited: Sep 26, 2018
  29. Techie007

    Techie007 Serious Server Member

    On the routers I've used Tomato on, this problem happens on all the MIPS devices with near 100% reproducibility, and never on any of the ARM devices. Thus, for over a year, Active/Fresh Tomato hasn't seen the bug (due to being ARM-only), and Shibby has had/not had the bug because both platforms are supported. Now that Fresh Tomato is being built for both platforms, we're seeing this again.
    The issue stems from wl assoclist reporting the devices as active even though they are not. I've tried all three wl lists, and they all exhibit this issue. Occasionally, a device actually will drop off the list right away when disconnected, but most of the time old devices never drop off the list until wl is restarted. Not 100% sure, but it seems that a hard disconnect (like rebooting your phone, or turning off WiFi) seems to knock a device off the list, but a soft disconnect (like device roaming out of range as someone walks away with their phone) remains stuck on the list. One of the wl commands sees the "last active" timer count higher and higher on these inactive devices, but they never actually timeout and drop off the list. I imagine a script could be written that would monitor this list and kick devices that haven't been seen any packet for say, three minutes (the ARM firmware drops devices a lot quicker than that!).


    I'm not sure how fixable this bug is by the developers here. I've tried bringing it up without success, as I too have done the very same thing and run into the same issue. I would recommend upgrading to an ARM-based router. The feature you're trying to use works perfectly on ARM routers. The Asus RT-N66U is MIPS based. If you don't need 5 GHz WiFi, I would recommend the Tenda AC15 router as it is inexpensive, rock stable, and powerful (but has weak 5g on Tomato).
     
  30. koitsu

    koitsu Network Guru Member

    If you've tracked the problem down to wl assoclist -- meaning that command, from the command-line, continues to show associated devices long after they've disconnected -- then that would be a wl (command/binary) or wl.ko (wireless driver) bug. My gut feeling is that it's in the latter.

    Both of those are closed-source, provided by Broadcom themselves. In other words: bugs/quirks in either of those are not something that can be fixed by anyone in the Tomato project. DD-WRT (as a counterexample) may have things like this fixed in MIPS because BrainSlayer has access to the Broadcom SDK that can build the latest wireless driver (from Broadcom's own binaries and code) that Broadcom provides him; he pays them money for this type of thing (we don't know how much, but it's suspected it's in the high 4 or 5-digit range in US dollars per year). Tomato doesn't have that. The wireless drivers and binaries used vary in where they come from (it varies per model of router), but usually they come from Asus, purely in a binary form. (If you're an SDK subscriber, you sign NDAs; you cannot distribute the SDK, only the compiled/resulting binaries)

    As for a workaround: I would like to know how you "kick devices" from this list. To my knowledge, wl (nor the Broadcom C-based API for wireless) cannot do this. The workaround would be pretty crappy: we'd have to store, persistently, a list of MACs that should be excluded from the result list. This list would grow infinitely depending on how many devices were floating around doing this. Storing it in NVRAM might be required (for it to be persistent), which means more wasted NVRAM (this is a bigger problem with Shibby-multiWAN-based firmwares since NVRAM usage is much higher). Try to remember: some people (for whatever reason) are using Tomato in medium-sized businesses which have hundreds of wireless clients.

    It's a crummy situation no matter what, one that should really be fixed at the source (wireless driver), except Broadcom probably doesn't care about MIPS much any more, and someone would have to beg/plead with Asus to try and get Broadcom to fix the problem in the MIPS driver -- except that Asus themselves is primarily doing ARM routers now too, so what reason/inclination would they have to do this for us?

    All in all, it sucks. I know. :\
     
    Techie007 likes this.
  31. Techie007

    Techie007 Serious Server Member

    Yes, definitely confirmed at wl assoclist; in fact, Fredric showed us a screenshot revealing the same thing for him. That's where I actually had problems with the issue with my script, and then later found out its output is what caused devices to stick in the devices list (not that I cared as much about that).
    Don't know about kicking devices for sure; with all its commands, I just assumed wl had a command for deauthenticating a device from the network. Of course, as long as it's not banned or the password changed, such a device would just immediately reauthenticate--but that's just the behavior we would want in this case. I guess the same script we could've written to kick old devices based on the last activity could be used for generating an MAC list without the old devices on it instead if that capability is unavailable. But writing such a script is beyond my Linux coding skills, so I just upgraded to an ARM router.
     
  32. koitsu

    koitsu Network Guru Member

    Do you still have access to the MIPS router which exhibits the aforementioned problem? If so, I have an idea of where the problem may lie (yes, in the wireless driver) but an idea of something to try that may help fix it. Please let me know.
     
    Techie007 likes this.
  33. KZ522X

    KZ522X New Member Member

    With freshtomato-K26_RT-N5x-MIPSR2-2018.4-Max/Asus N12D1, not finding anywhere to enter Static DNS. In earlier versions I've used was located at Basic->Network. Can't find it anywhere now. If this no longer exists, how do I enter Static DNS?

    Appreciate a reply, thanks.
     
    Last edited: Sep 23, 2018
  34. rs232

    rs232 Network Guru Member

    On a MIPS1 device (Buffalo WHR-HP-G54) where I had installed 2018.3 beta the web interface becomes inaccessible "sometimes" after the device has been booted. The device has intermittent access to Internet (e.g. Monday to Friday).

    Checking the logs via SSH I can see this worrying message:

    Code:
    Jan  1 01:31:11 telecom user.err kernel: Out of memory: kill process 2631 (ttb) score 30 or a child
    Jan  1 01:31:11 telecom user.err kernel: Killed process 2675 (ttb)
    Jan  1 01:31:11 telecom user.err kernel: Out of memory: kill process 2719 (ttb) score 30 or a child
    Jan  1 01:31:11 telecom user.err kernel: Killed process 2763 (ttb)
    Jan  1 01:31:11 telecom user.err kernel: Out of memory: kill process 2807 (ttb) score 30 or a child
    Jan  1 01:31:11 telecom user.err kernel: Killed process 2851 (ttb)
    Jan  1 01:31:11 telecom user.err kernel: Out of memory: kill process 2891 (ttb) score 30 or a child
    Jan  1 01:31:11 telecom user.err kernel: Killed process 2935 (ttb)
    Jan  1 01:31:11 telecom user.err kernel: Out of memory: kill process 2979 (ttb) score 30 or a child
    Jan  1 01:31:11 telecom user.err kernel: Killed process 3023 (ttb)
    Jan  1 01:31:11 telecom user.err kernel: Out of memory: kill process 3067 (ttb) score 30 or a child
    Jan  1 01:31:11 telecom user.err kernel: Killed process 3111 (ttb)
    Jan  1 01:31:11 telecom user.err kernel: Out of memory: kill process 3155 (ttb) score 30 or a child
    Jan  1 01:31:11 telecom user.err kernel: Killed process 3199 (ttb)
    
    Upgrading to 2018.4 didn't resolve. Looks like a memory leakage to me...
     
  35. Beast

    Beast Network Guru Member

    The wireless connections do NOT clear on my Asus RT-N16 as well. I have noticed this since updateing to 128.3 of fresh tomato. Also since updateing to 128.4 MEGA-VPN 32k version. MY network speed slowes down to nothing over a few days of uptime and i have to power cycle the router to get my speed back.
     
    Last edited: Sep 24, 2018
  36. Techie007

    Techie007 Serious Server Member

    Sure. Any MIPS router running Tomato Shibby or Fresh does it. Right now, I've got access to a location running a Linksys E1500 with Shibby v140 K26 firmware. Currently waiting for a device to leave as all the connections+leases are active (the router had a scheduled reboot this morning, so the lists have been cleared). But it had a half dozen dead ones on it a few days ago. The command I was thinking of earlier that showed the idle time was wl sta_info <mac>.
     
  37. FredericM

    FredericM Network Newbie Member

    I can of course also help.
    While reading all the replies I realized that I was using the AC6X version of Shibby's firmware before but since FreshTomato I'm using the N5X version since it gives me better a better signal strength like mentioned here: http://www.linksysinfo.org/index.php?threads/shibby-k26rt-n-vs-k26rt-ac.73527/#post-288032
    So it will indeed most likely be the a driver issue since I never encountered the issue on the AC6X builds of shibby.
     
  38. koitsu

    koitsu Network Guru Member

    I'm making some assumptions here (that these sub-commands work on MIPS as they do ARM), so bear with me:

    1. Please run wl scb_timeout and provide the output. It should be a single line with a number.

    2. Wait until the problem happens. Determine through whatever (GUI, etc.) the MAC of a client which should have expired but is still showing up in wl assoclist. Then please try the following, in this order:

    wl sta_info {MAC} -- should provide some general info about the client (a.k.a. STA)
    wl deauthenticate {MAC} -- should potentially disassociate the client (a.k.a. STA)
    Wait about 5-10 full seconds
    wl assoclist -- now see if the client (a.k.a. STA) shows up in the list or not

    NOTE: it's very important you include the {MAC} argument when using the deauthenticate sub-command! Omission of the argument will cause all clients to be deauthenticated: no I'm not kidding!

    If you could provide the full output from that terminal session, that'd be great. It might shed some light on what's going on. Again, I have a strong feeling this is a wireless driver bug.

    If this doesn't do anything or shed light on anything, I have one more wl command up my sleeve that's a bit... "complicated"... that might work as a crappy workaround but I'm not holding my breath. I'll save that one til later. ;)
     
    Techie007 likes this.
  39. oglops

    oglops Connected Client Member

    When compiling r2z target on travis, I got this error
    Code:
    xmlIO.c: In function 'xmlXzfileClose':
    xmlIO.c:1450: error: 'LZMA_OK' undeclared (first use in this function)
    xmlIO.c:1450: error: (Each undeclared identifier is reported only once
    xmlIO.c:1450: error: for each function it appears in.)
    xmlIO.c: In function 'xmlIOHTTPOpenW__internal_alias':
    xmlIO.c:1879: warning: unused parameter 'compression'
    make[7]: *** [xmlIO.lo] Error 1
    make[7]: *** Waiting for unfinished jobs....
    make[6]: *** [all-recursive] Error 1
    make[5]: *** [all] Error 2
    make[4]: *** [libxml2] Error 2
    make[3]: *** [all] Error 2
    make[2]: *** [bin] Error 2
    make[1]: *** [z] Error 2
    make: *** [r2z] Error 2
    
    is lzma needed for libxml2 ? Can I disable it by passing
    Code:
    --without-lzma
    ?
     
    Last edited: Sep 24, 2018
  40. FredericM

    FredericM Network Newbie Member

    Thanks for your assistance.
    This is the information I got:
    Output is 60

    Code:
    wl sta_info XX:XX:XX:XX:1A:62
     STA XX:XX:XX:XX:1A:62:
             rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
             idle 3823 seconds
             in network 64644 seconds
             state: AUTHENTICATED ASSOCIATED AUTHORIZED
             flags 0x613b: BRCM WME PS N_CAP
             tx pkts: 882019
             tx failures: 208
             rx ucast pkts: 608383
             rx mcast/bcast pkts: 3317
             rate of last tx pkt: 5500 kbps
             rate of last rx pkt: 1000 kbps
             rx decrypt succeeds: 523090
             rx decrypt failures: 2
    This didn't seem to have any effect. I tried it multiple times, waiting more than 10 seconds.
    At the moment the client is still present in the client list.
     
  41. Sean B.

    Sean B. LI Guru Member

    I believe you need to add the interface the client is connected to. IE: 2.4ghz :

    Code:
    wl -i eth1 deauthenticate MAC
    5ghz:

    Code:
    wl -i eth2 deauthenticate MAC
     
  42. FredericM

    FredericM Network Newbie Member

    I tried your suggestion but unfortunately it doesn't make any difference.
     
  43. Sean B.

    Sean B. LI Guru Member

    @koitsu , @FredericM , this may be a possibility. Set a roaming trigger RSSI level. Perhaps wl will terminate the association when RSSI drops off from client disconnect:

    Code:
    roam_trigger
            Get or Set the roam trigger RSSI threshold:
            Get: roam_trigger [a|b]
            Set: roam_trigger <integer> [a|b|all]
            integer -   0: default
                        1: optimize bandwidth
                        2: optimize distance
                [-1, -99]: dBm trigger value
     
  44. pedro311

    pedro311 Networkin' Nut Member

    I've just added "vectored interrupt support" for BCM47XX like here: https://github.com/Victek/Tomato-RAF/commit/8d6d0adc51cdfed58c6761f54504e7a9349c5eb2 and need testers.

    Already uploaded, several images of routers to the "tests/BCM47XX add vectored interrupt support" directory and I need your feedback if everything works as it should. Please let me know, thanks.

    Applies to routers: Linksys WRT160N3, Cisco M10, Asus RT-N12, Linksys EA6500v1, Tenda N80, Tenda W1800R, Buffalo WZR-D1800H, Asus RT-N66U
     
    Last edited: Sep 25, 2018
    pharma, M_ars and kernel-panic69 like this.
  45. gotredonyou

    gotredonyou Reformed Router Member

    Same issue wndr4500v1 WIFI 2.4ghz & 5ghz have visible SSID's but after submitting password or even connecting with no password set reboots the wndr4500v1.
    Flashed:
    WNDR4500-V1.0.1.20_1.0.40 to freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-AIO-64K
    WNDR4500-V1.0.1.20_1.0.40 to freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-VPN-64K
    WNDR4500-V1.0.1.46_1.0.76 to freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-AIO-64K
    WNDR4500-V1.0.1.46_1.0.76 to freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-VPN-64K
    WNDR4500-V1.0.1.46_1.0.76 to dd-wrt to freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-AIO-64K
    WNDR4500-V1.0.1.46_1.0.76 to dd-wrt to freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-VPN-64K
    freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-AIO-64K to freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-AIO-64K
    freshtomato-Netgear-WNDR4500V1_RT-AC6x-2018.4-VPN-64K downgraded to 2018.3.106-beta
    Tried multiple NVRAM clearing after each failure
    Alternating 2.4 & 5ghz
    Different SSIDs
    Different Passwords & No passwords
    no luck

    stock & dd-wrt firmware ok

    Hope any of this information helps.
    As a long time user of Toastmans build thank you.
     
  46. kernel-panic69

    kernel-panic69 Network Newbie Member

    I haven't had the wireless issues with my E4200v1. Of course, I didn't do a reset when I upgraded from 2108.2.106 beta. Both radios have the random password. Do you have serial console access? Re-creating the event and having serial access might be beneficial for troubleshooting.
     
  47. Dave Linkses

    Dave Linkses New Member Member

    I have a RT-N16, and I had been using the most recent Toastman. With Fresh Tomato, the wireless speed is definitely slower - about 30mbps on Fresh Tomato vs. up to 50-60mbps on Toastman on a theoretical max of 75mbps.

    freshtomato-K26USB-NVRAM32K_RT-N5x-MIPSR2-2018.4-Mega-VPN.trx - What I was using.

    I tried to change a lot of Advanced settings to match that of Toastman, but the difference is definitely there. I reflashed to Toastman and then back to Fresh Tomato again just to be sure, and the results were consistent.

    Any idea why the difference is so big?
     
  48. dadaniel

    dadaniel Network Guru Member

    I noticed that the static DNS servers set are missing in DHCP server's lease if you select "disable internal DNS". Thus Internet is not working on clients. Could you please take a look?
     
  49. Señor Nimda

    Señor Nimda New Member Member

    WRT54GL v1.1 on FreshTomato report:
    - the latest Shibby was 137, as later versions were too large to fit into mem.
    - flashed 2018.4 MIN version, no problems.
    - manual reconfig takes 2 minutes, including WiFi params, wireless filters, etc.
    - After 3 days usage … everything works properly, 5 points for FreshTomato!

    (Still waiting for a serial-to-ETH cable for a bricked E2500 v3... flashed wrong firmware :eek:)
     
  50. kernel-panic69

    kernel-panic69 Network Newbie Member

    Do you have "Use received DNS with user-entered DNS" selected, and "Use internal DNS" de-selected? That seems to work, if I recall right. I am not using static or manual DNS server addresses, that is set to "Auto" and I am having no issues.
     
  51. Feliciano

    Feliciano Network Newbie Member

    Alright, I answer myself: It does (only 2WAN because it's 32KB).

    Now I'm testing its behavior with 2018.4, starting with what I already figured out on a wnr3500Lv2 with 140 (which, turning off all optional features, works with MultiWAN). First things I notice:
    1. I have my LAN cable on port3, WAN on WAN, and WAN2 on LAN4. The port order is not right, and if I choose to invert the ports order, it don't respect WAN2 is port4 (i.e. shows it unplugged). The same happens on my 140 with the other router
    2. I did the VLAN and WAN settings exactly as it's working on the other router. But the WAN2 port (LAN4) is still acting like a LAN port. On the Status page states "Renewing...", but if I connect my Wireshark to that port, I see it serves me a LAN IP address, instead of requesting for a WAN one
      Code:
      vlan1ports=1 2 3 5*
      vlan2ports=0 5
      vlan3ports=4 5
      
      lan_ifnames=vlan1 eth1
      landevs=vlan1 wl0
      trunk_vlan_so=0
      
      wan2_iface=vlan3
      wan2_ifname=vlan3
      wan2_ifnameX=vlan3
      wan2_ifnames=vlan3
      wan_iface=vlan2
      wan_ifname=vlan2
      wan_ifnameX=vlan2
      wan_ifnames=vlan2
      
      wan2_proto=dhcp
      wan_proto=dhcp
      On the log:
      Code:
      user.notice watchdog[18780]: Connection wan2 DOWN - Reconnecting ...
      user.debug kernel: vlan3: del 01:00:5e:xx:xx:xx mcast address from vlan interface
      user.debug kernel: vlan3: del 01:00:5e:xx:xx:xx mcast address from master interface
      user.warn kernel: vlan3: Setting MAC address to  98 fc 11 yy yy yy.
      user.debug kernel: vlan3: add 01:00:5e:xx:xx:xx mcast address to master interface
      Moreover, I can access the router and Internet through that port as with a normal LAN port
     

    Attached Files:

    Last edited: Oct 6, 2018
  52. pharma

    pharma Network Guru Member

    Flashed a RT-N66U with freshtomato-K26USB_RT-N5x-MIPSR2-2018.5.005-beta-AIO-64K-RT-N66U that included the "vectored interrupt support" update. No issues to report.
     
  53. MongooseProXC

    MongooseProXC Network Newbie Member

    FreshTomato 2018.4 on a Linksys E3200

    I've noticed the throughput is reduced on the 5ghz band with Fast-NAT enabled through the script. Speedtests drop from 72mbps to 28mbps. Also, it seems that enabling PPTP Server slows things down too. I tried erasing the NVRAM and starting from scratch to no avail. I guess it is what it is.
     
  54. gotredonyou

    gotredonyou Reformed Router Member

    While I do own a Linksys E4200v1 running FreshTomato flawlessly. My question was regarding a Netgear wndr4500v1. Unfortunately I don't have serial access.
     
  55. kernel-panic69

    kernel-panic69 Network Newbie Member

    I try not to cross-pollinate and post information from other firmware project resources, but the information to get serial access is here, if you didn't already have it:

    https://wiki.dd-wrt.com/wiki/index.php/Serial_Recovery

    https://wiki.dd-wrt.com/wiki/index.php/Netgear_WNDR4500#Serial_Recovery

    Not sure if any version of Tomato logs information to the syslog that would be of use, but that is also something to check, preferably via ssh or telnet access (tail -f /var/log/messages). Looks like that device already has the headers, whereas the E4200v1 doesn't, as I've had the fun first hand of de-bricking one of mine. Entirely your call if you want to crack it open and hook up the serial adapter and all, but I can understand not wanting to (unless absolutely necessary to de-brick).
     
  56. Feliciano

    Feliciano Network Newbie Member

    3. I also tried to piggyback WAN2 of this router to another, with an static IP address. No joy, it can't even ping the main router, nor the other way around.
    Code:
    cron.info crond[542]: USER root pid 6917 cmd /usr/sbin/watchdog
    cron.info crond[542]: USER root pid 6919 cmd /usr/sbin/watchdog alive
    user.notice watchdog[6519]: Connection wan2 DOWN - Reconnecting ...
    user.debug kernel: vlan3: del 01:00:5e:xx:xx:xx mcast address from vlan interface
    user.debug kernel: vlan3: del 01:00:5e:xx:xx:xx mcast address from master interface
    user.warn kernel: vlan3: Setting MAC address to  98 fc 11 yy yy yy.
    The routing table looks OK
    Code:
    Current Routing Table
    Destination    Gateway / Next Hop    Subnet Mask    Metric    Interface
    mainrouterip    *    255.255.255.255    0    vlan3 (WAN2)
    wanipaddress    *    255.255.255.255    0    vlan2 (WAN)
    LANsegment    *    255.255.255.0    0    br0 (LAN)
    WAN2segment    *    255.255.255.0    0    vlan3 (WAN2)
    WANsegment    *    255.255.224.0    0    vlan2 (WAN)
    127.0.0.0    *    255.0.0.0    0    lo
    default    wanipaddress    0.0.0.0    0    vlan2 (WAN)
    default    mainrouterip    0.0.0.0    102    vlan3 (WAN2)
    4. Additionally, sometimes the GUI shows a lot of VLANs I haven't defined
     

    Attached Files:

    Last edited: Sep 27, 2018
  57. danielhaden

    danielhaden Network Guru Member

    Brilliant!!!

    So, I just got a Linksys e4200 for $3 and loaded freshtomato-E4200USB-NVRAM60K_RT-N5x-MIPSR2-2018.4-Nocat-VPN.bin This is working well. A spot of research later, I found out that there's a checkbox to disable multiwan display--It is the config link by the port pictures, and then clear a checkbox. Also disabled bandwith monitoring, ip monitoring and logging, because the point of this exercise is not needing to use router config screens often.

    Very relevant for today is your mdns performance: The HP wifi multifunction, achieved both printing and scanning too; And, the Google Home Mini can play nonstop, uninterrupted the whole day through. As expected, I gave the googles a static dhcp, put those ip addresses into the qos "media" classification, and moved them up the list to just under voip.

    FreshTomato has some nicer QOS refinements. It was easier to configure.
     
    Last edited: Oct 10, 2018
  58. koitsu

    koitsu Network Guru Member

    I'd love to know what it is you're talking about here. Screenshot, please?
     
    Techie007 likes this.
  59. danielhaden

    danielhaden Network Guru Member

    Sure.
    locale is basic/network
    Seems to turn off only a display; however, speed-test did slightly faster ramp-up. I'd found it on old tomato documentation from ~2010~2012. I did not investigate this thoroughly.
     

    Attached Files:

  60. kernel-panic69

    kernel-panic69 Network Newbie Member

    That's just disabling the ports state display, not Multi-WAN, I thought. Good to see someone else with an old E4200v1 (I have 3). I, too, stumbled across Advanced and FreshTomato, figured I would opt to give Fresh a whirl on one to help test, etc.
     
    koitsu, Techie007 and danielhaden like this.
  61. jerrm

    jerrm Network Guru Member

    That screenshot has nothing to do with MultiWan.
     
    koitsu likes this.
  62. danielhaden

    danielhaden Network Guru Member

    Thanks. I was wondering if there was cause-effect reversal on my part. Apparently, multi-wan wasn't bad--just a possibility that the port monitor may do some unnecessary busy work? I don't know how to test for this very well.
    Just in case I was off, I re-ran speed test and yes, slightly faster ramp-up persists and is reproducible.

    Seems that this group: syslog, bandwidth monitor, ip monitor, port monitor, is enabled with the assumption of end-users spending much time staring at router config screens. That may need revised, since real use is opposite.
    Super-stable and very fast.
     
    Last edited: Sep 30, 2018
    kernel-panic69 likes this.
  63. Techie007

    Techie007 Serious Server Member

    Sorry it took so long to get back with you guys, but this was the first opportunity I saw where someone not usually at the location showed up and left with a phone, leaving a stuck device on the list. Here's what the Device List looks like:

    [​IMG]

    So the first two devices are laptops. Tomato MIPS usually has no problem when a device's WiFi is turned off or disconnected (by toggling the switch or by the device shutting down), and you can see that both laptops show as disconnected, on the list only because of DHCP. These laptops have come and gone all week no problem.
    However, devices 3 - 5 are phones. Device 3 is not preset but shows as connected anyway. It should show up just like the first two, with no RSSI, Interface, etc. Device 3 is an example of what we mean when we say that old devices are getting "stuck" on the assoclist. Below is a log of the commands I ran and the results:

    Code:
    wl scb_timeout
    60
    
    wl scb_probe
    timeout:60 sec, activity_time:2 sec, nprobes:5
    
    wl assoclist
    assoclist FC:2D:**:**:**:47
    assoclist 04:C3:**:**:**:5D
    assoclist 30:6A:**:**:**:F8   <--
    assoclist 34:64:**:**:**:2C
    assoclist E8:4E:**:**:**:31
    
    wl authe_sta_list
    authe_sta_list FC:2D:**:**:**:47
    authe_sta_list 04:C3:**:**:**:5D
    authe_sta_list 30:6A:**:**:**:F8   <--
    authe_sta_list 34:64:**:**:**:2C
    authe_sta_list E8:4E:**:**:**:31
    
    wl autho_sta_list
    autho_sta_list FC:2D:**:**:**:47
    autho_sta_list 04:C3:**:**:**:5D
    autho_sta_list 30:6A:**:**:**:F8   <--
    autho_sta_list 34:64:**:**:**:2C
    autho_sta_list E8:4E:**:**:**:31
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 72000 seconds          <--
         in network 79841 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl deauthenticate 30:6A:**:**:**:F8
    
    wl -i eth1 deauthenticate 30:6A:**:**:**:F8
    
    wl assoclist
    assoclist FC:2D:**:**:**:47
    assoclist 04:C3:**:**:**:5D
    assoclist 30:6A:**:**:**:F8   <--
    assoclist 34:64:**:**:**:2C
    assoclist E8:4E:**:**:**:31
    
    wl authe_sta_list
    authe_sta_list FC:2D:**:**:**:47
    authe_sta_list 04:C3:**:**:**:5D
    authe_sta_list 30:6A:**:**:**:F8   <--
    authe_sta_list 34:64:**:**:**:2C
    authe_sta_list E8:4E:**:**:**:31
    
    wl autho_sta_list
    autho_sta_list FC:2D:**:**:**:47
    autho_sta_list 04:C3:**:**:**:5D
    autho_sta_list 30:6A:**:**:**:F8   <--
    autho_sta_list 34:64:**:**:**:2C
    autho_sta_list E8:4E:**:**:**:31
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:85:10:13:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 73118 seconds          <--
         in network 80959 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl rssi 30:6A:**:**:**:F8
    -90
    
    wl roam_trigger
    roam_trigger is 0xffb5(-75)
    
    wl roam_scan_period
    10
    
    wl roam_delta
    roam_delta is 0x0014(20)
    
    wl roam_trigger -80 all
    
    wl scb_timeout 30
    
    wl mfp_disassoc 30:6A:**:**:**:F8
    wl: Unsupported
    
    wl assoclist
    assoclist FC:2D:**:**:**:47
    assoclist 04:C3:**:**:**:5D
    assoclist 30:6A:**:**:**:F8   <--
    assoclist 34:64:**:**:**:2C
    assoclist E8:4E:**:**:**:31 
    None of the above commands made it go away. At the end, you can still see it on the assoclist, even though it has been inactive for 73000+ seconds (20.3 hours). The Device List page remained unchanged throughout. At this point, I didn't run any further commands, as I'm sure any of the radio resetting commands would've immediately removed it (and then I'd have to wait all over again!).
     
  64. danielhaden

    danielhaden Network Guru Member

    I turned on a phone and a tablet, and then I powered them off.
    The tablet doesn't have an associated interface and doesn't have a power/quality meter.
    The phone shows eth1 and 50% power/quality meter.

    Ima go put the phone in the fridge.
    brb...
    The power/quality meter has not changed from 50% and it is still associated with eth1.

    I will enter a chronjob to restart 4:45 am daily.
     
  65. koitsu

    koitsu Network Guru Member

    Thank you for this. This acts, more or less, that it's a wireless driver-level bug, and the workaround possibilities are getting very slim. That said, can you please provide output from just the below 3 commands?
    Code:
    wl sta_info {MAC}
    wl deauthenticate {MAC}
    wl sta_info {MAC}
    
    Where {MAC} would be, in your above example, the 30:6A:**:**:**:F8 client.

    And yes, I still have one more command up my sleeve that I haven't disclosed yet, but I want to see the above first.
     
    Techie007 likes this.
  66. danielhaden

    danielhaden Network Guru Member

    I tried it out of curiosity

    wl sta_info MAC
    STA MAC:
    rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
    idle 2229 seconds
    in network 30138 seconds
    state: AUTHENTICATED ASSOCIATED AUTHORIZED
    flags 0x6138: PS N_CAP
    tx pkts: 1558
    tx failures: 0
    rx ucast pkts: 4124
    rx mcast/bcast pkts: 13
    rate of last tx pkt: 26000 kbps
    rate of last rx pkt: 6000 kbps
    rx decrypt succeeds: 1937
    rx decrypt failures: 0

    wl deauthenticate MAC

    [blank/no-response]

    wl sta_info MAC
    /tmp/.wxyXOihe: line 5: sta_info: not found


    In the gui, Status / Device List, shows the phone using eth1 and the power level 50%.
    The ip address and lease are gone.
    Also, wl assoclist still shows that phone's mac.
    That phone is powered off.
     
    Last edited: Sep 28, 2018
  67. Sean B.

    Sean B. LI Guru Member

    What about wifi power saving modes? Phones likely impliment them, would the wl driver possibly hold on to last known values if the phone told it it was going into a low power state, and while in that state moved out of range? I'd try pinging the phone IP or initiate some sort or traffic to it, as that would prompt wl to send a wakeup if it is a low power state.. and upon not receiving a response may get it to timeout off the list.
     
    Techie007 likes this.
  68. koitsu

    koitsu Network Guru Member

    Looks OK/what I'd expect.

    This is normal. In UNIX, generally speaking, operative commands that do something tend to not output anything.

    This doesn't make any sense. You literally just ran the same command above, re: wl sta_info on the same MAC, and it worked. There's no reason it would behave like this when it just worked. Furthermore, there's no /tmp file involved that I can tell *and* in addition, there's no "line 5" -- wl is a binary program (provided by Broadcom), not a script or interpreted PL, so the output makes absolutely no sense.

    In other words: something very anomalous happened in some way with regards to the last wl sta_info command you ran. And that's a bummer, because that exact output is what I need. It's the only way I can determine if wl deauthenticate is working.

    These commands should be done through telnet or SSH and not Tools -> System Commands, just for the record. The latter has weird problems due to use of JavaScript and other whatnots that I do not care to deal with.

    I don't have a MIPS router set up right now, only ARM, and I wireless is entirely disabled on my ARM router, so there's no way I can test this.

    I will disclose my final idea/command once I get someone in this situation who can do the above 3 commands and get what I need to see. :)
     
  69. Sean B.

    Sean B. LI Guru Member

    That is the standard response from the GUI for an erroneous command . Running some letters as a command via GUI:

    Code:
    /tmp/.wxp8ksgl: line 5: asdasd: not found
    It would appear sta_info was not preceded by "wl".
     
    Techie007 likes this.
  70. Sean B.

    Sean B. LI Guru Member

    Well, I think my theory of wifi power save may be worth investigating. Note that the sta_info from @Techie007 and @danielhaden both have the PS flag set. :

    Possible explanation for inability to manually de-authenticate the STA:
    Possible spot for a bug or incompatibility between versions of PS mode on STA and AP causing STA to never timeout if frame is never received ( STA out of range or disconnected ) :
    Just a thought.
     
    Last edited: Sep 29, 2018
    Techie007 likes this.
  71. koitsu

    koitsu Network Guru Member

    If folks think it's PM-related, then they can try wl PM 0 (this disables all PM) and then have the client reconnect + see what wl sta_info MAC says. They can alternately try wl PM 2 (this uses something called "FAST PM mode" -- don't ask me about the difference). I don't know what Tomato picks for this by default; I'm not sure if wl -i interface PM will actually return the current selected mode/value, or if it's a set-only command.

    There is another related information command (pertaining to PM) that might shed some light on this too, but again, I'm reluctant to give them until some existing data is available. The syntax also looks a bit hairy, and I'm not even sure I'd understand the information it shows.

    Also, TPC should not be relevant/involved here, just in case someone tries going down that road. That's a setting that allows the AP to dictate to the slight what its maximum transmit power should be -- different than PM.
     
    Techie007 likes this.
  72. Sean B.

    Sean B. LI Guru Member

    Conversely, one could set " wl PM 1" and see if the issue duplicates using an Android phone ( while no one stated Android phones were used, this has Android written all over it with the way it handles WiFi ).
     
    koitsu likes this.
  73. danielhaden

    danielhaden Network Guru Member

    I could have mistyped it. Here's another try.

    Powered Off the phone
    Code:
    wl sta_info MAC
     STA MAC:
        rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
        idle 45 seconds
        in network 74 seconds
        state: AUTHENTICATED ASSOCIATED AUTHORIZED
        flags 0x6138: PS N_CAP
        tx pkts: 37
        tx failures: 0
        rx ucast pkts: 54
        rx mcast/bcast pkts: 8
        rate of last tx pkt: 58500 kbps
        rate of last rx pkt: 6000 kbps
        rx decrypt succeeds: 53
        rx decrypt failures: 0
    
    wl deauthenticate MAC
    wl sta_info MAC
     STA MAC:
        rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
        idle 76 seconds
        in network 105 seconds
        state: AUTHENTICATED ASSOCIATED AUTHORIZED
        flags 0x6138: PS N_CAP
        tx pkts: 37
        tx failures: 0
        rx ucast pkts: 54
        rx mcast/bcast pkts: 8
        rate of last tx pkt: 58500 kbps
        rate of last rx pkt: 6000 kbps
        rx decrypt succeeds: 53
        rx decrypt failures: 0
    
    wl deauthenticate MAC
    wl sta_info MAC
     STA MAC:
        rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
        idle 123 seconds
        in network 152 seconds
        state: AUTHENTICATED ASSOCIATED AUTHORIZED
        flags 0x6138: PS N_CAP
        tx pkts: 37
        tx failures: 0
        rx ucast pkts: 54
        rx mcast/bcast pkts: 8
        rate of last tx pkt: 58500 kbps
        rate of last rx pkt: 6000 kbps
        rx decrypt succeeds: 53
        rx decrypt failures: 0
    ##------------------------------------------------------------------------------------

    Powered ON the phone

    Code:
    wl sta_info MAC
    STA MAC:
        rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
        idle 0 seconds
        in network 14 seconds
        state: AUTHENTICATED ASSOCIATED AUTHORIZED
        flags 0x6138: PS N_CAP
        tx pkts: 95
        tx failures: 0
        rx ucast pkts: 119
        rx mcast/bcast pkts: 12
        rate of last tx pkt: 39000 kbps
        rate of last rx pkt: 6000 kbps
        rx decrypt succeeds: 114
        rx decrypt failures: 0
    
    wl deauthenticate MAC
    wl sta_info MAC
     STA MAC:
        rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
        idle 6 seconds
        in network 0 seconds
        state:
        flags 0x6000: N_CAP
        tx pkts: 288
        tx failures: 0
        rx ucast pkts: 338
        rx mcast/bcast pkts: 12
        rate of last tx pkt: 52000 kbps
        rate of last rx pkt: 39000 kbps
        rx decrypt succeeds: 325
        rx decrypt failures: 0
    If I'm reading this right, the deauthenticate command works only while the phone is present and powered on. Also, I don't have any non-essentials enabled, such as ssh, telnet, syslog, port monitor, bandwidth monitor, ip monitor, ipv6, 5ghz. So, the command was issued from the gui.
     
    Last edited: Sep 29, 2018
  74. Techie007

    Techie007 Serious Server Member

    That's essentially what I did in the log earlier, just with other commands in between. Anyway, here it is, with a few other commands tacked on afterwards:

    Code:
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 105228 seconds
         in network 113069 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl deauthenticate 30:6A:**:**:**:F8
    
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 105261 seconds
         in network 113102 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl -i eth1 PM
    0
    
    wl dump
    wl0: Jan 23 2013 14:32:57 version 5.110.27.20012
     
    resets 7
    perm_etheraddr 00:90:**:**:**:2a cur_etheraddr c0:c1:**:**:**:2f
    board 0xf53b, board rev P100
    rate_override: A 0, B 0
    ant_rx_ovr 3 txant 3
     
    BSS Config 0: "**af**"
    enable 1 up 1 wlif 0x00000000 "eth1"
    wsec 0x4 auth 0 wsec_index 2 wep_algo 4
    current_bss->BSSID c0:c1:**:**:**:2f
    current_bss->SSID ""
     
    AS_IN_PROGRESS() 0 stas_associated 0
    aps_associated 1
    BSSID c0:c1:**:**:**:2f
    
    wl assoclist
    assoclist 0C:3E:**:**:**:42
    assoclist FC:2D:**:**:**:47
    assoclist 04:C3:**:**:**:5D
    assoclist 30:6A:**:**:**:F8 <--
    assoclist 34:64:**:**:**:2C
    assoclist E8:4E:**:**:**:31 

    @Sean B., thank you for your input as well. Pinging the IP address and ARPing the MAC address doesn't affect the sticking issue. Yes, all the phones on the network at this point are Android phones. I believe iPhones do it too, but I don't have live proof of that currently. You might be onto something with the power save function of a phone/tablet over a laptop. Wouldn't this be more of an APSD function, not the PM feature on the router's radio?
    This particular router is a Linksys E1500.
     
    koitsu likes this.
  75. koitsu

    koitsu Network Guru Member

    This is a bummer -- emphasis mine:

    The PS flag is interesting, because:

    Code:
    wl -i eth1 PM
    0
    
    Per wl PM usage, the modes you can set (on the AP) are this:
    Code:
    0: CAM (constantly awake)
    1: PS  (power-save)
    2: FAST PS mode
    
    Makes me wonder what's going on there. Is wl PM simply lying? Is PS actually used/honoured? Is it a different/unrelated thing (we do know there are a couple forms of "power management" involved in wireless, and so a simple abbreviation may be referring to one kind but not another; ex. APSD vs. something else). The information here is conflicting (that's not your fault @Techie007 -- I'm saying it's more the fault of Broadcom). Sean may want to poke more at this stuff (the PS-related stuff).

    As for the "one more command... but it's complicated..." I mentioned back in this post: what I was looking at was wl wowl_pkt. "WoWL" stands for "Wake on Wireless LAN". Quoting the subcommand usage:

    Code:
    wowl_pkt
            Send a wakeup frame to wakup a sleeping STA in WAKE mode
    Usage: wl wowl_pkt <len> <dst ea | bcast | ucast <STA ea>>[ magic [<STA ea>] | net <offset> <pattern> <reason code> ]
    e.g. To send bcast magic frame -- wl wowl_pkt 102 bcast magic 00:90:4c:AA:BB:CC
         To send ucast magic frame -- wl wowl_pkt 102 ucast 00:90:4c:aa:bb:cc magic
         To send a frame with L2 unicast - wl wowl_pkt 102 00:90:4c:aa:bb:cc net 0 0x00904caabbcc 0x03
     NOTE: offset for netpattern frame starts from "Dest EA" of ethernet frame.So dest ea will be used only when offset is >= 6
         To send a eapol identity frame with L2 unicast - wl wowl_pkt 102 00:90:4c:aa:bb:cc eapid id-string
    
    Just hear me out: the problem seems to be a driver-level bug where the wl.ko driver in the AP isn't actually honouring disassociation of the STA (client), and not honouring what scb_timeout configures. (I see scb_probe mentioned above, but that command isn't in wl's usage syntax, so possibly it's undocumented). From the driver's perspective, the client is still alive (see state of sta_info). What if having the AP send a wakeup frame would get it to, at the driver level, somehow "work itself out" about the STA in question? We know that the packet would go off into lala land (the STA isn't in range, is turned off, whatever), but maybe it would tickle something internal to the driver?

    I understand the difference between a bcast (broadcast) and ucast (unicast) magic frame for wakeup. It's similar to the classic Ethernet-based WOL methodology. I don't think the final example, EAPOL (Extensible Authentication Protocol over LAN) is relevant -- this involves some RADIUS nonsense -- but the former examples might be worth trying.

    Give the below a shot please. Be careful about the last wowl_pkt subcommand (look very carefully!). These are the values/fields and what they mean:

    interface = wireless interface on AP (ex. eth1 (2.4GHz), eth2 (5GHz))
    AA:BB:CC:DD:EE:FF = MAC of the STA in question
    0xAABBCCDDEEFF = Hexadecimal version of the STA MAC, but without colons, and needs the 0x prefix

    Code:
    wl -i interface wowl_pkt 102 bcast magic AA:BB:CC:DD:EE:FF
    {wait about 5-10 seconds}
    wl sta_info AA:BB:CC:DD:EE:FF
    
    wl -i interface wowl_pkt 102 ucast AA:BB:CC:DD:EE:FF magic
    {wait about 5-10 seconds}
    wl sta_info AA:BB:CC:DD:EE:FF
    
    wl -i interface wowl_pkt 102 AA:BB:CC:DD:EE:FF net 0 0xAABBCCDDEEFF 0x03
    {wait about 5-10 seconds}
    wl sta_info AA:BB:CC:DD:EE:FF
    
    If this doesn't help, then other than power-saving stuff and The Really Crappy Workaround(tm), I'm literally out of ideas.

    I did a write-up of The Really Crappy Workaround(tm) for this problem by excluding such devices from the Device List GUI only. I've saved it to a file so that if we get to that point I can paste the details of the work/code that needs to be done and how hairy it is. The downsides to workaround, other than the complexity, are:

    1. It will not solve the problem of the clients showing up in wl assoclist (via command line) or similar tools,

    2. It will not solve the problem of Tomato (specifically the wireless driver) thinking there are too many connected WiFi clients. I mention this because it comes up more and more these days, especially when people start trying to use these consumer routers in things like medium-sized companies (stop that, get yourself decent equipment! These are for homes with small numbers of people! :) )

    Edit: I really wish there was a way to turn off emoticons when posting.
     
    Techie007 likes this.
  76. kernel-panic69

    kernel-panic69 Network Newbie Member

    I could've sworn *.ko modules were 3.x and up kernels (sorry, couldn't resist!). I believe the wireless drivers are compiled into the kernel on Tomato and not in /lib/modules. Just kind of following along here. I'm not entirely sure if any of the Broadcom proprietary code I have in any of my GPL stuff is newer than what is in the repository, but it could be just a problematic outdated driver without any fixes for this? I really wished Broadcom wasn't such a pain in the a** to get updated / fixed drivers from.
     
  77. danielhaden

    danielhaden Network Guru Member

    I'd sure like to see the output of this command on Advanced Tomato: nvram show |grep wl
    Then I could compare and hunt for clues.
     
  78. danielhaden

    danielhaden Network Guru Member

  79. Techie007

    Techie007 Serious Server Member

    Done. Didn't kick it. I tried a few other commands as well:

    Code:
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 184583 seconds
         in network 192424 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl -i eth1 wowl_pkt 102 bcast magic 30:6A:**:**:**:F8
    
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 184613 seconds
         in network 192454 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl -i eth1 wowl_pkt 102 ucast 30:6A:**:**:**:F8 magic
    
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 184653 seconds
         in network 192494 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl -i eth1 wowl_pkt 102 30:6A:**:**:**:F8 net 0 0x306A******F8 0x03
    
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 184685 seconds
         in network 192526 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl -i eth1 PM
    0
    
    wl -i eth1 PM 1
    
    
    wl -i eth1 PM
    1
    
    wl -i eth1 PM 2
    
    
    wl -i eth1 PM
    2
    
    wl -i eth1 PM 0
    
    
    wl -i eth1 PM
    0
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 184911 seconds
         in network 192752 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl wme_apsd
    1
    
    wl wme_apsd 0
    wl: Not down
    
    wl wme
    1
    
    wl wme -1
    wl: Not down
    
    wl send_nulldata 30:6A:**:**:**:F8
    
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 185308 seconds
         in network 193149 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0
    
    wl keep_alive 30000 0x306A******F8
    wl: Unsupported
    
    wl scb_probe 10 1 1
    
    
    wl scb_probe
    timeout:10 sec, activity_time:1 sec, nprobes:1
    
    wl sta_info 30:6A:**:**:**:F8
     STA 30:6A:**:**:**:F8:
         rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
         idle 185857 seconds
         in network 193698 seconds
         state: AUTHENTICATED ASSOCIATED AUTHORIZED
         flags 0x613a: WME PS N_CAP
         tx pkts: 2367
         tx failures: 104
         rx ucast pkts: 4135
         rx mcast/bcast pkts: 43
         rate of last tx pkt: 6500 kbps
         rate of last rx pkt: 1000 kbps
         rx decrypt succeeds: 2447
         rx decrypt failures: 0 
    Shouldn't tx pkts and tx failures be counting up with some of the commands we sent?
     
    koitsu likes this.
  80. Sean B.

    Sean B. LI Guru Member

    Not when the STA is in power saving mode. Remember, the AP will buffer all packets destined for the STA until it receives the PS-Poll frame from the STA. Any command you execute that would cause data to be sent to the STA will not actually transmit at this time.

    I can confirm the PS flag is indeed a power save mode. With my own phone ( Android ) if I check the sta_info while the phone is actively being used, flags show as:

    Code:
    flags 0x1e13b: BRCM WME N_CAP AMPDU AMSDU
    But once I leave the phone idle with screen off for a short time, sta_info now shows flags as:

    Code:
    flags 0x1e13b: BRCM WME PS N_CAP AMPDU AMSDU
    @Techie007 , under Advanced->Wireless do you have APSD mode enabled or disabled?
     
    koitsu and Techie007 like this.
  81. Techie007

    Techie007 Serious Server Member

    Enabled.
     
  82. Sean B.

    Sean B. LI Guru Member

    Disable it. I have a feeling that may eliminate your issue. APSD = Automatic Power Save Delivery. This is the function that enables buffering of packets by the AP when an STA goes into sleep mode. You will have to wait until the next time one of these devices associates and leaves to determine results, as changing the wireless settings will clear the assoc list.
     
    Last edited: Sep 30, 2018
  83. danielhaden

    danielhaden Network Guru Member

    I had an wifi issue. It would start up with half throughput, but if I played with the wifi menus or disable/enable, then it would perform fully.

    This, I patched with a Wan-Up Script
    sleep 2
    wl down
    sleep 1
    wl up

    P.S.
    It seems that a similar approach may clear the phone error, but with 2 chron jobs, such as 4:00 wl down and then 4:00 sleep 2 ; wl up
    possibly
     
  84. Sean B.

    Sean B. LI Guru Member

    It will clear the assoc list so the stuck devices no longer show, but it doesn't address the fact they get stuck. I suggest trying APSD mode disabled first, as I believe it has a chance of preventing them from getting stuck in the first place.
     
  85. danielhaden

    danielhaden Network Guru Member

    My band-aid didn't hold either. Halved throughput problem came back. During a file copy from 1 room away, the Status pages shows the speed bouncing unstably from 48 to 270.
     
    Last edited: Sep 30, 2018
  86. koitsu

    koitsu Network Guru Member

    Also, wl down + wl up will impact every single wireless client on your network, either a full outage or a very strange outage. Two seconds of outage is enough to make people scream at IT in the region I live at. I've intentionally been avoiding discussing that "workaround" because I don't see it being feasible.

    Trying Sean's APSD disable approach sounds more feasible.

    Again, just to continue to remind folks, this is all because of what appears to be a MIPS Broadcom wireless driver bug. We're fighting against something we have virtually no control over.
     
    Techie007 and Sean B. like this.
  87. FredericM

    FredericM Network Newbie Member

    Thanks!
    I'll also give this a try. In my case it was also enabled.
    I've disabled it now so let's wait and see.
     
    Sean B. likes this.
  88. Sean B.

    Sean B. LI Guru Member

    @koitsu , would you have any interest in/use for the GNU project debugger ( gdb ) 7.10.1 built for ARM? I managed to get it compiled and functional, but didn't realize how in-depth of a program it is. Will take me awhile of fiddling with it to make it of any use. Thought perhaps you may have experience with it.

    Note: Not trying to random post this thread, but find it fitting as almost everything discussed is diagnostic related.
     
  89. FredericM

    FredericM Network Newbie Member

    I disabled it yesterday and today I have noticed that my phone is still in the assoc list while I'm not at home.
    So it doesn't seem to fix the problem.
    Any info I can fetch to debug?
     
  90. koitsu

    koitsu Network Guru Member

    @Sean B. Thanks for the offer. I actually use Entware on ARM, which offers gdb 8.1.1 as of present. And yeah, I'm quite familiar with gdb (been doing C since the very late 90s). While I still prefer printf()-based debugging, it depends on what the situation is.

    gdb's particularly helpful if binaries/libraries built with debugging symbols (and sometimes with optimisations disabled (-O0)) + things not stripped, but most everything on Tomato is optimised and stripped to conserve space. I think some packages are built with -Os (optimise for size). So unless you're good with ARM assembly and enjoy really digging deep at that level on Tomato, I kinda stick to other methodologies. (I myself still do 65xxx assembly on a regular basis -- done quite a lot the past several days, actually -- and I did x86 back in the early 90s, but today's x86/x64 is a whole other mess. I don't have familiarity with ARM or other RISC-arch CPUs -- my brain feels full already! :D)

    But for building your own programs, cross-compiled or via Tomatoware, where you can use something like gcc -O0 -g3 -- yes, absolutely helpful.
     
    Sean B. likes this.
  91. Sean B.

    Sean B. LI Guru Member

    In the list as in it shows an active signal with RSSI value? This is an important distinguishing factor of the issue, as a device still showing in the device list after disconnection is completely normal. It will drop off after other things expire/timeout such as DHCP lease etc. However, still showing an active connection complete with RSSI value when client is far off site is abnormal.
     
  92. FredericM

    FredericM Network Newbie Member

    Yes, it still has an RSSI value (-85).
    The output of the wl sta_info command is:

    Code:
     STA XX:XX:XX:XX:31:2F:
             rateset [ 1 2 5.5 6 9 11 12 18 24 36 48 54 ]
             idle 6398 seconds
             in network 39775 seconds
             state: AUTHENTICATED ASSOCIATED AUTHORIZED
             flags 0x613b: BRCM WME PS N_CAP
             tx pkts: 150109
             tx failures: 228
             rx ucast pkts: 125278
             rx mcast/bcast pkts: 476
             rate of last tx pkt: 1000 kbps
             rate of last rx pkt: 1000 kbps
             rx decrypt succeeds: 84697
             rx decrypt failures: 0
     
    Techie007 likes this.
  93. Sean B.

    Sean B. LI Guru Member

    Damn, no dice. Thanks for testing though.
     
  94. Radojevic

    Radojevic New Member Member

    I notice the signal quality for my network devices dramatically increased.

    For example, on my ASUS RT-N66U...
    Using shibby's tomato-K26USB-1.28.RT-N5x-MIPSR2-140-AIO-64K, a network device signal quality would be around 45.
    Using freshtomato-K26USB_RT-N5x-MIPSR2-2018.4-AIO-64K, the same network device signal quality is now 100.

    Is the signal quality really that much better, or is FreshTomato using a more lenient calculation for it than shibby's version?
    The signal strength for all network devices are around the same values, though.
     
    rs232 likes this.
  95. pedro311

    pedro311 Networkin' Nut Member

    pharma likes this.
  96. Aardvark

    Aardvark Serious Server Member

    From what I recall, the older builds reported the signal quality as the difference of the RSSI value and noise floor. For example, if the RSSI is -60 dBm and noise floor -90 dBm, the signal quality would be reported as 30. Newer builds now report the quality as a percentage, which uses an internal calculation to convert the (RSSI - noise floor) value to a percentage.

    Edit: I just took a look at the percentage calculation again; it doesn't use the noise floor value at all, just the RSSI value. Any value of -50 dBm or greater is considered to be 100% quality.
     
    Last edited: Oct 2, 2018
    Techie007 likes this.
  97. kernel-panic69

    kernel-panic69 Network Newbie Member

    And that may be linked to the other issue with connected devices, perhaps. The change between using noise floor and not using it. It's quite possible to not only be a driver-related issue, but another function contributing to the issue. Probably worth testing for giggles?
     
  98. Sean B.

    Sean B. LI Guru Member

    I've been trying to figure out exactly what random storage spot I stashed my E3000 in so I can try an duplicate/diagnose this stuck client issue on MIPS, but apparently I hid it from myself.
     
  99. danielhaden

    danielhaden Network Guru Member

    I discovered that my throughput problem was an Intel client hogging the wifi. So, I went to enable the Airtime Fairness feature (wl0_atf=1) and discovered that it is missing. It seems that we're using an elder driver, not the new driver with the security updates, patches, and features like airtime fairness? Does this matter need investigated or did I do more typos while trying to make settings?
     
  100. kernel-panic69

    kernel-panic69 Network Newbie Member

    I have the Ubuntu / Debian / generic tarball source packages for the latest STA driver, but not sure if that could be conjured up easily to use to replace the current wl driver. But that looks like where the problem(s) are related to wi-fi and what needs to be looked into, perhaps.
     
  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