WRT3200ACM - Question and instructions regarding VLAN and separating one WAN connection into two LAN (or VLANs)

After a long time...

Great success. I did have to go with the sqm-extra-scripts, for the triple WAN/LAN queue setup scripts, and cake as the qdisc.

http://www.dslreports.com/speedtest/25491271 lookie! And this is while i'm streaming a 4k video on wifi

but what's really really weird is that, even though i'm using the "test_LAN_triple-isolate__piece_of_cake.qos" on LAN (eth0) (the ethernet ports, separated from the wifis/wlans)... The download/ingress IS my download. It's not flipped as it should be, according to its directions and practically any other thing I've tried. I suppose that since it's advertised as a LAN-issued script, two negatives make a positive somehow? haha either way I'm very pleased.

I'm using "test_WAN_triple-isolate__piece_of_cake.qos:" on the actual WLAN port (eth1), and that's working just how it should, with ingress as the download... I spent a lot of nights trouble shooting this, finally got the reward :heart_eyes::sunglasses:

Looking inside the mentioned script shows:

#sm: flip upload and download bandwith so that the GUI values reflect directionality in regard to the ISP
#sm: NOTE this is ugly and should be performed in defaults.sh or functions.sh if at all
#sm: but for quick and dirty testing this should do
local ORIG_UPLINK=${UPLINK}
local ORIG_DOWNLINK=${DOWNLINK}
UPLINK=${ORIG_DOWNLINK}
DOWNLINK=${ORIG_UPLINK}

The LAN scripts really just differ from normal scripts in this hidden flip so from the end user's perspective the GUI fields' direction matches their naming (I was just getting tired of explaining the flipping over and over again). For the dual-isolation options the script also adjusts the sdual-rchost/dual-dsthost keywords for the effective directionality, but for triple-isolate that should not matter. But please note that it still is recommended to add the "nat" keywords to both ingress and egress advanced option strings...

Best Regards

1 Like

I don't want to split the bandwidth up evenly between the interfaces though... can't I just keep the "flows mpu 64" commands in there instead?

you can, but flows is mutually exclusive with triple-isolate:

user@computer:~# tc qdisc add root cake help
Usage: ... cake [ bandwidth RATE | unlimited* | autorate_ingress ]
                [ rtt TIME | datacentre | lan | metro | regional |
                  internet* | oceanic | satellite | interplanetary ]
                [ besteffort | diffserv8 | diffserv4 | diffserv-llt |
                  diffserv3* ]
                [ flowblind | srchost | dsthost | hosts | flows |
                  dual-srchost | dual-dsthost | triple-isolate* ]
                [ nat | nonat* ]
                [ wash | nowash * ]
                [ memlimit LIMIT ]
                [ ptm | atm | noatm* ] [ overhead N | conservative | raw* ]
                [ mpu N ]
                (* marks defaults)

Maybe it would help if you could post both the output of:

  1. cat /etc/config/sqm
  2. tc -s qdisc

And the following keywords should work better in combination with the nat keyword:
srchost | dsthost | hosts | dual-srchost | dual-dsthost | triple-isolate
only the dual and triple optins will also attempt per-flow fairness for the different IPs (okay triple is a bit more complicated, but it will still maintain per-flow fairness)

Best Regards

cat /etc/config/sqm

config queue
option debug_logging '0'
option verbosity '5'
option linklayer 'none'
option enabled '1'
option interface 'wlan1'
option download '800'
option upload '20000'
option qdisc_advanced '1'
option qdisc 'cake'
option script 'piece_of_cake.qos'
option squash_dscp '1'
option squash_ingress '1'
option ingress_ecn 'ECN'
option egress_ecn 'NOECN'
option qdisc_really_really_advanced '0'

config queue
option debug_logging '0'
option verbosity '5'
option interface 'eth1'
option qdisc_advanced '1'
option qdisc 'cake'
option download '108600'
option upload '5800'
option qdisc_really_really_advanced '1'
option squash_ingress '1'
option ingress_ecn 'ECN'
option egress_ecn 'NOECN'
option squash_dscp '1'
option linklayer 'ethernet'
option linklayer_advanced '1'
option tcMTU '2047'
option tcTSIZE '128'
option tcMPU '64'
option overhead '18'
option linklayer_adaptation_mechanism 'tc_stab'
option script 'test_WAN_triple-isolate__piece_of_cake.qos'
option enabled '1'
option iqdisc_opts 'mpu 64 nat dual-dsthost'
option eqdisc_opts 'mpu 64 nat dual-srchost'
option ilimit '18'
option elimit '18'

config queue
option debug_logging '0'
option verbosity '5'
option interface 'eth0'
option qdisc 'cake'
option qdisc_advanced '1'
option linklayer 'ethernet'
option linklayer_advanced '1'
option tcMTU '2047'
option tcTSIZE '128'
option egress_ecn 'NOECN'
option squash_dscp '1'
option squash_ingress '1'
option ingress_ecn 'ECN'
option tcMPU '64'
option overhead '18'
option linklayer_adaptation_mechanism 'tc_stab'
option script 'test_LAN_triple-isolate__piece_of_cake.qos'
option download '58120'
option upload '0'
option qdisc_really_really_advanced '1'
option enabled '1'
option iqdisc_opts 'mpu 64 nat dual-dsthost'
option eqdisc_opts 'mpu 64 nat dual-srchost'
option ilimit '18'
option elimit '18'

