1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Tomato MultiWAN

Discussion in 'Tomato Firmware' started by shibby20, Dec 8, 2015.

  1. joksi

    joksi Serious Server Member

    When I tested wired WAN together with secondary WAN as WLAN client, I had the same issue (connected but not working). Presumably some kind of bug.

    You cannot set priority 0 and use policy routing, cause there is no routes in standby. I have personally requested this mode in an earlier post. However, what you can do is for example set priority 255 on WAN1 and 1 on WAN2, which should result in WAN2 not beeing used (load balanced), but still being able to route specific traffic out WAN2 by policy routing because it's no longe in standby. I'm doing it that way.
     
    jsantosv likes this.
  2. jsantosv

    jsantosv Network Newbie Member

    Thanks! Well, what I did was use an old DIR-300 with DD-WRT I had lying around. Set it up as client for the hotspot, connect through LAN to the RT-N66U. Everything worked first try.

    Followed your recommendation about routing with load balancing and yes, it works perfectly. Only annoyance is that I have to log in in the router and disconnect WAN2 every time I turn off the hotspot, because WAN2 still gets DHCP from the other router and tomato thinks it's still connected to the internet. But other than that, everything runs smoothly.
     
  3. joksi

    joksi Serious Server Member

    Happy to hear it works for you too!
    That should'nt be a problem, if you set up the watchdog under Basic network. Put one or two IP/domains as targets and Tomato will remove WAN2 from the routing table when you turn off the hotspot and restore it again when you turn it on. If you are already using the watchdog, maybe try changing default traceroute to ping on WAN2.
     
  4. Lorenceo

    Lorenceo Networkin' Nut Member

    I've been testing two WANs on an R7000. Both are PPPoE based VDSL connections.
    Have run into some issues with it:

    1. The VLAN settings refuse to save correctly. It won't let me remove the LAN from the ports. I apply the settings, the router reboots, however when it comes back on the WAN2 ports are set, but LAN is still apparently active on them:

    upload_2016-11-21_13-12-30.png

    2. The router appears to only be using WAN1's DNS. WAN1 and 2 are with different ISPs, and some traffic being directed out of WAN2 is pulling from CDN nodes on WAN1's ISP's network, which seems to result in poorer performance. It'd be nice if the DNS queries from each WAN used their respective DNS servers.
    3. The connection balancing is not as aggressive as expected, when compared to PFsense. The only things which seem to take advantage of the extra WAN to combine throughput are torrents and Steam downloads. Other multi threaded applications such as speedtest.net end up only using one WAN connection. It'd be nice if we could change how aggressive the router pushes connections from the various WAN connections.
     
    crashnburn likes this.
  5. remlei

    remlei Networkin' Nut Member

    1. you can fix the vlan issue in v138 by setting up the vlan setting on v137 and upgrade to v138 without clearing the nvram.

    2. it can be done via firewall script I think but that's too hassle for me to do. although I can easily solve this by using openwrt's mwan3 with ipset and sticky connection. One thing that I know is Google hates multi-wan (multiple ip addresses) accessing their services, one thing that I noticed is the perfomance when loading gmail webpage under multiwan config vs a standalone wan config, standalone wan config can outrun the webpage load times far more greater than multiwan setup, were talking about 5 second load time vs 40sec load time.
     
  6. Lorenceo

    Lorenceo Networkin' Nut Member

    I've gotten around the VLAN config issue. Both VDSL lines use VLAN 10 tagging. I now have both modems connected together, with one modem set to do the VLAN 10 tagging for the DSL, and the other set to just bridge mode.

    Set up as below:
    upload_2016-11-21_18-28-15.png

    WAN port on router to LAN1 on modem 1. LAN2 on modem 1 to LAN1 on modem 2. The router sends out both untagged PPPoE packets and VLAN 10 tagged PPPoE packets. They each find their way to their respective modem and authenticate.

    Are there any plans for MLPPP to be implemented on the MultiWAN builds? It'd be cool to get the second VDSL line changed over to my main ISP, and combine the throughput of both without the need for the router to do any load balancing at all.
     
    Last edited: Nov 21, 2016
    crashnburn likes this.
  7. joksi

    joksi Serious Server Member

    2. Same issue here, already reported earlier in this thread but to no avail. DNSmaqs config is always using WAN1 DNS-servers in load balancing mode, until WAN1 is unavailable then it changes to another active WAN connections DNS-servers.

    3. I don't think you can change the"aggressivenes", Tomato is using Linux built-in ip route multihop.
     
  8. charsi

    charsi Network Newbie Member

    Although I am facing the same issue I think the bug is gui only and the lan port is working as WAN correctly for me.

    I can report a separate bug however. I am using DNScrypt because my ISP on WAN1 hijacks the DNS requests and sends them to its own server. When using multiwan (with second WAN configured as fallback) when the first ISP goes down the DNS stops working. This is probably because DNScrypt is still trying to connect through WAN1 instead of WAN2 as it should. I have to manually turn off DNScrypt each time internet connection on WAN 1 fails.

    Another possible bug (or I might be understanding this incorrectly) -
    I want my NAS to only connect via WAN1 as it downloads torrents and only the ISP on WAN1 allows unlimited downloads. I have created rules for the same (based on ip) in advanced multiwan options. However when WAN1 goes down the NAS is still able to connect to the internet via WAN 2.
     
    Last edited: Dec 6, 2016
  9. joksi

    joksi Serious Server Member

    This is probably not a bug, just the way it was designed. Maybe there should be like a checkbox beside each rule that is strictly enforcing it.
    However, in the meantime you can easily achieve the same by saving an IP-table rule in the firewall script that drops traffic from said IP on WAN2, which effectively results in that host not being able to access the internet at all when WAN1 goes down.
     
    charsi likes this.
  10. stormy

    stormy Networkin' Nut Member

    MultiWAN with VPN Client - constantly disconnecting

    Got a 1.28 MIPSR1-138 K26 IPv6-VPN firmware running on a linksys router with 2 ISPs, multiWAN is configured and working nicely!

    EXCEPT... it seems to be incompatible with VPN Clients.....

    Took a CISCO VOIP phone, that is building a VPN tunnel to the provider, and that thing now constantly disconnect/reconnects (it does manage to get a secure vpn/IP, but shortly after drops and reconnects).

    I suspect b/c the VPN tunnel is thought to be "hacked" once the ISP changes underneath it (due to MultiWAN :)

    Setup the MAC address in the Advanced/MultiWAN Routing of SOURCE to map to WAN1 or WAN2, also tried to add the (internal IP) of the voip phone to map to wan1 or wan2, but no matter what, the phone constantly reconnects after few minutes...

    Did another simple test, connecting using a smartphone and activating any VPN app, fails to work.. constantly reconnects...

    Is there any hack to let the MultiWAN code somehow know this VPN traffic (from MAC or [internal] IP) should always go to specific ISP (if it is UP)?

    Thanks.
     
  11. joksi

    joksi Serious Server Member

    You seem to have configured it right, however Im sorry to have to say it but the MULTIWAN releases are unfortunately pretty buggy in several setups. Also last version is like half a year old, development seems to have been stopped or something...
     
  12. stormy

    stormy Networkin' Nut Member

    EDIT: In summary, reading above, folks already report: "already reported earlier in this thread but to no avail. DNSmaqs config is always using WAN1 DNS-servers in load balancing mode", I've played with DNS IPs and got it a bit better than described below.


    I'm just wondering how/if anyone tried a VPN client over MultiWAN.. it might not be a "bug" but "intended behavior", although the MAC/IP should still be visible even with VPN, so it should stay on same ISP.

    Another question different question (not sure if to open a new thread or not), on diff setup, I got ISP1 & ISP2, each provides fixed IP (FIP1) & FIP2.

    set up MultiWAN with Static IPs for wan1/wan2. Set the watchdog timeout (since it's static IP - tried both traceroute & ping), to 1 minute, and tested two simple cases of "no internet" to one of the two isps, although in both cases the tomato router is seeing lines always "connected" (since static IPs are assigned), so watchdog is used.

    1) pull DSL wire from ISP2 (WAN2), so no internet on WAN2 (but WAN1 has internet). In this case, service is interrupted shortly, then things work on ISP1.

    2) pull DSL wirefrom ISP1 (WAN1), so no internet on WAN1 (but WAN2 has internet). In this case all operations STALL, b/c DNS is not-functioning!! can telneting into the router and running nslookup proves dns is broken:

    root@tomato3:/# nslookup google.com 127.0.0.1
    Server: 127.0.0.1
    Address 1: 127.0.0.1 localhost
    Name: google.com

    there, stalls indefinitely, but pinging the google.com IP works fine from inside router:

    root@tomato3:/tmp# ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8): 56 data bytes
    64 bytes from 8.8.8.8: seq=38 ttl=43 time=83.171 ms
    64 bytes from 8.8.8.8: seq=39 ttl=43 time=83.892 ms
    64 bytes from 8.8.8.8: seq=40 ttl=43 time=82.134 ms
    64 bytes from 8.8.8.8: seq=41 ttl=43 time=84.543 ms

    but ... this never returns:

    root@tomato3:/tmp# nslookup 8.8.8.8
    Server: 127.0.0.1
    Address 1: 127.0.0.1 localhost

    Name: 8.8.8.8
    Address 1: 8.8.8.8

    in both cases the tmp files reflect the correct state (0=off, 1=on) of the WANs, this is second case so, WAN1 is offline.:

    root@tomato3:/tmp# cat state_wan
    0
    root@tomato3:/tmp# cat state_wan2
    1

    It seems like a DNS issue, b/c simple queries cannot lookup, while at the same time the router can ping ANY *IP* on the net (using WAN2), just not resolve any names.

    I've not done anything fancy with regards to DNS, looking in /etc/resolv.conf it has 127.0.0.1, question how to know the REAL dns servers? why is dns stuck?

    In all places I've placed 8.8.8.8/8.8.4.4 as the DNS servers as manual setting, and that is seen in nvram show as:

    wan2_dns=8.8.8.8 8.8.4.4
    wan2_dns_auto=0
    wan2_get_dns=
    wan_dns=8.8.8.8 8.8.4.4
    wan_dns_auto=0
    wan_get_dns=

    also on the router:

    root@tomato3:/tmp/etc# cat resolv.conf
    nameserver 127.0.0.1
    root@tomato3:/tmp/etc# cat resolv.dnsmasq
    nameserver 8.8.8.8
    nameserver 8.8.4.4

    dnsmasq.conf has basic stuff:

    root@tomato3:/tmp/etc# cat dnsmasq.conf
    pid-file=/var/run/dnsmasq.pid
    resolv-file=/etc/resolv.dnsmasq
    addn-hosts=/etc/dnsmasq/hosts
    dhcp-hostsfile=/etc/dnsmasq/dhcp
    expand-hosts
    min-port=4096
    stop-dns-rebind
    rebind-localhost-ok
    interface=br0
    dhcp-range=tag:br0,192.168.1.100,192.168.1.250,255.255.255.0,1440m
    dhcp-option=tag:br0,3,192.168.1.3
    dhcp-lease-max=255
    dhcp-authoritative

    any clue? or better place to post this, why is WAN offline causes DNS "stalls" and WAN2 down does not?

    Thanks, Stormy.
     
    Last edited: Jan 4, 2017
  13. stormy

    stormy Networkin' Nut Member

    Is MAC filtering working for anyone with MultiWAN? I'm using 1.28 MIPSR1-138 K26 IPv6-VPN firmware, 2 ISPs, set 1 rule for protocol ALL, source address a PC's MAC, dest: all, to go on WAN1, but running whatis my ip from that PC keeps changing the IP.. I did press SAVE and restart the router, copy and pasted the MAC from the device list, so it must be right... what the router is actually seeing.

    Is the MultiWAN filtering rules working for anyone?

    EDIT: Personally, I don't care that IP changes, however, downloads of large ISO files, etc. stops mid-way, probably b/c the dest server is seeing requests coming from both IPs so connection drops... and downloads stall. Need a way to fix a PC/client/MAC/IP to a given WAN, if that is down, go to other, and stay there until original one is back online.
     
    Last edited: Jan 4, 2017
  14. stormy

    stormy Networkin' Nut Member

    Finally, a more fundamental question regarding MultiWAN's rule option. It seems that setting PC1's MAC/IP to go on WAN1, then if WAN1 is offline, traffic to PC1 is halted completely.. is there anyway to say, load balance, PC1 on WAN1, BUT, if wan1 is down, use any other available WAN, once WAN1 is back, reenforce the rule and put PC1 back to WAN1. Just tested, and see that if WAN1 is down, all PCs assigned to that wan are completely offline, which defeats the purpose of multiwan. Setting back backup/failover mode is a huge waste of bandwidth when there is NO failure, which is 99% of the times :)

    Thoughts?
     
  15. stormy

    stormy Networkin' Nut Member

    ok, found that there are many false detection (USING PING) of wan going down, just grep 0 /tmp/state* every 10 sec, and every few minutes it shows: state_wan:0, that is not correct, b/c constant ping -I <wan> on both wans separately shows no outages..

    This was with "1" minute watchdog.. so moved to 3 minutes.. no diff, just longer interval between these failures.. it only became much worse, b/c it took 3+ minutes to get OUT of this false "outage", all this time, pings are streaming on other windows via the specific interface (using ping -I)...

    default 'traceroute' detection method did not find any outages, even when physically pull cable from any ISP's box :)

    I guess this h/w is not strong enough... need to look for alternatives :)

    Thanks.. (still curious on question in post immediately above this one)
     
  16. information-house

    information-house New Member Member

    Hello!

    WHAT WORKS:
    Once I have only one wan connection it will work like a charm. Just plug and play. But when I use multiple wan connections everything stops working.

    WHAT I TRY TO DO:
    I have been trying to setup multiwan functionality for few days now and I have failed to get it to work.I have setup 2 wired WAN and WAN2. Then I have added one wireless frequency for WAN3.

    HARDWARE SETUP:
    I have 1xHuawei4G, 1xAsus4G and 1xTP-Link4G. These 3 Routers take in 3x4G connections. ISP is same for all connections.

    Huawei is in 192.168.8.1
    subnet 255.255.255.0

    Asus is in 192.168.3.1
    subnet 255.255.254.0

    TP-Link is in 192.168.12.1
    subnet 255.255.255.0

    Then I have tomato installed in RT-N66U Which is connected to all of these 3 routers.

    TOMATO SESTUP:
    First I have setup VLAN. There was bug with GUI, so I had to do it with terminal.
    VLAN 1 VID 1 PORTS 1,2,3 default* Bridge: LAN
    VLAN 2 VID 2 PORTS WAN Bridge: WAN
    VLAN 3 VID 3 PORTS 4 Bridge: WAN2
    VLAN 4 VID 4 PORTS (none since it's wireless) Bridge: WAN3

    When I use DHCP to automatically get connections it will just keep renewing connection and subnetmaks will stay as 0.0.0.0 For all WAN, WAN2 and WAN3. So it looks like it's not working.

    When I use static addresses, So I choose ip from routers
    WAN: ip range such as 192.168.3.117
    gateway is set as 192.168.3.1
    subnetmask is set as 255.255.254.0
    dns is set as 192.168.3.1

    WAN2: ip range such as 192.168.8.117
    gateway is set as 192.168.8.1
    subnetmask is set as 255.255.255.0
    dns is set as 192.168.8.1

    WAN3: ip range such as 192.168.12.117
    gateway is set as 192.168.12.1
    subnetmask is set as 255.255.255.0
    dns is set as 192.168.12.1

    With these settings I get all 3 WAN connections listed as "connected", but still I have no connection to Internet, no connection to other routers.

    Do I need to setup still something more? Is there some bugs that I should be aware? Any help is appreciated.

    If it helps, I can provide screenshots of settings too.
     
  17. ziddey

    ziddey Network Guru Member

    I'm running into an issue with an Asus RT-N66.

    I'm trying to setup WAN1 normally using the WAN port, and WAN2 as a wireless client (5ghz). Setting up either by itself works fine as expected. However, once I add the VLAN and setup WAN2, the ethernet WAN will no longer pull an IP address. Setting it statically doesn't help either. These networks are in different subnets.

    I've tested both the N and AC builds with the same results. Full NVRAM reset each time.

    Any clues? The only change I'm making each time is changing the mac address for eth2 (5ghz).
     
  18. tcsoft

    tcsoft LI Guru Member

    132 was rockstable. upgraded to 138, wiped nvram. did all config from scratch. now on wan1/pptp the keepalive setting is not respected anymore. my guess is, this is a bug related to multiwan feature.

    Gesendet von meinem Nexus 9 mit Tapatalk
     
  19. tcsoft

    tcsoft LI Guru Member

    followup: seems like there are some firewalling issues. the pptp service does successfully establish a new connection after a timeout. but no internet access though. seems like no traffic forwared through wan1.

    Gesendet von meinem Nexus 9 mit Tapatalk
     
  20. Evengard

    Evengard New Member Member

    Stumbled upon a bug in multiwan. My configuration:
    wan1 - failover provider
    wan2 - main provider
    Both wan1 and wan2 configured to receive IP + DNS from DHCP

    Even when wan2 is up and running fine, /etc/resolv.dnsmasq is still populated with DNS servers, received from wan1 DHCP, instead of wan2.
     
  21. joksi

    joksi Serious Server Member

    Have Shibby stopped developing? Is there another version of Tomato that is actively being developed?
     
  22. pomidor1

    pomidor1 Reformed Router Member

    No
    Just haha got married ;-) you know how it is ;-)
    Two have had their heads broken at work lately.

    @kille72 administrator https://openlinksys.info under Shibbie's guidance, he learned to compile Tomato and, for his own use, decided to release a fork by Shibby tomato for ARM routers.
    http://www.linksysinfo.org/index.ph...shibby-compiled-by-kille72.73397/#post-286434
    The idea was to openlinksys users and also users of LI
    Maybe something good will come out of this storm of takers for tomato.
    We count on Shibby to find some time for Tomato, and include fixes from the fork by @kille72 and add their improvements and will specifically add support for ac68u e1, e2, c1 - because the cat is not Shibby

    That's why the images are numbered 138.1 to 138.14 - only Shibby will release 139
    This routers have Shibby ;-) now
    http://anon.groov.pl/index.php?version=139+K26ARM+USB
     
    Last edited: Mar 28, 2017
    Elfew likes this.
  23. joksi

    joksi Serious Server Member

    Okey, I see. So the newest releases based on Shibby is by @kille72?

    Do you know if any fixes have been done to the wireless driver? (Netgear R6250)
     
  24. pomidor1

    pomidor1 Reformed Router Member

    YES

    NO
    only country set to magical Singapur
    and tramsit power to 0 , This is not 0 only the default value of the hardware
     
  25. joksi

    joksi Serious Server Member

    What does this fix? I have issues with low speed downstream (15 mpbs) on 2,4ghz, upstream is good. (70 mbps)
     
  26. pomidor1

    pomidor1 Reformed Router Member

  27. AndreDVJ

    AndreDVJ Addicted to LI Member

    @joksi changing settings for certain things such as Wireless driver settings aren't that easy.

    In release/src-rt-6.x.4708/router/rc/init.c, that's the following code block that contains pretty much all hardware settings (including wireless driver):

    Code:
        case MODEL_R6250:
        case MODEL_R6300v2:
        case MODEL_R6400:
        case MODEL_R7000:
            mfr = "Netgear";
            if(nvram_match("board_id", "U12H245T00_NETGEAR")) //R6250
                name = "R6250";
            else if(nvram_match("board_id", "U12H332T00_NETGEAR")) //R6400
                name = "R6400";
            else
                name = model == MODEL_R7000 ? "R7000" : "R6300v2"; //R7000 or R6300v2
    
            features = SUP_SES | SUP_80211N | SUP_1000ET | SUP_80211AC;
    #ifdef TCONFIG_USB
            nvram_set("usb_uhci", "-1");
    #endif
            if (!nvram_match("t_fix1", (char *)name)) {
                if (get_model() == MODEL_R6300v2) {
                    nvram_set("lan_invert", "1");
                }
                nvram_set("vlan1hwname", "et0");
                nvram_set("vlan2hwname", "et0");
                nvram_set("lan_ifname", "br0");
                nvram_set("landevs", "vlan1 wl0 wl1");
                nvram_set("lan_ifnames", "vlan1 eth1 eth2");
                nvram_set("wan_ifnames", "vlan2");
                nvram_set("wan_ifnameX", "vlan2");
                nvram_set("wandevs", "vlan2");
                nvram_set("wl_ifnames", "eth1 eth2");
                nvram_set("wl_ifname", "eth1");
                nvram_set("wl0_ifname", "eth1");
                nvram_set("wl1_ifname", "eth2");
    
                //disable second *fake* LAN interface
                nvram_unset("et1macaddr");
    
                // fix WL mac for 2,4G
                nvram_set("pci/1/1/macaddr", nvram_safe_get("et0macaddr"));
    
                // fix WL mac for 5G
                strcpy(s, nvram_safe_get("pci/1/1/macaddr"));
                inc_mac(s, +1);
                nvram_set("pci/2/1/macaddr", s);
    
                // usb3.0 settings
                nvram_set("usb_usb3", "1");
                nvram_set("xhci_ports", "1-1");
                nvram_set("ehci_ports", "2-1 2-2");
                nvram_set("ohci_ports", "3-1 3-2");
    
                // force wl1 settings
                nvram_set("wl1_bw", "3");
                nvram_set("wl1_bw_cap", "7");
                nvram_set("wl1_chanspec", "149/80");
                nvram_set("wl1_nctrlsb", "lower");
                nvram_set("wl_country", "SG");
                nvram_set("wl_country_code", "SG");
                nvram_set("blink_wl", "1");
    
                // bcm4360ac_defaults - fix problem of loading driver failed with code 21
                nvram_set("pci/1/1/aa2g", "7");
                nvram_set("pci/1/1/agbg0", "71");
                nvram_set("pci/1/1/agbg1", "71");
                nvram_set("pci/1/1/agbg2", "71");
                nvram_set("pci/1/1/antswitch", "0");
                nvram_set("pci/1/1/boardflags", "0x1000");
                nvram_set("pci/1/1/boardflags2", "0x100002");
                nvram_set("pci/1/1/boardflags3", "0x10000003");
                nvram_set("pci/1/1/boardnum", "57359");
                nvram_set("pci/1/1/boardrev", "0x1150");
                nvram_set("pci/1/1/boardtype", "0x661");
                nvram_set("pci/1/1/cckbw202gpo", "0");
                nvram_set("pci/1/1/cckbw20ul2gpo", "0");
                nvram_set("pci/1/1/devid", "0x43a1");
                nvram_set("pci/1/1/dot11agduphrpo", "0");
                nvram_set("pci/1/1/dot11agduplrpo", "0");
                nvram_set("pci/1/1/dot11agofdmhrbw202gpo", "0xCA86");
                nvram_set("pci/1/1/epagain2g", "0");
                nvram_set("pci/1/1/femctrl", "3");
                nvram_set("pci/1/1/gainctrlsph", "0");
                nvram_set("pci/1/1/maxp2ga0", "106");
                nvram_set("pci/1/1/maxp2ga1", "106");
                nvram_set("pci/1/1/maxp2ga2", "106");
                nvram_set("pci/1/1/mcsbw202gpo", "0xA976A600");
                nvram_set("pci/1/1/mcsbw402gpo", "0xA976A600");
                nvram_set("pci/1/1/measpower", "0x7f");
                nvram_set("pci/1/1/measpower1", "0x7f");
                nvram_set("pci/1/1/measpower2", "0x7f");
                nvram_set("pci/1/1/noiselvl2ga0", "31");
                nvram_set("pci/1/1/noiselvl2ga1", "31");
                nvram_set("pci/1/1/noiselvl2ga2", "31");
                nvram_set("pci/1/1/ofdmlrbw202gpo", "0");
                nvram_set("pci/1/1/pa2ga0", "0xFF32,0x1C30,0xFCA3");
                nvram_set("pci/1/1/pa2ga1", "0xFF35,0x1BE3,0xFCB0");
                nvram_set("pci/1/1/pa2ga2", "0xFF33,0x1BE1,0xFCB0");
                nvram_set("pci/1/1/papdcap2g", "0");
                nvram_set("pci/1/1/pdgain2g", "14");
                nvram_set("pci/1/1/pdoffset2g40ma0", "15");
                nvram_set("pci/1/1/pdoffset2g40ma1", "15");
                nvram_set("pci/1/1/pdoffset2g40ma2", "15");
                nvram_set("pci/1/1/pdoffset2g40mvalid", "1");
                nvram_set("pci/1/1/pdoffset40ma0", "0");
                nvram_set("pci/1/1/pdoffset40ma1", "0");
                nvram_set("pci/1/1/pdoffset40ma2", "0");
                nvram_set("pci/1/1/pdoffset80ma0", "0");
                nvram_set("pci/1/1/pdoffset80ma1", "0");
                nvram_set("pci/1/1/pdoffset80ma2", "0");
                nvram_set("pci/1/1/regrev", "66");
                nvram_set("pci/1/1/rpcal2g", "0xefb");
                nvram_set("pci/1/1/rxgainerr2ga0", "63");
                nvram_set("pci/1/1/rxgainerr2ga1", "31");
                nvram_set("pci/1/1/rxgainerr2ga2", "31");
                nvram_set("pci/1/1/rxgains2gelnagaina0", "3");
                nvram_set("pci/1/1/rxgains2gelnagaina1", "3");
                nvram_set("pci/1/1/rxgains2gelnagaina2", "3");
                nvram_set("pci/1/1/rxgains2gtrelnabypa0", "1");
                nvram_set("pci/1/1/rxgains2gtrelnabypa1", "1");
                nvram_set("pci/1/1/rxgains2gtrelnabypa2", "1");
                nvram_set("pci/1/1/rxgains2gtrisoa0", "7");
                nvram_set("pci/1/1/rxgains2gtrisoa1", "7");
                nvram_set("pci/1/1/rxgains2gtrisoa2", "7");
                nvram_set("pci/1/1/sar2g", "18");
                nvram_set("pci/1/1/sromrev", "11");
                nvram_set("pci/1/1/subband5gver", "0x4");
                nvram_set("pci/1/1/subvid", "0x14e4");
                nvram_set("pci/1/1/tssifloor2g", "0x3ff");
                nvram_set("pci/1/1/tssiposslope2g", "1");
                nvram_set("pci/1/1/tworangetssi2g", "0");
                nvram_set("pci/1/1/xtalfreq", "65535");
                nvram_set("pci/2/1/aa2g", "7");
                nvram_set("pci/2/1/aa5g", "0");
                nvram_set("pci/2/1/aga0", "0");
                nvram_set("pci/2/1/aga1", "0");
                nvram_set("pci/2/1/aga2", "0");
                nvram_set("pci/2/1/agbg0", "0");
                nvram_set("pci/2/1/agbg1", "0");
                nvram_set("pci/2/1/agbg2", "0");
                nvram_set("pci/2/1/antswitch", "0");
                nvram_set("pci/2/1/boardflags", "0x30000000");
                nvram_set("pci/2/1/boardflags2", "0x300002");
                nvram_set("pci/2/1/boardflags3", "0x10000000");
                nvram_set("pci/2/1/boardnum", "20507");
                nvram_set("pci/2/1/boardrev", "0x1451");
                nvram_set("pci/2/1/boardtype", "0x621");
                nvram_set("pci/2/1/cckbw202gpo", "0");
                nvram_set("pci/2/1/cckbw20ul2gpo", "0");
                nvram_set("pci/2/1/devid", "0x43a2");
                nvram_set("pci/2/1/dot11agduphrpo", "0");
                nvram_set("pci/2/1/dot11agduplrpo", "0");
                nvram_set("pci/2/1/dot11agofdmhrbw202gpo", "0");
                nvram_set("pci/2/1/epagain2g", "0");
                nvram_set("pci/2/1/epagain5g", "0");
                nvram_set("pci/2/1/femctrl", "3");
                nvram_set("pci/2/1/gainctrlsph", "0");
                nvram_set("pci/2/1/maxp2ga0", "76");
                nvram_set("pci/2/1/maxp2ga1", "76");
                nvram_set("pci/2/1/maxp2ga2", "76");
                nvram_set("pci/2/1/maxp5ga0", "106,106,106,106");
                nvram_set("pci/2/1/maxp5ga1", "106,106,106,106");
                nvram_set("pci/2/1/maxp5ga2", "106,106,106,106");
                nvram_set("pci/2/1/mcsbw1605ghpo", "0");
                nvram_set("pci/2/1/mcsbw1605glpo", "0");
                nvram_set("pci/2/1/mcsbw1605gmpo", "0");
                nvram_set("pci/2/1/mcsbw1605hpo", "0");
                nvram_set("pci/2/1/mcsbw202gpo", "0");
                nvram_set("pci/2/1/mcsbw205ghpo", "0xBA768600");
                nvram_set("pci/2/1/mcsbw205glpo", "0xBA768600");
                nvram_set("pci/2/1/mcsbw205gmpo", "0xBA768600");
                nvram_set("pci/2/1/mcsbw402gpo", "0");
                nvram_set("pci/2/1/mcsbw405ghpo", "0xBA768600");
                nvram_set("pci/2/1/mcsbw405glpo", "0xBA768600");
                nvram_set("pci/2/1/mcsbw405gmpo", "0xBA768600");
                nvram_set("pci/2/1/mcsbw805ghpo", "0xBA768600");
                nvram_set("pci/2/1/mcsbw805glpo", "0xBA768600");
                nvram_set("pci/2/1/mcsbw805gmpo", "0xBA768600");
                nvram_set("pci/2/1/mcslr5ghpo", "0");
                nvram_set("pci/2/1/mcslr5glpo", "0");
                nvram_set("pci/2/1/mcslr5gmpo", "0");
                nvram_set("pci/2/1/measpower", "0x7f");
                nvram_set("pci/2/1/measpower1", "0x7f");
                nvram_set("pci/2/1/measpower2", "0x7f");
                nvram_set("pci/2/1/noiselvl2ga0", "31");
                nvram_set("pci/2/1/noiselvl2ga1", "31");
                nvram_set("pci/2/1/noiselvl2ga2", "31");
                nvram_set("pci/2/1/noiselvl5ga0", "31,31,31,31");
                nvram_set("pci/2/1/noiselvl5ga1", "31,31,31,31");
                nvram_set("pci/2/1/noiselvl5ga2", "31,31,31,31");
                nvram_set("pci/2/1/ofdmlrbw202gpo", "0");
                nvram_set("pci/2/1/pa2ga0", "0xfe72,0x14c0,0xfac7");
                nvram_set("pci/2/1/pa2ga1", "0xfe80,0x1472,0xfabc");
                nvram_set("pci/2/1/pa2ga2", "0xfe82,0x14bf,0xfad9");
                nvram_set("pci/2/1/pa5ga0", "0xFF4C,0x1808,0xFD1B,0xFF4C,0x18CF,0xFD0C,0xFF4A,0x1920,0xFD08,0xFF4C,0x1949,0xFCF6");
                nvram_set("pci/2/1/pa5ga1", "0xFF4A,0x18AC,0xFD0B,0xFF44,0x1904,0xFCFF,0xFF56,0x1A09,0xFCFC,0xFF4F,0x19AB,0xFCEF");
                nvram_set("pci/2/1/pa5ga2", "0xFF4C,0x1896,0xFD11,0xFF43,0x192D,0xFCF5,0xFF50,0x19EE,0xFCF1,0xFF52,0x19C6,0xFCF1");
                nvram_set("pci/2/1/papdcap2g", "0");
                nvram_set("pci/2/1/papdcap5g", "0");
                nvram_set("pci/2/1/pdgain2g", "4");
                nvram_set("pci/2/1/pdgain5g", "4");
                nvram_set("pci/2/1/pdoffset2g40ma0", "15");
                nvram_set("pci/2/1/pdoffset2g40ma1", "15");
                nvram_set("pci/2/1/pdoffset2g40ma2", "15");
                nvram_set("pci/2/1/pdoffset2g40mvalid", "1");
                nvram_set("pci/2/1/pdoffset40ma0", "4369");
                nvram_set("pci/2/1/pdoffset40ma1", "4369");
                nvram_set("pci/2/1/pdoffset40ma2", "4369");
                nvram_set("pci/2/1/pdoffset80ma0", "0");
                nvram_set("pci/2/1/pdoffset80ma1", "0");
                nvram_set("pci/2/1/pdoffset80ma2", "0");
                nvram_set("pci/2/1/phycal_tempdelta", "255");
                nvram_set("pci/2/1/rawtempsense", "0x1ff");
                nvram_set("pci/2/1/regrev", "66");
                nvram_set("pci/2/1/rpcal2g", "0");
                nvram_set("pci/2/1/rpcal5gb0", "0x7c0c");
                nvram_set("pci/2/1/rpcal5gb1", "0x880a");
                nvram_set("pci/2/1/rpcal5gb2", "0x7b04");
                nvram_set("pci/2/1/rpcal5gb3", "0x8c12");
                nvram_set("pci/2/1/rxchain", "7");
                nvram_set("pci/2/1/rxgainerr2ga0", "63");
                nvram_set("pci/2/1/rxgainerr2ga1", "31");
                nvram_set("pci/2/1/rxgainerr2ga2", "31");
                nvram_set("pci/2/1/rxgainerr5ga0", "63,63,63,63");
                nvram_set("pci/2/1/rxgainerr5ga1", "31,31,31,31");
                nvram_set("pci/2/1/rxgainerr5ga2", "31,31,31,31");
                nvram_set("pci/2/1/rxgains2gelnagaina0", "0");
                nvram_set("pci/2/1/rxgains2gelnagaina1", "0");
                nvram_set("pci/2/1/rxgains2gelnagaina2", "0");
                nvram_set("pci/2/1/rxgains2gtrelnabypa0", "0");
                nvram_set("pci/2/1/rxgains2gtrelnabypa1", "0");
                nvram_set("pci/2/1/rxgains2gtrelnabypa2", "0");
                nvram_set("pci/2/1/rxgains2gtrisoa0", "0");
                nvram_set("pci/2/1/rxgains2gtrisoa1", "0");
                nvram_set("pci/2/1/rxgains2gtrisoa2", "0");
                nvram_set("pci/2/1/rxgains5gelnagaina0", "4");
                nvram_set("pci/2/1/rxgains5gelnagaina1", "4");
                nvram_set("pci/2/1/rxgains5gelnagaina2", "4");
                nvram_set("pci/2/1/rxgains5ghelnagaina0", "3");
                nvram_set("pci/2/1/rxgains5ghelnagaina1", "3");
                nvram_set("pci/2/1/rxgains5ghelnagaina2", "4");
                nvram_set("pci/2/1/rxgains5ghtrelnabypa0", "1");
                nvram_set("pci/2/1/rxgains5ghtrelnabypa1", "1");
                nvram_set("pci/2/1/rxgains5ghtrelnabypa2", "1");
                nvram_set("pci/2/1/rxgains5ghtrisoa0", "5");
                nvram_set("pci/2/1/rxgains5ghtrisoa1", "4");
                nvram_set("pci/2/1/rxgains5ghtrisoa2", "4");
                nvram_set("pci/2/1/rxgains5gmelnagaina0", "3");
                nvram_set("pci/2/1/rxgains5gmelnagaina1", "4");
                nvram_set("pci/2/1/rxgains5gmelnagaina2", "4");
                nvram_set("pci/2/1/rxgains5gmtrelnabypa0", "1");
                nvram_set("pci/2/1/rxgains5gmtrelnabypa1", "1");
                nvram_set("pci/2/1/rxgains5gmtrelnabypa2", "1");
                nvram_set("pci/2/1/rxgains5gmtrisoa0", "5");
                nvram_set("pci/2/1/rxgains5gmtrisoa1", "4");
                nvram_set("pci/2/1/rxgains5gmtrisoa2", "4");
                nvram_set("pci/2/1/rxgains5gtrelnabypa0", "1");
                nvram_set("pci/2/1/rxgains5gtrelnabypa1", "1");
                nvram_set("pci/2/1/rxgains5gtrelnabypa2", "1");
                nvram_set("pci/2/1/rxgains5gtrisoa0", "7");
                nvram_set("pci/2/1/rxgains5gtrisoa1", "6");
                nvram_set("pci/2/1/rxgains5gtrisoa2", "5");
                nvram_set("pci/2/1/sar2g", "18");
                nvram_set("pci/2/1/sar5g", "15");
                nvram_set("pci/2/1/sb20in40hrpo", "0");
                nvram_set("pci/2/1/sb20in40lrpo", "0");
                nvram_set("pci/2/1/sb20in80and160hr5ghpo", "0");
                nvram_set("pci/2/1/sb20in80and160hr5glpo", "0");
                nvram_set("pci/2/1/sb20in80and160hr5gmpo", "0");
                nvram_set("pci/2/1/sb20in80and160lr5ghpo", "0");
                nvram_set("pci/2/1/sb20in80and160lr5glpo", "0");
                nvram_set("pci/2/1/sb20in80and160lr5gmpo", "0");
                nvram_set("pci/2/1/sb40and80hr5ghpo", "0");
                nvram_set("pci/2/1/sb40and80hr5glpo", "0");
                nvram_set("pci/2/1/sb40and80hr5gmpo", "0");
                nvram_set("pci/2/1/sb40and80lr5ghpo", "0");
                nvram_set("pci/2/1/sb40and80lr5glpo", "0");
                nvram_set("pci/2/1/sb40and80lr5gmpo", "0");
                nvram_set("pci/2/1/sromrev", "11");
                nvram_set("pci/2/1/subband5gver", "0x4");
                nvram_set("pci/2/1/subvid", "0x14e4");
                nvram_set("pci/2/1/tempcorrx", "0x3f");
                nvram_set("pci/2/1/tempoffset", "255");
                nvram_set("pci/2/1/tempsense_option", "0x3");
                nvram_set("pci/2/1/tempsense_slope", "0xff");
                nvram_set("pci/2/1/temps_hysteresis", "15");
                nvram_set("pci/2/1/temps_period", "15");
                nvram_set("pci/2/1/tempthresh", "255");
                nvram_set("pci/2/1/tssifloor2g", "0x3ff");
                nvram_set("pci/2/1/tssifloor5g", "0x3ff,0x3ff,0x3ff,0x3ff");
                nvram_set("pci/2/1/tssiposslope2g", "1");
                nvram_set("pci/2/1/tssiposslope5g", "1");
                nvram_set("pci/2/1/tworangetssi2g", "0");
                nvram_set("pci/2/1/tworangetssi5g", "0");
                nvram_set("pci/2/1/txchain", "7");
                nvram_set("pci/2/1/xtalfreq", "65535");
            }
            break;
    We don't really know what to do with these values, which are mostly "magic" ones and mean nothing to us, but to Broadcom and manufacturers. The only thing we can do, is to follow Netgear or Asus.

    And the only way I know to get these values for Netgear routers at least, is to install Genie (i.e. Netgear OFW), reset to defaults, telnet into the router and save output of nvram show command into a file (or have Putty do that for you).

    Settings for R6250 may not be the same as R7000. They were probably the same back in the day, and I don't have the slightest idea what is Netgear doing with these values at the moment.

    I need to find a time to dump these values for my R7000, but I have no idea it'll work on the remaining Netgear routers covered by that code block.

    And things can get worse: The latest diff I did, what Netgear changed was TX beamforming settings, which holds almost no relevance for 802.11n users, and for AC users such as myself, it's even disabled by default on my T9E card, so I'm afraid pretty much nothing cares about beamforming, despite being arguably always enabled on Tomato, and I don't know if it's implicit or explicit thing...

    Not to mention Wi-fi world isn't nice to anyone, and this subject was discussed to exhaustion on this forum.
     
    pomidor1 and kille72 like this.
  28. Elfew

    Elfew Network Guru Member

    pomidor1 likes this.
  29. pomidor1

    pomidor1 Reformed Router Member

    I think so, I'm hoping it can add ac68u e1
     
  30. joksi

    joksi Serious Server Member


    Okey I see. Well, if I recall right the performance issue with 2,4ghz is only affecting R6250 (haven't read anywhere about issues with R7000). It's sad, it worked great with original firmware, but ever since I flashed Tomato on the router 2,4ghz is not that fast anymore. Stable, yes, but under performing. The biggest issue with Tomato and R6250 is when starting from scratch with Tomato factory defaults, almost no 2,4ghz client can connect at all. To be able to make 2,4 ghz working one is forced to explicitly set the receive and transmit antennas in a specific order (if I recal B and A, not A and B, or auto as per default) under advanced wireless settings. So that's an clear indication to me that there is some issues in the first place.

    However, 5 ghz work flawlessly (though region has to be changed for a little more channels) with factory defaults.

    How is it possible that the driver settings differs that much? I mean that 5Ghz work as supposed while 2,4Ghz doesn't.
     
  31. crashnburn

    crashnburn LI Guru Member

    I just installed Shibby AIO v138 on RT-N16 and need VLAN for Multi WAN. Is there some error/ bug in the VLAN system/ module of this release?

    I cant seem to even get this to happen:
    http://www.shocknetwork.com/wordpre...at-the-same-time-tomato-multiwan-works-great/

    [​IMG]

    I am unable to pull a Single port of RT-N16 [Tried with nearest to WAN: 4 and farthest: 1 ]
    to leave LAN(br0).

    I get it to come to WAN2, but it still shows with a Yes on LAN (br0).

    I've tried it in 2 step SAVEs and 1 step at a time SAVEs. But, it I get a YES for the Port on both LAN (br0) and WAN 2.

    Is that correct? At certain times when I was trying to make this work I also got the error message:
    "Single port cannot be Untagged on 2 VLans". But, no matter how much I unchecked it from LAN (br0) it seems to want to stay there.

    Forget about starting WAN2, is there an issue with making a port leave LAN (br0) unless it has a place it belongs to?

    PS: Also, the order invesion is also confusiong. For RT-N16 should we invert or not?
    Read that RT-N16 uses inverted order of ports
     
    Last edited: Apr 8, 2017
  32. crashnburn

    crashnburn LI Guru Member

    I am facing a similar issue (outlined above). What would you suggest doing? How do I determine an appropriate course of action? -

    Even if I disconnect/ disable the WAN stuff, should I not be able to remove the Port from LAN (br0)?
    How did you figured out the VLAN 10 tagging from your ISP? (Here in asia/ India i doubt if I can even get the ISP wire man to find who knows that info).
    Could I use some network/ sniffing/ tools / apps to figure that?
     
  33. crashnburn

    crashnburn LI Guru Member

    Do elaborate more please. I dont have modem's here as both connections come via RJ45 CAT 6/5e cable connected via
    - FTTB / Optic Fibre to RJ45 converter (locked in their box at top of building) - Can maybe try and get a picture of the device inside for model number etc.
    - Point to Point (Building to building) Wireless Antenna on top of the building that looks something like this -
    [​IMG]
    [​IMG]

    So, your daisy chain looks like this? And there is some pass through
    Router: WAN --- LAN1: Modem 1: LAN2 --- LAN1: Modem 2
     
  34. Lorenceo

    Lorenceo Networkin' Nut Member

    Yes, that's right. WAN on router to LAN1 on modem 1. LAN2 on modem 1 to LAN1 on modem 2.
    Modem 1 is in bridge mode doing the VLAN 10 tagging required for the VDSL service. Modem 2 is just in bridge mode.
    The router sends out both untagged PPPoE packets that get to modem 1, and VLAN 10 tagged PPPoE packets that get to modem 2.

    Since pictures often help:
    http://i.imgur.com/8hQSTuT.jpg
    Modem 1 is white. Modem 2 is black.
     
  35. joksi

    joksi Serious Server Member

    Great news, v 140 is out :)

    However, seems that some old bugs earlier mentioned in this thread still aren't fixed.

    1. DNS-servers. Tomato seem to default to the WAN1 aquired DNS-servers (/tmp/etc/resolv.dsnmasq), however when issuing "ip rule" you can clearly see all DNS-servers from every WAN-connection setup as policy based routing. But then again, the only one actually used is from WAN1...

    2. There is still some issues with MultiWAN routing feature in GUI. The rules get only applied randomly after reboot, often I'm forced to go and "save" them again so they get applied to the WAN_PBR IP-tables table. Very annoying and unreliable.

    3. Still takes a long time for USB-3G dongle to connect, 5-10 min compared to other WAN-connections. Sometimes an extra reboot or two is required for it to actually connect. Also very unreliable, and unfortunately somehow affects the internet access first minutes until it connects because there seem to be some background scripts happening and changing routes and what not when it finally connects.

    I'll also take this opportunity to remind of earlier suggested improvements for Tomato MultiWAN

    1. Because it's now multi WAN, one should be able to setup more parameters independently per WAN in GUI. Ie DDNS, DHCPc options, IGMPproxy upstream interface etc. Now everything defaults to WAN1.

    2. You should be able to use the extra WAN even if set in fail-over mode (weight 0), ie for policy routing. Now policy routing in GUI only seem to work when all WAN's are in round-robin. Not smart.

    3. Notification/alerting of some kind when Tomato changes WAN-connection (failover), also in GUI a nice idea if you could see which WAN is active at the moment. Something like a WAN status/health-report.

    @shibby
     
  36. Lorenceo

    Lorenceo Networkin' Nut Member

    I've also noticed that some MultiWAN rules are ignored, along with it only using WAN1's DNS results. Eg: If I set a domain, or a range of IP addresses to only go over one link, these rules are ignored and the traffic ends up on whichever link the router decides to use at the time. It also results in trying to contact CDN notes on WAN1's network instead of WAN2's, leading to lower throughput for CDN traffic.

    One rule that does seem to work though is setting traffic to a single IP address to only go over one link.

    It'd be nice if we could set the algorithm on how we want it to load balance across the connections. Right now it seems to decide randomly which link to use for a given IP address, and stick to it. Maybe if we could use round-robin as an option, so that multi thread downloads can utilize both links instead of sticking to one, for example?
     
  37. joksi

    joksi Serious Server Member

    I have no problems with domains, however IP-ranges do not work. It saves in GUI but if you check the table with IP-tables over SSH you can see that it doesn't add appropriate rules.

    My experienced problems is just that when rebooting the router, the rules don't get applied everytime.

    It does do round robin if the weights are set equally, however balancing will not be perfect as it is route based (and routes are cached). This means that routes to often-used sites will always be over the same provider. There is a patch for linux that claims to fix this, however.
     
  38. BigMac

    BigMac New Member Member

    Hi All, trying to be a new user of Tomato but can't get a simple dual wan failover to work on my Asus AC66U router.

    Downloaded v133,138 and now 140. Created a vlan3 for wan2 (I see the GUI works on this release) but when I tell it that it's a wan2 configuration, access to the internet stops. If I go back and tell the router it's a wan1 then after the save I can access the internet.

    I currently have Xfinity for my primary and use AT&T ADSL for my backup. The current stock firmware for the router doesn't handle detection so I have had to create an elaborate chunk of code to detect that internet access is lost from the primary and force a failover by having my home automation system shut power off to the the cable modem which is THEN detected by the router and causes it to failover to the ADSL modem.

    The cable modem is an SB6190 but the stock firmware for the AC66U doesn't detect an outage if there is a complete signal loss, which clearly means that the ping code is not working in the stock code.

    If a failover occurs, my code within my home automation system detects that and refreshes the DYNDNS IP address. That way I can always remotely access my system AND my system can always notify me.

    BigMac
     
  39. Darkbing

    Darkbing Network Newbie Member

    I have also tried this one. But only works for "some" rules. Some specific policies won't work thus makes the un-usable. Another thing is that by using two wans I also noticed that QoS graphs and details are not working any longer. All traffic are considered 'unclassified'. I have read that QoS only works on one WAN connection but I wonder is there a way to setup 2 WAN Connection but only use QoS on 'one' of those two WAN connection for it to work. The QoS of Tomato is basically solid that's why it's such a big loss being not able to use this tool whilst utilizing both of your networks for more efficiency.
     
  40. RogerC

    RogerC Serious Server Member

    Hi All. Thanks Shibby and advancedtomato team. I have a difficult setup with two data capped WANs to deal with. The price of living where we want to live I guess. Question... I have device specific multiwan routing set up, where certain devices hit a specific wan. If I want to issue a scheduled NVram command to switch a specific device to WAN2 at a specific time and back to WAN1 at a specific time, is there a nvram command to make that happen? I can't figure it out. I do have the round robin weights changing automatically on schedule, but would like to be able to toggle a specific device to WAN1 or 2 on a schedule. Thanks!
     
  41. WRTed

    WRTed Serious Server Member

    I agree with the above. I really really would link DDNS per WAN, aswell as each wan to use the correct DNS rather than default to WAN1.

    Also congrats Shibby on V1.40, would love to see more enhancements with multiwan for future versions.
     
  42. Sean B.

    Sean B. Addicted to LI Member

    If I'm understanding what you're wanting to do correctly, I believe the Scheduler ( in Administration -> Scheduler of the routers web GUI ) should work for you. Just make a script that does whatever commands you're speaking of and select the time settings that you wish it to run.
     
  43. RogerC

    RogerC Serious Server Member

    It's the script I need help with. The Scheduler is the easy part.
     
  44. Sean B.

    Sean B. Addicted to LI Member

    That pretty well came across that you already had a grasp on that part, but needed a way to run them at specified times. What commands do you need scripted? IE: Can you make this happen manually? If so, I can assist you automating it in a script.

    ***EDIT*** And I hope you weren't saying you need the entire functionality ( including the "commands" ) built for you. Saying you want to run a "command" at certain times pretty well states at least a "command" already exists. But now that I re-read your post, the fact your calling NVRAM variables "NVRAM commands" all but confirms my aforementioned concern.
     
    Last edited: May 17, 2017
  45. RogerC

    RogerC Serious Server Member

    NVram is an instruction to set a value/setting/variable in the non volatile memory. Ergo, it is a command. As someone who has worked his way up from developer to CTO in my firm, I don't think I need a lecture on reasonable terminology usage in this context.

    Does anyone know what the Nvram COMMANDS are to select a wan by IP or MAC?
     
  46. PetervdM

    PetervdM Network Guru Member

    just type nvram in a command shell to see the commands in nvram. there are only a few: get, set, unset, show, commit, save, restore and commit.
    but i think that you despite having been a developer don't grasp the concept, the nvram utility is merely a tool to manage variables stored in non-volatile ram, hence the name nvram. the set and get commands transfer the values from and to the shell environment respectively.
    those variables are then read or written by various scripts, commands and utilities in the tomato software. so nvram commands don't select anything. fi "nvram get wan_gateway" shows you the ip address of the gateway of the interface "wan" and can fi be used in ipset.
    good luck.
     
    Last edited: May 17, 2017
  47. Sean B.

    Sean B. Addicted to LI Member

    Apparently you do, because as the post above stated.. you do not grasp the concept. At best, your understanding of the terminology for "NVRAM commands" is misguided and conveys a far incorrect intent in relation to what you're asking for. NVRAM commands simply handle listing, committing, or removing VARIABLES saved in persistent storage. Those variables are just settings/configurations that need to survive a reboot and can be referenced by the router firmware or scripts/programs running on it. So once again, NVRAM commands will achieve nothing and the term is unrelated when it comes to actually "doing" anything you want the router to perform. My previous point stands valid, you may need to completely code the actions in order to do what you want.. not simply run a few "NVRAM commands" at certain times. Which leads to my previous question that is also still valid and standing, can you currently perform the actions you're wanting via existing CLI commands or ones that are not implemented in the firmware but are functional on some other platform? Commands that actually "do" something related to the desired action rather than store variables? This will dictate the level of coding needed ( IE: creation of basic shell scripts, installation and integration of 3rd party packages, or changes to the C code of the firmware itself ) to achieve the desired result, if even practical/possible.

    And by the way.. this:

    Is a completely different need/concept/level of complexity required to automate it ( performing the action at specific times in both directions, determining if the client is currently in a connected or disconnected state and applying the correct actions per result, checks and balances to return to a predetermined state if errors are encountered etc etc etc ) than what you're now asking:

    But you were at least consistent in using "NVRAM commands" incorrectly. Ergo, start by finding a context for the command(s) that actually relates to anything you're trying to do or asking for ( maybe someone at your firm would know ).. perhaps after you nail down exactly what you're trying to do or asking for.
     
    Last edited: May 18, 2017
  48. Ronaldo

    Ronaldo New Member Member


    I'm trying to do this exact same thing with the same results on my RT-N66U. I can't even get two wans to work. I either don't get ips from my isp or if i do internet connectivity doesn't work.
     
  49. Ronaldo

    Ronaldo New Member Member

    I'm seeing the same behavior and this is simular to what information-house reported above (post #347).
     
  50. yodaphone

    yodaphone Reformed Router Member

    I have the same issue....

    "If I go back and tell the router it's a wan1 then after the save I can access the internet." - Where do you do this?

    I have 2 ISPs.
    1. 1st WAN gives a 10.230.x.x series Dynamic IP over PPoE. this is WAN1 for me. This doesnt have any VLAN Tagging
    2. VDSL & my internal LAN on that router is 192.168.1.1, this i want as WAN2. It says its a 802.1q & has VLAN tag of 100. Please see attached picture
    3. My internal network is 192.168.3.0/24

    I configured the VLAN3 with Port 1 & 4. Please see attached images

    When all is up & done, i had to power down & power up once all the configs are done for it to show up on the GUI

    After doing all of this, it says both WAN1 & 2 are connected BUT i cant access the internet. Says DNS Error

    But if i just have WAN1 configure it works just fine & so does connecting to the ADSL modem.

    I'm not sure if i have explained it correctly but for me multiwan with load balancing doesnt work
    vlandsl.PNG vlan.PNG wan2.PNG wan1.PNG
     
    Last edited: Jul 6, 2017
  51. osilo_

    osilo_ New Member Member

    Turn tagged off for VLAN 3 on port 1. By tagging the port you're forcing the VLAN tag. This virtually separates the traffic from the traffic you've plugged into this port. This is most likely your issue.
     
  52. jflash101

    jflash101 New Member Member

    I am hoping someone can point me in the right direction, I have looked everywhere and can not find a starting point. I think what i want to accomplish is pretty simple.
    I have 3 connection and want to use 3 separate wans.
    I have created 2 additional virtual wifi and associated them to 2 vlans.
    I will create 2 vpn connections on wan0 and wan1.
    the result should look like this:
    pc -> eth1 (wifi) -> wan -> vpn
    pc2 -> w0.1 (virtual wifi 1) -> wan1 -> vpn2
    pc3 -> w0.2 (virtual wifi 2) -> wan2 -> internet

    vlan and vlan1 have dhcp provided by the router and the ranges are 192.168.1.x and 192.168.2.x respectively, vlan2 receives dhcp from my internet provider (currently no limit to the number of addresses so i am not natting it)

    Any one that can point me in the right direction of how to force:
    192.168.1.x to wan
    192.168.2.x to wan1
    x.x.x.x to wan2

    or preferably:
    br0 to wan to vpn
    br1 to wan1 to vpn2
    br2 to wan2

    I would much appreciate the help or pointers.
     

Share This Page