[Cerowrt-devel] 3.10.11-2 development build debloat bug

Sebastian Moeller moeller0 at gmx.de
Sat Sep 14 18:31:55 EDT 2013


Hi Dave,


On Sep 13, 2013, at 20:03 , Dave Taht <dave.taht at gmail.com> wrote:

> I have pushed out a 3.10.11-3 that has the encapsulation fixes for fred, and the fix for debloat. (It is otherwise untested, as is seemingly growing more usual for me)

	Thanks, a lot. I will try to test it soon, I hope, and report back :) .

> 
> Isolating wifi problems is very hard. The first step is finding and eliminating other sources of interference on the channels you are on or migrating to a different channel. There are multiple halfway decent scanning tools, a couple referenced here:
> 
> https://plus.google.com/u/0/107942175615993706558/posts/PHPR7uL89Sq

	Yeah, I had checked that earlier and had one other person on 36, so I switched o 44 (leaving 42 alone to avoid running into the other wlan's potential upper 20MHz band (36 is the lowest in Germany)), and I see no other SSID on 44 or 48. And that neither close to the router or close to the laptop's usual position so I think I can rule out the hidden node problem. There might be non-wifi interference sources though.
	But the funny thing is the same laptop works well to access the internet (probably due to he low bandwidth involved), so RRUL against a remote target always looks good, only against local targets it looks rather odd… It turns out this is from the MacBooks wifi sending without any inhibition, simply steamrolling the router. (I confirmed that hypothesis by shaping the MacBooks uplink… I guess wireless is quite weird...)



> 
> On the 5ghz spectrum you usually have more channels available, so nothing as fancy and graphical is needed (IMHO, but I'm a command line guy) so a simple iwlist gw11 scanning will show the ones in use, and then you can often find a clear channel from the approved list.

	Ah looks like a good method when running linux, I will remember that, currently my linux machine has no wifi adapter but is hooked up over traditional 1Gb ethernet to one of the routers switch ports....

> 
> I note that the 5ghz radio in cero is set to HT40+ - so being on channel 36 "bleeds" over onto 40. Some data indicates that competing with another AP on HT20 channel 40  (or some other competing set of channels) can be very bad. So you should try to find a HT40+ clear set of channels that are legal for your country, or go back to HT20 if you can't find a safe pair to use.
> 
> http://en.wikipedia.org/wiki/List_of_WLAN_channels

	Thanks a lot that is good confirmation that the steps I undertook were not unreasonable ;). I guess it would be nice if wireless was not operating half duplex… ( http://sing.stanford.edu/fullduplex/ )

Best
	Sebastian


> 
> 
> 
> 
> On Fri, Sep 13, 2013 at 3:01 AM, Sebastian Moeller <moeller0 at gmx.de> wrote:
> Hi Dave,
> 
> 
> 
> On Sep 12, 2013, at 06:18 , Dave Taht <dave.taht at gmail.com> wrote:
> 
> > Well, actually, I don't know when the syntax changed, but now the -b option needs a
> >                             -
> > for reading from standard input. Boy this file is getting crufty...
> >
> > cero2 at snapon:~/src/ceropackages-3.3/net/debloat/files$ git diff debloat
> > diff --git a/net/debloat/files/debloat b/net/debloat/files/debloat
> > index e675008..d1cf939 100755
> > --- a/net/debloat/files/debloat
> > +++ b/net/debloat/files/debloat
> > @@ -29,7 +29,7 @@ params = { "MDISC", "BIGDISC", "NORMDISC", "BINS", "MAX_HWQ_BY
> >  -- Useful defaults
> >
> >  env = { ["TC"] = "/sbin/tc",
> > -       ["TCARG"] = "-b",
> > +       ["TCARG"] = "-b -",
> >         ["INSMOD"] = "/sbin/modprobe",
> >          ["ETHTOOL"] = "/sbin/ethtool",
> >         ["LSMOD"] = "/sbin/lsmod",
> > (END)
> 
>         Thanks that fixed the non-ge00 interfaces. As to the abysmal performance with macosx over 5GHz wlan, that still is there, but I suspect the macbok to be the culprit here (plus the wlan connection is somewhere ion the edge between changing transmigrates so might be a moving target).
> 
> 
> Many thanks
>         Sebastian
> 
> 
> 
> >
> >
> >
> >
> > On Wed, Sep 11, 2013 at 9:10 PM, Dave Taht <dave.taht at gmail.com> wrote:
> >
> >
> >
> > On Wed, Sep 11, 2013 at 1:36 AM, Sebastian Moeller <moeller0 at gmx.de> wrote:
> > Hi Dave,
> >
> > so I ant for the shiny 3.10.11-2, worked great (using Fred's mtd -r method, thanks Fred)
> >
> >
> > On Sep 10, 2013, at 02:28 , Dave Taht <dave.taht at gmail.com> wrote:
> >
> > > + readlink fix (hopefully fixes sysupgrade)
> >         I guess this will be testable at the next version update...
> >
> > > + usual merge with openwrt head (tons of ath9k changes)
> >         Oh, as if you knew that I had a number of:
> >                 ath: phy1: Failed to stop TX DMA, queues=
> >         lines in dmesg, quick testing did not allow me to get those with 3.10.11-2, but I will need to test further...
> >
> > > + dnsmasq 2.67test10
> > > + ipv6subtrees back in
> > > + the final htb atm patches
> >
> >         So I tested tc_stab and htb_private from the AQM tab, both work equally well.
> >
> > > + eliminated maxpacket check in codel
> > >
> > > - did not fold in edumazet's new fq code
> > > - 100% totally untested. May a braver soul than I give it a shot. I won't be near a cero box til thursday, otherwise.
> > >
> > > http://snapon.lab.bufferbloat.net/~cero2/cerowrt/wndr/3.10.10-1/
> > >
> > > -I'm not sure if I got the "last" of the aqm gui patches in there or not…
> >
> >         I think so, at least it works :)
> >
> > >
> > > ...
> > >
> > > Anyway... I had hopes to get a stable release out in august. I AM very happy about the major stuff that got fixed, instead... but...
> > >
> > > Since we didn't... I now have a ton of other matters piled up. Not least of which is a pending trip to england and the eu.
> >
> >         Have a great trip.
> >
> >
> > oh, this guilts me!  ;)
> >
> > >
> > > So for the next month I don't see how I'm going to be able to put more than a day a week into cerowrt. Tops. So I have tagged up this "release" and pushed all the baked portions of the sources to github.
> >
> >         Thanks a lot.
> >
> > > I'm still a little dubious of the ipv6 subtrees bit….
> >
> >         RRUL-Testing against Toke's server shows great results, local rrul testing between osx 10.8.4 machine on sw10 to a net server running on an linux x86_64 3.10.1 machine on se00 is quite bad though (I assume I now run into the wifi issues on the macbook or the router as this is the first time I test against a machine with considerable larger bandwidth than the wlan). The rrul plots still are quite interesting, as I could nicely see anticoorelation between up and down bandwidth (shared medium)
> >
> >
> > No, its possible we have a new problem...
> >
> > If I get round to it I would like to re-enable fq_codel on all interfaces (now it is just running at ge00/ifb0) to see whether this can ameliorate the issue at least a bit.
> >
> > Note, I enabled the log for /usr/sbin/deblaot (by editing/etc/hotplug.d/iface/00-debloat) and got the following:
> > root at nacktmulle:~# cat /tmp/debloat.log
> > fq_codel_ll
> > fq_codel_ll
> > fq_codel_ll
> > fq_codel_ll
> > root at nacktmulle:~# cat /tmp/debloat2.log
> >
> >
> > No. This behavior is new.
> >
> > I used to be able to
> >
> > contents of /tmp/wtf:
> >
> > qdisc change dev sw10 parent 1:1 handle 10 fq_codel limit 500 quantum 1000
> > qdisc change dev sw10 parent 1:2 handle 20 fq_codel limit 1000 quantum 1000
> > qdisc change dev sw10 parent 1:3 handle 30 fq_codel limit 1000 quantum 1000
> > qdisc change dev sw10 parent 1:4 handle 40 fq_codel limit 1000 quantum 1000
> >
> > and then
> > cat /tmp/wtf | tc
> >
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> >
> >
> >
> > Which is how the debloat script historically did everything. Now the only syntax that works is:
> >
> > root at cerowrt:/etc/hotplug.d/iface# tc -b /tmp/wtf
> >
> > I think this is a regression in tc
> >
> >
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> > Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
> >        tc [-force] -batch filename
> > where  OBJECT := { qdisc | class | filter | action | monitor }
> >        OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }
> >
> >
> > Not sure whether that is new, as I never enabled the logs before. I guess I will see what causes these… (I assume an improper set of arguments to tc). And now I am trying to ind my way around debloat, but lua is totally new to me...
> >
> >
> > Best Regards & many thanks
> >         Sebastian
> >
> >
> >
> > >
> > >
> > >
> > > --
> > > Dave Täht
> > >
> > > Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
> > > _______________________________________________
> > > Cerowrt-devel mailing list
> > > Cerowrt-devel at lists.bufferbloat.net
> > > https://lists.bufferbloat.net/listinfo/cerowrt-devel
> >
> >
> >
> >
> > --
> > Dave Täht
> >
> > Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
> >
> >
> >
> > --
> > Dave Täht
> >
> > Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
> 
> 
> 
> 
> -- 
> Dave Täht
> 
> Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html




More information about the Cerowrt-devel mailing list