Win9x Modem Tweak Guide
Written By: Keith "Farrel"
McClellan
Introduction
You probably already noticed the change in the title - I am splitting up the
Modem and LAN tweak guides. As for why, let's just say a little birdie landed on
my shoulder and whispered some very, very cool tidbits about LAN tweaking into
my ear. Did you know that some IP numbers are faster than others? Well, anyway,
if my new LAN tweaking guide isn't already up, it will be very soon - so make
sure you check it out.
I've got a few new tidbits for this guide as well - this isn't just a divorce of
one guide into two, but it is also a growing stage - an extra foot taller maybe?
Well, anyway, enjoy.
Note - this guide is not for Windows 2000. This is probably the final update to
the Windows 9x Modem Tweak Guide.
Drivers
The first step to successfully tweaking your network is downloading the newest
drivers. For links to tons of drivers, check out the Drivers Headquarters.
Another alternative would be to simply search the manufacturer's website;
however, it is often faster to find the link on DHQ.
Dial-Up Adapter and TCP/IP Protocol Settings
Open up the Control Panel (once again), and double-click the Network icon. Under
the Configuration tab, select the Dial-Up Adapter and click Properties. Go to
the Bindings tab and uncheck all boxes except the TCP/IP box. Select the
Advanced tab and set Enable Point To Point IP to No (unless you routinely accept
incoming calls using your modem, in which case leave it enabled), IP Packet Size
to Large (normally I would recommend Auto, but due to a bug it can cause
problems with certain MTU settings above 576), and Record Log File to No. If you
mostly use the Internet to download files and view webpages, enable IPX Header
Compression, otherwise disable it. Next, select the TCP/IP protocol (if you have
multiple copies of the protocol installed, use the one for your dial-up
adapter/modem) and click Properties. Select the WINS Configuration tab, and
choose the Disable WINS Resolution option. Click the DNS configuration tab, and
select Disable DNS. Go to the Bindings tab. Uncheck all the boxes.
Note: Sometimes, certain ISPs will give you specific instructions for your
network settings. If your ISP is one of these, you will probably be better off
using their settings... they know their particular system better than anyone
else could.
Next, open your Dial-up networking folder and go to the server-types tab. Make
sure that TCP/IP is enabled (and compression if you want web pages to load
faster, and don't care about ping), and everything else is disabled (unless you
have specific instructions from your ISP otherwise). This will help you connect
to your ISP faster.
Optimizing Other TCP/IP Settings
Windows 95 Modem:
After drivers, optimizing your network settings is the most important step in
tweaking your LAN or modem. I personally recommend using iSpeed from High
Mountain Software for tweaking your modem. Not only have I found it the easiest
program to use, but it is the only program I have found that supports the NDI
Cachesize setting.
MTU (Maximum Transmittable Unit): This setting is imperative for optimal packet
transmission, for if it is set correctly, it will stop the information from
being broken up during the transfer.
MSS (Maximum Segment Size): This is the largest amount of data that can be sent
in one transmitted unit. The rest of the packet is reserved for the header,
which includes destination information as well as other information. An
unconfirmed rumor that is going around recently states that Windows 98 doesn't
use this setting because it determines the MSS dynamically. However, even if
this is correct, inputting this setting will in no way be detrimental to the
system.
RWIN (Receive Window) Multiplier: This setting determines how many packets are
transmitted before the system determines the integrity of the data transfer.
Raising this setting will increase modem speed at the price of possible packet
loss. Generally, a good multiplier is 4x, but if you have particularly clean, or
bad, phone lines, you may want to adjust the setting accordingly.
TTL (Time to Live): This setting determines how many "hops" the
computer will allow before it closes the connection. A low number, such as 32,
will slightly increase performance, but a higher number, such as 128, will allow
you to reach sites that are having connection problems (such as when a pipeline
goes down and the information has to be rerouted through another system).
MTU Auto Discover: Even though you calculate your MTU using your ISP, sometimes
other sites will be connected to the Internet using an even lower MTU. In these
situations, Auto Discover comes into play. It will determine the optimal MTU for
that particular site so that your information has to be fragmented as little as
possible. NOTE: This is only a Windows 98 feature - it doesn't do anything for
Windows 95 users, so leave it disabled.
Black Hole Detect: This setting enables the computer to determine some reasons
for packet loss. This setting, however, is not recommended because it will
dramatically lower performance. Better to just leave it off.
NDI Cachesize: The NDI cachesize is a networking setting and won't directly
affect your Internet connection, but if you are connected to a network you
should set it to 16 or 32.
Optimizing Other TCP/IP Settings Continued
Determining Your MTU
Depending on your particular modem/line/ISP, you may have more success with
other settings. There is, however, an easy way to determine your optimal MTU,
which should make your tinkering a lot less complicated. Start by opening a dos
prompt, then enter the command "ping -f -l [trial MTU number]
www.[your-isp].com". Start with 548 and go up or down depending on the
message (if it tells you that the packets are being fragmented, you need to go
down - you want the highest setting that doesn't cause packet fragmentation). To
derive your MTU from the ping data, add 28 to the highest number that worked
(packet size+28). Then, to derive your MSS from your MTU number, take MTU-40 and
insert that value for MSS. The other settings will probably require a bit more
tinkering though.
Windows 98 Modem:
Windows 98 made leaps and bounds when it comes to its TCP/IP stack (as the
driver protocol is referred to), but there are still some problems with it -
particularly when using it in conjunction with iSpeed. If you already have
iSpeed installed, use the program to reset the windows defaults and uninstall
the software. Then follow the following steps to tweak your TCP/IP settings.
- Enter the control panel and start up the Network applet
- Click on the icon representing your network card and click on the Properties
button
- Go to the Advanced Tab
- Make sure that IP Packet Size is set to Large
- If you mostly use the internet for downloading files and viewing webpages,
enable IP Header Compression - otherwise, leave it off.
Why is this so easy? Well, Windows 98 has a new feature called MTU Auto
discover. This will automatically determine the optimal MTU (and will derive all
of the other settings from that) on connect. The problem is, if you set the IP
Packet size to something smaller than large (auto assumes 576, even though it
shouldn't), you limit your maximum MTU because Windows assumes that that setting
is as high as it needs to go. Also, if you set the settings manually (through
the registry, as iSpeed does), you lose Windows' ability to dynamically choose
the optimal settings on connect as well - and servers have been known to change
these settings frequently to handle more traffic. My local ISP even changes the
settings daily to allow more users, because of the heinous bottleneck between
Malaysia and California. Special thanks goes out to Rob at BXBoards for the
heads up on this issue.
FIFO Buffers, Modem, and Port Settings
Here are some of the other settings that will help you maximize modem
performance.
First, change your FIFO settings. To do this, right click on My Computer. Go to
Properties. Then click the Device Manager tab at the top. Locate Modem, double
click on it, then double click your modem.
Click the connection tab at the top of the properties section. Click the port
settings button. Now slide the FIFO buffers all the way right. If things don't
work correctly when you attempt to use your modem then you should change this
back.
Now from the other menu click advanced. Make sure your modem is using hardware
flow control, use compression, and error control for best results. It is also
important for the flow control setting to be set to hardware, because software
mode is more taxing on your CPU then hardware mode is.
Go back to Device Manager. Double click the Ports section, and then double click
the Communication Port your modem uses.
It will bring up a similar Properties section. Click the Port Settings tab.
Change Bits Per Second to 115200 or higher. Change flow control to Hardware.
Then click the Advanced... button and it will bring up the same FIFO menu as
above. Slide the bar all the way to the right again.
Registry Settings
There are a few registry settings that are impossible to reach without actually
diving into regedit itself, and these are a few of them. First off, under
HKEY_LOCAL_MACHINE, there are a series of keys named
\System\CurrentControlSet\Services\Class\Net\000X (where X is a number between 1
and 9). Under these keys, there is a value with the name SLOWNET. Obviously,
this is a bad thing, so you want to change the value from the default of 01 to
00. Another key, \System\CurrentControlSet\Services\VxD\COMBUFF, has a value in
it called Start, which is disabled. Change the 00 to 01. And a third key,
\System\CurrentControlSet\Services\VxD\VCACHE, also has a value called start,
which should be changed from 00 to 01.
Initialization strings
To customize your modem even more you should use an initialization string that
fits your needs. For more information on this, check out your modem's manual. It
will have all the info you need. I personally use this string:
&C1&D2E1Q0V1X4 S7=55 S11=55 S0=0
Here is how you use initialization strings:
Go to your start menu, go to Settings, go to Control Panel. Double click
"Modems". Click Properties. Click the Connection tab at the top. Go to
Advanced. In the box under Extra Settings type your new initialization string.
Also, stop by this site for optimized modem initialization strings for nearly
every modem out there. This can really boost performance. Or, if you feel
technically inclined, you can grab the white papers for your modem (usually you
can grab these from the manufacturer's website if you do a little digging) and
you can write your own init string.
Firmware
Modems and Network cards alike can benefit from the newest firmware. Firmware is
like the BIOS for a piece of hardware (like a modem) that can be flash upgraded.
V.90 is one type of firmware upgrade, but not the only kind. Firmware updates
can generally be found on the manufacturers website, and further information
about V.90 specific firmware updates is available below.
Upgrading Your Modem to V.90
Many people bought 56K modems when they first came out as X2 or K56Flex, without
considering the update to a standard that was bound to come. Luckily, most
modems are flash upgradeable to the V.90 standard. It is a simple process that
takes about 15 to 20 minutes. Check out the V.90 Upgrade FAQ on 56K.com here. It
tells all you need to know about the procedure itself. Make sure that your ISP
supports V.90 as well.
Basically all you must do is flash your modem's BIOS w/ the V.90 protocol and
(for best results) update your modem's drivers. Does your modem manufacturer
have the V.90 upgrade ready to download? Check out 56K.com's Modem Link Board.
Download the flash update and the newest drivers and you should be well on your
way.
V.90 is a great protocol as long as it is fully supported by both your ISP and
your modem. However, in some circumstances people may actually want to disable
V.90. Several things, including problems connecting to online games, etc, could
cause this. For more information on disabling V.90, check out 56K.com's Upgrade
FAQ here for K56Flex or here for X2 users.
Binding Modems
Note - This method works on Win98 and above, but it will only work on Win95 if
you download DUN 1.3.
Binding modems simply means you're running two modems in tandem to give yourself
more bandwidth. They don't have to be the same brand or speed. This is sometimes
also called "the poor man's ISDN", as binding 2 56k modems will give
about the same bandwidth. To do this you'll need:
- Two modems
- Two phone lines
- An ISP that lets you dial in the same account twice (for modem binding
purposes)
- Patience
Open your Dial-Up Networking Folder, and right-click on your Dial-Up connection.
Choose Properties, and then go to the Multilink tab. Select 'Use additional
devices', and then add your second modem to the list. Select it, click Edit, and
configure it to dial the correct numbers, etc.
Now try starting up your connection, and if it works, you should now have a much
faster connection - for pretty cheap, too.
Tweaking Cable Modems
If you were not already aware of this fact, Cable Modems are the same thing as
Coaxial network cards (10base2), so checking out the LAN tweaking guide might be
of benefit. For further information about optimizing your cable adapter for
Internet TCP/IP connections, check out Speedguide.net. Some of their other
guides have a few possibly questionable tweaks in them, but this particular one
is extremely good.
xDSL Tweaking
xDSL (SDSL, ADSL, etc...) connections are all fundamentally direct network
connections to the Internet using RJ-47 network cards (10baseT), so follow the
same processes recommended for a LAN (Editor's note: the LAN tweak guide should
be posted tomorrow, February 20, 2000), except for any information specifically
given to you by your ISP.
Modem/Connection Stability Issues
There are a couple of things you can try to get an unstable connection to run
properly.
(a) Use a custom Init string to force the modem to connect at a lower speed.
(b) Use the Standard Modem drivers (any speed, it doesn't matter they are all
the same) instead of the drivers for you modem.
(c) Enable Error Control under the Advanced Connection Settings for your modem
(same place you input your Init string).
File/Printer Sharing Issues
File and Printer Sharing is not secure, and unless you are on a network you do
NOT want to have it enabled. If you are on a network and there is no way you can
set up a firewall of some sort, take the following steps:
(a) Put a password on all of your drives
(b) Set to Read Only - if you need to copy a file to a computer with read-only
installed, go to the other computer and call the files from there instead of
sending them.
(c) Disable file and printer sharing when connected to the Internet if possible
(to do this, use the file/printer sharing button in the Network applet).
Conclusion
I hope you find the changes I made to this guide helpful and enlightening. As
always, feel free to email me with questions and comments.