Comcast download speed fix for Linksys eSeries

From DD-WRT Wiki

Revision as of 00:58, 25 January 2014 by JNavas (Talk | contribs)
Jump to: navigation, search

Contents

Introduction

[Culled from DD-WRT Forum thread Critical DSCP bug Affecting WiFi Download Speeds on Comcast]

There is an edge case interaction between Comcast IPv4 DSCP and improper condition handling in the WMM driver in certain Linksys/Cisco eSeries routers (and possibly others as well) which results in very low download speeds. This issue can appear in both stock and third-party (DD-WRT) firmware, although Cisco appears to have at some point released new WMM drivers that largely resolve the issue in current stock firmware.

The cause is that IPv4 packets from the Comcast network are configured with DSCP 8, which the driver handles improperly, whereas other providers typically use DSCP 0. (Both are valid values.)


Symptoms

Download speeds are normal with current stock firmware, and on wired connections with DD-WRT firmware, but are much lower (possibly even less than 1 Mbps) on wireless connections with DD-WRT firmware even with strong signal.

To see if you are getting the problematic DSCP, you can look at your downloaded IPv4 packets with Wireshark, preferably directly connected to WAN, but you should see them even on Wi-Fi. (See Add DSCP Column in Wireshark)


Testing

To test this fix, open a Telnet or SSH connection to DD-WRT, and run the following commands (copy and paste to avoid typos):

insmod xt_DSCP.ko
iptables -t mangle -A PREROUTING -i `nvram get wan_ifname` -j DSCP --set-dscp 0

Assuming there are no errors, check download speed on wireless.


Configuration

To save the fix so it survives reboots, navigate to Administration > Commands

In Command Shell, enter Commands (copy and paste to avoid typos):

insmod xt_DSCP.ko

and click Save Startup.

In Command Shell, enter Commands (copy and paste to avoid typos):

iptables -t mangle -A PREROUTING -i `nvram get wan_ifname` -j DSCP --set-dscp 0

and click Save Firewall.


Methodology

This fix changes DSCP header information in all packets to DSCP 0 when they arrive at the WAN interface of the router, which the WMM driver handles properly.


References