richardhot
Instructor
Hello,
Should one assume default modem settings are suboptimal and try to tweak them?
Is there a utility that does this reliably? Freeware?
Comments? Ideas? Recommendations?
Would like to optimize without going crazy and would like to find idiot-proof automatic-as-possible way to do this if feasible...
Thanks richardhot
ps.
Standard discussion looks like this:
Modem Settings:
The next stage is to make sure that the modem is configured for optimum performance. Click on "Start" up to "Settings" then across to "Control Panel". Once in the control panel, double click on "Modems". Select your modem and click "Properties". Make sure the Maximum Speed is set to 115200 (57600 if you have a 28.8 modem). Make sure that "Only Connect At This Speed" is UNCHECKED. Click the connection tab. Ensure that you have 8 data bits, Parity set to none and 1 stop bit. Click on "Port Settings" and push the receive buffers up to 16. Then click on "Advanced" and you will see the following.
All of the above settings (except the Extra Settings which are modem dependant) are the optimum. If you have an initialisation string for your modem type that into the extra settings box. If you don't have one you may be able to get one from your modem manufacturer or your ISP's helpdesk. If not try one of the following generic strings.
Rockwell Chipsets
Kflex
AT+MS=56,1,33600,56000%E0S91=15
AT+MS=56,1,33600,56000%E0
AT+MS=K56FLEX,1,3400,56000
V 90
AT+MS=12,1,33600,56000
AT+MS=12,1,3400,1,5600
AT+MS=12,1,3400,56000
AT+MS=V90,1,3400,56000
USR Chipsets
AT&F1 is adequate for most USR modems
If none of the above works try Asking Mr Modem here you can find init strings for most modems.
Now lets look under the surface a bit at some of the other things we can tweak to get the best performance. I'll explain them first then tell you how to make the changes at the end.
MTU
MTU or Maximum Transmission Unit is the largest TCP/IP packet that your PC will send. Windows sets this as 1500 by default. 1500 is fine for lans but the Internet standard MTU is 576. You are better off having an MTU of 576 because even if your own ISP also has an MTU of 1500 there is no doubt that on thier journey accross the net your packets will pass through routers that have an MTU of 576. When this happens your packet becomes fragmented. That is to say that your packet is broken down into smaller packets and each one has it's own header added.
MSS
MSS or Maximum Segment Size is the maximum size of the TCP/IP Packet minus the headers, this is the actual data you are sending. The MSS ideally should be MTU -40 as the header layer is 40 bytes. So for an MTU of 576 the ideal MSS would be 536
RWIN
The RWIN or Recieve WINdow is the maximum amount of data your computer is willing to receive at any one moment. Setting this too high will mean a greater loss of data if a packet is lost (this translates to lag in a game). If it is set too low then it will be very slow (and the game will be laggy). The RWIN should be an integer of MSS. Ideally MSS X 2 4 6 8 or 10. The optimum is MSS x 4 which in our case is 536 x 4 so our ideal RWIN is 2144 You can try higher ie MSS x 6 but remember, too high and it will have the opposite effect of what you are trying to acheive.
TTL
The TTL is the Time To Live for each packet or the maximumum amount of hops the data will travel. In order to get from one machine to another the data hops from 1 router to another until it gets to its destination. The default TTL is 32 which should be fine but as the Internet is growing all the time I would reccommend a TTL of 64
The easiest way to understand how these elements fit together is via the old email analogy. Think of an email, the MSS is the letter itself,Tthe MTU is the envolope that the letter is put into and then sent. Tthe RWIN is the letterbox that the letter drops through when it arrives. The TTL is how far the postman is willing to take the letter.
Now the important bit, how do we change these settings. Well we can hack the registry. After much thought though I decided not to post the registry settings though. There is too much potental for disaster if you are not familiar with editing the registry. For those that want them they are readily available on the net, just do an Alta Vista search. The easiest and safest way to do it is by using one of the many purpose made utilities. I personally use MTUSpeed Pro but there are plenty out there.
Should one assume default modem settings are suboptimal and try to tweak them?
Is there a utility that does this reliably? Freeware?
Comments? Ideas? Recommendations?
Would like to optimize without going crazy and would like to find idiot-proof automatic-as-possible way to do this if feasible...
Thanks richardhot
ps.
Standard discussion looks like this:
Modem Settings:
The next stage is to make sure that the modem is configured for optimum performance. Click on "Start" up to "Settings" then across to "Control Panel". Once in the control panel, double click on "Modems". Select your modem and click "Properties". Make sure the Maximum Speed is set to 115200 (57600 if you have a 28.8 modem). Make sure that "Only Connect At This Speed" is UNCHECKED. Click the connection tab. Ensure that you have 8 data bits, Parity set to none and 1 stop bit. Click on "Port Settings" and push the receive buffers up to 16. Then click on "Advanced" and you will see the following.
All of the above settings (except the Extra Settings which are modem dependant) are the optimum. If you have an initialisation string for your modem type that into the extra settings box. If you don't have one you may be able to get one from your modem manufacturer or your ISP's helpdesk. If not try one of the following generic strings.
Rockwell Chipsets
Kflex
AT+MS=56,1,33600,56000%E0S91=15
AT+MS=56,1,33600,56000%E0
AT+MS=K56FLEX,1,3400,56000
V 90
AT+MS=12,1,33600,56000
AT+MS=12,1,3400,1,5600
AT+MS=12,1,3400,56000
AT+MS=V90,1,3400,56000
USR Chipsets
AT&F1 is adequate for most USR modems
If none of the above works try Asking Mr Modem here you can find init strings for most modems.
Now lets look under the surface a bit at some of the other things we can tweak to get the best performance. I'll explain them first then tell you how to make the changes at the end.
MTU
MTU or Maximum Transmission Unit is the largest TCP/IP packet that your PC will send. Windows sets this as 1500 by default. 1500 is fine for lans but the Internet standard MTU is 576. You are better off having an MTU of 576 because even if your own ISP also has an MTU of 1500 there is no doubt that on thier journey accross the net your packets will pass through routers that have an MTU of 576. When this happens your packet becomes fragmented. That is to say that your packet is broken down into smaller packets and each one has it's own header added.
MSS
MSS or Maximum Segment Size is the maximum size of the TCP/IP Packet minus the headers, this is the actual data you are sending. The MSS ideally should be MTU -40 as the header layer is 40 bytes. So for an MTU of 576 the ideal MSS would be 536
RWIN
The RWIN or Recieve WINdow is the maximum amount of data your computer is willing to receive at any one moment. Setting this too high will mean a greater loss of data if a packet is lost (this translates to lag in a game). If it is set too low then it will be very slow (and the game will be laggy). The RWIN should be an integer of MSS. Ideally MSS X 2 4 6 8 or 10. The optimum is MSS x 4 which in our case is 536 x 4 so our ideal RWIN is 2144 You can try higher ie MSS x 6 but remember, too high and it will have the opposite effect of what you are trying to acheive.
TTL
The TTL is the Time To Live for each packet or the maximumum amount of hops the data will travel. In order to get from one machine to another the data hops from 1 router to another until it gets to its destination. The default TTL is 32 which should be fine but as the Internet is growing all the time I would reccommend a TTL of 64
The easiest way to understand how these elements fit together is via the old email analogy. Think of an email, the MSS is the letter itself,Tthe MTU is the envolope that the letter is put into and then sent. Tthe RWIN is the letterbox that the letter drops through when it arrives. The TTL is how far the postman is willing to take the letter.
Now the important bit, how do we change these settings. Well we can hack the registry. After much thought though I decided not to post the registry settings though. There is too much potental for disaster if you are not familiar with editing the registry. For those that want them they are readily available on the net, just do an Alta Vista search. The easiest and safest way to do it is by using one of the many purpose made utilities. I personally use MTUSpeed Pro but there are plenty out there.