|
|
Limiting Connection Speed (Updated 4-May-00)
Most modems can be set to connect only at a speed or range of speeds. Lucent (Apollo/Mars/LT Win Modem with V.90 firmware) are limited to autorate, or locking a single connect rate; the upstream rate can also be set by the user. In some situations with Lucent modems, lowering the upstream rate (to say 21.6k) will improve the downstream rate and reliability. This page shows the speed limit commands for:
3Com/USR Modems Lucent-based Modems Rockwell/Conexant-based
Modems
PCTel-based Modems Motorola SM56 Modems
Cirrus/Ambient Modems
ESS [Teledrive] Modems
Using speed limiting commands may be helpful if you experience variability in your CONNECT rates, and only want to connect on your higher speed connections, or if your modem is connecting at too high a speed so as to choke on errors. For example, I find that when calling my ISP, I'll either get a rate of 32000 or 46666-48000. I've set my dial-up networking to automatically re-dial up to 50 times with a 1-second re-dial delay, and added the &U&N settings to make my connection a minimum of 42666bps. If that rate cannot be achieved, no carrier is obtained, the line is disconnected, and the modem immediately re-dials. Sometimes, it may take 9 or more attempts before a good connection is obtained - and no user intervention is required to reject the low-speed poor connections and re-dial. There are also many people whose modems are "over aggressive" on connect speed who can eliminate disconnect and/or low throughput problems by limiting the maximum speed the modem connects to a slightly lower rate.
There's also an "Optional Shareware" program - ConnectPro that, among other things, will re-dial if you don't get your specified minimum connect speed. I haven't personally tried this program - if you try it, let me know what you think.
The commands: &Un and &Nn (where n is a number between 0 and 39) control the connect speeds your modem will accept. &U control the lowest link speed, and &N controls the highest link speed. If you want to use this, add the appropriate &Un&Nn string in the 'extra settings' box of the Advanced Properties of your Modem from Control Panel. (See the graphic of 56k Troubleshooting page 1.) My extra settings (for 42.6k minimum connect) are: &U28&N39. IMPORTANT: If you use only &N, the modem will connect only at that speed, and if a connection cannot be achieved at that speed, you will get NO CARRIER. In most cases, you will want to set a speed range for acceptable connects using both &U &N.
I don't limit the highest connect speed - but you can: if you find that you get connects above 50k that are unreliable and error-prone, you can use the &Nn setting to limit the maximum speed.
Note: I have not been able to use this option reliably with x2 servers. It does work quite well for me with V.90. I suspect the reason is that with x2, I will regularly get CONNECTs at 48k that never go above 32k, while with V.90, my actual rate and connect speed are more accurate. 13-Dec-98: The command seems to be partially broken on USR/Sportster with new 5.0.0 firmware - see my 12/13 Update.
&U## - Lowest Link Speed
&N## - Highest Link Speed
Where ## is as follows:
Values for 3Com/USR/Sportster/Courier V.90 modems: |
1= 300bps | 2= 1200bps | 3= 2400bps | 4= 4800bps |
5= 7200bps | 6= 9600bps | 7= 12000bps | 8= 14400bps |
9= 16800bps | 10= 19200bps | 11= 21600bps | 12= 24000bps |
13= 26400bps | 14= 28800bps | 15= 31200bps | 16= 33600bps |
17= 28000bps | 18= 29333bps | 19= 30666bps | 20= 32000bps |
21= 33333bps | 22= 34666bps | 23= 36000bps | 24= 37333bps |
25= 38666bps | 26= 40000bps | 27= 41333bps | 28= 42666bps |
29= 44000bps | 30= 45333bps | 31= 46666bps | 32= 48000bps |
33= 49333bps | 34= 50666bps | 35= 52000bps | 36= 53333bps |
37= 54666bps | 38= 56000bps | 39= 57333bps | 0= No Limit |
These are the possible values for n with a x2 (non-V.90) 3Com modem:
Values for 3Com/USR/Sportster/Courier x2-only modems: |
0 = No Limit | 1= 300bps | 2= 1200bps | 3= 2400bps |
4= 4800bps | 5= 7200bps | 6= 9600bps | 7= 12000bps |
8= 14400bps | 9= 16800bps | 10= 19200bps | 11= 21600bps |
12= 24000bps | 13= 26400bps | 14= 28800bps | 15= 31200bps |
16= 33600bps | 17= 33333bps | 18= 37333bps | 19= 41333bps |
20= 42666bps | 21= 44000bps | 22= 45333bps | 23= 46666bps |
24= 48000bps | 25= 49333bps | 26= 50666bps | 27= 52000bps |
28= 53333bps | 29= 54666bps | 30= 56000bps | 31= 57333bps |
32= 64000bps |
Also see: Other extra settings.
The command format is:
+MS=
except for HCF and Soft56 modems where the command format is:
+MS=
You can determine the format of the +MS
command for your modem with the command:
AT +MS=?
which returns all possible values for each field. The command AT
+MS? will return the current settings for
each field.
To limit the Rockwell-chipset (Conexant chipset) modem to a minimum of 44,000bps and a maximum of 52k, the following string would be entered in extra settings:
+MS=,,44000,52000 (non HCF)
+MS=,,,,44000,52000 (HCF)
Note: If you place any commands after the +MS= command, you must terminate the +MS portion with a semicolon - ie: +MS=12,0;s10=7
The preferred modulation can be selected by placing the following parameter before the first comma:
Modem | V.90 | K56Flex | V.34 (no 56k) |
Rockwell/Conexant Non-HCF | 12 | 56 | 11 |
Rockwell/Conexant HCF | V90 | K56 | V34 |
+MS=12,,44000,52000 (non HCF) - V.90 is preferred,
connect min 44k, max 52k
+MS=V90,,,,44000,52000 (HCF) - +MS=V90,,,,44000,52000 (HCF) -
V.90 is preferred, connect
min 44k, max 52k
The default for automode - the second parameter - is 1 which will allow other than the selected modulation; to force V.90 in the prior example:
+MS=12,0,44000,52000 (non HCF) - V.90
is required, connect min 44k, max 52k
+MS=V90,0,,,44000,52000 (HCF) - V.90 is required, connect
min 44k, max 52k
With some firmware versions, the commands may be broken, or not work correctly. See the auto-redial section.
The Lucent LT Win Modem (Apollo/Mars) with V.90 firmware does not have the same flexibility for connect speed options as 3Com and Rockwell. It will either do autorate (default), or you can specify a single 56k speed to (try to) connect with:
AT-V90=# where # represents the 56k downstream rate: |
0 - V.90 disabled | 1 - Auto Rate | 2 - 28000 | 3 - 29333 |
4 - 30666 | 5 - 32000 | 6 - 33333 | 7 - 34666 |
8 - 36000 | 9 - 37333 | 10 - 38666 | 11 - 40000 |
12 - 41333 | 13 - 42666 | 14 - 44000 | 15 - 45333 |
16 - 46666 | 17 - 48000 | 18 - 49333 | 19 - 50666 |
20 - 52000 | 21 - 53333 | 22 - 54666* | 23 - 56000* |
* - -v90=22 & 23 valid only with firmware 5.49 and higher.
S38=# where # disables or selects the KFlex downstream rate: |
0 - disable Flex | 1 - Auto Rate | 2 - 32k | 3 - 34k |
4 - 36k | 5 - 38k | 6 - 40k | 7 - 42k |
8 - 44k | 9 - 46k | 10 - 48k | 11 - 50k |
12 - 52k | 13 - 54k |
s37=# where # controls the upstream rate: |
0 - Maximum | 3 - 300bps | 5 - 1200bps | 6 - 2400bps |
7 - 4800bps | 8 - 7200bps | 9 - 9600bps | 11 - 14400bps |
13 - 19200bps | 14 - 21600bps | 15 - 24000bps | 16 - 26400bps |
17 - 28800bps | 18 - 31200bps | 19 - 33600bps |
S109=# 0=Disable V90 (Flex only)
1=auto select
V.90/KFlex
2=Disable KFlex (V90 only)
Also see: Other extra settings.
SM56 modems are K56Flex and V.90 capable; To limit the speed, put %B# in extra settings where # is as follows: |
%B0 - Max Rate | %B1 - 300bps | %B2 - 1200bps | %B3 - 2400bps |
%B4 - 4800bps | %B6 - 9600bps | %B9 - 14400bps | %B11- 16800bps |
%B12- 19200bps | %B13- 21600bps | %B14- 24000bps | %B15- 26400bps |
%B16- 28800bps | %B17- 31200bps | %B18- 33600bps | %B19- 32000bps |
%B20- 34000bps F | %B21- 36000bps | %B22- 38000bps F | %B23- 40000bps |
%B24- 42000bps F | %B25- 44000bps | %B26- 46000bps F | %B27- 48000bps |
%B28- 50000bps F | %B29- 52000bps | %B30- 54000bps F | %B31- 56000bps |
%B32- 58000bps F | %B33- 60000bps | %B34- 28000bps | %B35- 29333bps |
%B36- 30666bps | %B37- 33333bps | %B38- 34666bps | %B39- 37333bps |
%B40- 38666bps | %B41- 41333bps | %B42- 42666bps | %B43- 45333bps |
%B44- 46666bps | %B45- 49333bps | %B46- 50666bps | %B47- 53333bps |
%B48- 54666bps |
F-These rates are valid only for K56Flex connections |
Rates specified by %B34 through %B48 are valid only for V.90 connects. |
Special Thanks to Phillip Julias IV for supplying this Motorola SM56
info.
To limit the speed on PCTel modems, you must select either V.90 (n0s37=14) or K56Flex (n0s37=13) along with the speed limit s34=# where # is as follows:
For V.90 - n0s37=14s34=# where # is: |
0 = 28000bps | 1 = 29333bps | 2 = 30666bps | 3 = 32000bps |
4 = 33333bps | 5 = 34666bps | 6 = 36000bps | 7 = 37333bps |
8 = 38666bps | 9 = 40000bps | 10 = 41333bps | 11 = 42666bps |
12 = 44000bps | 13 = 45333bps | 14 = 46666bps | 15 = 48000bps |
16 = 49333bps | 17 = 50666bps | 18 = 52000bps | 19 = 53333bps |
20 = 54666bps | 21 = 56000bps |
For K56Flex - n0s37=13s34=#: |
0 = 32000bps | 1 = 34000bps | 2 = 36000bps | 3 = 38000bps |
4 = 40000bps | 5 = 42000bps | 6 = 44000bps | 7 = 46000bps |
8 = 48000bps | 9 = 50000bps | 10 = 52000bps | 11 = 54000bps |
12 = 56000bps |
Note: If the PCTel modem is unable to achieve the rate specified, it will connect at the next lower rate which can be achieved. |
Special Thanks to Phillip Julias IV for supplying this PCTel info.
Cirrus Logic spun off its modem chipset business to Ambient Technologies. Ambient makes chipsets, not modems, and like Rockwell/Conexant has very poor support and documentation available from its website. While AT command documentation (in .pdf format) is on the web-site, the all-important SPEED LIMIT commands are not included in the Ambient/Cirrus documentation!
A variation of the +MS= command is used in Cirrus/Ambient modems to select protocol as well as speed limits. Cirrus/Ambient makes a number of different chipsets with different capabilities, and the parameters for +MS= vary among the products.
The command AT +MS=? will return the possible values for each of the fields in the command; the following comes from a MD5620:
at+ms=?
+MS:
(BELL103,BELL212,V21,V23,V22,V22B,V32,V32B,V34,V34S,X2,V90), (0,1),(0,300-33600),(0,300-33600),(0,2400-33600),(0,2400-57600)
Cirrus/Ambient makes a controller-based x2/V.90 modem chipset (MD565X) for ISA and external configurations which uses this command format:
+MS=, , , , ,
Cirrus/Ambient also makes:
MD57xx - single-chip integrated DSP and controller
MD566x - to replace MD565X - eliminates need for SRAM in modem circuitry
MD567x - Mac & Windows USB chipset
Modems with the ESS chipset (Teledrive) use the +MS= command to control modulation and minimum/maximum connect speeds:
+MS= protocol,automode,minspeed,maxspeed
+MS= 17,0,40000,44000
where minspeed and maxspeed are valid rates between 300 and
57333bps.
In the example above, 17 is the code to specify V.90 modulation, and the zero
disables automode which will prevent the modem from connecting if V.90 cannot be
achieved.
Valid values for protocol include:
0 = V.21 (300bps) 1 = V.22
(1200bps) 2 = V.22bis (2400bps)
9 = V.32 (9600bps) 10 = V.32bis
(14.4k) 11 = V.34 (33.6k)
17=V.90
64 = Bell 103 (300bps)
Rockwell & Lucent Modems - Autoredial:
Jim Bell found a solution to allow auto re-dial with Lucent modems (that lack effective speed range commands) and some later Rockwell V90 firmware where the +MS command is 'broken':
1. First, find the highest speed at which your modem connects and gives stable connections. If your modem speed varies, this should be done only after numerous logons to your ISP.
2. In Dial Up Networking, Click "Connections" and then "settings". Check the Redial box. Under this change "Before giving up retry" to 50 times. Press "OK".
3. In Dial-Up Networking, right click your internet connection and hit properties. Under your modem listing, hit "Configure". Set Maximum Speed to 115200. Select the Connection tab. Hit "Advanced". Change your modem speed by adding the following command in the Extra Settings box:
Rockwell Modems (except HCF): +MS=12,1,xxxxx,56000
where xxxxx is the maximum speed where you get a stable connection,
e.g. 49333 or 52000
Note that 12 is used for V.90 modems. Change this to 56 for
flex connections. (NOTE: If your modem is connecting at too high a speed
- ie, high error, unstable connection, limit the maximum speed by replacing the 56000 with
a lower V90 speed.)
Rockwell HCF Modems: +MS=V90,1,
you can specify minimum and maximum values for both receive &
transmit rates; to limit the receive rate to 42-48k with no other limits:
+MS=V90,1,,,42000,48000
Lucent Modems: -V90=# or
S38=#
Find the appropriate selection for # in the Lucent section below.
Hit "OK", "OK", and "OK".
4. Engage your internet connection. After hitting
"Connect", listen to the modem dial and pay attention to the handshaking
sequence. If your modem does not reach the desired speed, you will hear it begin
another handshaking sequence. Time the seconds it takes between hitting the
"Connect" button and the second handshaking sequence. Add 2 to 3 seconds
to this time.
In Dial-Up Networking, again right click your internet connection and select
"Properties" and "Configure". Select the "Connection"
tab. Check the box next to "Cancel the call if not connected within xx
seconds" and change the xx to the above number you observed when listening to your
modem. Hit "OK" and "OK" and try reconnecting.
Your modem should now redial untill it gets the rate you
specified. Be sure to listen when the modem cuts off before redialing to make sure
that a second handshaking sequence begins. If it quits too soon, adjust the seconds
upwards.
Also note that adjusting your extra settings box will affect
dialing in Hyperterminal. If you connect to other modems using Hyperterminal which
are slower, hit "Cancel" at the dialing prompt, and then Enter. Issue the
command to reset your modem (atz in Rockwell modems) and dial manually (e.g. atdt5551212).