Modem Tweaks
By James Sonne

Buy it!
Discuss!
Comments or questions?

So, you little HPBs wanna be like an LPB? Well, this guide won't turn you into the Counter-Strike master (i.e., Me J ) overnight, but until that elusive cable service can crawl down your street you're stuck with your 56k modem, me, and a lag kill complaint. In this guide I'll tell you how to (NEW) over-clock your modem to 230400 bps even if you don't have a for-business modem, I'll tell you how to maximize your "maximum transmitted units" (MTU), your Receive Window (RWIN), and a bunch of other hidden Windose tweaks that they love hiding from us, and maybe even an elusive init string or two.

First off, I'll tell you some of the normal tweaking stuff (for your newbies out there). Double click on Dial-up Networking in My Computer and right click on your connection and then on Properties. You may need to test some things out to optimize your connection for your ISP, but here goes. If you're one of those lucky people to have a 3Com 56k enabled ISPs then you most likely can get STAC compression (aka Microsoft Software Compression). This kind of compression search through the data sent to you and looks for repeated information and buffers it so you don't have to download that data again. So if a terrorist in Counter-strike shoots an AK-47, then it doesn't have to send that data again. This is the BEST compression available (Without using it I had a 400 ping in CS, now I have a sub 200 ping). To enable STAC compression you need to click on your modem "Configure…" button and go to the "Connection" tab. Click on "Advanced" and un-mark "use error control." This will stop your modem from using V.## for the connection, forcing MS's Software compression. Now click "OK" twice and the go to "Server Types." Mark "Enable Software Compression," then click on "TCP/IP Settings" and un-mark "Use IP Header Compression." Now you have STAC compression enabled, connect and check your connection Details and see if "Microsoft Compression" is in the connection details. Sometimes it might not show up due to an [probable] ornery Windose bug. If the above didn't work then just mark everything I told you to un-mark to get normal hardware V.## compression. That's the normal type of compression, usually V.42bis if you've got a normal slow connection. Don't worry if you can't get STAC compression to work, I've still got some tweaks for you.

Now for the MTU, MSS, and RWIN tweaks. An easy to use program that does this and more is NetMaster that can be found at http://www.magellass.com . It's well worth whatever price it maybe and should be considered. But if you have a calculator in hand, experience in registry editing, and a little patience then we don't need that program. If you don't have registry editing experience then now's a good time to learn. Some sites will give you warning like "You will die if you fail to regedit correctly," but that's just incase you're a newbie and a careless one. There is no save command, it automatically saves, so whatever you do it's done, until you undo whatever you had done so it's not done any longer J . Well, first things first, connect to your ISP and ping them with the MS-DOS command "ping -l #### www.myisp.com" (that's the letter L, not a one). The #### should NOT exceed 1500. Usually, 1472 is a good number, below 576 is bad. If it returns something like "PACKETS MUST BE FRAGMENTED FIRST" or just doesn't ping them, the number was too high. After you get this number, remember it. Now disconnect if you'd like and go to "Start", "Run" and type "regedit", then press Enter. Now go to the key (or 'dir' if you'd prefer) named: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000 . This should be the Dial-up Adapter's key. Double click on the string named "IPMTU" and type in the number you just got and press Enter. Now double click the one named "SLOWNET" and set that to 00, not 01. This is obviously a bad thing. Now go to the key named: KEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD and open COMBUFF and change "Start" to 01 so that it will load it on Windows start up. Then click on the key MSTCP in the \VxD key. If you see a string named "DefaultMSS" then take the above MTU number and subtract it by 40 to get that number, otherwise don't worry about it. Now, for the "DefaultRcvWindow", multiply the MSS number (MTU - 40) by a number, like 4 or 5. This number should be in the range of 2000s to low 4000s. This is how fast you will receive stuff, setting it higher won't help. I have my settings set to MTU: 1472, MSS: 1432, RWIN: 2864. Those are basically defaults, playing around with the settings will help things some. Now, the one named "PMTUDiscovery" should be set to "1", and "PMTUBlackHoleDetect" should be set to 0 if you don't have a 3Com modem, or if your ISP doesn't. If you AND your ISP both have 3Com equipment then set this to 1. This will find bad routers and other things and alert your ISP to them, so they can fix them. This is usually slower, but your ISP may fix the things your modem finds. 3Com equipment works well with this. I have my "SessionKeepAlive" set to 599 so that my computer sends an "I'm still alive" signal to your ISP so they don't boot you offline. 600 is a good number, not to frequent, but still there. I have mine set to 599 because some servers I connect to search every 600 ms and 600 doesn't quite cut it.

