Posted: Sat Aug 10, 2019 20:40 Post subject: E4200 DD-WRT slower than stock firmware
Hi...
I installed a recent build (Aug 6th) of DD-WRT on my Linksys E4200 router. When I run a speed test it runs about half as fast as the stock firmware. I dont have a super fast connection, but get 20Mbit stock vs 10Mbit with DD-WRT.
I have done this with an Enet cable to take the wireless aspects out of the equation.
Any thoughts on this? I read several posts that are dated and am wondering how to set my expectations.
Joined: 08 May 2018 Posts: 14126 Location: Texas, USA
Posted: Sat Aug 10, 2019 21:34 Post subject:
I would need some details about configuration, i.e. are you using SFE, etc. I actually thought there was some slowdown due to DD-WRT here, but I tested FreshTomato and directly connected to the ISP hardware and there is no noticeable change. The stock firmware is rather dated and has a lot of security holes and lacks a lot of patches. FWIW, a lot of the tweaks in Steve Jenkins' blog for the E4200 no longer apply, there are very few that are even applicable to the K3.x or K2.6 builds. I haven't done speed tests on K2.6 past 35531. I am currently on 40527, 04 Aug 2019 build and am still within the margin of error on my speed test vs. advertised speeds here.
EDIT: I just flashed 40559 06 Aug 2019 build. Speeds went UP from previous build, and this one does have the 'undefined' for CAKE in QoS (which, I am not using QoS atm). I need to catch up on my build thread report posts...
So, I did not twiddle too many knobs. I also have the Aug 6 build. I open up the channel width to 40M. I did not mess too much with QoS or other knobs.
I agree stock firmware is dated and would like to get this to work at least close to what I had
Joined: 08 May 2018 Posts: 14126 Location: Texas, USA
Posted: Sun Aug 11, 2019 3:17 Post subject:
Ok, that doesn't tell me a whole lot. Are your speed tests over wired or wi-fi? Some good starting point information if you haven't already found and read it:
As previously stated, there is some info in the last linked article that no longer apply as far as the startup script tweaks, because most of them are at or below the current defaults. This is all I have in startup script currently:
Code:
sleep 10
wl -i eth1 interference 4
wl -i eth2 interference 4
echo 262144 > /proc/sys/net/core/rmem_max
echo 262144 > /proc/sys/net/core/wmem_max
echo 16384 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo 16384 > /sys/module/nf_conntrack/parameters/hashsize
# Clear nvram null entries
for line in `nvram show | grep =$ `; do var=${line%*=}; nvram unset $var; done &
If you aren't using QoS, you can set the txqueue length for eth0 (and eth0 ONLY) on Setup->Networking->Port Setup to 5 to start, and play around with it to figure out what works best. Is your WAN connection DHCP or ?
Going back to Mr. Jenkins' article, some things have changed since then, especially in regards to dnsmasq and dhcp server and dns settings, but that is something I had to tinker with until I found what works without hiccups.
Pay close attention to the two wikis on wireless settings, because the default settings, especially on 'basic' are junk. One thing to note, on the wireless security tab, the 3600 GTK renewal setting is problematic. GTK renewal and radio timer seem to be doing strange things, so I keep those set to 0, which kind of negates the purpose. There is a script to use to keep them at 3600 or 3610 and 3620, but I don't use it because it does interrupt wi-fi temporarily.
On the 'Administration' page, I am currently using cubic tcp congestion control. On the 'services' page, I have telnet and ttraf (WAN traffic counter) turned OFF, but I do have ssh and syslog/klog enabled. I turned off ttraf because it was causing issues, and not sure if they have been fixed at all.
Trying to think of what else off the top of my head, but that's some starter info and tips.
Ok, that doesn't tell me a whole lot. Are your speed tests over wired or wi-fi? Some good starting point information if you haven't already found and read it:
As previously stated, there is some info in the last linked article that no longer apply as far as the startup script tweaks, because most of them are at or below the current defaults. This is all I have in startup script currently:
Code:
sleep 10
wl -i eth1 interference 4
wl -i eth2 interference 4
echo 262144 > /proc/sys/net/core/rmem_max
echo 262144 > /proc/sys/net/core/wmem_max
echo 16384 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo 16384 > /sys/module/nf_conntrack/parameters/hashsize
# Clear nvram null entries
for line in `nvram show | grep =$ `; do var=${line%*=}; nvram unset $var; done &
If you aren't using QoS, you can set the txqueue length for eth0 (and eth0 ONLY) on Setup->Networking->Port Setup to 5 to start, and play around with it to figure out what works best. Is your WAN connection DHCP or ?
Going back to Mr. Jenkins' article, some things have changed since then, especially in regards to dnsmasq and dhcp server and dns settings, but that is something I had to tinker with until I found what works without hiccups.
Pay close attention to the two wikis on wireless settings, because the default settings, especially on 'basic' are junk. One thing to note, on the wireless security tab, the 3600 GTK renewal setting is problematic. GTK renewal and radio timer seem to be doing strange things, so I keep those set to 0, which kind of negates the purpose. There is a script to use to keep them at 3600 or 3610 and 3620, but I don't use it because it does interrupt wi-fi temporarily.
On the 'Administration' page, I am currently using cubic tcp congestion control. On the 'services' page, I have telnet and ttraf (WAN traffic counter) turned OFF, but I do have ssh and syslog/klog enabled. I turned off ttraf because it was causing issues, and not sure if they have been fixed at all.
Trying to think of what else off the top of my head, but that's some starter info and tips.
So I tried all of these tweaks but not much changed. Maybe 1mbp/s faster? Hard to tell. Not sure why else I'd only be getting capped at 60mbps wired and ~~40mbps wirelessly.
Joined: 08 May 2018 Posts: 14126 Location: Texas, USA
Posted: Wed Sep 11, 2019 20:25 Post subject:
I'm currently on 40932 K3.x and have only changed the txqueuelen on eth 0, 1, and 2 to 2 instead of defaults or 5 since my previous recommendations. Modified stock on 2.6.39.4 and FreshTomato with only the necessary tweaks seem to have a little advantage, it seems. I think the numbers were better on 40854 K3.x, but there were still other things broken in that build. Seems like a lot of the more recent builds to fix QoS, SFE, etc. sure have been a little detrimental, perhaps. I haven't changed tcp congestion again, but I may try out hybla to see how it reacts.