home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Buyer 1999 August
/
Dpcb0899a.iso
/
Internet
/
Demon
/
DATA1.CAB
/
Turnpike_data
/
UMODEM.MDM
< prev
next >
Wrap
Text File
|
1999-04-27
|
7KB
|
280 lines
; UMODEM.MDM 23 Apr 1998
IDENT Universal modem script
;
; INITIALISE
;
NOTE 'Executing UMODEM.MDM'
RESET 1
WAIT 2
;
; See if the modem is there at all and set local echo
;
SEND 'ATE1\r'
; (nb: not SENDECHO because local echo might have been off)
;
SELECT 3 'Modem not responding'
CASE '\rOK\r'
TEXT 'Modem is responding...'
CASE '\rERROR\r'
TEXT 'Modem is responding...'
ENDSELECT
SHOW OFF
;
; NOTE: from here on we must keep local echo on by restating E1 after
; any reset; otherwise SENDECHOs which resync by matching the echoed
; command wont work!
;
MODEMINIT = 'AT' ; always a good start
// usual settings for volume control
MODEMINIT * SpeakerVolume_Low=L1
MODEMINIT * SpeakerVolume_Med=L2
MODEMINIT * SpeakerVolume_High=L3
;
; Try to deal specially with any Supra modem
; which requires &F2 not &F for hw flow control
;
SENDECHO 'ATI5\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE 'Supra'
CASE 'Diamond Multimedia'
SENDECHO 'AT&F2E1\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '&F2'
NOTE 'Supra modem recognised and initialised'
JUMP INITDONE
CASE '\rERROR\r'
NOTE 'Cannot set factory profile &F2'
FAIL
ENDSELECT
CASE '\rERROR\r'
CASE '\rOK\r'
NOTE 'Probably not a Supra'
ENDSELECT
;
; Try to deal specially with any Multitech modem
; First say use factory defaults and then set to factory defaults
;
SENDECHO 'AT&F8&FE1\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
; Try to make the Multitech specific settings
SENDECHO 'ATQ0X4&E4&E13&C1&D3%E0S0=0&Q0\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '&F8&FQ0X4&E4&E13&C1&D3%E0S0=0&Q0'
NOTE 'Multitech modem recognised and initialised'
NOTE 'Speaker volume control disabled'
MODEMINIT * SpeakerVolume_Low=
MODEMINIT * SpeakerVolume_Med=
MODEMINIT * SpeakerVolume_High=
JUMP INITDONE
CASE '\rERROR\r'
NOTE 'Probably not a Multitech'
ENDSELECT
CASE '\rERROR\r'
NOTE 'Probably not a Multitech'
ENDSELECT
;
; Set factory defaults,
; use factory profile 1 for hardware flow control, if available
; otherwise use profile 0
;
SENDECHO 'AT&F1E1\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
; Profile 1 accepted, make sure that it is a USR or clone
SENDECHO 'AT&B1&H1&K2&M4&R2\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '&F1&B1&H1&K2&M4&R2'
NOTE 'Factory profile 1 loaded for USR hardware flow control'
CASE '\rERROR\r'
SENDECHO 'AT&FE1\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '&F'
NOTE 'Factory profile 0 loaded'
CASE '\rERROR\r'
NOTE 'Cannot set factory profile'
FAIL
ENDSELECT
ENDSELECT
CASE '\rERROR\r'
SENDECHO 'AT&FE1\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '&F'
NOTE 'Factory profile 0 loaded'
CASE '\rERROR\r'
NOTE 'Cannot set factory profile'
FAIL
ENDSELECT
ENDSELECT
;
; Try to get DCD to show state of carrier
;
SENDECHO 'AT&C1\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '&C1'
NOTE 'DCD will reflect state of carrier'
CASE '\rERROR\r'
NOTE 'DCD might not reflect the state of carrier'
NOTE 'Connect may not be able to recognise if the line drops'
ENDSELECT
;
; Try to get modem to hangup when DTR is toggled
; if possible reset as well when DTR toggled
;
SENDECHO 'AT&D3\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '&D3'
NOTE 'DTR will make modem reset'
CASE '\rERROR\r'
SENDECHO 'AT&D2\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '&D2'
NOTE 'DTR will make modem hang up'
CASE '\rERROR\r'
NOTE 'Modem might not hang up if +++ escape is not recognised'
ENDSELECT
ENDSELECT
;
; Try to prevent modem answering incoming calls
;
SENDECHO 'ATS0=0\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + 'S0=0'
NOTE 'Auto-answer disabled'
CASE '\rERROR\r'
NOTE 'Modem might answer before dialing or after hangup'
ENDSELECT
;
; Check for special modems by their ATI response
;
SENDECHO 'ATI3\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE ' 68356 '
; Try to make the Motorola 68345 specific settings
SENDECHO 'ATY0&R0\\V4\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + 'Y0&R0\\V4'
NOTE 'Motorola 68356 based modem recognised and initialised'
JUMP INITDONE
CASE '\rERROR\r'
NOTE 'Probably not a Motorola 3400'
ENDSELECT
CASE '\rERROR\r'
SENDECHO 'ATI2\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE ' GSM:DP'
; Try to make Nokia data card specific settings
SENDECHO 'ATS34=2\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + 'S43=2'
NOTE 'Nokia data card modem recognised and initialised'
JUMP INITDONE
CASE ERROR
NOTE 'Probably not a Nokia'
ENDSELECT
CASE '\rOK\r'
CASE '\rERROR\r'
ENDSELECT
CASE '\rOK\r'
SENDECHO 'ATI4\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE 'UMC '
; UMC V.32bis/FAX/VOICE has W1 set, must avoid setting S95
NOTE 'UMC based modem recognised and initialised'
JUMP INITDONE
CASE '\rOK\r'
CASE '\rERROR\r'
ENDSELECT
ENDSELECT
;
; Try to make modem show extended CONNECT responses
;
; First use the older Rockwell like method
;
SENDECHO 'ATS95=46\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + 'S95=46'
NOTE 'Extended responses enabled'
CASE '\rERROR\r'
NOTE 'Probably not a Rockwell modem'
ENDSELECT
;
; Now use the AT&T HMS like method
;
SENDECHO 'ATW1\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + 'W1'
NOTE 'Extended responses enabled'
CASE '\rERROR\r'
NOTE 'Probably not an AT&T HMS modem'
ENDSELECT
;
; Now use the newer Rockwell like method
;
SENDECHO 'AT\\V1\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '\\V1'
NOTE 'Extended responses enabled'
CASE '\rERROR\r'
NOTE 'Probably not a newer Rockwell modem'
ENDSELECT
;
; If all three of the above fail ERROR
; then the modem might only show basic CONNECT response
;
;
; Deal specially with the BT Ignition or Motorola BitSurfr ISDN TA
;
SENDECHO 'AT%A2=95\r' 3 'Modem not responding'
SELECT 3 'Modem not responding'
CASE '\rOK\r'
MODEMINIT + '%A2=95'
NOTE 'Async-to-sync PPP selected'
CASE '\rERROR\r'
NOTE 'Probably not a BT Ignition'
ENDSELECT
ENDJUMP INITDONE
;
; add E1 local echo off
; (note we want modemlog.txt to echo the actual number dialled
; if this really irritates change E1 to E0 below
; or put ATE0 in extra settings)
;
; and V1 verbal result
;
; and <cr> is the official way to end (not \r while also seems to work!)
;
MODEMINIT + 'E1V1<cr>'
SHOW ON
;
TEXT 'Ready to dial...'