Win9x Modem Tweak Guide

Posted: February 19, 2000
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.

Want to return to the normal guide? Click here!

All Content Copyright ©Dan Kennedy; 1999