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.
Internet Tweaks