DUN Tips

Dial Up Network Tips (95)

Completely Revised 12-June-98 (Last revision 8-September-98)

These tips are based on my own empirical tests and feedback from others who have followed these steps (thanks to all those who took the trouble to tell me their results). Note that to save repeating myself I refer below to Your Dun Properties by that I mean:- Double click My Computer, Double Click Dial-Up Networking, Right click your ISP DUN and select properties.

The latest revision is due to Microsoft's release of DUN 1.3 (Q154091 - for info).

Also see the FAQ for answers to common questions. For Windows 98 see Window 98 DUN tips.

     
1 Download and install Microsoft's unimodem update which you can also get from Microsoft's software library or search for article Q139383.
 
 
   Why?       
   Why not?  
   Remove?   

2 Download Microsoft's DUN 1.3 update (this is NOT winsock 2) which you can also get via Microsoft's upgrade page which also has details of the upgrade. Install the ungrade. Open control panel and double click Network. Select Configuration tab / Dial-Up Adapter and click Properties button. Select Advanced tab. If you have a an IP Packet Size property then the install has worked. If not then remove the dial up adapter and add a new one.
 
 
   Why?       
   Why not?  
   Remove?   

3 Turn off MNP5 compression. On USR modems this is usually &K3. On zoom I am told it is %C2. You can either add this as an extra setting in Your DUN Properties, General Tab, Configure Button, Connection Tab, Advanced Button. Or use RegEdit to change all occurrences in the registry from &K1 to &K3.
 
 
   Why?       
   Why not?  
   Remove?   

4 Go to Your DUN Properties, General Tab, Configure Button, Connection Tab, Advanced Button. Tick 'Use error control', 'compress data', 'Use flow control' and select 'Hardware' flow control. Untick record a log file. Click OK until you are back to the first window. Select the sever types tab. Untick everything except TCP/IP protocol (unless your ISP requires different). Click TCP/IP settings and tick IP header compression (the rest your ISP should define). Click all the OKs. If you have an external modem make sure the port speed is set to maximum.
 
 
   Why?       
   Why not?  
   Remove?   

5 Open control panel and double click Network. Select Configuration tab / Dial-Up Adapter and click Properties button. Select Advanced tab and set IPX header compression to yes and record a log file to no. Click all the OKs
 
 
   Why?       
   Why not?  
   Remove?   

6 Open Regedit (back up registry first) and expand HKEY_LOCAL_MACHINE key. Find System\CurrentControlSet\Services\VxD\NWLink\Ndi\params\cachesize and set the default value to 16.  
   Why?       
   Why not?  
   Remove?   

What has this all done?

IP Packet Size needs to be small enough to fit through the smallest net 'pipe' otherwise you get fragmentation. The standard advice is to use 576 which is the windows automatic setting now for DUN. but some people find 512 better in which case you will need to use DUN 1.2. You would think that you could add a custom value, that is, open regedit ( back up registry first) and expand HKEY_LOCAL_MACHINE. Then find \System\CurrentControlSet\Services\Class\Net\000n\Ndi\params\IPMTU\enum where 000n is the number of your TCP/IP DUN network. In this key you will find the definitions of small, medium and large MTU. Add a new string key called 512 and give it the value custom. This will now appear in the Dial-up adapters properties. BUT THIS DOESN'T WORK. Even though custom appears and can be selected the MTU is still 576 not 512 (if anyone knows how to get around this I'd like to know).

Only ticking TCP/IP protocol means time at logon isn't wasted trying the other protocols. The same goes for logon to network, you don't waste time trying to do it. The other ticks enable the modem internal compression and disable software compression. I find this the best with my ISP but other people claim that the reverse is better as the PC can have a larger dictionary. I found software compression worse but try it, you may get different results. The one thing in favour of software compression is that it takes some load off the serial port.

Not recording a log file also saves some overhead (disk activity) and I found it gave a slight improvement, some people claim it makes no difference but if you aren't having problems you don't need it so there is no harm in disabling it, which also saves some disk space. Turning this off also disables the modem through-put figure in system monitor but as you have installed the DUN upgrade you can get the speed from the new monitor options that has added. Similar arguments apply to disabling the ppplog.txt but the choice is yours.

All of this is a bit of suck it and see and it may not all work for you. It has taken me a lot of fiddling and testing to get this far. Originally I was getting about 2.5k/s for zips (as reported by Netscape) with just the registry changes I got 3.6/3.7 k/s. After I updated Unimodem I got 3.9k/s. DUN1.2 added a faction more and got me occasionally over 4.1k/s.

I am told that the crc in the modem data takes 4.97% so the maximum zip rate should be 0.9503x33600/8000=3.99k/s. As this is what I get I don't think there is much else I can do (but if you know different drop me an email). Newsgroup files come in at about 4-8k/s as reported by system monitor which is probably about right, i.e. maximum of 2:1 compression. The maximum must be less than 11.2k/s as with a port speed of 115200bps to my external modem, the maximum rate is 115200/10 i.e. 11.2 k/s. This shows the wisdom of setting the port rate to maximum, as long as the PC can take it of course. Of course with software compression enabled you don't need such a high port speed but latency (the time to reply) is reduced if the port speed is left at maximum.

If you still have problems try ticking record a ppp log file (ppplog.txt in \windows) or a modem log file (modemlog.txt in \windows) and see if these reveal anything (the places to tick are listed above). Additionally you could try typing ati6 or ati11 in Hyper Terminal after you log off. Note, these are for USR modems, see your manual if these don't work for you. This should display diagnostics on the last call. If it says the last call was zero time then the modem init string in the registry is ATZ which is clearing the data the Navas Modem FAQ has the details about how to change this and lots of other stuff, including details of what the results of ati6 and ati11 mean.

In case you are wondering if this will this work for you, all I can say is give it a try. I have had quite a few people email me to say that they have also got a speed increase from following the steps above, and I have had no emails saying it did nothing.

For those who want more reading check out the resource kit on the windows 95 cd and in the MicroSoft Knowledge Base, Q158474 (thanks to Larry for bringing this one to my attention), Q168747 - the fix for being nuked, Q168747 - modem logs, and probably others. Q158474 has some interesting parameters to enable keep-alives so that the link doesn't drop while you read.

{Home}