home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / k95source / modems.ipf < prev    next >
Text File  |  2020-01-01  |  30KB  |  930 lines

  1. :userdoc.
  2. :title.C-Kermit's Modem Support
  3. :docprof toc=12345.
  4. :h1 id=preface.Preface
  5.   ---   PREPUBLICATION OUTLINE/DRAFT   ---
  6. :p.
  7.   Copyright (C) 1995, Frank da Cruz and Christine M. Gianone,
  8. .br
  9.   All rights reserved.
  10. :p.
  11. Most recent update&colon. February 8, 1996
  12. :p.
  13. :hp4.
  14. THIS IS AN UPDATE TO CHAPTER 3, "GETTING CONNECTED", OF "USING C-KERMIT".
  15. :ehp4.
  16. :p.
  17. :h1.Modem Types
  18. When you give Kermit a DIAL or ANSWER command, it operates your modem using
  19. built-in knowledge of the kind of modem you have, or an external driver for
  20. the modem, or else information that you have supplied for a "user-defined"
  21. modem type.  So it's important that you give Kermit the best possible
  22. information about the modem.  Usually, all you have to do is tell Kermit what
  23. type of modem you have, and Kermit does the rest automatically.  The
  24. command is&colon.
  25. :p.
  26. :hp4.
  27. SET MODEM TYPE <name>
  28. .br
  29. :ehp4.
  30. :lm margin=3.
  31. Selects a modem type (or NONE for direct serial connections) from Kermit's
  32. built-in database of modems.  The default modem type is NONE.
  33. :lm margin=1.
  34. :p.
  35. Kermit's built-in knowledge applies to many types of modems.  Table I shows
  36. the list as of this writing.  "SET MODEM TYPE ?" might display additional
  37. names if this documenent is out of date.
  38. :p.
  39. Table I - Modem Types
  40. :table cols='20 20 40'.
  41. :row.
  42. :c.Name               
  43. :c.Characteristics      
  44. :c.Description
  45. :row.
  46. :c.att-dataport       
  47. :c.AT EC DC LF SB       
  48. :c.AT&.T Dataport
  49. :row.
  50. :c.att-dtdm                                
  51. :c.
  52. :c.AT&.T Digital Terminal Data Module
  53. :row.
  54. :c.att-isn                                 
  55. :c.
  56. :c.AT&.T ISN Network
  57. :row.
  58. :c.att-switched-net   
  59. :c.AT                   
  60. :c.AT&.T Switched-Network Modems
  61. :row.
  62. :c.att-7300                                
  63. :c.
  64. :c.AT&.T 7300 (UNIX PC) Internal Modem
  65. :row.
  66. :c.boca               
  67. :c.AT EC DC LF SB       
  68. :c.Boca modems
  69. :row.
  70. :c.cermetek                                
  71. :c.
  72. :c.Cermetek Info-Mate 212A 1200 bps
  73. :row.
  74. :c.concord                                 
  75. :c.
  76. :c.Concord Condor CDS 220 2400 bps
  77. :row.
  78. :c.df03-ac                                 
  79. :c.
  80. :c.Digital Equipment Corp DF03-AC
  81. :row.
  82. :c.df100-series                            
  83. :c.
  84. :c.Digital Equipment Corp DF100 series
  85. :row.
  86. :c.df200-series                            
  87. :c.
  88. :c.Digital Equipment Corp DF200 series
  89. :row.
  90. :c.digitel-dt22       
  91. :c.ITU                  
  92. :c.Digitel DT-22 ITU-T (CCITT) V.25bis
  93. :row.
  94. :c.gdc-212a/ed                             
  95. :c.
  96. :c.General Data Comm 212A/ED
  97. :row.
  98. :c.hayes-1200         
  99. :c.AT                   
  100. :c.Hayes Smartmodem 1200 &. compatibles
  101. :row.
  102. :c.hayes-2400         
  103. :c.AT                   
  104. :c.Hayes Smartmodem 2400 &. compatibles
  105. :row.
  106. :c.hayes-high-speed   
  107. :c.AT EC DC LF SB       
  108. :c.Hayes Accura, Optima, or Ultra
  109. :row.
  110. :c.intel              
  111. :c.AT EC DC LF SB       
  112. :c.Intel High-Speed FaxModem
  113. :row.
  114. :c.itu-t-v25bis       
  115. :c.ITU                  
  116. :c.ITU-T (CCITT) V.25bis
  117. :row.
  118. :c.maxtech            
  119. :c.AT EC DC LF SB       
  120. :c.MaxTech XM288EA or GVC FAXModem
  121. :row.
  122. :c.microcom-at-mode   
  123. :c.AT EC DC LF SB       
  124. :c.Microcom in Hayes mode (Deskporte)
  125. :row.
  126. :c.microcom-sx-mode      
  127. :c.EC DC LF SB KS    
  128. :c.Microcom in native SX mode
  129. :row.
  130. :c.motorola-fastalk   
  131. :c.AT EC DC LF SB       
  132. :c.Motorola FasTalk II
  133. :row.
  134. :c.multitech          
  135. :c.AT EC DC LF SB       
  136. :c.Multitech MT1432 Series MultiModem II
  137. :row.
  138. :c.mwave              
  139. :c.AT EC DC LF SB       
  140. :c.IBM Mwave PCMCIA
  141. :row.
  142. :c.none                                    
  143. :c.
  144. :c.Direct serial connection
  145. :row.
  146. :c.old-telebit        
  147. :c.AT EC DC LF SB KS TB 
  148. :c.Telebit T1000, T1500, T2500, ...
  149. :row.
  150. :c.penril                                  
  151. :c.
  152. :c.Penril
  153. :row.
  154. :c.ppi                
  155. :c.AT EC DC LF SB       
  156. :c.Practical Peripherals modems
  157. :row.
  158. :c.racalvadic                     
  159. :c.SB       
  160. :c.Racal-Vadic VA4492E in native mode
  161. :row.
  162. :c.rockwell-v32       
  163. :c.AT EC DC LF SB       
  164. :c.Rockwell V.32 modems
  165. :row.
  166. :c.rockwell-v32bis    
  167. :c.AT EC DC LF SB       
  168. :c.Rockwell V.32bis modems
  169. :row.
  170. :c.rockwell-v34       
  171. :c.AT EC DC LF SB       
  172. :c.Rockwell V.34 modems
  173. :row.
  174. :c.rolm-dcm                                
  175. :c.
  176. :c.Rolm/Siemens/IBM CBX data phone
  177. :row.
  178. :c.supra              
  179. :c.AT EC DC LF SB       
  180. :c.Supra modems
  181. :row.
  182. :c.telebit            
  183. :c.AT EC DC LF SB KS TB 
  184. :c.Telebit T1600, T3000, QBlazer, ...
  185. :row.
  186. :c.unknown                                 
  187. :c.
  188. :c.Unknown modem type
  189. :row.
  190. :c.user-defined                            
  191. :c.
  192. :c.User-defined modem type
  193. :row.
  194. :c.usrobotics         
  195. :c.AT EC DC LF SB       
  196. :c.US Robotics Sportster or Courier
  197. :row.
  198. :c.ventel                                  
  199. :c.
  200. :c.Ven-Tel
  201. :row.
  202. :c.zoltrix            
  203. :c.AT EC DC LF SB       
  204. :c.Zoltrix modems
  205. :row.
  206. :c.zoom               
  207. :c.AT EC DC LF SB       
  208. :c.Zoom modems
  209. :row.
  210. :c.zyxel              
  211. :c.AT EC DC LF SB       
  212. :c.ZyXEL modems
  213. :etable.
  214. :p.
  215. For example, "set modem type supra".  If your modem is not in this list,
  216. perhaps it is compatible with one of the built-in types.  Later on, we'll see
  217. how you can add your own modem type to Kermit, in case you have a modem that
  218. is totally different from all the ones that Kermit knows about.
  219. :p.
  220. As you can see by comparing this table with Table 3-2 on page 53 of "Using
  221. C-Kermit", lots of new modem types have been added since the manual was
  222. published.
  223. :p.
  224. The other big difference is that when you give a SET MODEM TYPE command,
  225. Kermit now fetches all the necessary modem-specific information from its
  226. built-in database and also sets many of its own communication parameters
  227. accordingly.  Thus, in most cases, everything is set up for you automatically
  228. when your choose your modem type, and Kermit works much more smoothly with
  229. modern error-correcting, data-compressing modems.
  230. :p.
  231. You can see how this works by giving a SET MODEM TYPE command and then
  232. viewing the information with the SHOW MODEM command.  Example&colon.
  233. :xmp.
  234. :font facename=Courier size=10x8.
  235. [/usr/olga] C-Kermit>:hp4.set modem type ppi:ehp4.:hp9. ; Tell Kermit the modem type:ehp9.
  236. [/usr/olga] C-Kermit>:hp4.show modem:ehp4.:hp9.         ; View the modem-specific parameters:ehp9.
  237. :p.
  238.  Modem type&colon. ppi
  239.  Practical Peripherals V.22bis or higher with V.42 and V.42bis
  240. :p.
  241.  Modem carrier&colon.          auto
  242.  Modem capabilities&colon.     AT SB EC DC HWFC SWFC
  243.  Modem maximum-speed&colon.    115200 bps
  244.  Modem error-correction&colon. on
  245.  Modem compression&colon.      on
  246.  Modem speed-matching&colon.   off (interface speed is locked)
  247.  Modem flow-control&colon.     auto
  248.  Modem kermit-spoof&colon.     off
  249.  Modem escape-character&colon. 43 (= "+")
  250. :p.
  251. MODEM COMMANDs (* = set automatically by SET MODEM)&colon.
  252. :p.
  253.  * Init-string&colon.          ATQ0X4N1S37=0S82=128\{13}
  254.  * Dial-command&colon.         ATD%s\{13}
  255.  * Compression on&colon.       ATS46=2\{13}
  256.  * Compression off&colon.      ATS46=0\{13}
  257.  * Error-correction on&colon.  AT&.Q5S36=7S48=7\{13}
  258.  * Error-correction off&colon. AT&.Q0S36=0S48=128\{13}
  259.  * Autoanswer on&colon.        ATS0=1\{13}
  260.  * Autoanswer off&colon.       ATS0=0\{13}
  261.  * Hangup-command&colon.       ATQ0H0\{13}
  262.  * Hardware-flow&colon.        AT&.K3\{13}
  263.  * Software-flow&colon.        AT&.K4\{13}
  264.  * No-flow-control&colon.      AT&.K0\{13}
  265.  * Pulse&colon.                ATP\{13}
  266.  * Tone&colon.                 ATT\{13}
  267. :font facename=default size=0x0.
  268. :exmp.
  269. :p.
  270. Each of these items is explained below, and each of them can be changed
  271. by you if necessary with the appropriate commands.
  272. :p.
  273. The SHOW MODEM command (and the modem table above) include a compact listing
  274. of the modem's capabilities.  These are listed in Table II.
  275. :p.
  276. Table II - Modem capabilities
  277. :table cols='5 50'.
  278. :row.
  279. :c.AT    
  280. :c.Hayes AT command set and responses
  281. :row.
  282. :c.ITU   
  283. :c.ITU-T (CCITT) V.25bis command set and responses
  284. :row.
  285. :c.SB    
  286. :c.Speed buffering (interface speed can be locked)
  287. :row.
  288. :c.EC    
  289. :c.Error correction (MNP or V.42/LAPM)
  290. :row.
  291. :c.DC    
  292. :c.Data compression (MNP or V.42bis)
  293. :row.
  294. :c.HWFC  
  295. :c.Hardware flow control (RTS/CTS) (listed in Table I as LF)
  296. :row.
  297. :c.SWFC  
  298. :c.Local software flow control (Xon/Xoff) (listed in Table I as LF)
  299. :row.
  300. :c.KS    
  301. :c.Kermit spoofing (modem itself runs Kermit protocol)
  302. :row.
  303. :c.TB    
  304. :c.Made by Telebit (used internally for simplification)
  305. :etable.
  306. :hp8.
  307. Note&colon. LF stands for Local Flow control; that is, modem can engage in
  308. flow control with the computer it is directly connected to.
  309. :ehp8.
  310.  
  311. :h1.Important Settings
  312. Look again at this portion of the SHOW MODEM listing (line numbers added)&colon.
  313. :ol compact.
  314. :li.Modem error-correction&colon. on
  315. :li.Modem compression&colon.      on
  316. :li.Modem speed-matching&colon.   off (interface speed is locked)
  317. :li.Modem flow-control&colon.     auto
  318. :eol.
  319. :p.
  320. When you give a SET MODEM TYPE command&colon.
  321. :ol.
  322. :li.If Kermit knows that the modem is capable of error-correction,
  323. Kermit will tell the modem to use it.
  324.  
  325. :li.If Kermit knows that the modem is capable of data-compression,
  326. Kermit will tell the modem to use it.
  327.  
  328. :li.If Kermit knows that the modem is capable of speed-buffering,
  329. Kermit will ASSUME the modem has been configured to use it, and
  330. will, therefore, not change its own interface speed in response to
  331. CONNECT speed reports from the modem.
  332.  
  333. :li.If the modem is capable of local flow-control, Kermit configures it
  334. to use the same kind of flow as Kermit itself is set to use.
  335. :eol.
  336. :p.
  337. Kermit does NOT, however, set any of the following automatically&colon.
  338. :ol compact.
  339. :li.Communication device
  340. :li.Speed of the communication device
  341. :li.Parity or terminal bytesize
  342. :li.Duplex
  343. :eol.
  344. :p.
  345. So you should take care to ensure they are set appropriately.  Kermit does
  346. its best to catch mistakes or possible mismatches, however.  For example,
  347. you can't DIAL or CONNECT until after you have chosen a communication device
  348. with SET PORT or SET LINE.  You also can't DIAL without first specifying a
  349. modem type.  Furthermore, if you try to DIAL on a modem whose maximum speed
  350. (according to Kermit's database) is less that the current speed of the
  351. device, Kermit prints a warning message.
  352.  
  353. :h1.The Carrier Signal
  354. The modem is connected to the computer (perhaps conceptually) with a bunch of
  355. wires, as explained in Appendix II, "A Condensed Condensed Guide to Serial
  356. Communications", "Using C-Kermit".  One of these wires conveys the "carrier"
  357. signal from the modem to the computer.  Modems are supposed to turn this
  358. signal on only when they have a connection to another modem, and leave it off
  359. at other times.
  360. :p.
  361. Some computers are set up to refuse to communicate through a serial port
  362. unless there is a carrier signal coming in.  This is the paradox&colon. You have to
  363. be able to communicate with the serial port in order to give the dialing
  364. command to the modem, but if you haven't dialed yet, there is no carrier
  365. signal.
  366. :p.
  367. Kermit handles this situation as follows.  By default (unless you tell Kermit
  368. otherwise), it commands the computer NOT to require carrier during dialing,
  369. but to require it at (most) other times, such as during terminal emulation.
  370. This allows Kermit (on most computers, but not all) to detect when the
  371. connection was hung up by the other computer, and to pop back to command mode
  372. automatically.
  373. :p.
  374. But if you try to communicate through a port that is not receiving the carrier
  375. signal in any way other than by giving a DIAL command, then, depending on the
  376. underlying computer and operating system, you are very likely to get an error
  377. message.  This can happen, for example, if you attempt to CONNECT to the modem
  378. and type commands at the modem's command processor.
  379. :p.
  380. The command that controls this sort of thing is&colon.
  381. :p.
  382. :hp4.
  383. SET MODEM CARRIER { AUTO, ON, OFF }
  384. :ehp4.
  385. .br
  386. :lm margin=3.
  387. The default setting, AUTO, means not to require carrier during DIAL or
  388. ANSWER commands, but to require it during terminal emulation.  OFF means
  389. not to require carrier at all, so (for example) you can CONNECT to the
  390. modem and type AT commands.  ON means to require it at all times.
  391. :lm margin=1.
  392. :p.
  393. :h1.Changing Things
  394. The remaining SET MODEM commands let you adapt Kermit to unusual circumstances
  395. or to modems that it does not know about.  Give them AFTER the SET MODEM TYPE
  396. command, to override the values that are picked up from the database.
  397. :p.
  398. :hp4.
  399. SET MODEM SPEED-MATCHING { ON, OFF }  
  400. :ehp4.
  401. .br
  402. :lm margin=3.
  403. Kermit assumes that if your modem is capable of speed buffering, then it it
  404. is configured to do so, and therefore keeps its interface speed constant, no
  405. matter what connection speed is negotiated.  On the other hand, Kermit
  406. assumes that if your modem (according to Kermit's database) is NOT capable
  407. of speed buffering, then its interface speed will change according to the
  408. connection speed, and so therefore Kermit will also have to change its own
  409. interface speed to match.  When these assumptions prove incorrect, Kermit's
  410. speed will not match the modem's, and you will see only garbage.  Give this
  411. command to adapt Kermit to how the modem actually behaves.
  412. :lm margin=1.
  413. :p.
  414. :hp4.
  415. SET MODEM ERROR-CORRECTION { ON, OFF }
  416. :ehp4.
  417. .br
  418. :lm margin=3.
  419. When this is ON and the modem has EC capability, Kermit sends the MODEM
  420. COMMAND ERROR-CORRECTION ON string to the modem as part of the dialing
  421. process.  When this is OFF and the modem has EC capability, Kermit sends
  422. the MODEM COMMAND ERROR-CORRECTION OFF string.  Sometimes when an
  423. error-correcting modem dials another modem that can't do error-correction,
  424. the negotiations confuse the other modem so badly that the connection
  425. can't be made.  Use SET MODEM ERROR-CORRECTION OFF to disable your modem's
  426. error correction feature prior to dialing.
  427. :lm margin=1.
  428. :p.
  429. :hp4.
  430. SET MODEM COMPRESSION { ON, OFF }
  431. :ehp4.
  432. .br
  433. :lm margin=3.
  434. Works similarly to MODEM ERROR-CORRECTION { ON, OFF }.  Data compression
  435. is almost always beneficial when it is done by the modem, at least as long
  436. as you have an effective means of local flow control (preferably RTS/CTS)
  437. between your computer and the modem.  If adequate flow control is lacking,
  438. or if the compression negotiations confuse the other modem, use this
  439. command to disable data compression.
  440. :lm margin=1.
  441. :p.
  442. :hp8.
  443. WARNING&colon. Certain modems come in two different models; one with
  444. error-correction and data compression built in, and the other (normally a
  445. cheaper model) without these features.  If you have one of the latter (which
  446. usually include the abbreviation "RPI" or the word "controllerless" in the
  447. technical specifications) but Kermit's database does not know this, then
  448. dialing will fail when Kermit tries to enable these features.  To use these
  449. modems at all, you will have to tell Kermit to&colon.
  450. :xmp.
  451. :font facename=Courier size=10x8.
  452. SET MODEM ERROR-CORRECTION OFF
  453. SET MODEM COMPRESSION OFF
  454. :font facename=default size=0x0.
  455. :exmp.
  456. :p.
  457. and possibly also&colon.
  458. :xmp.
  459. :font facename=Courier size=10x8.
  460. SET MODEM SPEED-MATCHING ON
  461. :font facename=default size=0x0.
  462. :exmp.
  463. :p.
  464. (Also see examples below.)
  465. :ehp8.
  466. :p.  
  467. :hp4.
  468. SET MODEM FLOW-CONTROL { AUTO, NONE, RTS/CTS, XON/XOFF }
  469. :ehp4.
  470. .br
  471. :lm margin=3.
  472. This tells Kermit how to configure the modem's local flow-control feature,
  473. if any.  AUTO, the default, tries to "do the right thing" based on a
  474. combination of the modem's capabilities (from Kermit's internal modem
  475. database) and Kermit's FLOW-CONTROL setting.  The other options let you
  476. override the automatic procedure, for example, when you are running Kermit
  477. on a version of UNIX that does not let you SET FLOW RTS/CTS, but which,
  478. nevertheless, lets you have RTS/CTS flow control by using a "special" device
  479. name, e.g. "set line /dev/cufa", in which case Kermit did not know that
  480. RTS/CTS could be used.  So, for example, if Kermit's FLOW-CONTROL is
  481. NONE, but you tell Kermit to SET MODEM FLOW-CONTROL RTS/CTS, then Kermit
  482. will send the modem its built-in MODEM COMMAND HARDWARE-FLOW string.
  483. :lm margin=1.
  484. :p.
  485. :hp4.
  486. SET MODEM HANGUP-METHOD { MODEM-COMMAND, RS232-SIGNAL }
  487. :ehp4.
  488. .br
  489. :lm margin=3.
  490. Tells Kermit which hangup method to use with the modem&colon. the appropriate
  491. modem command (e.g. ATH0) or by maninpulating RS-232 signals (e.g.  turning
  492. off DTR).  MODEM-COMMAND is the default when the modem database includes a
  493. command for hanging up, otherwise the RS232-SIGNAL method is used.
  494. :lm margin=1.
  495. :p.
  496. :hp4.
  497. SET MODEM ESCAPE-CHARACTER <number>
  498. :ehp4.
  499. .br
  500. :lm margin=3.
  501. For Hayes compatibles, Kermit normally uses plus-plus-plus as the escape
  502. sequence.  It uses this to hang up the modem.  The escape sequence is
  503. supposed to bring us back to the modem's command processor, and then we give
  504. the modem-specific hangup comand, such as ATH0.  However, when the answering
  505. modem on the other end has not been configured correctly to ignore the
  506. escape sequence, the escape sequence is sent to the host, echoes back, and
  507. the remote answering modem pops back to command mode, with no way to put it
  508. back online.  If it is not in your power to reconfigure the answering modem,
  509. then your only recourse is to use this command to change the calling modem's
  510. escape character to something different.  <number> is the ASCII value of the
  511. character to be used.  For Hayes compatibles, we use the guard time, three
  512. copies of the escape character, and guard time again.  For others
  513. (e.g. Microcom or Racal Vadic in native mode) we just send the escape
  514. character.  This command is also handy for disabling the escape character
  515. altogether, e.g. SET MODEM ESC 128, in case you have a TIES modem and you
  516. need to make it transparent to all character sequences.
  517. :lm margin=1.
  518. :p.
  519. :hp4.
  520. SET MODEM KERMIT-SPOOF { ON, OFF }
  521. :ehp4.
  522. .br
  523. :lm margin=3.
  524. This command is used with modems that have a built-in "Kermit spoof",
  525. in which the modem actually executes the Kermit protocol itself.  A matching
  526. modem (e.g. Telebit) is required on the other end.  Normally Kermit can
  527. transfer files faster without the modem's help, by using sliding windows,
  528. long packets, etc, so the modem's Kermit spoof (if any) is disabled by
  529. default.  Use SET MODEM KERMIT-SPOOF ON to enable the modem's Kermit spoof.
  530. :lm margin=1.
  531. :p.
  532. :h1.Adding a New Modem Type
  533.  
  534. The following commands let you define a new modem type for Kermit.
  535. :p.
  536. :hp4.
  537. SET MODEM TYPE USER-DEFINED [ <name> ]
  538. :ehp4.
  539. .br
  540. :lm margin=3.
  541. The optional <name> identifies one of the built-in modem types.  The
  542. default <name> is UNKNOWN, which has no commands.  All the characteristics
  543. of the built-in modem type are copied to the user-defined type.  For
  544. example, if you are adding a high-speed modem that uses the Hayes command
  545. set, choose a modem of that sort (e.g.  HAYES-HIGH-SPEED, PPI, etc.
  546. :lm margin=1.
  547. :p.
  548. Then you can use the following commands&colon.
  549. :xmp.
  550. :font facename=Courier size=10x8.
  551. SET MODEM NAME
  552. SET MODEM CAPABILITIES
  553. SET MODEM MAXIMUM-SPEED
  554. :font facename=default size=0x0.
  555. :exmp.
  556. :p.
  557. to define its basic characteristics, and then&colon.
  558. :xmp.
  559. :font facename=Courier size=10x8.
  560. SET MODEM COMMAND
  561. :font facename=default size=0x0.
  562. :exmp.
  563. :p.
  564. to change any of its commands that differ from those of the built-in modem
  565. that you chose as a model.  These commands are now described in detail&colon.
  566. :p.
  567. :hp4.
  568. SET MODEM NAME <text>
  569. :ehp4.
  570. .br
  571. :lm margin=3.
  572. Changes the descriptive name of the modem (effects SHOW MODEM only).
  573. :lm margin=1.
  574. :p.
  575. :hp4.
  576. SET MODEM MAXIMUM-SPEED <bits-per-second>
  577. :ehp4.
  578. .br
  579. :lm margin=3.
  580. Tell Kermit what the modem's maximum *interface* speed is, in case the
  581. database is wrong or you are adding a new modem type.  Note&colon. currently,
  582. this item has no real effect, other than to cause warning messages if
  583. Kermit's speed is higher than the modem's maximum speed when you give a
  584. DIAL command.
  585. :lm margin=1.
  586. :p.
  587. :hp4.
  588. SET MODEM DIAL-COMMAND <string>
  589. :ehp4.
  590. .br
  591. :lm margin=3.
  592. This is the command used by the modem to dial a call.  The <string>
  593. must contain "%s" (without the quotes) to show where the phone number
  594. must be placed.  For example, for a Hayes modem, you would use
  595. "set modem dial-command ATD%s\13".
  596. :lm margin=1.
  597. :p.
  598. :hp4.
  599. SET MODEM CAPABILITIES [ <item> [ <item> [ ... ] ] ]
  600. :ehp4.
  601. .br
  602. :lm margin=3.
  603. Tells Kermit the modem's capabilities in case the database is wrong or you
  604. are adding a new modem type.  The <items> may be entered as shown in Table
  605. II, or with their full names ("error-correction", etc), which will be
  606. listed for you if you type "set modem capabilities ?".  AT must be set for
  607. any modem that uses the Hayes AT command set and responses; otherwise
  608. Kermit won't be able to read the responses; similarly for V25-COMMANDS
  609. (ITU) for V.25bis modems.
  610. :lm margin=1.
  611. :p.
  612. If your user-defined modem does not use Hayes word-result, Hayes
  613. digit-result, or V.25bis completion codes, then Kermit decides whether a
  614. call has completed or failed based on whether the carrier signal comes on
  615. within the DIAL TIMEOUT interval.
  616. :p.
  617. Now you must tell Kermit the modem-specific commands to use for each
  618. modem function it must control.  This is done with the following command&colon.
  619. :p.
  620. :hp4.
  621. SET MODEM COMMAND ....
  622. :ehp4.
  623. .br
  624. :lm margin=3.
  625. Tells Kermit the modem-specific command for various configurations and
  626. actions, in case the database is wrong or you are adding a new modem type.
  627. Control characters can be included in modem command strings by using
  628. backslash notation, such as "\13" for carriage return.
  629. :lm margin=1.
  630. :p.
  631. Here are the SET MODEM COMMAND commands&colon.  
  632. :p.
  633. :hp4.
  634. SET MODEM COMMAND AUTOANSWER ON <string>
  635. :ehp4.
  636. .br
  637. :lm margin=3.
  638. The command string that puts the modem into autoanswer mode, i.e.
  639. that makes it wait for an incoming call.
  640. :lm margin=1.
  641. :p.
  642. :hp4.
  643. SET MODEM COMMAND AUTOANSWER OFF <string>
  644. :ehp4.
  645. .br
  646. :lm margin=3.
  647. The command string that takes the modem out of autoanswer mode, i.e.
  648. that puts in in originate mode for making calls.
  649. :lm margin=1.
  650. :p.
  651. :hp4.
  652. SET MODEM COMMAND COMPRESSION ON <string>
  653. :ehp4.
  654. .br
  655. :lm margin=3.
  656. The command string that enables the modem to negotiate data compression
  657. with the other modem.
  658. :lm margin=1.
  659. :p.
  660. :hp4.
  661. SET MODEM COMMAND COMPRESSION OFF <string>
  662. :ehp4.
  663. .br
  664. :lm margin=3.
  665. The command string that turns off the modem's data compression feature
  666. and disables data-compression negotiation with the other modem.
  667. :lm margin=1.
  668. :p.
  669. :hp4.
  670. SET MODEM COMMAND DIAL-MODE-STRING <string>
  671. .br
  672. SET MODEM COMMAND DIAL-MODE-PROMPT <string>
  673. :ehp4.
  674. .br
  675. :lm margin=3.
  676. Command (if any, normally none) used to put modem into dialing mode,
  677. and the prompt (if any, normally none) issued by the modem when it is
  678. in dialing mode.
  679. :lm margin=1.
  680. :p.
  681. :hp4.
  682. SET MODEM COMMAND ERROR-CORRECTION ON <string>
  683. :ehp4.
  684. .br
  685. :lm margin=3.
  686. The command string that enables the modem to negotiate error correction
  687. with the other modem.
  688. :lm margin=1.
  689. :p.
  690. :hp4.
  691. SET MODEM COMMAND ERROR-CORRECTION OFF <string>
  692. :ehp4.
  693. .br
  694. :lm margin=3.
  695. The command string that turns off the modem's error correction feature
  696. and disables error-correction negotiation with the other modem.
  697. :lm margin=1.
  698. :p.
  699. :hp4.
  700. SET MODEM COMMAND HANGUP-COMMAND <string>
  701. :ehp4.
  702. .br
  703. :lm margin=3.
  704. The command string that tells the modem to hang up the telephone connection.
  705. :lm margin=1.
  706. :p.
  707. :hp4.
  708. SET MODEM COMMAND HARDWARE-FLOW <string>
  709. :ehp4.
  710. .br
  711. :lm margin=3.
  712. The command string that enables local hardware (RTS/CTS) flow control
  713. in the modem.
  714. :lm margin=1.
  715. :p.
  716. :hp4.
  717. SET MODEM COMMAND SOFTWARE-FLOW <string>
  718. :ehp4.
  719. .br
  720. :lm margin=3.
  721. The command string that enables local software (Xon/Xoff) flow control
  722. in the modem.  This should be used only if RTS/CTS is not available.
  723. :lm margin=1.
  724. :p.
  725. :hp4.
  726. SET MODEM COMMAND NO-FLOW-CONTROL <string>
  727. :ehp4.
  728. .br
  729. :lm margin=3.
  730. The command string to disable local flow control in the modem.
  731. :lm margin=1.
  732. :p.
  733. :hp4.
  734. SET MODEM COMMAND INIT-STRING <string>
  735. :ehp4.
  736. .br
  737. :lm margin=3.
  738. The command string that should be used to initialize the modem.
  739. :lm margin=1.
  740. :p.
  741. :hp4.
  742. SET MODEM COMMAND PULSE <string>
  743. :ehp4.
  744. .br
  745. :lm margin=3.
  746. The command string that sets the modem's dialing method to pulse.
  747. :lm margin=1.
  748. :p.
  749. :hp4.
  750. SET MODEM COMMAND TONE <string>
  751. :ehp4.
  752. .br
  753. :lm margin=3.
  754. The command string that sets the modem's dialing method to tone.
  755. :lm margin=1.
  756. :p.
  757. For Hayes compatibles, the MODEM INIT-STRING should contain Q0 to ensure the
  758. modem gives result codes for commands.  They can be either numeric or word
  759. result codes; Kermit handles both automatically.  You can also make the modem
  760. echo (E1) or not echo (E0) commands -- Kermit should work either way.  The
  761. init string should contain all commands that are not affected by other SET
  762. MODEM settings, particularly the command to enable BREAK transparency, the
  763. command to enable modulation negotiation, a command to enable a fairly high
  764. level of dial result codes (e.g. X4).
  765. :p.
  766. Example 1&colon. Best Data 14400 bps Fax Modem V.32bis/V.17
  767. :xmp.
  768. :font facename=Courier size=10x8.
  769. SET MODEM USER-DEFINED PPI                ; Use PPI as the template
  770. SHOW MODEM                                ; To see what you've got
  771. :font facename=default size=0x0.
  772. :exmp.
  773. :p.
  774. Now make any needed changes&colon.
  775. :xmp.
  776. :font facename=Courier size=10x8.
  777. SET MODEM NAME Best Data 1442FTX          ; or whatever
  778. ;; SET MODEM CAPABILITIES ...             ; (not needed, same as PPI)
  779. SET MODEM MAXIMUM-SPEED 57600             ; or whatever, if necessary
  780. SET MODEM COMMAND INIT ATF1N1W1Y0&.C1&.D2X4S37=0\13  ; init-string
  781. :p.
  782. SET MODEM COMMAND HARD AT&.K3\\G1\13       ; hardware flow on
  783. SET MODEM COMMAND SOFT AT&.K4\\G1\13       ; software flow on
  784. SET MODEM COMMAND NO-F AT&.K0\\G0\13       ; no flow control
  785. SET MODEM COMMAND ERROR ON  AT&.Q6\\N3\13  ; error-correction enabled
  786. SET MODEM COMMAND ERROR OFF AT&.Q0\\N1\13  ; error-correction disabled
  787. SET MODEM COMMAND COMPRESS ON  AT%C3\13   ; compression enabled
  788. SET MODEM COMMAND COMPRESS OFF AT%C0\13   ; compression disabled
  789. :font facename=default size=0x0.
  790. :exmp.
  791. :p.
  792. Example 2&colon. SupraExpress 144i Fax/Modem
  793. :p.
  794. This one is an RPI model, and so lacks error correction and data
  795. compression, but the commands and other features are the same as the
  796. built-in Supra type&colon.
  797. :xmp.
  798. :font facename=Courier size=10x8.
  799. SET MODEM-TYPE USER-DEFINED SUPRA
  800. SET MODEM NAME SupraExpress 144i Fax/Modem RPI
  801. SET MODEM CAPABILITIES AT SB HWFC SWFC
  802. :font facename=default size=0x0.
  803. :exmp.
  804. :p.
  805. or if speed-buffering doesn't work (since, in general, it depends on an
  806. error-correcting protocol between the modems)&colon.
  807. :xmp.
  808. :font facename=Courier size=10x8.
  809. SET MODEM CAPABILITIES AT HWFC SWFC
  810. :font facename=default size=0x0.
  811. :exmp.
  812. :p.
  813. By removing the EC and DC capabilities, we prevent Kermit from sending
  814. any EC- or DC-related commands to the modem, which, in this model, would
  815. cause an error.
  816.  
  817. :h1.APPENDIX I - Modem Command List
  818. :sl compact.
  819. :li.SET MODEM TYPE <name>
  820. :li.SET MODEM CARRIER { AUTO, ON, OFF }
  821. :li.SET MODEM CAPABILITIES { AT, DC, EC, HWFC, ITU, KS, SB, SWFC, TB }
  822. :li.SET MODEM MAXIMUM-SPEED { 1200, 2400, ..., 57600, 115200, ... }
  823. :li.SET MODEM ERROR-CORRECTION { ON, OFF }
  824. :li.SET MODEM COMPRESSION { ON, OFF }
  825. :li.SET MODEM SPEED-MATCHING { ON, OFF }
  826. :li.SET MODEM FLOW-CONTROL { AUTO, NONE, RTS/CTS, XON/XOFF }
  827. :li.SET MODEM KERMIT-SPOOF { ON, OFF }
  828. :li.SET MODEM ESCAPE-CHARACTER <number>
  829. :li.
  830. :li.SET MODEM COMMAND AUTOANSWER ON <string>
  831. :li.SET MODEM COMMAND AUTOANSWER OFF <string>
  832. :li.SET MODEM COMMAND COMPRESSION ON <string>
  833. :li.SET MODEM COMMAND COMPRESSION OFF <string>
  834. :li.SET MODEM COMMAND ERROR-CORRECTION ON <string>
  835. :li.SET MODEM COMMAND ERROR-CORRECTION OFF <string>
  836. :li.SET MODEM COMMAND HANGUP-COMMAND <string>
  837. :li.SET MODEM COMMAND HARDWARE-FLOW <string>
  838. :li.SET MODEM COMMAND SOFTWARE-FLOW <string>
  839. :li.SET MODEM COMMAND NO-FLOW-CONTROL <string>
  840. :li.SET MODEM COMMAND INIT-STRING <string>
  841. :li.SET MODEM COMMAND PULSE <string>
  842. :li.SET MODEM COMMAND TONE <string>
  843. :esl.
  844.  
  845. :h1.APPENDIX II - Differences Between New and Old Modem Related Commands
  846.  
  847. This applies to the changes that occurred in C-Kermit 5A(192) and other
  848. programs based upon it.
  849. :ol.
  850. :li.SET MODEM <name> became SET MODEM TYPE <name>.  SET MODEM <name> is still
  851. accepted, but ?-help doesn't work; completion, and editing don't work
  852. very well.
  853.  
  854. :li.Many additional modem types were added, mostly newer high-speed models.
  855.  
  856. :li.SET MODEM TYPE <name> fills in numerous dial-, modem-, and communications
  857. parameters from the modem database automatically.  Ditto for the -m <name>
  858. command-line option.
  859.  
  860. :li.The former SET DIAL command was divided into SET MODEM and SET DIAL.
  861. Items that related to modems, but not to dialing, became SET MODEM
  862. commands.  Items that related to dialing, but not modems, remained SET
  863. DIAL commands.  Most of the old SET DIAL forms, however, are still
  864. accepted.
  865. :eol.
  866. :p.   
  867. Here is the list of old and new modem-related commands.  All of the old
  868. commands are still accepted, and work as documented in "Using C-Kermit", but
  869. they are invisible -- i.e. they are not revealed by "?" or "help set modem"
  870. or "help set dial".
  871. :p.
  872. :table cols='40 40'.
  873. :row.
  874. :c.New commands&colon.                          
  875. :c.Equivalent old commands, if any&colon.
  876. :row.
  877. :c.SET MODEM TYPE                         
  878. :c.SET MODEM
  879. :row.
  880. :c.SET MODEM CARRIER                      
  881. :c.SET CARRIER
  882. :row.
  883. :c.SET MODEM CAPABILITIES
  884. :row.
  885. :c.SET MODEM DIAL-COMMAND                 
  886. :c.SET DIAL DIAL-COMMAND
  887. :row.
  888. :c.SET MODEM MAXIMUM-SPEED
  889. :row.
  890. :c.SET MODEM ERROR-CORRECTION             
  891. :c.SET DIAL MNP
  892. :row.
  893. :c.SET MODEM COMPRESSION                  
  894. :c.SET DIAL MNP
  895. :row.
  896. :c.SET MODEM SPEED-MATCHING               
  897. :c.SET DIAL SPEED-MATCHING
  898. :row.
  899. :c.SET MODEM FLOW-CONTROL
  900. :row.
  901. :c.SET MODEM KERMIT-SPOOF                 
  902. :c.SET DIAL KERMIT-SPOOF
  903. :row.
  904. :c.SET MODEM ESCAPE-CHARACTER 
  905. :row.
  906. :c.SET MODEM COMMAND AUTOANSWER
  907. :row.
  908. :c.SET MODEM COMMAND COMPRESSION
  909. :row.
  910. :c.SET MODEM COMMAND ERROR-CORRECTION
  911. :row.
  912. :c.SET MODEM COMMAND HANGUP-COMMAND
  913. :row.
  914. :c.SET MODEM COMMAND HARDWARE-FLOW
  915. :row.
  916. :c.SET MODEM COMMAND SOFTWARE-FLOW
  917. :row.
  918. :c.SET MODEM COMMAND NO-FLOW-CONTROL
  919. :row.
  920. :c.SET MODEM COMMAND INIT-STRING
  921. :row.
  922. :c.SET MODEM COMMAND PULSE
  923. :row.
  924. :c.SET MODEM COMMAND TONE
  925. :etable.
  926. :p.
  927. There are also many new SET DIAL commands, which are described in the
  928. section on dialing.
  929. :euserdoc.
  930.