First, if you are having problems with your 56K modem, you must make sure you do not have anything between your wall jack and your modem, NOT ONE THING. This is very important. Make sure you do not have a surge protector, a phone, a splitter, NOTHING but the cord.

Secondly, you will need to determine the EXACT modem that you have on your machine. To do this, follow these simple steps

http://www.eaglesnest.net/modems/modems.html

Then come back here and follow these steps below.

INIT STRINGS / EXTRA SETTINGS for your modem. If you have a properly installed modem .inf file, you normally don't need any initialization string or extra settings when using DUNS (dial-up-networking) - the .inf file determines the init string which - when everything works right - gives you the best connection possible. But, it doesn't always work that way, and sometimes you can improve your connection by adding extra settings (additional initialization string). Many command formats are specific to different modem chipsets. Below the screenshot showing where you go to add extra settings are some 56k-related commands for various modem chipsets. Additional strings can be found in Limiting Your Connect Speed.
 

To get to the screen for adding Extra Settings:START -> Settings -> Control Panel -> Modems -> Properties -> Connection -> Advanced

AT should not be used as part of the string, and normally, you should not use &F or Z as these reset the modem to factory, or other, settings which override the settings sent by DUNS based upon the .inf file.

Extra settings -> Advanced modem properties box

Extra settings to control modulation (also see Limiting Your Connect Speed)

Modem Disable x2 Disable v.42 Disable V.90 Disable V.90 & x2
Sportster/USR S32=34 S15=128 S32=66 S32=98
Courier S58=1 S27=32 S58=32 S58=33
Cirrus MD56xx +MS=V90,0  +ES=4, 4, 6 %C1 +MS=X2,0 +MS=V34,1,0,33600
ESS / Teledrive +MS=17,0  \N5 +MS=12,0 +MS=11,0
Disable KFlex Disable V90 Disable V90&Flex Disable v.42
Rockwell Dual * +MS=12 +MS=56 +MS=11  &Q6
Rockwell HCF & Soft56 +MS=V90,0 +MS=K56,0 +MS=V34 +ES=1,0,1;
Lucent LT s38=0 -v90=0 s38=0-v90=0   \n2
Lucent Venus s109=2 s109=0 s38=0  \n2
PCTel HSP n0s37=14 n0s37=13 n0s37=12 \N5
Motorola SM56    *MM15 -or- 
+MS=V90,0
 *MM13 -or-
+MS=K56FLEX,0
*MM12
-or-  +MS=V34
ST Micro / SGS +MS=90 +MS=56 +MS=34

Rockwell-based modems: If you are getting the PORT speed instead of modem speed, put W2 in extra settings. Rockwell 56k modems also have an extended-format +MS= command; see Limiting Your Connect Speed. Lucent-based modems: More info on some of the other options for the LT Win Modem are in Limiting Your Connect Speed. Texas Instruments-based modems: If you have a Texas Instruments chipset and it's not a 3Com/USR modem, the modem may be made under license from 3Com using 3Com-supplied firmware that you must get from the licensee. These modems will support the same commands and operate similarly to 3Com/USR modems. Others (CirrusLogic & ?) may have independently-developed firmware using their own command set.
 

 
Limiting Connection Speed

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.

3Com/USR Modems: 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 above.) Extra settings (for 42.6k minimum connect) are: &U28&N39 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. &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

Rockwell / Conexant Modems:The command format is: +MS= <mod> [,[<automode>][,[<min_rate>][,[<max_rate>][,[<x_law>][,[< rb_signaling>]]]]]]<CR>


Newer [RCV-PLL] chipsets have another variation of the above command with an extra field at the end of above which I believe is maximum upstream rate. 

except for HCF and Soft56 modems where the command format is:
+MS=<modulation>,<automode>,<min tx rate>,<max tx rate>,<min rx rate>,<max rx rate>

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.

Lucent Modems: 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. The following commands are implemented on both the Lucent Apollo/Mars (LT Win Modem) and Venus (external/PCMCIA/int) modems:
   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
NOTE: With the Venus chipset, s38=# controls both the KFlex and V.90 downstream rate; the KFlex/V.90 preference is set as follows:S109=#     0=Disable V90 (Flex only) 
           1=auto select V.90/KFlex

           2=Disable KFlex (V90 only)
Motorola SM56 Modems:
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.

 

PC Tel Chipset

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/Ambient Modems: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! It appears that 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= may 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. The only documentation available indicates how to disable 56k:  +MS=V34,1,0,33600
You may be able to limit speeds with a command like: +MS=V90,1,0,33600,0,maxspeed  where maxspeed is a valid V.90 rate. It appears that the last two fields are for receive data rates, while the third & fourth fields are min/max upstream rates. 
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

ESS Teledrive Modems:

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, <min tx rate>, <max tx rate>, <min rx rate>, <max rx rate>
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).