tc -s qdisc
qdisc noqueue 0: dev lo root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc cake 8092: dev eth0 root refcnt 9 bandwidth 58120Kbit besteffort dual-srch ost nat rtt 100.0ms raw mpu 64
Sent 7336203013 bytes 5095143 pkt (dropped 5493, overlimits 8643501 requeues 0)
backlog 0b 0p requeues 0
memory used: 1219912b of 4Mb
capacity estimate: 58120Kbit
Tin 0
thresh 58120Kbit
target 5.0ms
interval 100.0ms
pk_delay 5.7ms
av_delay 3.9ms
sp_delay 51us
pkts 5100636
bytes 7344567013
way_inds 25501
way_miss 9378
way_cols 0
drops 5493
marks 0
sp_flows 1
bk_flows 1
un_flows 0
max_len 5920

qdisc cake 808f: dev eth1 root refcnt 9 bandwidth 5800Kbit besteffort dual-srcho st nat rtt 100.0ms raw mpu 64
Sent 900892165 bytes 4433000 pkt (dropped 6709, overlimits 247732 requeues 0)
backlog 0b 0p requeues 0
memory used: 134Kb of 4Mb
capacity estimate: 5800Kbit
Tin 0
thresh 5800Kbit
target 5.0ms
interval 100.0ms
pk_delay 760us
av_delay 18us
sp_delay 0us
pkts 4439709
bytes 911008269
way_inds 31746
way_miss 46433
way_cols 0
drops 6709
marks 0
sp_flows 1
bk_flows 1
un_flows 0
max_len 13216

qdisc ingress ffff: dev eth1 parent ffff:fff1 ----------------
Sent 8956752918 bytes 7154584 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc cake 808c: dev wlan1 root refcnt 5 bandwidth 20Mbit besteffort triple-isol ate rtt 100.0ms raw
Sent 1904541270 bytes 2058612 pkt (dropped 357, overlimits 1463600 requeues 0)
backlog 0b 0p requeues 0
memory used: 574606b of 4Mb
capacity estimate: 20Mbit
Tin 0
thresh 20Mbit
target 5.0ms
interval 100.0ms
pk_delay 943us
av_delay 75us
sp_delay 0us
pkts 2058969
bytes 1905062418
way_inds 21225
way_miss 26289
way_cols 0
drops 357
marks 134
sp_flows 1
bk_flows 1
un_flows 0
max_len 1514

qdisc ingress ffff: dev wlan1 parent ffff:fff1 ----------------
Sent 552518013 bytes 1576637 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc cake 808d: dev ifb4wlan1 root refcnt 2 bandwidth 800Kbit besteffort triple -isolate wash rtt 100.0ms raw
Sent 551291349 bytes 1553057 pkt (dropped 23580, overlimits 1657153 requeues 0)
backlog 0b 0p requeues 0
memory used: 368768b of 4Mb
capacity estimate: 800Kbit
Tin 0
thresh 800Kbit
target 22.7ms
interval 117.7ms
pk_delay 1.2ms
av_delay 101us
sp_delay 1us
pkts 1576637
bytes 574590931
way_inds 15457
way_miss 56688
way_cols 0
drops 23580
marks 398
sp_flows 5
bk_flows 2
un_flows 0
max_len 1514

qdisc cake 8090: dev ifb4eth1 root refcnt 2 bandwidth 108600Kbit besteffort dual -dsthost nat rtt 100.0ms raw mpu 64
Sent 9220774285 bytes 7154494 pkt (dropped 90, overlimits 4260588 requeues 0)
backlog 0b 0p requeues 0
memory used: 170204b of 5430000b
capacity estimate: 108600Kbit
Tin 0
thresh 108600Kbit
target 5.0ms
interval 100.0ms
pk_delay 130us
av_delay 39us
sp_delay 1us
pkts 7154584
bytes 9220906131
way_inds 20722
way_miss 46593
way_cols 0
drops 90
marks 0
sp_flows 2
bk_flows 1
un_flows 0
max_len 12960

Thanks for the data, now I see what you have, but what behavior exactly would you like to see and what do you see instead?

1 Like

I honestly see the behavior that I would like to see, given my internet connection line (which is sub-par at best) - given all my trials and errors. But the commands you have given me, the dangerous/advanced options included! have ended up working out for the BEST POSSIBLE lowest bufferbloat, while others are using the internet or not. And it is thanks to YOUR HELP, moeller0, AND the eduperez as well. I was very hesitant, until eduperez told me to just un-bridge and not mess with VLANS, and the rest of the options and such, a little bit of forum browsing along with your instructions (moeller0), I thank you both for your support and helpful efforts. As they have concluded and affirmed results.

Thank you both. May you both be guided by God.

1 Like

If I separate the wired and the wireless interfaces, which protocol should I use for the wireless?

Sorry, I do not understand the question...

I'm sorry, I'll try to explain.
My WAN interface protocol is PPoE.
My LAN interface is Static Address.
If I untick bridge, only the LAN "eth0. 1" is working so I have to create a new LAN interface for the wireless part. Correct? What is the protocol I have to use for this new interface?
I hope I made myself clear.

Well, what protocol do you want for the WLAN? Why did you take it of the bridge, and what do plan to do now?
And the most important question: what does this have to do with the original subject here?