Well, that's about it for the network setting reg tweaks. I will guide you to a (obvious) key that tells you some modem Init string settings that you might find useful, but I don't suggest using them because they all can be accessed by clicking on tabs in the Modem properties in control panel. Using them would just disregard your Modem property settings. This key name, however, is HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Modem\000#\Settings. That # sign means a number that denotes your modem. If you have multiple modems then you would have multiple keys there.

I have a custom init string here that should, for the most part, work with every modem. Here it is, with an explanation: AT $$CW0 S15=2 S11=38 S27=16 S0=0 \N3 &K3 %C1+vcid=0 (note: don't put spaces in your string, I did so here for ease of explanation). The "$$CW0" command I think has something to do with hardware DSP, It works on Zoom modems, but not 3Com/USR. S15=2 turns on some type of compression control, not sure which. S11=38 is a big one that I know works with all modems. This changes the time in milliseconds between the dialing strokes. So this will make your modem dial your ISP in only 38ms (any lower won't work with all modems and ISPs). S27=16 is something I don't remember. S0=0 monitors your modem and its connection stats to tell to your ISP (I think). This will help your ISP locate problems (I think). \N3 is a type of hardware compression that works with Zoom modems, not 3com. &K3 is another type of hardware compression that works with both Zoom and 3Com modems. "% C1+vcid= 0" turns off CallerID with Zoom modems, the equivalent for 3com modems is "#CID= 0". Enter this in your Modem Properties' Advanced area, in the Extra Settings area.

