Recycle your Computers & Technology with us.

How do I modify my computer with the Cable modem speed tweaks?

Posted By : of Data Doctors on March 2, 2001

Follow us on Facebook   Follow us on Twitter   Follow us on LinkedIn

Let Data Doctors be your personal IT department today

Can you tell me the Windows Registry tweaks that will optimize my computer for my cable modem connection?

- Phillip

This question was answered on March 2, 2001. Much of the information contained herein may have changed since posting.


Windows in its default configuration is optimized for Ethernet network connections By configuring it specifically for your cable modem, you may improve its overall performance.

The following information requires you to use the Regedit utility, which allows you to make manual modifications to the Windows Registry If you are not familiar with the Windows Registry, you may want to use one of the free utilities that will make the changes for you available by <a href="http://www.speedguide.net/Cable_modems/cable_patches.shtml" target="_blank"><font color="#003399">clicking here</font></a>.

If you are comfortable with Regedit, here are the recommended settings for Windows 98/98SE/Millenium Edition:

Key #1:

HKEY_LOCAL_MACHINESystem\CurrentControlSet\Services\Class\NetTrans\000# (Where "000n" is your TCP/IP protocol It contains "TCP/IP" assigned to the "DriverDesc" value "#" can be any number from 0 to 9)

ITEM #1: MaxMTU="1500" (string variable)

Key #2:

HKEY_LOCAL_MACHINESystem\CurrentControlSet\Services\VxD\MSTCP

ITEM #1: DefaultRcvWindow="256960"(string variable, the maximum value of this setting is 2^30, or 1Gb in Windows 98/98SE/ME)

Note: For best results RWIN has to be a multiple of MSS (MaxMTU-40) lower than 65535 times a scale factor that's a power of 2, i.e 44 x 1460 = 64240 x 2^2 = 256960 If you choose to use a RWIN lower than 65535, you can simply make it multiple of MSS and turn scaling off (Tcp1323Opts=0)

ITEM #2: DefaultTTL="64" (string variable, range 1-255, use any number between 32 and 128)

ITEM #3: PMTUDiscovery="1" (string variable, boolean, 0-false or 1-true Many connections perform better with this entry at 1, however, if you prefer to set your upstream to send fixed 1500 packets, you might want to use 0 instead) When set at 1, establishing connections and initial transfer speed might slow down a bit, however you will get better throughput if somewhere in the path large packets need to be fragmented.

ITEM #4: PMTUBlackHoleDetect="0" (string variable, zero for optimal performance)

ITEM #5: Tcp1323Opts="1" (string variable, recommended setting is 1 The possible settings are 0 - No Windowscaling and Timestamp Options, 1 - Window scaling but no Timestamp options, 3 - Window scaling and Time stamp options.)

ITEM #6: SackOpts="1" (string variable, recommended setting is 1 Possible settings are 0 - No Sack options or 1 - Sack Option enabled)

Key #3:

HKEY_LOCAL_MACHINESystem\CurrentControlSet\Services\VXD\MSTCP\Parameters

ITEM #1:MaxDupAcks="3" (DWORD decimal variable, Recommended setting is 3)

The following are the recommended Registry Settings for Windows 95:

(According to Microsoft, the WinSock 2 update for Windows 95 supports TCP large windows and time stamps, which means you could use the Windows 98 recommendations (above) if you have updated to the Windows Socket version 2.)

Key #1:

HKEY_LOCAL_MACHINESystem\CurrentControlSet\Services\Class\NetTrans\000# (Where "000n" is your TCP/IP protocol It contains "TCP/IP" assigned to the "DriverDesc" value "#" can be any number from 0 to 9)

ITEM #1: MaxMTU="1500" (string variable)

Key #2:

HKEY_LOCAL_MACHINESystem\CurrentControlSet\Services\VxD\MSTCP

ITEM #1: DefaultRcvWindow="64240" (DWORD decimal variable, or string variable, has to be a multiple of MSS for best results, i.e (MaxMTU-40) x number.. The range of this setting Windows 95 is range 0-65535 Best settings to try with MSS=1460 are 64240, 46720, 23360 and 11680, in that order)

ITEM #2: DefaultTTL="64" (string variable, range 1-255, use any number between 32 and 128)

ITEM #3: PMTUDiscovery="1" (string variable, boolean, 0-false or 1-true Many connections perform better with this entry at 1, however, if you prefer to set your upstream to send fixed 1500 packets, you might want to use 0 instead) When set at 1, establishing connections and initial transfer speed might slow down a bit, however you will get better throughput if somewhere in the path large packets need to be fragmented.

ITEM #4: PMTUBlackHoleDetect="0" (DWORD decimal variable, zero for optimal performance)

If you are not comfortable manually adjusting your Registry, you can download a patch/program that will make the changes for you by going to <a href="http://www.speedguide.net/Cable_modems/cable_patches.shtml" target="_blank"><font color="#003399">Speedguide.net</font></a>.

About the author

Posted by of Data Doctors on March 2, 2001

Need Help with this Issue?

We help people with technology! It's what we do.
Contact or Schedule an Appointment with a location for help!