I've been using Ubuntu Xenial on the WRT3200ACM for a week or two now, and it works nicely.
About SQM, it's working like a charm. Minimal bufferfloat with sch_cake. The only thing I had to do differently is make available the IFB, NET_SCH_INGRESS and NET_SCH_CAKE modules (adding sch_cake source to the kernel as I previously explained) when compiling the kernel and getting the scripts from
tohojo/sqm-scripts on github (
https://github.com/tohojo/sqm-scripts).
The only trouble I've found so far is that interface indexes (ifindex) get screwed up when adding interfaces. I can use udev rules to rename interfaces according to their indexes, but if, for instance, I add a vlan interface on eth1 (eth1.10) and reboot, the indexes will change to something like:
Code:
eth0=3
eth1=2
eth1.10=4
wlan0=6
wlan1=7
mlan0=5
Instead of the default for the WRT3200ACM:
Code:
eth0=3
eth1=2
wlan0=5
wlan1=6
mlan0=4
I've been trying different approaches to solve this issue without any success.
I've made available Ubuntu Xenial rootfs and kernel image here:
Rootfs (http://www.mediafire.com/file/dzl1yxgdole9er2/wrt3200acm-ubuntu_xenial_armhf-4.11.3-rootfs.tar.bz2)
Kernel (http://www.mediafire.com/file/9f69ka0vdwtaf35/wrt3200acm-ubuntu_xenial_armhf-4.11.3.img)
You just need to flash the image to the router, format a USB thumb as ext4 and put the rootfs in there, and plug it in.
To ssh into the router, you have to do it as
"root" with password
"root".
Default SSID's are
"Armada_2.4GHz" and
"Armada_5GHz", with password
"armada24" and
"armada50", respectively.
The image has very similar software to McDebian, but with a BIND DNS server for the local network (bind to 192.168.1.1). Router will resolve on "armada.local" and every RFC1918 IP ranges are covered with empty zones, except for the 192.168 wich has it's proper zone and reverse lookup files for your customization.
SQM-scripts are installed and can be enabled with
"systemctl enable sqm-scripts", but you'll need to set it up first. Check the example configuration file in "/etc/sqm".
I'll make a github repo for this development.
Please, if anyone knows how to fix the interface renaming issue, help would be greatly appreciated. I've worked around this issue by declaring interfaces in "/etc/network/interfaces", but bringing them up in "/etc/rc.local" with the "ifup" command. That way interfaces are properly mapped and once that's done, the rest of the interfaces are brought up at the end of the booting process.
IMPORTANT: THIS ONLY WORKS ON WRT3200ACM.