Now for the juicy bit here that I'm sure no other tweaking websites has (especially Tweak3D.net, hey guys =P, link the tweak to my site if you do use it). This one over-clocks your modem from a measly 115200 bps to a possible 230400 bps! That's double the speed! This tweak requires some fancy regedit steps and … err, nothing else much but knowledge. Now listen carefully. Go to your modem's reg key (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Modem\000#\) and look for a setting called "Properties" (not a key name, just a bin within the modem's key). It should have a long list of numbers and letters, two by two… double click on it to edit it. Near the last row of those numbers (Seventh from the end, usually) should be the combinations "C1 02". If you see these nod your head, if not then look harder. Not click your mouse cursor before those and press the delete key twice to get rid of them. In their place put in "84" and "03". Now exit out of regedit and go into your Dial-Up Networking properties and click to "Configure…" your modem. Where it reads "Maximum Speed" click the pull down menu and look below 115200 to find a new number… 230400 ! Now your modem can send and receive stuff twice as fast [from it's buffer, not ISP].

If this modem tweak guide helped you out any then make sure to post some messages in our forum to that extent, or email me. If not then do the same and please explain why so that I can fix it. I hope my over-clocking regedit trick help you out some. I will follow up on this article later with some more tweaks for your Network settings in general some other day, far, far away where Princess Leia is waiting in that … err. Ya, what I said before J. Now go play CS with your new settings. Who needs that new netcode patch now, eh? I thought not!

PART 2

So, you’ve read my first tweak guide for your modem and you’ve gotten most of it to work. How’d you like my overclocking part? Did it work for you? Check our forum to see what others have said about it. Now I’m gonna go a little more in-depth and give you some system.ini config commands and some real world tips (i.e. Phone slitters, dedicated line). First lets travel to the land of the infamous system.ini file

To easily edit your start up configuration files for Windows click on “Start”, then “Run” and type in “msconfig”. This will start up a special program that most don’t know about that will let you set some special start up things. When it comes up click on “Advanced” in the bottom right of the “General” tab and mark “Disable Scandisk after bad shutdown.” This will get rid of that annoying ScanDisk that runs everytime Windows crashes and you have to press the off button on your computer case. Now click ok to get out of the Advanced settings. Now go to the “Startup” tab unmark every program that you don’t want to run automatically when Windows loads up. Make sure double copies of programs aren’t loaded, and keep “System Tray” and “LoadPowerProfile” marked if you have those. Now click ok to get out of MSConfig, don’t restart yet. Go to you Hard Drive (i.e. C:\) and edit or create a “config.sys” file using notepad. Add this line to it:  STACKS=0,0  . Now save it an make sure it didn’t save as “config.sys.txt” (Notepad likes to do that automatically). Just rename it if it did. Now in your System.ini (open it by pressing “Start”, “Run” and type in “system.ini” then press enter), add this line under “[386Enh]”: COMBoostTime=1  . I believe this changes the time in ms in which the com buffer is boosted, so lower is better, but 0 is bad. Now add “COM#Irq#=1024” In the same place, put your own COM# and modem’s IRQ# in place. You can find these in the System Properties. Now open Win.ini (open it by pressing “Start”, “Run” and type in “win.ini” then press enter) and enter: COM#:=921600,n,8,1,p  under the “[Ports]” section. This sets the COM# to that bps rate, no parity, 8 data pits, and 1 stop bit with hardware flow control (p is hardware, x is software if you have a winmodem). That’s about it for this type of tweak.

 Now for some physical tweaks to your system. An obvious tweak would be to find the smallest phone cord you can find that will still fit between your computer and the wall outlet. If you have a phone cord, look at the head of it, if you see 2 gold contacts on the head of it, then that’s not good. If you see 4 gold contacts, its better. When I used phone cords with only the 2 gold contacts my connection would be unstable, my ping was erratic, and I was always disconnected. Try to find one with 4 contacts. The shorter the phone cord is the less time it takes the data to get from your computer to the phone company, by a possible 5 – 10 ms. If you’ve got a six foot phone cord where a 1 foot phone cord could work then you’ve just got a lower ping (by not much, but still J).

 This page, http://www.teleport.com/~curt/modems.html , has some really good information on the coming subject. I’ll tell you a little bit about “Premises Wiring” and “Teleprotectors.” Some people think that a connection of 43,333 is common for 56k modems, but in real life that rarely happens. 28.8k modems are actually pushing the limits of most phone lines today.

Some connection problems are caused by bad wiring in your house, to many devices on your line, or old rotary phones, or cheap quality phones. This requires some knowledge of your house layout and where your phone lines meet inside your house. First you have to know where the wiring in your house comes together, mine meets in a block behind the phone mounted on the wall in my kitchen. Once you found it look at the wiring that is connected to it. Is it a twisted pair? Twisted pair is the best kind, the wires will gently twist around themselves. None twisted pairs consist of four wires in a straight jacket. If you don’t have twisted pair then you should probably consider replacing it. If you want to, err… easily(?) find out if other devises are slowing down your connection then run a dedicated wiring straight from your telco block to the outlet your modem uses, then disconnect all other wires from the telco block. If this gives you a better connection then one of the devices on your phone line has a problem.

But before you go out and by a new telco block you might want to try this alternative. At Radio Shack they have a device called a Teleprotector (Cat. No. 43-107). This simple device is meant to protect data transmissions from interruptions (the dreaded phone call ring when online J), and to disconnect and answering machine when an extension is picked up or off the hook. You can easily hook up all phone lines into this teleprotector and leave a dedicated wire straight from the telco block to your modem. Visit http://www.teleport.com/~curt/modems.html#connect-teleprotector for a schematic of how to connect this up to your phone lines.

That’s about all that I can think of to possible help your connection, other than asking your phone company to re-string your road with telephone wires for $2000. The one reason I can’t get DSL (I’m literally 400 feet from the exchange box) is because there is a loop in the line from my road so I’m stuck with analog modems until I can get cable or T1 is reasonably priced. Did you know that the phone company won’t even talk to you about T1 if you say it’s for a house, but if you say it’s a home run business then they will. What’s the difference? There’s no physical reason why it’s different. Oh well, just a short flame about phone companies. Hope my tweak guide helped you out. Have fun gaming.

By James Sonne