1 | |
---|
2 | C-Kermit 8.0 Unix Hints and Tips |
---|
3 | |
---|
4 | Frank da Cruz |
---|
5 | [1]The Kermit Project, [2]Columbia University |
---|
6 | |
---|
7 | As of: C-Kermit 8.0.208 14 March 2003 |
---|
8 | This page last updated: Thu Mar 13 10:36:27 2003 (New York USA Time) |
---|
9 | |
---|
10 | IF YOU ARE READING A PLAIN-TEXT version of this document, note it |
---|
11 | is a plain-text dump of a Web page. You can visit the original (and |
---|
12 | possibly more up-to-date) Web page here: |
---|
13 | |
---|
14 | [3]http://www.columbia.edu/kermit/ckubwr.html |
---|
15 | |
---|
16 | Since the material in this file has been accumulating since 1985, |
---|
17 | some (much) of it might be dated. [4]Feedback from experts on |
---|
18 | particular OS's and platforms is always welcome. |
---|
19 | |
---|
20 | [ [5]C-Kermit ] [ [6]Installation Instructions ] [ [7]TUTORIAL ] |
---|
21 | ________________________________________________________________________ |
---|
22 | |
---|
23 | CONTENTS |
---|
24 | |
---|
25 | 1. [8]INTRODUCTION |
---|
26 | 2. [9]PREBUILT C-KERMIT BINARIES |
---|
27 | 3. [10]NOTES ON SPECIFIC UNIX VERSIONS |
---|
28 | 4. [11]GENERAL UNIX-SPECIFIC LIMITATIONS AND BUGS |
---|
29 | 5. [12]INITIALIZATION AND COMMAND FILES |
---|
30 | 6. [13]COMMUNICATION SPEED SELECTION |
---|
31 | 7. [14]COMMUNICATIONS AND DIALING |
---|
32 | 8. [15]HARDWARE FLOW CONTROL |
---|
33 | 9. [16]TERMINAL CONNECTION AND KEY MAPPING |
---|
34 | 10. [17]FILE TRANSFER |
---|
35 | 11. [18]EXTERNAL FILE TRANSFER PROTOCOLS |
---|
36 | 12. [19]SECURITY |
---|
37 | 13. [20]MISCELLANEOUS USER REPORTS |
---|
38 | 14. [21]THIRD-PARTY DRIVERS |
---|
39 | |
---|
40 | Quick Links: [ [22]Linux ] [ [23]*BSD ] [ [24]AIX ] [ [25]HP-UX ] [ |
---|
41 | [26]Solaris ] [ [27]SCO ] [ [28]DEC/Compaq ] |
---|
42 | ________________________________________________________________________ |
---|
43 | |
---|
44 | 1. INTRODUCTION |
---|
45 | |
---|
46 | [ [29]Top ] [ [30]Contents ] [ [31]Next ] |
---|
47 | |
---|
48 | SECTION CONTENTS |
---|
49 | |
---|
50 | 1.1. [32]Documentation |
---|
51 | 1.2. [33]Technical Support |
---|
52 | 1.3. [34]The Year 2000 |
---|
53 | 1.4. [35]The Euro |
---|
54 | |
---|
55 | THIS IS WHAT USED TO BE CALLED the "beware file" for the Unix version |
---|
56 | of C-Kermit, previously distributed as ckubwr.txt and, before that, as |
---|
57 | ckuker.bwr, after the fashion of old Digital Equipment Corporation |
---|
58 | (DEC) software releases that came with release notes (describing what |
---|
59 | had changed) and a "beware file" listing known bugs, limitations, |
---|
60 | "non-goals", and things to watch out for. The C-Kermit beware file has |
---|
61 | been accumulating since 1985, and it applies to many different |
---|
62 | hardware platforms and operating systems, and many versions of them, |
---|
63 | so it is quite large. Prior to C-Kermit 8.0, it was distributed only |
---|
64 | in plain-text format. Now it is available as a Web document with |
---|
65 | links, internal cross references, and so on, to make it easier to use. |
---|
66 | |
---|
67 | This document applies to Unix C-Kermit in general, as well as to |
---|
68 | specific Unix variations like [36]Linux, [37]AIX, [38]HP-UX, |
---|
69 | [39]Solaris, and so on, and should be read in conjunction with the |
---|
70 | [40]platform-independent C-Kermit beware file, which contains similar |
---|
71 | information, but applying to all versions of C-Kermit (VMS, Windows, |
---|
72 | OS/2, AOS/VS, VOS, etc, as well as to Unix). |
---|
73 | |
---|
74 | There is much in this document that is (only) of historical interest. |
---|
75 | The navigation links should help you skip directly to the sections |
---|
76 | that are relevant to you. Numerous offsite Web links are supposed to |
---|
77 | lead to further information but, as you know, Web links go stale |
---|
78 | frequently and without warning. If you can supply additional, |
---|
79 | corrected, updated, or better Web links, please feel free to [41]let |
---|
80 | us know. |
---|
81 | |
---|
82 | 1.1. Documentation |
---|
83 | |
---|
84 | [ [42]Top ] [ [43]Contents ] [ [44]Next ] |
---|
85 | |
---|
86 | C-Kermit 6.0 is documented in the book [45]Using C-Kermit, Second |
---|
87 | Edition, by Frank da Cruz and Christine M. Gianone, Digital Press, |
---|
88 | Burlington, MA, USA, ISBN 1-55558-164-1 (1997), 622 pages. This |
---|
89 | remains the definitive C-Kermit documentation. Until the third edition |
---|
90 | is published (sorry, there is no firm timeframe for this), please also |
---|
91 | refer to: |
---|
92 | |
---|
93 | [46]Supplement to Using C-Kermit, Second Edition, For C-Kermit 7.0 |
---|
94 | Thorough documentation of features new to version 7.0. |
---|
95 | |
---|
96 | [47]Supplement to Using C-Kermit, Second Edition, For C-Kermit 8.0 |
---|
97 | Thorough documentation of features new to version 8.0. |
---|
98 | |
---|
99 | 1.2. Technical Support |
---|
100 | |
---|
101 | [ [48]Top ] [ [49]Contents ] [ [50]Section Contents ] [ [51]Next ] [ |
---|
102 | [52]Previous ] |
---|
103 | |
---|
104 | For information on how to get technical support, please visit: |
---|
105 | |
---|
106 | [53]http://www.columbia.edu/kermit/support.html |
---|
107 | |
---|
108 | 1.3. The Year 2000 |
---|
109 | |
---|
110 | [ [54]Top ] [ [55]Contents ] [ [56]Section Contents ] [ [57]Next ] [ |
---|
111 | [58]Previous ] |
---|
112 | |
---|
113 | The Unix version of C-Kermit, release 6.0 and later, is "Year 2000 |
---|
114 | compliant", but only if the underlying operating system is too. |
---|
115 | Contact your Unix operating system vendor to find out which operating |
---|
116 | system versions, patches, hardware, and/or updates are required. |
---|
117 | (Quite a few old Unixes are still in operation in the new millenium, |
---|
118 | but with their date set 28 years in the past so at least the non-year |
---|
119 | parts of the calendar are correct.) |
---|
120 | |
---|
121 | As of C-Kermit 6.0 (6 September 1996), post-millenium file dates are |
---|
122 | recognized, transmitted, received, and reproduced correctly during the |
---|
123 | file transfer process in C-Kermit's File Attribute packets. If |
---|
124 | post-millenium dates are not processed correctly on the other end, |
---|
125 | file transfer still takes place, but the modification or creation date |
---|
126 | of the received file might be incorrect. The only exception would be |
---|
127 | if the "file collision update" feature is being used to prevent |
---|
128 | unnecessary transfer of files that have not changed since the last |
---|
129 | time a transfer took place; in this case, a file might be transferred |
---|
130 | unnecessarily, or it might not be transferred when it should have |
---|
131 | been. Correct operation of the update feature depends on both Kermit |
---|
132 | programs having the correct date and time. |
---|
133 | |
---|
134 | Of secondary importance are the time stamps in the transaction and/or |
---|
135 | debug logs, and the date-related script programming constructs, such |
---|
136 | as \v(date), \v(ndate), \v(day), \v(nday), and perhaps also the |
---|
137 | time-related ones, \v(time) and \v(ntime), insofar as they might be |
---|
138 | affected by the date. The \v(ndate) is a numeric-format date of the |
---|
139 | form yyyymmdd, suitable for both lexical and numeric comparison and |
---|
140 | sorting: e.g. 19970208 or 20011231. If the underlying operating system |
---|
141 | returns the correct date information, these variables will have the |
---|
142 | proper values. If not, then scripts that make decisions based on these |
---|
143 | variables might not operate correctly. |
---|
144 | |
---|
145 | Most date-related code is based upon the C Library asctime() string, |
---|
146 | which always has a four-digit year. In Unix, the one bit of code in |
---|
147 | C-Kermit that is an exception to this rule is several calls to |
---|
148 | localtime(), which returns a pointer to a tm struct, in which the year |
---|
149 | is presumed to be expressed as "years since 1900". The code depends on |
---|
150 | this assumption. Any platforms that violate it will need special |
---|
151 | coding. As of this writing, no such platforms are known. |
---|
152 | |
---|
153 | Command and script programming functions that deal with dates use |
---|
154 | C-Kermit specific code that always uses full years. |
---|
155 | |
---|
156 | 1.4. The Euro |
---|
157 | |
---|
158 | [ [59]Top ] [ [60]Contents ] [ [61]Section Contents ] [ [62]Previous ] |
---|
159 | |
---|
160 | C-Kermit 7.0 and later support Unicode (ISO 10646), ISO 8859-15 Latin |
---|
161 | Alphabet 9, PC Code Page 858, Windows Code Pages 1250 and 1251, and |
---|
162 | perhaps other character sets, that encode the Euro symbol, and can |
---|
163 | translate among them as long as no intermediate character-set is |
---|
164 | involved that does not include the Euro. |
---|
165 | ________________________________________________________________________ |
---|
166 | |
---|
167 | 2. PREBUILT C-KERMIT BINARIES |
---|
168 | |
---|
169 | [ [63]Top ] [ [64]Contents ] [ [65]Next ] [ [66]Previous ] |
---|
170 | |
---|
171 | It is often dangerous to run a binary C-Kermit (or any other) program |
---|
172 | built on a different computer. Particularly if that computer had a |
---|
173 | different C compiler, libraries, operating system version, processor |
---|
174 | features, etc, and especially if the program was built with shared |
---|
175 | libraries, because as soon as you update the libraries on your system, |
---|
176 | they no longer match the ones referenced in the binary, and the binary |
---|
177 | might refuse to load when you run it, in which case you'll see error |
---|
178 | messages similar to: |
---|
179 | |
---|
180 | Could not load program kermit |
---|
181 | Member shr4.o not found or file not an archive |
---|
182 | Could not load library libcurses.a[shr4.o] |
---|
183 | Error was: No such file or directory |
---|
184 | |
---|
185 | (These samples are from AIX.) To avoid this problem, we try to build |
---|
186 | C-Kermit with statically linked libraries whenever we can, but this is |
---|
187 | increasingly impossible as shared libraries become the norm. |
---|
188 | |
---|
189 | It is often OK to run a binary built on an earlier OS version, but it |
---|
190 | is rarely possible (or safe) to run a binary built on a later one, for |
---|
191 | example to run a binary built under Solaris 8 on Solaris 2.6. |
---|
192 | Sometimes even the OS-or-library patch/ECO level makes a difference. |
---|
193 | |
---|
194 | A particularly insidious problem occurs when a binary was built on a |
---|
195 | version of the OS that has patches from the vendor (e.g. to |
---|
196 | libraries); in many cases you won't be able to run such a binary on an |
---|
197 | unpatched version of the same platform. |
---|
198 | |
---|
199 | When in doubt, build C-Kermit from the source code on the computer |
---|
200 | where it is to be run (if possible!). If not, ask us for a binary |
---|
201 | specific to your configuration. We might have one, and if we don't, we |
---|
202 | might be able to find somebody who will build one for you. |
---|
203 | ________________________________________________________________________ |
---|
204 | |
---|
205 | 3. NOTES ON SPECIFIC UNIX VERSIONS |
---|
206 | |
---|
207 | [ [67]Top ] [ [68]Contents ] [ [69]Next ] [ [70]Previous ] |
---|
208 | |
---|
209 | SECTION CONTENTS |
---|
210 | |
---|
211 | 3.0. [71]C-KERMIT ON PC-BASED UNIXES |
---|
212 | 3.1. [72]C-KERMIT AND AIX |
---|
213 | 3.2. [73]C-KERMIT AND HP-UX |
---|
214 | 3.3. [74]C-KERMIT AND LINUX |
---|
215 | 3.4. [75]C-KERMIT AND NEXTSTEP |
---|
216 | 3.5. [76]C-KERMIT AND QNX |
---|
217 | 3.6. [77]C-KERMIT AND SCO |
---|
218 | 3.7. [78]C-KERMIT AND SOLARIS |
---|
219 | 3.8. [79]C-KERMIT AND SUNOS |
---|
220 | 3.9. [80]C-KERMIT AND ULTRIX |
---|
221 | 3.10. [81]C-KERMIT AND UNIXWARE |
---|
222 | 3.11. [82]C-KERMIT AND APOLLO SR10 |
---|
223 | 3.12. [83]C-KERMIT AND TANDY XENIX 3.0 |
---|
224 | 3.13. [84]C-KERMIT AND OSF/1 (DIGITAL UNIX) (TRU64 UNIX) |
---|
225 | 3.14. [85]C-KERMIT AND SGI IRIX |
---|
226 | 3.15. [86]C-KERMIT AND THE BEBOX |
---|
227 | 3.16. [87]C-KERMIT AND DG/UX |
---|
228 | 3.17. [88]C-KERMIT AND SEQUENT DYNIX |
---|
229 | 3.18. [89]C-KERMIT AND {FREE,OPEN,NET}BSD |
---|
230 | 3.19. [90]C-KERMIT AND MAC OS X (Rhapsody, Darwin) |
---|
231 | 3.20. [91]C-KERMIT AND COHERENT |
---|
232 | |
---|
233 | The following sections apply to specific Unix versions. Most of them |
---|
234 | contain references to FAQs (Frequently Asked Questions), but these |
---|
235 | tend to be ephemeral. For possibly more current information see: |
---|
236 | |
---|
237 | [92]http://www.faqs.org |
---|
238 | [93]http://aplawrence.com/Unixart/newtounix.html |
---|
239 | |
---|
240 | One thread that runs through many of them, and implicitly perhaps |
---|
241 | through all, concerns the problems that occur when trying to dial out |
---|
242 | on a serial device that is (also) enabled for dialing in. The |
---|
243 | "solutions" to this problem are many, varied, diverse, and usually |
---|
244 | gross, involving configuring the device for bidirectional use. This is |
---|
245 | done in a highly OS-dependent and often obscure manner, and the |
---|
246 | effects (good or evil) are also highly dependent on the particular OS |
---|
247 | (and getty variety, etc). Many examples are given in the |
---|
248 | [94]OS-specific sections below. |
---|
249 | |
---|
250 | An important point to keep in mind is that C-Kermit is a |
---|
251 | cross-platform, portable software program. It was not designed |
---|
252 | specifically and only for your particular Unix version, or for that |
---|
253 | matter, for Unix in particular at all. It also runs on VMS, AOS/VS, |
---|
254 | VOS, and other non-Unix platforms. All the Unix versions of C-Kermit |
---|
255 | share common i/o modules, with compile-time #ifdef constructions used |
---|
256 | to account for the differences among the many Unix products and |
---|
257 | releases. If you think that C-Kermit is behaving badly or missing |
---|
258 | something on your particular Unix version, you might be right -- we |
---|
259 | can't claim to be expert in hundreds of different OS / version / |
---|
260 | hardware / library combinations. If you're a programmer, take a look |
---|
261 | at the source code and [95]send us your suggested fixes or changes. Or |
---|
262 | else just [96]send us a report about what seems to be wrong and we'll |
---|
263 | see what we can do. |
---|
264 | ________________________________________________________________________ |
---|
265 | |
---|
266 | 3.0. C-KERMIT ON PC-BASED UNIXES |
---|
267 | |
---|
268 | [ [97]Top ] [ [98]Contents ] [ [99]Section Contents ] [ [100]Next ] |
---|
269 | |
---|
270 | Also see: [101]http://www.pcunix.com/. |
---|
271 | |
---|
272 | SECTION CONTENTS |
---|
273 | |
---|
274 | 3.0.1. [102]Interrupt Conflicts |
---|
275 | 3.0.2. [103]Windows-Specific Hardware |
---|
276 | 3.0.3. [104]Modems |
---|
277 | 3.0.4. [105]Character Sets |
---|
278 | 3.0.5. [106]Keyboard, Screen, and Mouse Access |
---|
279 | 3.0.6. [107]Laptops |
---|
280 | |
---|
281 | 3.0.1. Interrupt Conflicts |
---|
282 | |
---|
283 | [ [108]Top ] [ [109]Contents ] [ [110]Section Contents ] [ [111]Next ] |
---|
284 | |
---|
285 | PCs are not the best platform for real operating systems like Unix. |
---|
286 | The architecture suffers from numerous deficiencies, not the least of |
---|
287 | which is the stiflingly small number of hardware interrupts (either 7 |
---|
288 | or 15, many of which are preallocated). Thus adding devices, using |
---|
289 | multiple serial ports, etc, is always a challenge and often a |
---|
290 | nightmare. The free-for-all nature of the PC market and the lack of |
---|
291 | standards combined with the diversity of Unix OS versions make it |
---|
292 | difficult to find drivers for any particular device on any particular |
---|
293 | version of Unix. |
---|
294 | |
---|
295 | Of special interest to Kermit users is the fact that there is no |
---|
296 | standard provision in the PC architecture for more than 2 |
---|
297 | communication (serial) ports. COM3 and COM4 (or higher) will not work |
---|
298 | unless you (a) find out the hardware address and interrupt for each, |
---|
299 | (b) find out how to provide your Unix version with this information, |
---|
300 | and (c) actually set up the configuration in the Unix startup files |
---|
301 | (or whatever other method is used). Watch out for interrupt conflicts, |
---|
302 | especially when using a serial mouse, and don't expect to be able to |
---|
303 | use more than two serial ports. |
---|
304 | |
---|
305 | The techniques for resolving interrupt conflicts are different for |
---|
306 | each operating system (Linux, NetBSD, etc). In general, there is a |
---|
307 | configuration file somewhere that lists COM ports, something like |
---|
308 | this: |
---|
309 | |
---|
310 | com0 at isa? port 0x3f8 irq 4 # DOS COM1 |
---|
311 | com1 at isa? port 0x2f8 irq 3 # DOS COM2 |
---|
312 | |
---|
313 | The address and IRQ values in this file must agree with the values in |
---|
314 | the PC BIOS and with the ports themselves, and there must not be more |
---|
315 | than one device with the same interrupt. Unfortunately, due to the |
---|
316 | small number of available interrupts, installing new devices on a PC |
---|
317 | almost always creates a conflict. Here is a typical tale from a Linux |
---|
318 | user (Fred Smith) about installing a third serial port: |
---|
319 | |
---|
320 | ...problems can come from a number of causes. The one I fought with |
---|
321 | for some time, and finally conquered, was that my modem is on an |
---|
322 | add-in serial port, cua3/IRQ5. By default IRQ5 has a very low |
---|
323 | priority, and does not get enough service in times when the system |
---|
324 | is busy to prevent losing data. This in turn causes many resends. |
---|
325 | There are two 'fixes' that I know of, one is to relax hard disk |
---|
326 | interrupt hogging by using the correct parameter to hdparm, but I |
---|
327 | don't like that one because the hdparm man page indicates it is |
---|
328 | risky to use. The other one, the one I used, was to get 'irqtune' |
---|
329 | and use it to give IRQ5 the highest priority instead of nearly the |
---|
330 | lowest. Completely cured the problem. |
---|
331 | |
---|
332 | Here's another one from a newsgroup posting: |
---|
333 | |
---|
334 | After much hair pulling, I've discovered why my serial port won't |
---|
335 | work. Apparently my [PC] has three serial devices (two comm ports |
---|
336 | and an IR port), of which only two at a time can be active. I |
---|
337 | looked in the BIOS setup and noticed that the IR port was |
---|
338 | activated, but didn't realize at the time that this meant that COM2 |
---|
339 | was thereby de-activated. I turned off the IR port and now the |
---|
340 | serial port works as advertised. |
---|
341 | ________________________________________________________________________ |
---|
342 | |
---|
343 | 3.0.2. Windows-Specific Hardware |
---|
344 | |
---|
345 | [ [112]Top ] [ [113]Contents ] [ [114]Section Contents ] [ [115]Next ] |
---|
346 | [ [116]Previous ] |
---|
347 | |
---|
348 | To complicate matters, the PC platform is becoming increasingly and |
---|
349 | inexorably Windows-oriented. More and more add-on devices are "Windows |
---|
350 | only" -- meaning they are incomplete and rely on proprietary |
---|
351 | Windows-based software drivers to do the jobs that you would expect |
---|
352 | the device itself to do. PCMCIA, PCI, or "Plug-n-Play" devices are |
---|
353 | rarely supported on PC-based Unix versions such as SCO; Winmodems, |
---|
354 | Winprinters, and the like are not supported on any Unix variety (with |
---|
355 | [117]a few exceptions). The self-proclaimed Microsoft PC 97 (or later) |
---|
356 | standard only makes matters worse since its only purpose to ensure |
---|
357 | that PCs are "optimized to run Windows 95 and Windows NT 4.0 and |
---|
358 | future versions of these operating systems". |
---|
359 | |
---|
360 | With the exception noted (the Lucent modem, perhaps a handful of |
---|
361 | others by the time you read this), drivers for "Win" devices are |
---|
362 | available only for Windows, since the Windows market dwarfs that of |
---|
363 | any particular Unix brand, and for that matter all Unixes (or for that |
---|
364 | matter, all non-Windows operating systems) combined. If your version |
---|
365 | of Unix (SCO, Linux, BSDI, FreeBSD, etc) does not support a particular |
---|
366 | device, then C-Kermit can't use it either. C-Kermit, like any Unix |
---|
367 | application, must access all devices through drivers and not directly |
---|
368 | because Unix is a real operating system. |
---|
369 | |
---|
370 | Don't waste time thinking that you, or anybody else, could write a |
---|
371 | Linux (or other Unix) driver for a Winmodem or other "Win" device. |
---|
372 | First of all, these devices generally require realtime control, but |
---|
373 | since Unix is a true multitasking operating system, realtime device |
---|
374 | control is not possible outside the kernel. Second, the specifications |
---|
375 | for these devices are secret and proprietary, and each one (and each |
---|
376 | version of each one) is potentially different. Third, a Winmodem |
---|
377 | driver would be enormously complex; it would take years to write and |
---|
378 | debug, by which time it would be obsolete. |
---|
379 | |
---|
380 | A more recent generation of PCs (circa 1999-2000) is marketed as |
---|
381 | "Legacy Free". One can only speculate what that could mean. Most |
---|
382 | likely it means it will ONLY run the very latest versions of Windows, |
---|
383 | and is made exclusively of Winmodems, Winprinters, Winmemory, and |
---|
384 | Win-CPU-fans (Legacy Free is a concept [118]pioneered by Microsoft). |
---|
385 | |
---|
386 | Before you buy a new PC or add-on equipment, especially serial ports, |
---|
387 | internal modems, or printers, make sure they are compatible with your |
---|
388 | version of Unix. This is becoming an ever-greater challenge; only a |
---|
389 | huge company like Microsoft can afford to be constantly cranking out |
---|
390 | and/or verifying drivers for the thousands of video boards, sound |
---|
391 | cards, network adapters, SCSI adapters, buses, etc, that spew forth in |
---|
392 | an uncontrolled manner from all corners of the world on a daily basis. |
---|
393 | With very few exceptions, makers of PCs assemble the various |
---|
394 | components and then verify them only with Windows, which they must do |
---|
395 | since they are, no doubt, preloading the PC with Windows. To find a |
---|
396 | modern PC that is capable of running a variety of non-Windows |
---|
397 | operating systems (e.g. Linux, SCO OpenServer, Unixware, and Solaris) |
---|
398 | is a formidable challenge requiring careful study of each vendor's |
---|
399 | "compatibility lists" and precise attention to exact component model |
---|
400 | numbers and revision levels. |
---|
401 | ________________________________________________________________________ |
---|
402 | |
---|
403 | 3.0.3. Modems |
---|
404 | |
---|
405 | [ [119]Top ] [ [120]Contents ] [ [121]Section Contents ] [ [122]Next ] |
---|
406 | [ [123]Previous ] |
---|
407 | |
---|
408 | External modems are recommended: |
---|
409 | |
---|
410 | * They don't need any special drivers. |
---|
411 | * You can use the lights and speaker to troubleshoot dialing. |
---|
412 | * You can share them among all types of computers. |
---|
413 | * You can easily turn them off and on when power-cycling seems |
---|
414 | warranted. |
---|
415 | * They are more likely to have manuals. |
---|
416 | |
---|
417 | Internal PC modems (even when they are not Winmodems, which is |
---|
418 | increasingly unlikely in new PCs) are always trouble, especially in |
---|
419 | Unix. Even when they work for dialing out, they might not work for |
---|
420 | dialing in, etc. Problems that occur when using an internal modem can |
---|
421 | almost always be eliminated by switching to an external one. Even when |
---|
422 | an internal modem is not a Winmodem or Plug-n-Play, it is often a |
---|
423 | no-name model of unknown quality -- not the sort of thing you want |
---|
424 | sitting directly on your computer's bus. (Even if it does not cause |
---|
425 | hardware problems, it probably came without a command list, so no Unix |
---|
426 | software will know how to control it.) For more about Unix compatible |
---|
427 | modems, see: |
---|
428 | |
---|
429 | [124]http://www.idir.net/~gromitkc/winmodem.html |
---|
430 | |
---|
431 | Remember that PCs, even now -- more than two decades after they were |
---|
432 | first introduced -- are not (in general) capable of supporting more |
---|
433 | than 2 serial devices. Here's a short success story from a recent |
---|
434 | newsgroup posting: "I have a Diamond SupraSonic II dual modem in my |
---|
435 | machine. What I had to end up doing is buying a PS/2 mouse and port |
---|
436 | and install it. Had to get rid of my serial mouse. I also had to |
---|
437 | disable PnP in my computer bios. I was having IRQ conflicts between my |
---|
438 | serial mouse and 'com 3'. Both modems work fine for me. My first modem |
---|
439 | is ttyS0 and my second is ttyS1." Special third-party multiport boards |
---|
440 | such as [125]DigiBoard are available for certain Unix platforms |
---|
441 | (typically SCO, maybe Linux) that come with special platform-specific |
---|
442 | drivers. |
---|
443 | ________________________________________________________________________ |
---|
444 | |
---|
445 | 3.0.4. Character Sets |
---|
446 | |
---|
447 | [ [126]Top ] [ [127]Contents ] [ [128]Section Contents ] [ [129]Next ] |
---|
448 | [ [130]Previous ] |
---|
449 | |
---|
450 | PCs generally have PC code pages such as CP437 or CP850, and these are |
---|
451 | often used by PC-based Unix operating systems, particularly on the |
---|
452 | console. These are supported directly by C-Kermit's SET FILE |
---|
453 | CHARACTER-SET and SET TERMINAL CHARACTER-SET commands. Some PC-based |
---|
454 | Unix versions, such as recent Red Hat Linux releases, might also |
---|
455 | support Microsoft Windows code pages such as CP1252, or even Latin |
---|
456 | Alphabet 1 itself (perhaps displayed with CP437 glyphs). (And work is |
---|
457 | in progress to support Unicode UTF8 in Linux.) |
---|
458 | |
---|
459 | Certain Windows code pages are not supported directly by C-Kermit, but |
---|
460 | since they are ISO Latin Alphabets with nonstandard "extensions" in |
---|
461 | the C1 control range, you can substitute the corresponding Latin |
---|
462 | alphabet (or other character set) in any C-Kermit character-set |
---|
463 | related commands: |
---|
464 | |
---|
465 | Windows Code Page Substitution |
---|
466 | CP 1004 Latin-1 |
---|
467 | CP 1051 HP Roman-8 |
---|
468 | |
---|
469 | Other Windows code pages are mostly (or totally) incompatible with |
---|
470 | their Latin Alphabet counterparts (e.g. CP1250 and Latin-2), and |
---|
471 | several of these are already supported by C-Kermit 7.0 and later |
---|
472 | (1250, 1251, and 1252). |
---|
473 | ________________________________________________________________________ |
---|
474 | |
---|
475 | 3.0.5. Keyboard, Screen, and Mouse Access |
---|
476 | |
---|
477 | [ [131]Top ] [ [132]Contents ] [ [133]Section Contents ] [ [134]Next ] |
---|
478 | [ [135]Previous ] |
---|
479 | |
---|
480 | Finally, note that as a real operating system, Unix (unlike Windows) |
---|
481 | does not provide the intimate connection to the PC keyboard, screen, |
---|
482 | and mouse that you might expect. Unix applications can not "see" the |
---|
483 | keyboard, and therefore can not be programmed to understand F-keys, |
---|
484 | Editing keys, Arrow keys, Alt-key combinations, and the like. This is |
---|
485 | because: |
---|
486 | |
---|
487 | a. Unix is a portable operating system, not only for PCs; |
---|
488 | b. Unix sessions can come from anywhere, not just the PC's own |
---|
489 | keyboard and screen; and: |
---|
490 | c. even though it might be possible for an application that actually |
---|
491 | is running on the PC's keyboard and screen to access these devices |
---|
492 | directly, there are no APIs (outside of X) for this. |
---|
493 | ________________________________________________________________________ |
---|
494 | |
---|
495 | 3.0.6. Laptops |
---|
496 | |
---|
497 | [ [136]Top ] [ [137]Contents ] [ [138]Section Contents ] [ |
---|
498 | [139]Previous ] |
---|
499 | |
---|
500 | (To be filled in . . .) |
---|
501 | ________________________________________________________________________ |
---|
502 | |
---|
503 | 3.1. C-KERMIT AND AIX |
---|
504 | |
---|
505 | [ [140]Top ] [ [141]Contents ] [ [142]Section Contents ] [ [143]Next ] |
---|
506 | [ [144]Previous ] |
---|
507 | |
---|
508 | SECTION CONTENTS |
---|
509 | |
---|
510 | 3.1.1. [145]AIX: General |
---|
511 | 3.1.2. [146]AIX: Network Connections |
---|
512 | 3.1.3. [147]AIX: Serial Connections |
---|
513 | 3.1.4. [148]AIX: File Transfer |
---|
514 | 3.1.5. [149]AIX: Xterm Key Map |
---|
515 | |
---|
516 | For additional information see: |
---|
517 | * [150]http://www.emerson.emory.edu/services/aix-faq/ |
---|
518 | * [151]http://www.faqs.org/faqs/by-newsgroup/comp/comp.unix.aix.html |
---|
519 | * [152]http://www.cis.ohio-state.edu/hypertext/faq/usenet/aix-faq/to |
---|
520 | p.html |
---|
521 | * [153]http://aixpdslib.seas.ucla.edu/ |
---|
522 | * [154]http://www.rootvg.net (AIX history) |
---|
523 | * [155]ftp://rtfm.mit.edu/pub/usenet/news.answers/aix-faq/part1 |
---|
524 | * [156]ftp://mirrors.aol.com/pub/rtfm/usenet-by-hierarchy/comp/unix/ |
---|
525 | aix |
---|
526 | |
---|
527 | and/or read the [157]comp.unix.aix newsgroup. |
---|
528 | ______________________________________________________________________ |
---|
529 | |
---|
530 | 3.1.1. AIX: General |
---|
531 | |
---|
532 | [ [158]Top ] [ [159]Contents ] [ [160]Section Contents ] [ [161]Next ] |
---|
533 | |
---|
534 | About AIX version numbers: "uname -a" tells the two-digit version |
---|
535 | number, such as 3.2 or 4.1. The three-digit form can be seen with the |
---|
536 | "oslevel" command (this information is unavailable at the API level |
---|
537 | and is reportedly obtained by scanning the installed patch list). |
---|
538 | Supposedly all three-digit versions within the same two-digit version |
---|
539 | (e.g. 4.3.1, 4.3.2) are binary compatible; i.e. a binary built on any |
---|
540 | one of them should run on all others, but who knows. Most AIX |
---|
541 | advocates tell you that any AIX binary will run on any AIX version |
---|
542 | greater than or equal to the one under which it was built, but |
---|
543 | experience with C-Kermit suggests otherwise. It is always best to run |
---|
544 | a binary built under your exact same AIX version, down to the third |
---|
545 | decimal place, if possible. Ideally, build it from source code |
---|
546 | yourself. Yes, this advice would be easier to follow if AIX came with |
---|
547 | a C compiler. |
---|
548 | ______________________________________________________________________ |
---|
549 | |
---|
550 | 3.1.2. AIX: Network Connections |
---|
551 | |
---|
552 | [ [162]Top ] [ [163]Contents ] [ [164]Section Contents ] [ [165]Next ] |
---|
553 | [ [166]Previous ] |
---|
554 | |
---|
555 | File transfers into AIX 4.2 or 4.3 through the AIX Telnet or Rlogin |
---|
556 | server have been observed to fail (or accumulate huge numbers of |
---|
557 | correctable errors, or even disconnect the session), when exactly the |
---|
558 | same kind of transfers into AIX 4.1 work without incident, as do such |
---|
559 | transfers into all non-AIX platforms on the same kind of connections |
---|
560 | (with a few exceptions noted elsewhere in this document). AIX 4.3.3 |
---|
561 | seems to be particularly fragile in this regard; the weakness seems to |
---|
562 | be in its pseudoterminal (pty) driver. High-speed streaming transfers |
---|
563 | work perfectly, however, if the AIX Telnet server and pty driver are |
---|
564 | removed from the picture; e.g, by using "set host * 3000" on AIX. |
---|
565 | |
---|
566 | The problem can be completely cured by replacing the IBM Telnet server |
---|
567 | with [167]MIT's Kerberos Telnet server -- even if you don't actually |
---|
568 | use the Kerberos part. Diagnosis: AIX pseudoterminals (which are |
---|
569 | controlled by the Telnet server to give you a login terminal for your |
---|
570 | session) have quirks that not even IBM knows about. The situation with |
---|
571 | AIX 5.x is not known, but if it has the same problem, the same cure is |
---|
572 | available. |
---|
573 | |
---|
574 | Meanwhile, the only remedy when going through the IBM Telnet server is |
---|
575 | to cut back on Kermit's performance settings until you find a |
---|
576 | combination that works: |
---|
577 | |
---|
578 | * SET STREAMING OFF |
---|
579 | * SET WINDOW-SIZE small-number |
---|
580 | * SET { SEND, RECEIVE } PACKET-LENGTH small-number |
---|
581 | * SET PREFIXING { CAUTIOUS, ALL } |
---|
582 | |
---|
583 | In some cases, severe cutbacks are required, e.g. those implied by the |
---|
584 | ROBUST command. Also be sure that the AIX C-Kermit on the remote end |
---|
585 | has "set flow none" (which is the default). NOTE: Maybe this one can |
---|
586 | also be addressed by starting AIX telnetd with the "-a" option. The |
---|
587 | situation with SSH connections is not known, but almost certainly the |
---|
588 | same. |
---|
589 | |
---|
590 | When these problems occur, the system error log contains: |
---|
591 | |
---|
592 | LABEL: TTY_TTYHOG |
---|
593 | IDENTIFIER: 0873CF9F |
---|
594 | Type: TEMP |
---|
595 | Resource Name: pts/1 |
---|
596 | |
---|
597 | Description |
---|
598 | TTYHOG OVER-RUN |
---|
599 | |
---|
600 | Failure Causes |
---|
601 | EXCESSIVE LOAD ON PROCESSOR |
---|
602 | |
---|
603 | Recommended Actions |
---|
604 | REDUCE SYSTEM LOAD. |
---|
605 | REDUCE SERIAL PORT BAUD RATE |
---|
606 | |
---|
607 | Before leaving the topic of AIX pseudoterminals, it is very likely |
---|
608 | that Kermit's PTY and SSH commands do not work well either, for the |
---|
609 | same reason that Telnet connections into AIX don't work well. A brief |
---|
610 | test with "pty rlogin somehost" got a perfectly usable terminal |
---|
611 | (CONNECT) session, but file-transfer problems like those just |
---|
612 | described. |
---|
613 | |
---|
614 | Reportedly, telnet from AIX 4.1-point-something to non-Telnet ports |
---|
615 | does not work unless the port number is in the /etc/services file; |
---|
616 | it's not clear from the report whether this is a problem with AIX |
---|
617 | Telnet (in which case it would not affect Kermit), or with the sockets |
---|
618 | library (in which case it would). The purported fix is IBM APAR |
---|
619 | IX61523. |
---|
620 | |
---|
621 | C-Kermit SET HOST or TELNET from one AIX 3.1 (or earlier) system to |
---|
622 | another won't work right unless you set your local terminal type to |
---|
623 | something other than AIXTERM. When your terminal type is AIXTERM, AIX |
---|
624 | TELNET sends two escapes whenever you type one, and the AIX telnet |
---|
625 | server swallows one of them. This has something to do with the "hft" |
---|
626 | device. This behavior seems to be removed in AIX 3.2 and later. |
---|
627 | ______________________________________________________________________ |
---|
628 | |
---|
629 | 3.1.3. AIX: Serial Connections |
---|
630 | |
---|
631 | [ [168]Top ] [ [169]Contents ] [ [170]Section Contents ] [ [171]Next ] |
---|
632 | [ [172]Previous ] |
---|
633 | |
---|
634 | In AIX 3, 4, or 5, C-Kermit won't be able to "set line /dev/tty0" (or |
---|
635 | any other dialout device) if you haven't installed "cu" or "uucp" on |
---|
636 | your system, because installing these is what creates the UUCP |
---|
637 | lockfile directory. If SET LINE commands always result in "Sorry, |
---|
638 | access to lock denied", even when C-Kermit has been given the same |
---|
639 | owner, group, and permissions as cu: |
---|
640 | |
---|
641 | -r-sr-xr-x 1 uucp uucp 67216 Jul 27 1999 cu |
---|
642 | |
---|
643 | and even when you run it as root, then you must go back and install |
---|
644 | "cu" from your AIX installation media. |
---|
645 | |
---|
646 | According to IBM's "From Strength to Strength" document (21 April |
---|
647 | 1998), in AIX 4.2 and later "Async supports speeds on native serial |
---|
648 | ports up to 115.2kbps". However, no API is documented to achieve |
---|
649 | serial speeds higher than 38400 bps. Apparently the way to do this -- |
---|
650 | which might or might not work only on the IBM 128-port multiplexer -- |
---|
651 | is: |
---|
652 | |
---|
653 | cxma-stty fastbaud /dev/tty0 |
---|
654 | |
---|
655 | which, according to "man cxma-stty": |
---|
656 | |
---|
657 | fastbaud Alters the baud rate table, so 50 baud becomes 57600 baud. |
---|
658 | -fastbaud Restores the baud rate table, so 57600 baud becomes 50 |
---|
659 | baud. |
---|
660 | |
---|
661 | Presumably (but not certainly) this extrapolates to 110 "baud" becomes |
---|
662 | 76800 bps, and 150 becomes 115200 bps. So to use high serial speeds in |
---|
663 | AIX 4.2 or 4.3, the trick would be to give the "cxma-stty fastbaud" |
---|
664 | command for the desired tty device before starting Kermit, and then |
---|
665 | use "set speed 50", "set speed 110", or "set speed 150" to select |
---|
666 | 56700, 76800, or 115200 bps. It is not known whether cxma-stty |
---|
667 | requires privilege. |
---|
668 | |
---|
669 | According to one report, "Further investigation with IBM seems to |
---|
670 | indicate that the only hardware capable of doing this is the 128-port |
---|
671 | multiplexor with one (or more) of the 16 port breakout cables |
---|
672 | (Enhanced Remote Async Node 16-Port EIA-232). We are looking at about |
---|
673 | CDN$4,000 in hardware just to hang a 56kb modem on there. Of course, |
---|
674 | we can then hang 15 more, if we want. This hardware combo is described |
---|
675 | to be good to 230.4kbps." |
---|
676 | |
---|
677 | Another report says (quote from AIX newsgroup, March 1999): |
---|
678 | |
---|
679 | The machine type and the adapter determine the speed that one can |
---|
680 | actually run at. The older microchannel machines have much slower |
---|
681 | crystal frequencies and may not go beyond 76,800. A feature put |
---|
682 | into AIX 421 allows one to key in non-POSIX baud rates and if the |
---|
683 | uart can support that speed, it will get set. this applies also to |
---|
684 | 43p's and beyond. 115200 is the max for the 43P's native serial |
---|
685 | port. As crytal frequencies continue to increase, the built-in |
---|
686 | serial ports speeds will improve. To use 'uucp' or 'ate' at the |
---|
687 | higher baud rates, configure the port for the desired speed, but |
---|
688 | set the speed of uucp or ate to 50. Any non-POSIX speeds set in the |
---|
689 | ttys configuration will the be used. In the case of the 128-port |
---|
690 | adapters or the ISA 8-port or PCI 8-port adapter, there are only a |
---|
691 | few higher baud rates. |
---|
692 | |
---|
693 | a. Change the port to enable high baud rates: |
---|
694 | + B50 for 57600 |
---|
695 | + B75 for 76800 |
---|
696 | + B110 for 115200 |
---|
697 | + B200 for 230000 |
---|
698 | b. chdev -l ttyX -a fastbaud=enable |
---|
699 | + For the 128 ports original style rans, only 57600 bps is |
---|
700 | supported. |
---|
701 | + For the new enhanced RANs, up to 230Kbps is supported. |
---|
702 | |
---|
703 | In AIX 2.2.1 on the RT PC with the 8-port multiplexer, SET SPEED 38400 |
---|
704 | gives 9600 bps, but SET SPEED 19200 gives 19200 (on the built-in S1 |
---|
705 | port). |
---|
706 | |
---|
707 | Note that some RS/6000s (e.g. the IBM PowerServer 320) have |
---|
708 | nonstandard rectangular 10-pin serial ports; the DB-25 connector is |
---|
709 | NOT a serial port; it is a parallel printer port. IBM cables are |
---|
710 | required for the serial ports, (The IBM RT PC also had rectangular |
---|
711 | serial ports -- perhaps the same as these, perhaps different.) |
---|
712 | |
---|
713 | If you dial in to AIX through a modem that is connected directly to an |
---|
714 | AIX port (e.g. on the 128-port multiplexer) and find that data is |
---|
715 | lost, especially when uploading files to the AIX system (and system |
---|
716 | error logs report buffer overruns on the port): |
---|
717 | |
---|
718 | 1. Make sure the port and modem are BOTH configured for hardware |
---|
719 | (RTS/CTS) flow control. The port is configured somewhere in the |
---|
720 | system configuration, outside of Kermit. |
---|
721 | 2. Tell C-Kermit to "set flow keep"; experimentation shows that SET |
---|
722 | FLOW RTS/CTS has no effect when used in remote mode (i.e. on |
---|
723 | /dev/tty, as opposed to a specify port device). |
---|
724 | 3. Fixes for bugs in the original AIX 4.2 tty (serial i/o) support |
---|
725 | and other AIX bugs are available from IBM at: |
---|
726 | |
---|
727 | [173]http://service.software.ibm.com/rs6000/ |
---|
728 | Downloads -> Software Fixes -> Download FixDist gets an |
---|
729 | application for looking up known problems. |
---|
730 | |
---|
731 | Many problems reported with bidirectional terminal lines on AIX 3.2.x |
---|
732 | on the RS/6000. Workaround: don't use bidirectional terminal lines, or |
---|
733 | write a shell-script wrapper for Kermit that turns getty off on the |
---|
734 | line before starting Kermit, or before Kermit attempts to do the SET |
---|
735 | LINE. (But note: These problems MIGHT be fixed in C-Kermit 6.0 and |
---|
736 | later.) The commands for turning getty off and on (respectively) are |
---|
737 | /usr/sbin/pdisable and /usr/sbin/penable. |
---|
738 | ______________________________________________________________________ |
---|
739 | |
---|
740 | 3.1.4. AIX: File Transfer |
---|
741 | |
---|
742 | [ [174]Top ] [ [175]Contents ] [ [176]Section Contents ] [ [177]Next ] |
---|
743 | [ [178]Previous ] |
---|
744 | |
---|
745 | Evidently AIX 4.3 (I don't know about earlier versions) does not allow |
---|
746 | open files to be overwritten. This can cause Kermit transfers to fail |
---|
747 | when FILE COLLISION is OVERWRITE, where they might work on other Unix |
---|
748 | varieties or earlier AIX versions. |
---|
749 | |
---|
750 | Transfer of binary -- and maybe even text -- files can fail in AIX if |
---|
751 | the AIX terminal has particular port can have character-set |
---|
752 | translation done for it by the tty driver. The following advice from a |
---|
753 | knowledgeable AIX user: |
---|
754 | |
---|
755 | [This feature] has to be checked (and set/cleared) with a separate |
---|
756 | command, unfortunately stty doesn't handle this. To check: |
---|
757 | |
---|
758 | $ setmaps |
---|
759 | input map: none installed |
---|
760 | output map: none installed |
---|
761 | |
---|
762 | If it says anything other than "none installed" for either one, it |
---|
763 | is likely to cause a problem with kermit. To get rid of installed |
---|
764 | maps: |
---|
765 | |
---|
766 | $ setmaps -t NOMAP |
---|
767 | |
---|
768 | However, I seem to recall that with some versions of AIX before |
---|
769 | 3.2.5, only root could change the setting. I'm not sure what |
---|
770 | versions - it might have only been under AIX 3.1 that this was |
---|
771 | true. At least with AIX 3.2.5 an ordinary user can set or clear the |
---|
772 | maps. |
---|
773 | |
---|
774 | On the same problem, another knowledgeable AIX user says: |
---|
775 | |
---|
776 | The way to get information on the NLS mapping under AIX (3.2.5 |
---|
777 | anyway) is as follows. From the command line type: |
---|
778 | |
---|
779 | lsattr -l tty# -a imap -a omap -E -H |
---|
780 | |
---|
781 | Replace the tty number for the number sign above. This will give a |
---|
782 | human readable output of the settings that looks like this; |
---|
783 | |
---|
784 | # lsattr -l tty2 -a imap -a omap -E -H |
---|
785 | attribute value description user_settable |
---|
786 | |
---|
787 | imap none INPUT map file True |
---|
788 | omap none OUTPUT map file True |
---|
789 | |
---|
790 | If you change the -H to a -O, you get output that can easily be |
---|
791 | processed by another program or a shell script, for example: |
---|
792 | |
---|
793 | # lsattr -l tty2 -a imap -a omap -E -O |
---|
794 | #imap:omap |
---|
795 | none:none |
---|
796 | |
---|
797 | To change the settings from the command line, the chdev command is |
---|
798 | used with the following syntax. |
---|
799 | |
---|
800 | chdev -l tty# -a imap='none' -a omap='none' |
---|
801 | |
---|
802 | Again substituting the appropriate tty port number for the number |
---|
803 | sign, "none" being the value we want for C-Kermit. Of course, the |
---|
804 | above can also be changed by using the SMIT utility and selecting |
---|
805 | devices - tty. (...end quote) |
---|
806 | ______________________________________________________________________ |
---|
807 | |
---|
808 | 3.1.5. AIX: Xterm Key Map |
---|
809 | |
---|
810 | [ [179]Top ] [ [180]Contents ] [ [181]Section Contents ] [ |
---|
811 | [182]Previous ] |
---|
812 | |
---|
813 | Here is a sample configuration for setting up an xterm keyboard for |
---|
814 | VT220 or higher terminal emulation on AIX, courtesy of Bruce Momjian, |
---|
815 | Drexel Hill, PA. Xterm can be started like this: |
---|
816 | |
---|
817 | xterm $XTERMFLAGS +rw +sb +ls $@ -tm 'erase ^? intr ^c' -name vt220 \ |
---|
818 | -title vt220 -tn xterm-220 "$@" & |
---|
819 | |
---|
820 | --------------------------------------------------------------------------- |
---|
821 | XTerm*VT100.Translations: #override \n\ |
---|
822 | <Key>Home: string(0x1b) string("[3~") \n \ |
---|
823 | <Key>End: string(0x1b) string("[4~") \n |
---|
824 | vt220*VT100.Translations: #override \n\ |
---|
825 | Shift <Key>F1: string("[23~") \n \ |
---|
826 | Shift <Key>F2: string("[24~") \n \ |
---|
827 | Shift <Key>F3: string("[25~") \n \ |
---|
828 | Shift <Key>F4: string("[26~") \n \ |
---|
829 | Shift <Key>F5: string("[K~") \n \ |
---|
830 | Shift <Key>F6: string("[31~") \n \ |
---|
831 | Shift <Key>F7: string("[31~") \n \ |
---|
832 | Shift <Key>F8: string("[32~") \n \ |
---|
833 | Shift <Key>F9: string("[33~") \n \ |
---|
834 | Shift <Key>F10: string("[34~") \n \ |
---|
835 | Shift <Key>F11: string("[28~") \n \ |
---|
836 | Shift <Key>F12: string("[29~") \n \ |
---|
837 | <Key>Print: string(0x1b) string("[32~") \n\ |
---|
838 | <Key>Cancel: string(0x1b) string("[33~") \n\ |
---|
839 | <Key>Pause: string(0x1b) string("[34~") \n\ |
---|
840 | <Key>Insert: string(0x1b) string("[2~") \n\ |
---|
841 | <Key>Delete: string(0x1b) string("[3~") \n\ |
---|
842 | <Key>Home: string(0x1b) string("[1~") \n\ |
---|
843 | <Key>End: string(0x1b) string("[4~") \n\ |
---|
844 | <Key>Prior: string(0x1b) string("[5~") \n\ |
---|
845 | <Key>Next: string(0x1b) string("[6~") \n\ |
---|
846 | <Key>BackSpace: string(0x7f) \n\ |
---|
847 | <Key>Num_Lock: string(0x1b) string("OP") \n\ |
---|
848 | <Key>KP_Divide: string(0x1b) string("Ol") \n\ |
---|
849 | <Key>KP_Multiply: string(0x1b) string("Om") \n\ |
---|
850 | <Key>KP_Subtract: string(0x1b) string("OS") \n\ |
---|
851 | <Key>KP_Add: string(0x1b) string("OM") \n\ |
---|
852 | <Key>KP_Enter: string(0x1b) string("OM") \n\ |
---|
853 | <Key>KP_Decimal: string(0x1b) string("On") \n\ |
---|
854 | <Key>KP_0: string(0x1b) string("Op") \n\ |
---|
855 | <Key>KP_1: string(0x1b) string("Oq") \n\ |
---|
856 | <Key>KP_2: string(0x1b) string("Or") \n\ |
---|
857 | <Key>KP_3: string(0x1b) string("Os") \n\ |
---|
858 | <Key>KP_4: string(0x1b) string("Ot") \n\ |
---|
859 | <Key>KP_5: string(0x1b) string("Ou") \n\ |
---|
860 | <Key>KP_6: string(0x1b) string("Ov") \n\ |
---|
861 | <Key>KP_7: string(0x1b) string("Ow") \n\ |
---|
862 | <Key>KP_8: string(0x1b) string("Ox") \n\ |
---|
863 | <Key>KP_9: string(0x1b) string("Oy") \n |
---|
864 | |
---|
865 | ! <Key>Up: string(0x1b) string("[A") \n\ |
---|
866 | ! <Key>Down: string(0x1b) string("[B") \n\ |
---|
867 | ! <Key>Right: string(0x1b) string("[C") \n\ |
---|
868 | ! <Key>Left: string(0x1b) string("[D") \n\ |
---|
869 | |
---|
870 | *visualBell: true |
---|
871 | *saveLines: 1000 |
---|
872 | *cursesemul: true |
---|
873 | *scrollKey: true |
---|
874 | *scrollBar: true |
---|
875 | ________________________________________________________________________ |
---|
876 | |
---|
877 | 3.2. C-KERMIT AND HP-UX |
---|
878 | |
---|
879 | [ [183]Top ] [ [184]Contents ] [ [185]Section Contents ] [ [186]Next ] |
---|
880 | [ [187]Previous ] |
---|
881 | |
---|
882 | SECTION CONTENTS |
---|
883 | |
---|
884 | 3.2.0. [188]Common Problems |
---|
885 | 3.2.1. [189]Building C-Kermit on HP-UX |
---|
886 | 3.2.2. [190]File Transfer |
---|
887 | 3.2.3. [191]Dialing Out and UUCP Lockfiles in HP-UX |
---|
888 | 3.2.4. [192]Notes on Specific HP-UX Releases |
---|
889 | 3.2.5. [193]HP-UX and X.25 |
---|
890 | |
---|
891 | REFERENCES |
---|
892 | |
---|
893 | For further information, read the [194]comp.sys.hp.hpux newsgroup. |
---|
894 | |
---|
895 | C-Kermit is included as part of the HP-UX operating system by contract |
---|
896 | between Hewlett Packard and Columbia University for HP-UX 10.00 and |
---|
897 | later. Each level of HP-UX includes a freshly built C-Kermit binary in |
---|
898 | /bin/kermit, which should work correctly. Binaries built for regular |
---|
899 | HP-UX may be used on Trusted HP-UX and vice-versa, except for use as |
---|
900 | IKSD because of the different authentication methods. |
---|
901 | |
---|
902 | 3.2.0. Common Problems |
---|
903 | |
---|
904 | [ [195]Top ] [ [196]Contents ] [ [197]Section Contents ] [ [198]Next ] |
---|
905 | |
---|
906 | Some HP workstations have a BREAK/RESET key. If you hit this key while |
---|
907 | C-Kermit is running, it might kill or suspend the C-Kermit process. |
---|
908 | C-Kermit arms itself against these signals, but evidently the |
---|
909 | BREAK/RESET key is -- at least in some circumstances, on certain HP-UX |
---|
910 | versions -- too powerful to be caught. (Some report that the first |
---|
911 | BREAK/RESET shows up as SIGINT and is caught by C-Kermit's former |
---|
912 | SIGINT handler even when SIGINT is currently set to SIG_IGN; the |
---|
913 | second kills Kermit; other reports suggest the first BREAK/RESET sends |
---|
914 | a SIGTSTP (suspend signal) to Kermit, which it catches and suspends |
---|
915 | itself. You can tell C-Kermit to ignore suspend signals with SET |
---|
916 | SUSPEND OFF. You can tell C-Kermit to ignore SIGINT with SET COMMAND |
---|
917 | INTERRUPTION OFF. It is not known whether these commands also grant |
---|
918 | immunity to the BREAK/RESET key (one report states that with SET |
---|
919 | SUSPEND OFF, the BREAK/RESET key is ignored the first four times, but |
---|
920 | kills Kermit the 5th time). In any case: |
---|
921 | |
---|
922 | 1. If this key is mapped to SIGINT or SIGTSTP, C-Kermit catches or |
---|
923 | ignores it, depending on which mode (CONNECT, command, etc) Kermit |
---|
924 | is in. |
---|
925 | 2. If it causes HP-UX to kill C-Kermit, there is nothing C-Kermit can |
---|
926 | do to prevent it. |
---|
927 | |
---|
928 | When HP-UX is on the remote end of the connection, it is essential |
---|
929 | that HP-UX C-Kermit be configured for Xon/Xoff flow control (this is |
---|
930 | the default, but in case you change it and then experience |
---|
931 | file-transfer failures, this is a likely reason). |
---|
932 | ________________________________________________________________________ |
---|
933 | |
---|
934 | 3.2.1. Building C-Kermit on HP-UX |
---|
935 | |
---|
936 | [ [199]Top ] [ [200]Contents ] [ [201]Section Contents ] [ [202]Next ] |
---|
937 | [ [203]Previous ] |
---|
938 | |
---|
939 | This section applies mainly to old (pre-10.20) HP-UX version on |
---|
940 | old, slow, and/or memory-constrained hardware. |
---|
941 | |
---|
942 | During the C-Kermit 6.0 Beta cycle, something happened to ckcpro.w |
---|
943 | (or, more precisely, the ckcpro.c file that is generated from it) |
---|
944 | which causes HP optimizing compilers under HP-UX versions 7.0 and 8.0 |
---|
945 | (apparently on all platforms) as well as under HP-UX 9.0 on Motorola |
---|
946 | platforms only, to blow up. In versions 7.0 and 8.0 the problem has |
---|
947 | spread to other modules. |
---|
948 | |
---|
949 | The symptoms vary from the system grinding to a halt, to the compiler |
---|
950 | crashing, to the compilation of the ckcpro.c module taking very long |
---|
951 | periods of time, like 9 hours. This problem is handled by compiling |
---|
952 | the modules that tickle it without optimization; the new C-Kermit |
---|
953 | makefile takes care of this, and shows how to do it in case the same |
---|
954 | thing begins happening with other modules. |
---|
955 | |
---|
956 | On HP-UX 9.0, a kernel parameter, maxdsiz (maximum process data |
---|
957 | segment size), seems to be important. On Motorola systems, it is 16MB |
---|
958 | by default, whereas on RISC systems the default is much bigger. |
---|
959 | Increasing maxdsiz to about 80MB seems to make the problem go away, |
---|
960 | but only if the system also has a lot of physical memory -- otherwise |
---|
961 | it swaps itself to death. |
---|
962 | |
---|
963 | The optimizing compiler might complain about "some optimizations |
---|
964 | skipped" on certain modules, due to lack of space available to the |
---|
965 | optimizer. You can increase the space (the incantation depends on the |
---|
966 | particular compiler version -- see the [204]makefile), but doing so |
---|
967 | tends to make the compilations take a much longer time. For example, |
---|
968 | the "hpux0100o+" makefile target adds the "+Onolimit" compiler flag, |
---|
969 | and about an hour to the compile time on an HP-9000/730. But it *does* |
---|
970 | produce an executable that is about 10K smaller :-) |
---|
971 | |
---|
972 | In the makefile, all HP-UX entries automatically skip optimization of |
---|
973 | problematic modules. |
---|
974 | ________________________________________________________________________ |
---|
975 | |
---|
976 | 3.2.2. File Transfer |
---|
977 | |
---|
978 | [ [205]Top ] [ [206]Contents ] [ [207]Section Contents ] [ [208]Next ] |
---|
979 | [ [209]Previous ] |
---|
980 | |
---|
981 | Telnet connections into HP-UX versions up to and including 11.11 (and |
---|
982 | possibly 11.20) tend not to lend themselves to file transfer due to |
---|
983 | limitations, restrictions, and/or bugs in the HP-UX Telnet server |
---|
984 | and/or pseudoterminal (pty) driver. |
---|
985 | |
---|
986 | In C-Kermit 6.0 (1996) an unexpected slowness was noted when |
---|
987 | transferring files over local Ethernet connections when an HP-UX |
---|
988 | system (9.05 or 10.00) was on the remote end. The following experiment |
---|
989 | was conducted to determine the cause. C-Kermit 6.0 was used; the |
---|
990 | situation is slightly better using C-Kermit 7.0's streaming feature |
---|
991 | and HP-UX 10.20 on the far end. |
---|
992 | |
---|
993 | The systems were HP-UX 10.00 (on 715/33) and SunOS 4.1.3 (on |
---|
994 | Sparc-20), both on the same local 10Mbps Ethernet, packet length 4096, |
---|
995 | parity none, control prefixing "cautious", using only local disks on |
---|
996 | each machine -- no NFS. In the C-Kermit 6.0 (ACK/NAK) case, the window |
---|
997 | size was 20; in the streaming case there is no window size (i.e. it is |
---|
998 | infinite). The test file was C-Kermit executable, transferred in |
---|
999 | binary mode. Conditions were relatively poor: the Sun and the local |
---|
1000 | net heavily loaded; the HP system is old, slow, and |
---|
1001 | memory-constrained. |
---|
1002 | |
---|
1003 | C-Kermit 6.0... C-Kermit 7.0... |
---|
1004 | Local Remote ACK/NAK........ Streaming...... |
---|
1005 | Client Server Send Receive Send Receive |
---|
1006 | Sun HP 36 18 64 18 |
---|
1007 | HP HP 25 15 37 16 |
---|
1008 | HP Sun 77 83 118 92 |
---|
1009 | Sun Sun 60 60 153 158 |
---|
1010 | |
---|
1011 | So whenever HP is the remote we have poor performance. Why? |
---|
1012 | |
---|
1013 | * Changing file display to CRT has no effect (so it's not the curses |
---|
1014 | library on the client side). |
---|
1015 | * Changing TCP RECV-BUFFER or SEND-BUFFER has little effect. |
---|
1016 | * Telling the client to make a binary-mode connection (SET TELNET |
---|
1017 | BINARY REQUESTED, which successfully negotiates a binary |
---|
1018 | connection) has no effect on throughput. |
---|
1019 | |
---|
1020 | BUT... If I start HP-UX C-Kermit as a TCP service: |
---|
1021 | |
---|
1022 | set host * 3000 |
---|
1023 | server |
---|
1024 | |
---|
1025 | and then from the client "set host xxx 3000", I get: |
---|
1026 | |
---|
1027 | C-Kermit 6.0... C-Kermit 7.0... |
---|
1028 | Local Remote ACK/NAK........ Streaming...... |
---|
1029 | Client Server Send Receive Send Receive |
---|
1030 | Sun HP 77 67 106 139 |
---|
1031 | HP HP 50 50 64 62 |
---|
1032 | HP Sun 57 85 155 105 |
---|
1033 | Sun Sun 57 50 321 314 |
---|
1034 | |
---|
1035 | Therefore the HP-UX telnet server or pty driver seems to be adding |
---|
1036 | more overhead than the SunOS one, and most others. When going through |
---|
1037 | this type of connection (a remote telnet server) there is little |
---|
1038 | Kermit can do improve matters, since the telnet server and pty driver |
---|
1039 | are between the two Kermits, and neither Kermit program can have any |
---|
1040 | influence over them (except putting the Telnet connection in binary |
---|
1041 | mode, but that doesn't help). |
---|
1042 | |
---|
1043 | (The numbers for the HP-HP transfers are lower than the others since |
---|
1044 | both Kermit processes are running on the same slow 33MHz CPU.) |
---|
1045 | |
---|
1046 | Matters seem to have deteriorated in HP-UX 11. Now file transfers over |
---|
1047 | Telnet connections fail completely, rather than just being slow. In |
---|
1048 | the following trial, a Telnet connection was made from Kermit 95 to |
---|
1049 | HP-UX 11.11 on an HP-9000/785/B2000 over local 10Mbps Ethernet running |
---|
1050 | C-Kermit 8.00 in server mode (under the HP-UX Telnet server): |
---|
1051 | |
---|
1052 | Text........ Binary...... |
---|
1053 | Stream Pktlen GET SEND GET SEND |
---|
1054 | On 4000 Fail Fail Fail Fail |
---|
1055 | Off 4000 Fail Fail Fail Fail |
---|
1056 | Off 2000 OK Fail OK Fail |
---|
1057 | On 2000 OK Fail OK Fail |
---|
1058 | On 3000 Fail Fail Fail Fail |
---|
1059 | On 2500 Fail Fail Fail Fail |
---|
1060 | On 2047 OK Fail OK Fail |
---|
1061 | On 2045 OK Fail OK Fail |
---|
1062 | Off 500 OK OK OK OK |
---|
1063 | On 500 OK Fail OK Fail |
---|
1064 | On 240 OK Fail OK Fail |
---|
1065 | |
---|
1066 | As you can see, downloads are problematic unless the receiver's Kermit |
---|
1067 | packet length is 2045 or less, but uploads work only with streaming |
---|
1068 | disabled and the packet length restricted to 500. To force file |
---|
1069 | transfers to work on this connection, the desktop Kermit must be told |
---|
1070 | to: |
---|
1071 | |
---|
1072 | set streaming off |
---|
1073 | set receive packet-length 2000 |
---|
1074 | set send packet-length 500 |
---|
1075 | |
---|
1076 | However, if a connection is made between the same two programs on the |
---|
1077 | same two computers over the same network, but this time a direct |
---|
1078 | socket-to-socket connection bypassing the HP-UX Telnet server and pty |
---|
1079 | driver (tell HP-UX C-Kermit to "set host /server * 3000 /raw"; tell |
---|
1080 | desktop client program to "set host blah 3000 /raw"), everything works |
---|
1081 | perfectly with the default Kermit settings (streaming, 4K packets, |
---|
1082 | liberal control-character unprefixing, 8-bit transparency, etc): |
---|
1083 | |
---|
1084 | Text........ Binary...... |
---|
1085 | Stream Pktlen GET SEND GET SEND |
---|
1086 | On 4000 OK OK OK OK |
---|
1087 | |
---|
1088 | And in this case, transfer rates were approximately 900,000 cps. To |
---|
1089 | verify that the behavior reported here is not caused by the new Kermit |
---|
1090 | release, the same experiment was performed on a Telnet connection from |
---|
1091 | the same PC over the same network to the old 715/33 running HP-UX |
---|
1092 | 10.20 and C-Kermit 8.00. Text and binary uploads and downloads worked |
---|
1093 | perfectly (albeit slowly) with all the default settings -- streaming, |
---|
1094 | 4K packets, etc. |
---|
1095 | ________________________________________________________________________ |
---|
1096 | |
---|
1097 | 3.2.3. Dialing Out and UUCP Lockfiles in HP-UX |
---|
1098 | |
---|
1099 | [ [210]Top ] [ [211]Contents ] [ [212]Section Contents ] [ [213]Next ] |
---|
1100 | [ [214]Previous ] |
---|
1101 | |
---|
1102 | HP workstations do not come with dialout devices configured; you have |
---|
1103 | to do it yourself (as root). First look in /dev to see what's there; |
---|
1104 | for example in HP-UX 10.00 or later: |
---|
1105 | |
---|
1106 | ls -l /dev/cua* |
---|
1107 | ls -l /dev/tty* |
---|
1108 | |
---|
1109 | If you find a tty0p0 device but no cua0p0, you'll need to creat one if |
---|
1110 | you want to dial out; the tty0p0 does not work for dialing out. It's |
---|
1111 | easy: start SAM; in the main Sam window, double-click on Peripheral |
---|
1112 | Device, then in the Peripheral Devices window, double-click on |
---|
1113 | Terminals and Modems. In the Terminals and Modems dialog, click on |
---|
1114 | Actions, then choose "Add modem" and fill in the blanks. For example: |
---|
1115 | Port number 0, speed 57600 (higher speeds tend not to work reliably), |
---|
1116 | "Use device for calling out", do NOT "Receive incoming calls" (unless |
---|
1117 | you know what you are doing), leave "CCITT modem" unchecked unless you |
---|
1118 | really have one, and do select "Use hardware flow control (RTS/CTS)". |
---|
1119 | Then click OK. This creates cua0p0 as well as cul0p0 and ttyd0p0 |
---|
1120 | |
---|
1121 | If the following sequence: |
---|
1122 | |
---|
1123 | set line /dev/cua0p0 ; or other device |
---|
1124 | set speed 115200 ; or other normal speed |
---|
1125 | |
---|
1126 | produces the message "?Unsupported line speed". This means either that |
---|
1127 | the port is not configured for dialout (go into SAM as described above |
---|
1128 | and make sure "Use device for calling out" is selected), or else that |
---|
1129 | speed you have given (such as 460800) is supported by the operating |
---|
1130 | system but not by the physical device (in which case, use a lower |
---|
1131 | speed like 57600). |
---|
1132 | |
---|
1133 | In HP-UX 9.0, serial device names began to change. The older names |
---|
1134 | looked like "/dev/cua00", "/dev/tty01", etc (sometimes with only one |
---|
1135 | digit). The newer names have two digits with the letter "p" in |
---|
1136 | between. HP-UX 8.xx and earlier have the older form, HP-UX 10.00 and |
---|
1137 | later have the newer form. HP-UX 9.xx has the newer form on Series 800 |
---|
1138 | machines, and the older form on other hardware models. The situation |
---|
1139 | is summarized in the following table (the Convio 10.0 column applies |
---|
1140 | to HP-UX 10 and 11). |
---|
1141 | |
---|
1142 | Converged HP-UX Serial I/O Filenames : TTY Mux Naming |
---|
1143 | --------------------------------------------------------------------- |
---|
1144 | General meaning Old Form S800 9.0 Convio 10.0 |
---|
1145 | --------------------------------------------------------------------- |
---|
1146 | tty* hardwired ports tty<YY> tty<X>p<Y> tty<D>p<p> |
---|
1147 | diag:mux<X> diag:mux<D> |
---|
1148 | --------------------------------------------------------------------- |
---|
1149 | ttyd* dial-in modems ttyd<YY> ttyd<X>p<Y> ttyd<D>p<p> |
---|
1150 | diag:ttyd<X>p<Y> diag:ttyd<D>p<p> |
---|
1151 | --------------------------------------------------------------------- |
---|
1152 | cua* auto-dial out cua<YY> cua<X>p<Y> cua<D>p<p> |
---|
1153 | diag:cua<X>p<Y> |
---|
1154 | --------------------------------------------------------------------- |
---|
1155 | cul* dial-out cul<YY> cul<X>p<Y> cul<D>p<p> |
---|
1156 | diag:cul<X>p<Y> |
---|
1157 | --------------------------------------------------------------------- |
---|
1158 | <X>= LU (Logical Unit) <D>= Devspec (decimal card instance) |
---|
1159 | <Y> or <YY> = Port <p>= Port |
---|
1160 | |
---|
1161 | For dialing out, you should use the cua or cul devices. When |
---|
1162 | C-Kermit's CARRIER setting is AUTO or ON, C-Kermit should pop back to |
---|
1163 | its prompt automatically if the carrier signal drops, e.g. when you |
---|
1164 | log out from the remote computer or service. If you use the tty<D>p<d> |
---|
1165 | (e.g. tty0p0) device, the carrier signal should be ignored. The |
---|
1166 | tty<D>p<d> device should be used for direct connections where the |
---|
1167 | carrier signal does not follow RS-232 conventions (use the cul device |
---|
1168 | for hardwired connections through a true null modem). Do not use the |
---|
1169 | ttyd<D>p<d> device for dialing out. |
---|
1170 | |
---|
1171 | Kermit's access to serial devices is controlled by "UUCP lockfiles", |
---|
1172 | which are intended to prevent different users using different software |
---|
1173 | programs (Kermit, cu, etc, and UUCP itself) from accessing the same |
---|
1174 | serial device at the same time. When a device is in use by a |
---|
1175 | particular user, a file with a special name is created in: |
---|
1176 | |
---|
1177 | /var/spool/locks (HP-UX 10.00 and later) |
---|
1178 | /usr/spool/uucp (HP-UX 9.xx and earlier) |
---|
1179 | |
---|
1180 | The file's name indicates the device that is in use, and its contents |
---|
1181 | indicates the process ID (pid) of the process that is using the |
---|
1182 | device. Since serial devices and the locks directory are not both |
---|
1183 | publicly readable and writable, Kermit and other communication |
---|
1184 | software must be installed setuid to the owner (bin) of the serial |
---|
1185 | device and setgid to the group (daemon) of the /var/spool/locks |
---|
1186 | directory. Kermit's setuid and setgid privileges are enabled only when |
---|
1187 | opening the device and accessing the lockfiles. |
---|
1188 | |
---|
1189 | Let's say "unit" means a string of decimal digits (the interface |
---|
1190 | instance number) followed (in HP-UX 10.00 and later) by the letter "p" |
---|
1191 | (lowercase), followed by another string of decimal digits (the port |
---|
1192 | number on the interface), e.g.: |
---|
1193 | |
---|
1194 | "0p0", "0p1", "1p0", etc (HP-UX 10.00 and later) |
---|
1195 | "0p0", "0p1", "1p0", etc (HP-UX 9.xx on Series 800) |
---|
1196 | "00", "01", "10", "0", etc (HP-UX 9.xx not on Series 800) |
---|
1197 | "00", "01", "10", "0", etc (HP-UX 8.xx and earlier) |
---|
1198 | |
---|
1199 | Then a normal serial device (driver) name consists of a prefix ("tty", |
---|
1200 | "ttyd", "cua", "cul", or possibly "cuad" or "culd") followed by a |
---|
1201 | unit, e.g. "cua0p0". Kermit's treatment of UUCP lockfiles is as close |
---|
1202 | as possible to that of the HP-UX "cu" program. Here is a table of the |
---|
1203 | lockfiles that Kermit creates for unit 0p0: |
---|
1204 | |
---|
1205 | Selection Lockfile 1 Lockfile 2 |
---|
1206 | /dev/tty0p0 LCK..tty0p0 (none) |
---|
1207 | * /dev/ttyd0p0 LCK..ttyd0p0 (none) |
---|
1208 | /dev/cua0p0 LCK..cua0p0 LCK..ttyd0p0 |
---|
1209 | /dev/cul0p0 LCK..cul0p0 LCK..ttyd0p0 |
---|
1210 | /dev/cuad0p0 LCK..cuad0p0 LCK..ttyd0p0 |
---|
1211 | /dev/culd0p0 LCK..culd0p0 LCK..ttyd0p0 |
---|
1212 | <other> LCK..<other> (none) |
---|
1213 | |
---|
1214 | (* = Dialin device, should not be used.) |
---|
1215 | |
---|
1216 | In other words, if the device name begins with "cu", a second lockfile |
---|
1217 | for the "ttyd" device, same unit, is created, which should prevent |
---|
1218 | dialin access on that device. |
---|
1219 | |
---|
1220 | The <other> case allows for symbolic links, etc, but of course it is |
---|
1221 | not foolproof since we have no way of telling which device is really |
---|
1222 | being used. |
---|
1223 | |
---|
1224 | When C-Kermit tries to open a dialout device whose name ends with a |
---|
1225 | "unit", it searches the lockfile directory for all possible names for |
---|
1226 | the same unit. For example, if user selects /dev/cul2p3, Kermit looks |
---|
1227 | for lockfiles named: |
---|
1228 | |
---|
1229 | LCK..tty2p3 |
---|
1230 | LCK..ttyd2p3 |
---|
1231 | LCK..cua2p3 |
---|
1232 | LCK..cul2p3 |
---|
1233 | LCK..cuad2p3 |
---|
1234 | LCK..culd2p3 |
---|
1235 | |
---|
1236 | If any of these files are found, Kermit opens them to find out the ID |
---|
1237 | (pid) of the process that created them; if the pid is still valid, the |
---|
1238 | process is still active, and so the SET LINE command fails and the |
---|
1239 | user is informed of the pid so s/he can use "ps" to find out who is |
---|
1240 | using the device. |
---|
1241 | |
---|
1242 | If the pid is not valid, the file is deleted. If all such files (i.e. |
---|
1243 | with same "unit" designation) are successfully removed, then the SET |
---|
1244 | LINE command succeeds; up to six messages are printed telling the user |
---|
1245 | which "stale lockfiles" are being removed. |
---|
1246 | |
---|
1247 | When the "set line" command succeeds in HP-UX 10.00 and later, |
---|
1248 | C-Kermit also creates a Unix System V R4 "advisory lock" as a further |
---|
1249 | precaution (but not guarantee) against any other process obtaining |
---|
1250 | access to the device while you are using it. |
---|
1251 | |
---|
1252 | If the selected device was in use by "cu", Kermit can't open it, |
---|
1253 | because "cu" has changed its ownership, so we never get as far as |
---|
1254 | looking at the lockfiles. In the normal case, we can't even look at |
---|
1255 | the device to see who the owner is because it is visible only to its |
---|
1256 | (present) owner. In this case, Kermit says (for example): |
---|
1257 | |
---|
1258 | /dev/cua0p0: Permission denied |
---|
1259 | |
---|
1260 | When Kermit releases a device it has successfully opened, it removes |
---|
1261 | all the lockfiles that it created. This also happens whenever Kermit |
---|
1262 | exits "under its own power". |
---|
1263 | |
---|
1264 | If Kermit is killed with a device open, the lockfile(s) are left |
---|
1265 | behind. The next Kermit program that tries to assign the device, under |
---|
1266 | any of its various names, will automatically clean up the stale |
---|
1267 | lockfiles because the pids they contain are invalid. The behavior of |
---|
1268 | cu and other communication programs under these conditions should be |
---|
1269 | the same. |
---|
1270 | |
---|
1271 | Here, by the way, is a summary of the differences between the HP-UX |
---|
1272 | port driver types from John Pezzano of HP: |
---|
1273 | |
---|
1274 | There are three types of device files for each port. |
---|
1275 | |
---|
1276 | The ttydXXX device file is designed to work as follows: |
---|
1277 | |
---|
1278 | 1. The process that opens it does NOT get control of the port until |
---|
1279 | CD is asserted. This was intentional (over 15 years ago) to allow |
---|
1280 | getty to open the port but not control it until someone called in. |
---|
1281 | If a process wants to use the direct or callout device files |
---|
1282 | (ttyXXX and culXXX respectively), they will then get control and |
---|
1283 | getty would be blocked. This eliminated the need to use uugetty |
---|
1284 | (and its inherent problems with lock files) for modems. You can |
---|
1285 | see this demonstrated by the fact that "ps -ef" shows a ? in the |
---|
1286 | tty column for the getty process as getty does not have the port |
---|
1287 | yet. |
---|
1288 | 2. Once CD is asserted, the port is controlled by getty (or the |
---|
1289 | process handling an incoming call) if there was no process using |
---|
1290 | the port. The ? in the "ps" command now shows the port. At this |
---|
1291 | point, the port accepts data. |
---|
1292 | |
---|
1293 | Therefore you should use either the callout culXXX device file |
---|
1294 | (immediate control but no data until CD is asserted) or the direct |
---|
1295 | device file ttyXXX which gives immediate control and immediate data |
---|
1296 | and which ignores by default modem control signals. |
---|
1297 | |
---|
1298 | The ttydXXX device should be used only for callin and my |
---|
1299 | recommendation is to use it only for getty and uugetty. |
---|
1300 | ________________________________________________________________________ |
---|
1301 | |
---|
1302 | 3.2.4 Notes on Specific HP-UX Releases |
---|
1303 | |
---|
1304 | SECTION CONTENTS |
---|
1305 | |
---|
1306 | 3.2.4.1. [215]HP-UX 11 |
---|
1307 | 3.2.4.2. [216]HP-UX 10 |
---|
1308 | 3.2.4.3. [217]HP-UX 9 |
---|
1309 | 3.2.4.4. [218]HP-UX 8 |
---|
1310 | 3.2.4.5. [219]HP-UX 7 and Earlier |
---|
1311 | |
---|
1312 | 3.2.4.1. HP-UX 11 |
---|
1313 | |
---|
1314 | [ [220]Top ] [ [221]Contents ] [ [222]Section Contents ] [ [223]Next ] |
---|
1315 | |
---|
1316 | As noted in [224]Section 3.2.2, the HP-UX 11 Telnet server and/or |
---|
1317 | pseudoterminal driver are a serious impediment to file transfer over |
---|
1318 | Telnet connections into HP-UX. If you have a Telnet connection into |
---|
1319 | HP-UX 11, tell your desktop Kermit program to: |
---|
1320 | |
---|
1321 | set streaming off |
---|
1322 | set receive packet-length 2000 |
---|
1323 | set send packet-length 500 |
---|
1324 | |
---|
1325 | File transfer speeds over connections from HP-UX 11 (dialed or Telnet) |
---|
1326 | are not impeded whatsoever, and can go at whatever speed is allowed by |
---|
1327 | the connection and the Kermit partner on the far end. |
---|
1328 | |
---|
1329 | PA-RISC binaries for HP-UX 10.20 or later should run on any PA-RISC |
---|
1330 | system, S700 or S800, as long as the binary was not built under a |
---|
1331 | later HP-UX version than the host operating system. HP-UX 11.00 and |
---|
1332 | 11.11 are only for PA-RISC systems. HP-UX 11.20 is only for IA64 |
---|
1333 | (subsequent HP-UX releases will be for both PA-RISC and IA64). To |
---|
1334 | check binary compatibility, the following C-Kermit 8.0 binaries were |
---|
1335 | run successfully on an HP-9000/785 with HP-UX 11.11: |
---|
1336 | |
---|
1337 | * Model 7xx HP-UX 10.20 |
---|
1338 | * Model 8xx HP-UX 10.20 |
---|
1339 | * Model 7xx HP-UX 11.00 |
---|
1340 | * Model 8xx HP-UX 11.00 |
---|
1341 | * Model 7xx HP-UX 11.11 |
---|
1342 | * Model 8xx HP-UX 11.11 |
---|
1343 | |
---|
1344 | Binaries built under some of the earlier HP-UX releases, such as 9.05, |
---|
1345 | might also work, but only if built for the same hardware family (e.g. |
---|
1346 | s700). |
---|
1347 | ________________________________________________________________________ |
---|
1348 | |
---|
1349 | 3.2.4.2. HP-UX 10 |
---|
1350 | |
---|
1351 | [ [225]Top ] [ [226]Contents ] [ [227]Section Contents ] [ [228]Next ] |
---|
1352 | [ [229]Previous ] |
---|
1353 | |
---|
1354 | Beginning in HP-UX 10.10, libcurses is linked to libxcurses, the new |
---|
1355 | UNIX95 (X/Open) version of curses, which has some serious bugs; some |
---|
1356 | routines, when called, would hang and never return, some would dump |
---|
1357 | core. Evidently libxcurses contains a select() routine, and whenever |
---|
1358 | C-Kermit calls what it thinks is the regular (sockets) select(), it |
---|
1359 | gets the curses one, causing a segmentation fault. There is a patch |
---|
1360 | for this from HP, PHCO_8086, "s700_800 10.10 libcurses patch", "shared |
---|
1361 | lib curses program hangs on 10.10", "10.10 enhanced X/Open curses core |
---|
1362 | dumps due to using wrong select call", 96/08/02 (you can tell if the |
---|
1363 | patch is installed with "what /usr/lib/libxcurses.1"; the unpatched |
---|
1364 | version is 76.20, the patched one is 76.20.1.2). It has been verified |
---|
1365 | that C-Kermit works OK with the patched library, but results are not |
---|
1366 | definite for HP-UX 10.20 or higher. |
---|
1367 | |
---|
1368 | To ensure that C-Kermit works even on non-patched HP-UX 10.10 systems, |
---|
1369 | separate makefile entries are provided for HP-UX 10.00/10.01, 10.10, |
---|
1370 | 10.20, etc, in which the entries for 10.10 and above link with |
---|
1371 | libHcurses, which is "HP curses", the one that was used in |
---|
1372 | 10.00/10.01. HP-UX 11.20 and later, however, link with libcurses, as |
---|
1373 | libHcurses disappeared in 11.20. |
---|
1374 | ________________________________________________________________________ |
---|
1375 | |
---|
1376 | 3.2.4.3. HP-UX 9 |
---|
1377 | |
---|
1378 | [ [230]Top ] [ [231]Contents ] [ [232]Section Contents ] [ [233]Next ] |
---|
1379 | [ [234]Previous ] |
---|
1380 | |
---|
1381 | HP-UX 9.00 and 9.01 need patch PHNE_10572 (note: this replaces |
---|
1382 | PHNE_3641) for hptt0.o, asio0.o, and ttycomn.o in libhp-ux.a. Contact |
---|
1383 | Hewlett Packard if you need this patch. Without it, the dialout device |
---|
1384 | (tty) will be hung after first use; subsequent attempts to use will |
---|
1385 | return an error like "device busy". (There are also equivalent patches |
---|
1386 | for s700 9.03 9.05 9.07 (PHNE_10573) and s800 9.00 9.04 (PHNE_10416). |
---|
1387 | |
---|
1388 | When C-Kermit is in server mode, it might have trouble executing |
---|
1389 | REMOTE HOST commands. This problem happens under HP-UX 9.00 (Motorola) |
---|
1390 | and HP-UX 9.01 (RISC) IF the C-Shell is the login shell AND with the |
---|
1391 | C-Shell Revision 70.15. Best thing is to install HP's Patch PHCO_4919 |
---|
1392 | for Series 300/400 and PHCO_5015 for the Series 700/800. PHCO_5015 is |
---|
1393 | called "s700_800 9.X cumulative csh(1) patch with memory leak fix" |
---|
1394 | which works for HP-UX 9.00, 9.01, 9.03, 9.04, 9.05 and 9.07. At least |
---|
1395 | you need C-Shell Revision 72.12! |
---|
1396 | |
---|
1397 | C-Kermit works fine -- including its curses-based file-transfer |
---|
1398 | display -- on the console terminal, in a remote session (e.g. when |
---|
1399 | logged in to the HP 9000 on a terminal port or when telnetted or |
---|
1400 | rlogin'd), and in an HP-VUE hpterm window or an xterm window. |
---|
1401 | ________________________________________________________________________ |
---|
1402 | |
---|
1403 | 3.2.4.4. HP-UX 8 |
---|
1404 | |
---|
1405 | [ [235]Top ] [ [236]Contents ] [ [237]Section Contents ] [ [238]Next ] |
---|
1406 | [ [239]Previous ] |
---|
1407 | |
---|
1408 | To make C-Kermit work on HP-UX 8.05 on a model 720, obtain and install |
---|
1409 | HP-UX patch PHNE_0899. This patch deals with a lot of driver issues, |
---|
1410 | particularly related to communication at higher speeds. |
---|
1411 | |
---|
1412 | One user reports: |
---|
1413 | |
---|
1414 | On HP-UX 8 DON'T install 'tty patch' PHKL_4656, install PHKL_3047 |
---|
1415 | instead! Yesterday I tried this latest tty patch PHKL_4656 and had |
---|
1416 | terrible problems. This patch should fix RTS/CTS problems. With |
---|
1417 | text transver all looks nice. But when I switched over to binary |
---|
1418 | files the serial interface returned only rubish to C-Kermit. All |
---|
1419 | sorts of protocol, CRC and packed errors I had. After several tests |
---|
1420 | and after uninstalling that patch, all transvers worked fine. MB's |
---|
1421 | of data without any errors. So keep your fingers away from that |
---|
1422 | patch. If anybody needs the PHKL_3047 patch I have it here. It is |
---|
1423 | no longer availabel from HP's patch base. |
---|
1424 | ________________________________________________________________________ |
---|
1425 | |
---|
1426 | 3.2.4.5. HP-UX 7 and Earlier |
---|
1427 | |
---|
1428 | [ [240]Top ] [ [241]Contents ] [ [242]Section Contents ] [ |
---|
1429 | [243]Previous ] |
---|
1430 | |
---|
1431 | When transferring files into HP-UX 5 or 6 over a Telnet connection, |
---|
1432 | you must not use streaming, and you must not use a packet length |
---|
1433 | greater than 512. However, you can use streaming and longer packets |
---|
1434 | when sending files from HP-UX on a Telnet connection. In C-Kermit 8.0, |
---|
1435 | the default receive packet length for HP-UX 5 and 6 was changed to 500 |
---|
1436 | (but you can still increase it with SET RECEIVE PACKET-LENGTH if you |
---|
1437 | wish, e.g. for non-Telnet connections). Disable streaming with SET |
---|
1438 | STREAMING OFF. |
---|
1439 | |
---|
1440 | The HP-UX 5.00 version of C-Kermit does not include the fullscreen |
---|
1441 | file-transfer because of problems with the curses library. |
---|
1442 | |
---|
1443 | If HP-UX 5.21 with Wollongong TCP/IP is on the remote end of a Telnet |
---|
1444 | connection, streaming transfers to HP-UX invariably fail. Workaround: |
---|
1445 | SET STREAMING OFF. Packets longer than about 1000 should not be used. |
---|
1446 | Transfers from these systems, however, can use streaming and/or longer |
---|
1447 | packets. |
---|
1448 | |
---|
1449 | Reportedly, "[there is] a bug in C-Kermit using HP-UX version 5.21 on |
---|
1450 | the HP-9000 series 500 computers. It only occurs when the controlling |
---|
1451 | terminal is using an HP-27140 six-port modem mux. The problem is not |
---|
1452 | present if the controlling terminal is logged into an HP-27130 |
---|
1453 | eight-port mux. The symptom is that just after dialing successfully |
---|
1454 | and connecting Kermit locks up and the port is unusable until both |
---|
1455 | forks of Kermit and the login shell are killed." (This report predates |
---|
1456 | C-Kermit 6.0 and might no longer apply.) |
---|
1457 | ________________________________________________________________________ |
---|
1458 | |
---|
1459 | 3.2.5. HP-UX and X.25 |
---|
1460 | |
---|
1461 | [ [244]Top ] [ [245]Contents ] [ [246]Section Contents ] [ |
---|
1462 | [247]Previous ] |
---|
1463 | |
---|
1464 | Although C-Kermit presently does not include built-in support for |
---|
1465 | HP-UX X.25 (as it does for the Sun and IBM X.25 products), it can |
---|
1466 | still be used to make X.25 connections as follows: start Kermit and |
---|
1467 | then telnet to localhost. After logging back in, start padem as you |
---|
1468 | would normally do to connect over X.25. Padem acts as a pipe between |
---|
1469 | Kermit and X.25. In C-Kermit 7.0, you might also be able to avoid the |
---|
1470 | "telnet localhost" step by using: |
---|
1471 | |
---|
1472 | C-Kermit> pty padem address |
---|
1473 | |
---|
1474 | This works if padem uses standard i/o (who knows?). |
---|
1475 | ________________________________________________________________________ |
---|
1476 | |
---|
1477 | 3.3. C-KERMIT AND LINUX |
---|
1478 | |
---|
1479 | [ [248]Top ] [ [249]Contents ] [ [250]Section Contents ] [ [251]Next ] |
---|
1480 | [ [252]Previous ] |
---|
1481 | |
---|
1482 | SECTION CONTENTS |
---|
1483 | |
---|
1484 | 3.3.1. [253]Problems Building C-Kermit for Linux |
---|
1485 | 3.3.2. [254]Problems with Serial Devices in Linux |
---|
1486 | 3.3.3. [255]Terminal Emulation in Linux |
---|
1487 | 3.3.4. [256]Dates and Times |
---|
1488 | 3.3.5. [257]Startup Errors |
---|
1489 | 3.3.6. [258]The Fullscreen File Transfer Display |
---|
1490 | |
---|
1491 | REFERENCES |
---|
1492 | |
---|
1493 | For further information, read the [259]comp.os.linux.misc, |
---|
1494 | [260]comp.os.linux.answers, and other Linux-oriented newsgroups, and |
---|
1495 | see: |
---|
1496 | |
---|
1497 | The Linux Document Project (LDP) |
---|
1498 | [261]http://www.tldp.org/ |
---|
1499 | |
---|
1500 | The Linux FAQ |
---|
1501 | [262]http://www.tldp.org/FAQ/Linux-FAQ.html |
---|
1502 | |
---|
1503 | The Linux HOWTOs (especially the Serial HOWTO) |
---|
1504 | |
---|
1505 | [263]http://www.tldp.org/HOWTO/Serial-HOWTO.html |
---|
1506 | |
---|
1507 | [264]http://tldp.org/HOWTO/Modem-HOWTO.html |
---|
1508 | |
---|
1509 | [265]ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO |
---|
1510 | |
---|
1511 | [266]ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO |
---|
1512 | |
---|
1513 | [267]http://www.tldp.org/HOWTO/ |
---|
1514 | |
---|
1515 | [268]http://www.tldp.org/hmirrors.html |
---|
1516 | |
---|
1517 | Linux Vendor Tech Support Pages: |
---|
1518 | |
---|
1519 | [269]http://www.redhat.com/apps/support/ |
---|
1520 | |
---|
1521 | [270]http://www.debian.org/support |
---|
1522 | |
---|
1523 | [271]http://www.slackware.com/support/ |
---|
1524 | |
---|
1525 | [272]http://www.caldera.com/support/ |
---|
1526 | |
---|
1527 | [273]http://www.suse.com/support/ |
---|
1528 | |
---|
1529 | [274]http://www.mandrake.com/support/ |
---|
1530 | |
---|
1531 | [275]http://www.turbolinux.com/support/ |
---|
1532 | |
---|
1533 | Linux Winmodem Support |
---|
1534 | [276]http://www.linmodems.org/ |
---|
1535 | |
---|
1536 | Also see general comments on PC-based Unixes in [277]Section 3.0. |
---|
1537 | |
---|
1538 | What Linux version is it? -- "uname -a" supplies only kernel |
---|
1539 | information, but these days it's the distribution that matters: Red |
---|
1540 | Hat 7.3, Debian 2.2, Slackware 8.0, etc. Unfortunately there's no |
---|
1541 | consistent way to get the distribution version. Usually it's in a |
---|
1542 | distribution-specific file: |
---|
1543 | |
---|
1544 | Red Hat: /etc/issue or /etc/redhat-release |
---|
1545 | Debian: /etc/debian_version |
---|
1546 | Slackware: /etc/slackware-version (at least in later versions) |
---|
1547 | |
---|
1548 | Did you know: DECnet is available for Linux? See: |
---|
1549 | |
---|
1550 | [278]http://linux.dreamtime.org/decnet/ |
---|
1551 | |
---|
1552 | (But there is no support for it in C-Kermit -- anybody interested in |
---|
1553 | adding it, please [279]let us know). |
---|
1554 | |
---|
1555 | Before proceeding, let's handle the some of the most frequently asked |
---|
1556 | question in the Linux newsgroups: |
---|
1557 | |
---|
1558 | 1. Neither C-Kermit nor any other Linux application can use |
---|
1559 | Winmodems, except in the [280]rare cases where Linux drivers have |
---|
1560 | been written for them. See [281]Section 3.0.2 for details. |
---|
1561 | 2. "Why does it take such a long time to make a telnet connection to |
---|
1562 | (or from) my Linux PC?" (this applies to C-Kermit and to regular |
---|
1563 | Telnet). Most telnet servers these days perform reverse DNS |
---|
1564 | lookups on the client (for security and/or logging reasons). If |
---|
1565 | the Telnet client's address cannot be found by the server's local |
---|
1566 | DNS server, the DNS request goes out to the Internet at large, and |
---|
1567 | this can take quite some time. The solution to this problem is to |
---|
1568 | make sure that both client and host are registered in DNS, and |
---|
1569 | that the registrations are exported. C-Kermit itself performs |
---|
1570 | reverse DNS lookups unless you tell it not to; this is to allow |
---|
1571 | C-Kermit to let you know which host it is actually connected to in |
---|
1572 | case you have made a connection to a host pool (multihomed host). |
---|
1573 | You can disable C-Kermit's reverse DNS lookup with SET TCP |
---|
1574 | REVERSE-DNS-LOOKUP OFF. |
---|
1575 | 3. (Any question that has the word "Telnet" in it...) The knee-jerk |
---|
1576 | reaction is "don't use Telnet, use SSH!" There's nothing wrong |
---|
1577 | with Telnet. In fact it's far superior to SSH as a protocol in |
---|
1578 | terms of features and extensibility, not to mention platform |
---|
1579 | neutrality. The issue lurking behind the knee-jerk reaction is |
---|
1580 | security. SSH is thought to be secure, whereas Telnet is thought |
---|
1581 | to be insecure. This is true for clear-text Telnet (because |
---|
1582 | passwords travel in the clear across the network), but apparently |
---|
1583 | few people realize that [282]secure Telnet clients and servers |
---|
1584 | have been available for years, and these are more secure than SSH |
---|
1585 | (for reasons explained [283]HERE. |
---|
1586 | 4. (Any question that has the word "FTP" in it...) The knee-jerk |
---|
1587 | reaction being "Don't use FTP, use SCP!" (or SFTP). Same answer as |
---|
1588 | above, but moreso. SCP and SFTP are not only not platform neutral, |
---|
1589 | they're diversity-hostile. They transfer files only in binary |
---|
1590 | mode, which mangles text files across different platforms, to the |
---|
1591 | same degree the platform's text-file record format and character |
---|
1592 | set differ. An extreme example would be an Variable-Block format |
---|
1593 | EBCDIC text file on an IBM mainframe, binary transfer of which to |
---|
1594 | Unix would do you little good indeed. FTP was designed with |
---|
1595 | diversity in mind and secure versions are available. |
---|
1596 | ________________________________________________________________________ |
---|
1597 | |
---|
1598 | 3.3.1. Problems Building C-Kermit for Linux |
---|
1599 | |
---|
1600 | [ [284]Top ] [ [285]Contents ] [ [286]Section Contents ] [ [287]Next ] |
---|
1601 | |
---|
1602 | Modern Linux distributions like Red Hat give you a choice at |
---|
1603 | installation whether to include "developer tools". Obviously, you |
---|
1604 | can't build C-Kermit or any other C program from source code if you |
---|
1605 | have not installed the developer tools. But to confuse matters, you |
---|
1606 | might also have to choose (separately) to install the "curses" or |
---|
1607 | "ncurses" terminal control library; thus it is possible to install the |
---|
1608 | C compiler and linker, but omit the (n)curses library and headers. If |
---|
1609 | curses is not installed, you will not be able to build a version of |
---|
1610 | C-Kermit that supports the fullscreen file-transfer display, in which |
---|
1611 | case you'll need to use the "linuxnc" makefile target (nc = No Curses) |
---|
1612 | or else install ncurses before building. |
---|
1613 | |
---|
1614 | There are all sorts of confusing issues caused by the many and varied |
---|
1615 | Linux distributions. Some of the worst involve the curses library and |
---|
1616 | header files: where are they, what are they called, which ones are |
---|
1617 | they really? Other vexing questions involve libc5 vs libc6 vs glibc vs |
---|
1618 | glibc2 (C libraries), gcc vs egcs vs lcc (compilers), plus using or |
---|
1619 | avoiding features that were added in a certain version of Linux or a |
---|
1620 | library or a distribution, and are not available in others. As of |
---|
1621 | C-Kermit 8.0, these questions should be resolved by the "linux" |
---|
1622 | makefile target itself, which does a bit of looking around to see |
---|
1623 | what's what, and then sets the appropriate CFLAGS. |
---|
1624 | ________________________________________________________________________ |
---|
1625 | |
---|
1626 | 3.3.2. Problems with Serial Devices in Linux |
---|
1627 | |
---|
1628 | [ [288]Top ] [ [289]Contents ] [ [290]Section Contents ] [ [291]Next ] |
---|
1629 | [ [292]Previous ] |
---|
1630 | |
---|
1631 | Also see: "man setserial", "man irqtune". |
---|
1632 | And: [293]Sections 3.0, [294]6, [295]7, and [296]8 of this |
---|
1633 | document. |
---|
1634 | |
---|
1635 | NOTE: Red Hat Linux 7.2 and later include a new API that allows |
---|
1636 | serial-port arbitration by non-setuid/gid programs. This API has |
---|
1637 | not yet been added to C-Kermit. If C-Kermit is to be used for |
---|
1638 | dialing out on Red Hat 7.2 or later, it must still be installed as |
---|
1639 | described in in Sections [297]10 and [298]11 of the |
---|
1640 | [299]Installation Instructions. |
---|
1641 | |
---|
1642 | Don't expect it to be easy. Queries like the following are posted to |
---|
1643 | the Linux newsgroups almost daily: |
---|
1644 | |
---|
1645 | Problem of a major kind with my Compaq Presario 1805 in the sense |
---|
1646 | that the pnpdump doesn't find the modem and the configuration tells |
---|
1647 | me that the modem is busy when I set everything by hand! |
---|
1648 | |
---|
1649 | I have <some recent SuSE distribution>, kernel 2.0.35. Using the |
---|
1650 | Compaq tells me that the modem (which is internal) is on COM2, with |
---|
1651 | the usual IRQ and port numbers. Running various Windows diagnostics |
---|
1652 | show me AT-style commands exchanged so I have no reason to beleive |
---|
1653 | that it is a Winmodem. Also, the diagnostics under Win98 tell me |
---|
1654 | that I am talking to an NS 16550AN. |
---|
1655 | |
---|
1656 | [Editor's note: This does not necessarily mean it isn't a Winmodem.] |
---|
1657 | |
---|
1658 | Under Linux, no joy trying to talk to the modem on /dev/cua1 |
---|
1659 | whether via minicom, kppp, or chat; kppp at least tells me that |
---|
1660 | tcgetattr() failed. |
---|
1661 | |
---|
1662 | Usage of setserial: |
---|
1663 | |
---|
1664 | setserial /dev/cua1 port 0x2F8 irq 3 autoconfig |
---|
1665 | setserial -g /dev/cua1 |
---|
1666 | |
---|
1667 | tells me that the uart is 'unknown'. I have tried setting the UART |
---|
1668 | manullay via. setserial to 16550A, 16550, and the other one (8550?) |
---|
1669 | (I didn't try 16540). None of these manual settings resulted in any |
---|
1670 | success. |
---|
1671 | |
---|
1672 | A look at past articles leads me to investigate PNP issues by |
---|
1673 | calling pnpdump but pnpdump returns "no boards found". I have |
---|
1674 | looked around on my BIOS (Phoenix) and there is not much evidence |
---|
1675 | of it being PNP aware. However for what it calls "Serial port A", |
---|
1676 | it offers a choice of Auto, Disabled or Manual settings (currently |
---|
1677 | set to Auto), but using the BIOS interface I tried to change to |
---|
1678 | 'manual' and saw the default settings offered to be were 0x3F8 and |
---|
1679 | IRQ 4 (COM1). The BIOS menus did not give me any chance to |
---|
1680 | configure COM2 or any "modem". I ended up not saving any BIOS |
---|
1681 | changes in the course of my investigations. |
---|
1682 | |
---|
1683 | You can also find out a fair amount about your PC's hardware |
---|
1684 | configuration in the text files in /proc, e.g.: |
---|
1685 | |
---|
1686 | -r--r--r-- 1 root 0 Sep 4 14:00 /proc/devices |
---|
1687 | -r--r--r-- 1 root 0 Sep 4 14:00 /proc/interrupts |
---|
1688 | -r--r--r-- 1 root 0 Sep 4 14:00 /proc/ioports |
---|
1689 | -r--r--r-- 1 root 0 Sep 4 14:00 /proc/pci |
---|
1690 | |
---|
1691 | From the directory listing they look like empty files, but in fact |
---|
1692 | they are text files that you "cat": |
---|
1693 | |
---|
1694 | $ cat /proc/pci |
---|
1695 | Bus 0, device 14, function 0: |
---|
1696 | Serial controller: US Robotics/3Com 56K FaxModem Model 5610 (rev 1). |
---|
1697 | IRQ 10. |
---|
1698 | I/O at 0x1050 [0x1057]. |
---|
1699 | |
---|
1700 | $ setserial -g /dev/ttyS4 |
---|
1701 | /dev/ttyS4, UART: 16550A, Port: 0x1050, IRQ: 10 |
---|
1702 | |
---|
1703 | $ cat /proc/ioports |
---|
1704 | 1050-1057 : US Robotics/3Com 56K FaxModem Model 5610 |
---|
1705 | 1050-1057 : serial(auto) |
---|
1706 | |
---|
1707 | $ cat /proc/interrupts |
---|
1708 | CPU0 |
---|
1709 | 0: 7037515 XT-PIC timer |
---|
1710 | 1: 2 XT-PIC keyboard |
---|
1711 | 2: 0 XT-PIC cascade |
---|
1712 | 4: 0 XT-PIC serial |
---|
1713 | 8: 1 XT-PIC rtc |
---|
1714 | 9: 209811 XT-PIC usb-uhci, eth0 |
---|
1715 | 14: 282015 XT-PIC ide0 |
---|
1716 | 15: 6 XT-PIC ide1 |
---|
1717 | |
---|
1718 | Watch out for PCI, PCMCIA and Plug-n-Play devices, Winmodems, and the |
---|
1719 | like (see cautions in [300]Section 3.0 Linux supports Plug-n-Play |
---|
1720 | devices to some degree via the isapnp and pnpdump programs; read the |
---|
1721 | man pages for them. (If you don't have them, look on your installation |
---|
1722 | CD for isapnptool or download it from sunsite or a sunsite mirror or |
---|
1723 | other politically correct location du jour). |
---|
1724 | |
---|
1725 | PCI modems do not use standard COM port addresses. The I/O address and |
---|
1726 | IRQ are assigned by the BIOS. All you need to do to get one working, |
---|
1727 | find out the I/O address and interrupt number with (as root) "lspci -v |
---|
1728 | | more" and then give the resulting address and interrupt number to |
---|
1729 | setserial. |
---|
1730 | |
---|
1731 | Even when you have a real serial port, always be wary of interrupt |
---|
1732 | conflicts and similar PC hardware configuration issues: a PC is not a |
---|
1733 | real computer like other Unix workstations -- it is generally pieced |
---|
1734 | together from whatever random components were the best bargain on the |
---|
1735 | commodity market the week it was built. Once it's assembled and boxed, |
---|
1736 | not even the manufacturer will remember what it's made of or how it |
---|
1737 | was put together because they've moved on to a new model. Their job is |
---|
1738 | to get it (barely) working with Windows; for Linux and other OS's you |
---|
1739 | are on your own. |
---|
1740 | |
---|
1741 | "set line /dev/modem" or "set line /dev/ttyS2", etc, results in an |
---|
1742 | error, "/dev/modem is not a tty". Cause unknown, but obviously a |
---|
1743 | driver issue, not a Kermit one (Kermit uses "isatty()" to check that |
---|
1744 | the device is a tty, so it knows it will be able to issue all the |
---|
1745 | tty-related ioctl's on it, like setting the speed & flow control). Try |
---|
1746 | a different name (i.e. driver) for the same port, e.g. "set line |
---|
1747 | /dev/cua2" or whatever. |
---|
1748 | |
---|
1749 | To find what serial ports were registered at the most recent system |
---|
1750 | boot, type (as root): "grep tty /var/log/dmesg". |
---|
1751 | |
---|
1752 | "set modem type xxx" (where xxx is the name of a modem) followed by |
---|
1753 | "set line /dev/modem" or "set |
---|
1754 | line /dev/ttyS2", etc, hangs (but can be interrupted with Ctrl-C). |
---|
1755 | Experimentation shows that if the modem is configured to always assert |
---|
1756 | carrier (&C0) the same command does not hang. Again, a driver issue. |
---|
1757 | Use /dev/cua2 (or whatever) instead. (Or not -- hopefully none of |
---|
1758 | these symptoms occurs in C-Kermit 7.0 or later.) |
---|
1759 | |
---|
1760 | "set line /dev/cua0" reports "Device is busy", but "set line |
---|
1761 | /dev/ttyS0" works OK. |
---|
1762 | |
---|
1763 | In short: If the cua device doesn't work, try the corresponding ttyS |
---|
1764 | device. If the ttyS device doesn't work, try the corresponding cua |
---|
1765 | device -- but note that Linux developers do not recommend this, and |
---|
1766 | are phasing out the cua devices. From /usr/doc/faq/howto/Serial-HOWTO: |
---|
1767 | |
---|
1768 | 12.4. What's The Real Difference Between the /dev/cuaN And /dev/ttySN |
---|
1769 | Devices? |
---|
1770 | The only difference is the way that the devices are opened. The |
---|
1771 | dialin devices /dev/ttySN are opened in blocking mode, until CD |
---|
1772 | is asserted (ie someone connects). So, when someone wants to |
---|
1773 | use the /dev/cuaN device, there is no conflict with a program |
---|
1774 | watching the /dev/ttySN device (unless someone is connected of |
---|
1775 | course). The multiple /dev entries, allow operation of the same |
---|
1776 | physical device with different operating characteristics. It |
---|
1777 | also allows standard getty programs to coexist with any other |
---|
1778 | serial program, without the getty being retrofitted with |
---|
1779 | locking of some sort. It's especially useful since standard |
---|
1780 | Unix kernel file locking, and UUCP locking are both advisory |
---|
1781 | and not mandatory. |
---|
1782 | |
---|
1783 | It was discovered during development of C-Kermit 7.0 that rebuilding |
---|
1784 | C-Kermit with -DNOCOTFMC (No Close/Open To Force Mode Change) made the |
---|
1785 | aforementioned problem with /dev/ttyS0 go away. It is not yet clear, |
---|
1786 | however, what its affect might be on the /dev/cua* devices. As of 19 |
---|
1787 | March 1998, this option has been added to the CFLAGS in the makefile |
---|
1788 | entries for Linux ("make linux"). |
---|
1789 | |
---|
1790 | Note that the cua device is now "deprecated", and new editions of |
---|
1791 | Linux will phase (have phased) it out in favor of the ttyS device. See |
---|
1792 | (if it's still there): |
---|
1793 | |
---|
1794 | [301]http://linuxwww.db.erau.edu/mail_archives/linux-kernel/Mar_98/1441.html |
---|
1795 | |
---|
1796 | (no, of course it isn't; you'll have to use your imagination). One |
---|
1797 | user reported that C-Kermit 7.0, when built with egcs 1.1.2 and run on |
---|
1798 | Linux 2.2.6 with glibc 2.1 (hardware unknown but probably a PC) dumps |
---|
1799 | core when given a "set line /dev/ttyS1" command. When rebuilt with |
---|
1800 | gcc, it works fine. |
---|
1801 | |
---|
1802 | All versions of Linux seem to have the following deficiency: When a |
---|
1803 | modem call is hung up and CD drops, Kermit can no longer read the |
---|
1804 | modem signals; SHOW COMMUNICATIONS says "Modem signals not available". |
---|
1805 | The TIOCMGET ioctl() returns -1 with errno 5 ("I/O Error"). |
---|
1806 | |
---|
1807 | The Linux version of POSIX tcsendbreak(), which is used by C-Kermit to |
---|
1808 | send regular (275msec) and long (1.5sec) BREAK signals, appears to |
---|
1809 | ignore its argument (despite its description in the man page and info |
---|
1810 | topic), and always sends a regular 275msec BREAK. This has been |
---|
1811 | observed in Linux versions ranging from Debian 2.1 to Red Hat 7.1. |
---|
1812 | ________________________________________________________________________ |
---|
1813 | |
---|
1814 | 3.3.3. Terminal Emulation in Linux |
---|
1815 | |
---|
1816 | [ [302]Top ] [ [303]Contents ] [ [304]Section Contents ] [ [305]Next ] |
---|
1817 | [ [306]Previous ] |
---|
1818 | |
---|
1819 | C-Kermit is not a terminal emulator. For a brief explanation of why |
---|
1820 | not, see [307]Section 3.0.5. For a fuller explanation, [308]ClICK |
---|
1821 | HERE. |
---|
1822 | |
---|
1823 | In Unix, terminal emulation is supplied by the Window in which you run |
---|
1824 | Kermit: the regular console screen, which provides Linux Console |
---|
1825 | "emulation" via the "console" termcap entry, or under X-Windows in an |
---|
1826 | xterm window, which gives VTxxx emulation. An xterm that includes |
---|
1827 | color ANSI and VT220 emulation is available with Xfree86: |
---|
1828 | |
---|
1829 | [309]http://dickey.his.com/xterm/xterm.html |
---|
1830 | |
---|
1831 | Before starting C-Kermit in an xterm window, you might need to tell |
---|
1832 | the xterm window's shell to "stty sane". |
---|
1833 | |
---|
1834 | To set up your PC console keyboard to send VT220 key sequences when |
---|
1835 | using C-Kermit as your communications program in an X terminal window |
---|
1836 | (if it doesn't already), create a file somewhere (e.g. in /root/) |
---|
1837 | called .xmodmaprc, containing something like the following: |
---|
1838 | |
---|
1839 | keycode 77 = KP_F1 ! Num Lock => DEC Gold (PF1) |
---|
1840 | keycode 112 = KP_F2 ! Keypad / => DEC PF1 |
---|
1841 | keycode 63 = KP_F3 ! Keypad * => DEC PF3 |
---|
1842 | keycode 82 = KP_F4 ! Keypad - => DEC PF4 |
---|
1843 | keycode 111 = Help ! Print Screen => DEC Help |
---|
1844 | keycode 78 = F16 ! Scroll Lock => DEC Do |
---|
1845 | keycode 110 = F16 ! Pause => DEC Do |
---|
1846 | keycode 106 = Find ! Insert => DEC Find |
---|
1847 | keycode 97 = Insert ! Home => DEC Insert |
---|
1848 | keycode 99 = 0x1000ff00 ! Page Up => DEC Remove |
---|
1849 | keycode 107 = Select ! Delete => DEC Select |
---|
1850 | keycode 103 = Page_Up ! End => DEC Prev Screen |
---|
1851 | keycode 22 = Delete ! Backspace sends Delete (127) |
---|
1852 | |
---|
1853 | Then put "xmodmap filename" in your .xinitrc file (in your login |
---|
1854 | directory), e.g. |
---|
1855 | |
---|
1856 | xmodmap /root/.xmodmaprc |
---|
1857 | |
---|
1858 | Of course you can move things around. Use the xev program to find out |
---|
1859 | key codes. |
---|
1860 | |
---|
1861 | Console-mode keys are mapped separately using loadkeys, and different |
---|
1862 | keycodes are used. Find out what they are with showkey. |
---|
1863 | |
---|
1864 | For a much more complete VT220/320 key mapping for [310]Xfree86 xterm, |
---|
1865 | [311]CLICK HERE. |
---|
1866 | ________________________________________________________________________ |
---|
1867 | |
---|
1868 | 3.3.4. Dates and Times |
---|
1869 | |
---|
1870 | [ [312]Top ] [ [313]Contents ] [ [314]Section Contents ] [ [315]Next ] |
---|
1871 | [ [316]Previous ] |
---|
1872 | |
---|
1873 | If C-Kermit's date-time (e.g. as shown by its DATE command) differs |
---|
1874 | from the system's date and time: |
---|
1875 | |
---|
1876 | a. Make sure the libc to which Kermit is linked is set to GMT or is |
---|
1877 | not set to any time zone. Watch out for mixed libc5/libc6 systems; |
---|
1878 | each must be set indpendently. |
---|
1879 | b. If you have changed your TZ environment variable, make sure it is |
---|
1880 | exported. This is normally done in /etc/profile or /etc/TZ. |
---|
1881 | ________________________________________________________________________ |
---|
1882 | |
---|
1883 | 3.3.5. Startup Errors |
---|
1884 | |
---|
1885 | [ [317]Top ] [ [318]Contents ] [ [319]Section Contents ] [ [320]Next ] |
---|
1886 | [ [321]Previous ] |
---|
1887 | |
---|
1888 | C-Kermit should work on all versions of Linux current through March |
---|
1889 | 2003, provided it was built on the same version you have, with the |
---|
1890 | same libraries and header files (just get the source code and "make |
---|
1891 | linux"). Binaries tend not to travel well from one Linux machine to |
---|
1892 | another, due to their many differences. There is no guarantee that a |
---|
1893 | particular C-Kermit binary will not stop working at a later date, |
---|
1894 | since Linux tends to change out from under its applications. If that |
---|
1895 | happens, rebuild C-Kermit from source. If something goes wrong with |
---|
1896 | the build process, look on the [322]C-Kermit website for a newer |
---|
1897 | version. If you have the latest version, then [323]report the problem |
---|
1898 | to us. |
---|
1899 | |
---|
1900 | Inability to transfer files in Red Hat 7.2: the typical symptom would |
---|
1901 | be if you start Kermit and tell it to RECEIVE, it fails right away |
---|
1902 | with "?/dev/tty: No such device or address" or "?Bad file descriptor". |
---|
1903 | One report says this is because of csh, and if you change your shell |
---|
1904 | to bash or other shell, it doesn't happen. Another report cite bugs in |
---|
1905 | Red Hat 7.2 Telnetd "very seldom (if ever) providing a controlling |
---|
1906 | tty, and lots of other people piled on saying they have the same |
---|
1907 | problem.") A third theory is that this happens only when Linux has |
---|
1908 | been installed without "virtual terminal support". |
---|
1909 | |
---|
1910 | A search of RedHat's errata pages shows a bug advisory (RHBA-2001-153) |
---|
1911 | issued 13 November 2001, but updated 6 December, about this same |
---|
1912 | symptom (but with tcsh and login.) Seems that login was not always |
---|
1913 | assigning a controlling TTY for the session, which would make most use |
---|
1914 | of "/dev/tty" somewhat less than useful. |
---|
1915 | |
---|
1916 | [324]http://www.redhat.com/support/errata/RHBA-2001-153.html |
---|
1917 | |
---|
1918 | Quoting: "Due to terminal handling problems in /bin/login, tcsh would |
---|
1919 | not find the controlling terminal correctly, and a shell in single |
---|
1920 | user mode would exhibit strange terminal input characteristics. This |
---|
1921 | update fixes both of these problems." |
---|
1922 | |
---|
1923 | Since the Red Hat 5.1 release (circa August 1998), there have been |
---|
1924 | numerous reports of prebuilt Linux executables, and particularly the |
---|
1925 | Kermit RPM for Red Hat Linux, not working; either it won't start at |
---|
1926 | all, or it gives error messages about "terminal type unknown" and |
---|
1927 | refuses to initialize its curses support. The following is from the |
---|
1928 | [325]Kermit newsgroup: |
---|
1929 | |
---|
1930 | From: rchandra@hal9000.buf.servtech.com |
---|
1931 | Newsgroups: comp.protocols.kermit.misc |
---|
1932 | Subject: Red Hat Linux/Intel 5.1 and ncurses: suggestions |
---|
1933 | Date: 22 Aug 1998 15:54:46 GMT |
---|
1934 | Organization: Verio New York |
---|
1935 | Keywords: RedHat RPM 5.1 |
---|
1936 | |
---|
1937 | Several factors can influence whether "linux" is recognized as a |
---|
1938 | terminal type on many Linux systems. |
---|
1939 | |
---|
1940 | 1. Your program, or the libraries it linked with (if statically |
---|
1941 | linked), or the libraries it dynamically links with at runtime, |
---|
1942 | are looking for an entry in /etc/termcap that isn't there. (not |
---|
1943 | likely, but possible... I believe but am not certain that this is |
---|
1944 | a very old practice in very old [n]curses library implementations |
---|
1945 | to use a single file for all terminal descriptions.) |
---|
1946 | 2. Your program, or the libraries...are looking for a terminfo file |
---|
1947 | that just plain isn't there. (also not so likely, since many |
---|
1948 | people in other recent message threads said that other programs |
---|
1949 | work OK). |
---|
1950 | 3. Your program, or the libraries...are looking for a terminfo file |
---|
1951 | that is stored at a pathname that isn't expected by your program, |
---|
1952 | the libraries--and so on. I forgot if I read this in the errata |
---|
1953 | Web page or where exactly I discovered this (Netscape install? |
---|
1954 | Acrobat install?), but it may just be that one libc (let's say for |
---|
1955 | sake of argument, libc5, but I don't know this to be true) expects |
---|
1956 | your terminfo to be in /usr/share/terminfo, and the other (let's |
---|
1957 | say libc6/glibc) expects /usr/lib/terminfo. I remember that the |
---|
1958 | specific instructions in this bugfix/workaround were to do the |
---|
1959 | following or equivalent: |
---|
1960 | |
---|
1961 | cd /usr/lib |
---|
1962 | ln -s ../share/terminfo ./terminfo |
---|
1963 | or: |
---|
1964 | |
---|
1965 | ln -s /usr/share/terminfo /usr/lib/terminfo |
---|
1966 | |
---|
1967 | So what this says is that the terminfo database/directory structure |
---|
1968 | can be accessed by either path. When something goes to reference |
---|
1969 | /usr/lib/terminfo, the symlink redirects it to essentially |
---|
1970 | /usr/share/terminfo, which is where it really resides on your |
---|
1971 | system. I personally prefer wherever possible to use relative |
---|
1972 | symlinks, because they still hold, more often than break, across |
---|
1973 | mount points, particularly NFS mounts, where the directory |
---|
1974 | structure may be different on the different systems. |
---|
1975 | |
---|
1976 | Evidently the terminfo file moved between Red Hat 5.0 and 5.1, but Red |
---|
1977 | Hat did not include a link to let applications built prior to 5.1 find |
---|
1978 | it. Users reported that installing the link fixes the problem. |
---|
1979 | ________________________________________________________________________ |
---|
1980 | |
---|
1981 | 3.3.6. The Fullscreen File Transfer Display |
---|
1982 | |
---|
1983 | [ [326]Top ] [ [327]Contents ] [ [328]Section Contents ] [ |
---|
1984 | [329]Previous ] |
---|
1985 | |
---|
1986 | Starting with ncurses versions dated 1998-12-12 (about a year before |
---|
1987 | ncurses 5.0), ncurses sets the terminal for buffered i/o, but |
---|
1988 | unfortunately is not able to restore it upon exit from curses (via |
---|
1989 | endwin()). Thus after a file transfer that uses the fullscreen file |
---|
1990 | transfer display, the terminal no longer echos nor responds |
---|
1991 | immediately to Tab, ?, and other special command characters. The same |
---|
1992 | thing happens on other platforms that use ncurses, e.g. FreeBSD. |
---|
1993 | Workarounds: |
---|
1994 | |
---|
1995 | * Use SET XFER DISPLAY BRIEF, CRT, SERIAL, or NONE instead of |
---|
1996 | FULLSCREEN; or: |
---|
1997 | * Rebuild with KFLAGS=-DNONOSETBUF (C-Kermit 8.0) |
---|
1998 | |
---|
1999 | In Red Hat 7.1, when using C-Kermit in a Gnome terminal window, it was |
---|
2000 | noticed that when the fullscreen file transfer display exits (via |
---|
2001 | endwin()), the previous (pre-file-transfer-display) screen is |
---|
2002 | restored. Thus you can't look at the completed display to see what |
---|
2003 | happened. This is a evidently a new feature of xterm. I can only |
---|
2004 | speculate that initscreen() and endwin() must send some kind of |
---|
2005 | special escape sequences that command xterm to save and restore the |
---|
2006 | screen. To defeat this effect, tell Linux you have a vt100 or other |
---|
2007 | xterm-compatible terminal that is not actually an xterm, or else tell |
---|
2008 | Kermit to SET TRANSFER DISPLAY to something besides FULLSCREEN. |
---|
2009 | ________________________________________________________________________ |
---|
2010 | |
---|
2011 | 3.4. C-KERMIT AND NEXTSTEP |
---|
2012 | |
---|
2013 | [ [330]Top ] [ [331]Contents ] [ [332]Section Contents ] [ [333]Next ] |
---|
2014 | [ [334]Previous ] |
---|
2015 | |
---|
2016 | Run C-Kermit in a Terminal, Stuart, or xterm window, or when logged in |
---|
2017 | remotely through a serial port or TELNET connection. C-Kermit does not |
---|
2018 | work correctly when invoked directly from the NeXTSTEP File Viewer or |
---|
2019 | Dock. This is because the terminal-oriented gtty, stty, & ioctl calls |
---|
2020 | don't work on the little window that NeXTSTEP pops up for non-NeXTSTEP |
---|
2021 | applications like Kermit. CBREAK and No-ECHO settings do not take |
---|
2022 | effect in the command parser -- commands are parsed strictly line at a |
---|
2023 | time. "set line /dev/cua" works. During CONNECT mode, the console |
---|
2024 | stays in cooked mode, so characters are not transmitted until carriage |
---|
2025 | return or linefeed is typed, and you can't escape back. If you want to |
---|
2026 | run Kermit directly from the File Viewer, then launch it from a shell |
---|
2027 | script that puts it in the desired kind of window, something like this |
---|
2028 | (for "Terminal"): |
---|
2029 | |
---|
2030 | Terminal -Lines 24 -Columns 80 -WinLocX 100 -WinLocY 100 $FONT $FONTSIZE \ |
---|
2031 | -SourceDotLogin -Shell /usr/local/bin/kermit & |
---|
2032 | |
---|
2033 | C-Kermit does not work correctly on a NeXT with NeXTSTEP 3.0 to which |
---|
2034 | you have established an rlogin connection, due to a bug in NeXTSTEP |
---|
2035 | 3.0, which has been reported to NeXT. |
---|
2036 | |
---|
2037 | The SET CARRIER command has no effect on the NeXT -- this is a |
---|
2038 | limitation of the NeXTSTEP serial-port device drivers. |
---|
2039 | |
---|
2040 | Hardware flow control on the NeXT is selected not by "set flow |
---|
2041 | rts/cts" in Kermit (since NeXTSTEP offers no API for this), but |
---|
2042 | rather, by using a specially-named driver for the serial device: |
---|
2043 | /dev/cufa instead /dev/cua; /dev/cufb instead of /dev/cub. This is |
---|
2044 | available only on 68040-based NeXT models (the situation for Intel |
---|
2045 | NeXTSTEP implementations is unknown). |
---|
2046 | |
---|
2047 | NeXT-built 68030 and 68040 models have different kinds of serial |
---|
2048 | interfaces; the 68030 has a Macintosh-like RS-422 interface, which |
---|
2049 | lacks RTS and CTS signals; the 68040 has an RS-423 (RS-232 compatible) |
---|
2050 | interface, which supports the commonly-used modem signals. WARNING: |
---|
2051 | the connectors look exactly the same, but the pins are used in |
---|
2052 | completely DIFFERENT ways -- different cables are required for the two |
---|
2053 | kinds of interfaces. |
---|
2054 | |
---|
2055 | IF YOU GET LOTS OF RETRANSMISSIONS during file transfer, even when |
---|
2056 | using a /dev/cuf* device and the modem is correctly configured for |
---|
2057 | RTS/CTS flow control, YOU PROBABLY HAVE THE WRONG KIND OF CABLE. |
---|
2058 | |
---|
2059 | On the NeXT, Kermit reportedly (by TimeMon) causes the kernel to use a |
---|
2060 | lot of CPU time when using a "set line" connection. That's because |
---|
2061 | there is no DMA channel for the NeXT serial port, so the port must |
---|
2062 | interrupt the kernel for each character in or out. |
---|
2063 | |
---|
2064 | One user reported trouble running C-Kermit on a NeXT from within |
---|
2065 | NeXT's Subprocess class under NeXTstep 3.0, and/or when rlogin'd from |
---|
2066 | one NeXT to another: Error opening /dev/tty:, congm: No such device or |
---|
2067 | address. Diagnosis: Bug in NeXTSTEP 3.0, cure unknown. |
---|
2068 | ________________________________________________________________________ |
---|
2069 | |
---|
2070 | 3.5. C-KERMIT AND QNX |
---|
2071 | |
---|
2072 | [ [335]Top ] [ [336]Contents ] [ [337]Section Contents ] [ [338]Next ] |
---|
2073 | [ [339]Previous ] |
---|
2074 | |
---|
2075 | See also: The [340]comp.os.qnx newsgroup. |
---|
2076 | |
---|
2077 | Support for QNX 4.x was added in C-Kermit 5A(190). This is a |
---|
2078 | full-function implementation, thoroughly tested on QNX 4.21 and later, |
---|
2079 | and verified to work in both 16-bit and 32-bit versions. The 16-bit |
---|
2080 | version was dropped in C-Kermit 7.0 since it can no longer be built |
---|
2081 | successfully (after stripping most most features, I succeeded in |
---|
2082 | getting it to compile and link without complaint, but the executable |
---|
2083 | just beeps when you run it); for 16-bit QNX 4.2x, use C-Kermit 6.0 or |
---|
2084 | earlier, or else [341]G-Kermit. |
---|
2085 | |
---|
2086 | The 32-bit version (and the 16-bit version prior to C-Kermit 7.0) |
---|
2087 | supports most of C-Kermit's advanced features including TCP/IP, high |
---|
2088 | serial speeds, hardware flow-control, modem-signal awareness, curses |
---|
2089 | support, etc. |
---|
2090 | |
---|
2091 | BUG: In C-Kermit 6.0 on QNX 4.22 and earlier, the fullscreen file |
---|
2092 | transfer display worked fine the first time, but was fractured on |
---|
2093 | subsequent file transfers. Cause and cure unknown. In C-Kermit 7.0 and |
---|
2094 | QNX 4.25, this no longer occurs. It is not known if it would occur in |
---|
2095 | C-Kermit 7.0 or later on earlier QNX versions. |
---|
2096 | |
---|
2097 | Dialout devices are normally /dev/ser1, /dev/ser2, ..., and can be |
---|
2098 | opened explicitly with SET LINE. Reportedly, "/dev/ser" (no unit |
---|
2099 | number) opens the first available /dev/sern device. |
---|
2100 | |
---|
2101 | Like all other Unix C-Kermit implementations, QNX C-Kermit does not |
---|
2102 | provide any kind of terminal emulation. Terminal specific functions |
---|
2103 | are provided by your terminal, terminal window (e.g. QNX Terminal or |
---|
2104 | xterm), or emulator. |
---|
2105 | |
---|
2106 | QNX C-Kermit, as distributed, does not include support for UUCP |
---|
2107 | line-locking; the QNX makefile entries (qnx32 and qnx16) include the |
---|
2108 | -DNOUUCP switch. This is because QNX, as distributed, does not include |
---|
2109 | UUCP, and its own communications software (e.g. qterm) does not use |
---|
2110 | UUCP line locking. If you have a UUCP product installed on your QNX |
---|
2111 | system, remove the -DNOUUCP switch from the makefile entry and |
---|
2112 | rebuild. Then check to see that Kermit's UUCP lockfile conventions are |
---|
2113 | the same as those of your UUCP package; if not, read the [342]UUCP |
---|
2114 | lockfile section of the [343]Installation Instructions and make the |
---|
2115 | necessary changes to the makefile entry (e.g. add -DHDBUUCP). |
---|
2116 | |
---|
2117 | QNX does, however, allow a program to get the device open count. This |
---|
2118 | can not be a reliable form of locking unless all applications do it, |
---|
2119 | so by default, Kermit uses this information only for printing a |
---|
2120 | warning message such as: |
---|
2121 | |
---|
2122 | C-Kermit>set line /dev/ser1 |
---|
2123 | WARNING - "/dev/ser1" looks busy... |
---|
2124 | |
---|
2125 | However, if you want to use it as a lock, you can do so with: |
---|
2126 | |
---|
2127 | SET QNX-PORT-LOCK { ON, OFF } |
---|
2128 | |
---|
2129 | This is OFF by default; if you set in ON, C-Kermit will fail to open |
---|
2130 | any dialout device when its open count indicates that another process |
---|
2131 | has it open. SHOW COMM (in QNX only) displays the setting, and if you |
---|
2132 | have a port open, it also shows the open count. |
---|
2133 | |
---|
2134 | As of C-Kermit 8.0, C-Kermit's "open-count" form of line locking works |
---|
2135 | only in QNX4, not in QNX6 (this might change in a future C-Kermit |
---|
2136 | release). |
---|
2137 | ________________________________________________________________________ |
---|
2138 | |
---|
2139 | 3.6. C-KERMIT AND SCO |
---|
2140 | |
---|
2141 | [ [344]Top ] [ [345]Contents ] [ [346]Section Contents ] [ [347]Next ] |
---|
2142 | [ [348]Previous ] |
---|
2143 | |
---|
2144 | SECTION CONTENTS |
---|
2145 | |
---|
2146 | 3.6.1. [349]SCO XENIX |
---|
2147 | 3.6.2. [350]SCO UNIX and OSR5 |
---|
2148 | 3.6.3. [351]Unixware |
---|
2149 | 3.6.4. [352]Open UNIX 8 |
---|
2150 | |
---|
2151 | REFERENCES |
---|
2152 | |
---|
2153 | * The comp.unix.sco.* newsgroups. |
---|
2154 | * [353]Section 3.10 below for Unixware. |
---|
2155 | * The following FAQs: |
---|
2156 | |
---|
2157 | The comp.sco.misc FAQ: |
---|
2158 | [354]http://aplawrence.com/SCOFAQ/ |
---|
2159 | |
---|
2160 | Caldera (SCO) comp.unix.sco.programmer FAQ: |
---|
2161 | [355]http://www.zenez.com/cgi-bin/scoprogfaq/faq.pl |
---|
2162 | |
---|
2163 | The UnixWare 7/OpenUNIX 8 FAQ: |
---|
2164 | [356]http://www.zenez.com/cgi-bin/scouw7faq/faq.pl |
---|
2165 | [357]http://zenez.pcunix.com/cgi-bin/scouw7faq/faq.pl |
---|
2166 | |
---|
2167 | High Speed Modems for SCO Unix: |
---|
2168 | [358]http://pcunix.com/Unixart/modems.html |
---|
2169 | |
---|
2170 | The UnixWare FAQ |
---|
2171 | [359]http://www.freebird.org/faq/ |
---|
2172 | |
---|
2173 | The UnixWare 1.x and 2.0 Programmer FAQ |
---|
2174 | [360]http://www.freebird.org/faq/developer.html |
---|
2175 | |
---|
2176 | Caldera Support Knowledge Base |
---|
2177 | [361]http://support.caldera.com/caldera |
---|
2178 | |
---|
2179 | [362]http://stage.caldera.com/ta/ |
---|
2180 | Caldera (SCO) Technical Article Search Center |
---|
2181 | |
---|
2182 | [363]http://aplawrence.com/newtosco.html |
---|
2183 | New to SCO (Tony Lawrence) |
---|
2184 | |
---|
2185 | Also see general comments on PC-based Unixes in [364]Section 3.0. |
---|
2186 | |
---|
2187 | 3.6.1. SCO XENIX |
---|
2188 | |
---|
2189 | [ [365]Top ] [ [366]Contents ] [ [367]Section Contents ] [ [368]Next ] |
---|
2190 | |
---|
2191 | Old Xenix versions... Did you know: Xenix 3.0 is *older* than Xenix |
---|
2192 | 2.0? |
---|
2193 | |
---|
2194 | In Xenix 2.3.4 and probably other Xenix versions, momentarily dropping |
---|
2195 | DTR to hang up a modem does not work. DTR goes down but does not come |
---|
2196 | up again. Workaround: Use SET MODEM HANGUP-METHOD MODEM-COMMAND. |
---|
2197 | Anybody who would like to fix this is welcome to take a look at |
---|
2198 | tthang() in [369]ckutio.c. Also: modem signals can not be read in |
---|
2199 | Xenix, and the maximum serial speed is 38400. |
---|
2200 | |
---|
2201 | There is all sorts of confusion among SCO versions, particularly when |
---|
2202 | third- party communications boards and drivers are installed, |
---|
2203 | regarding lockfile naming conventions, as well as basic functionality. |
---|
2204 | As far as lockfiles go, all bets are off if you are using a |
---|
2205 | third-party multiport board. At least you have the source code. |
---|
2206 | Hopefully you also have a C compiler :-) |
---|
2207 | |
---|
2208 | Xenix 2.3.0 and later claim to support RTSFLOW and CTSFLOW, but this |
---|
2209 | is not modern bidirectional hardware flow control; rather it |
---|
2210 | implements the original RS-232 meanings of these signals for |
---|
2211 | unidirectional half-duplex line access: If both RTSFLOW and CTSFLOW |
---|
2212 | bits are set, Xenix asserts RTS when it wants to send data and waits |
---|
2213 | for CTS assertion before it actually starts sending data (also, |
---|
2214 | reportedly, even this is broken in Xenix 2.3.0 and 2.3.1). |
---|
2215 | ________________________________________________________________________ |
---|
2216 | |
---|
2217 | 3.6.2. SCO UNIX AND OSR5 |
---|
2218 | |
---|
2219 | [ [370]Top ] [ [371]Contents ] [ [372]Section Contents ] [ [373]Next ] |
---|
2220 | [ [374]Previous ] |
---|
2221 | |
---|
2222 | SCO systems tend to use different names (i.e. drivers) for the same |
---|
2223 | device. Typically /dev/tty1a refers to a terminal device that has no |
---|
2224 | modem control; open, read, write, and close operations do not depend |
---|
2225 | on carrier. On the other hand, /dev/tty1A (same name, but with final |
---|
2226 | letter upper case), is the same device with modem control, in which |
---|
2227 | carrier is required (the SET LINE command does not complete until |
---|
2228 | carrier appears, read/write operations fail if there is no carrier, |
---|
2229 | etc). |
---|
2230 | |
---|
2231 | SCO OpenServer 5.0.5 and earlier do not support the reading of modem |
---|
2232 | signals. Thus "show comm" does not list modem signals, and C-Kermit |
---|
2233 | does not automatically pop back to its prompt when the modem hangs up |
---|
2234 | the connection (drops CD). The ioctl() call for this is simply not |
---|
2235 | implmented, at least not in the standard drivers. OSR5.0.6 attempts to |
---|
2236 | deal with modem signals but fails; however OSR5.0.6a appears to |
---|
2237 | function properly. |
---|
2238 | |
---|
2239 | Dialing is likely not to work well in SCO OpenServer 5.0.x because |
---|
2240 | many of the serial-port APIs simply do not operate when using the |
---|
2241 | standard drivers. For example, if DTR is dropped by the recommended |
---|
2242 | method (setting speed to 0 for half a seconds, then restoring the |
---|
2243 | speed), DTR and RTS go down but never come back up. When in doubt SET |
---|
2244 | MODEM HANGUP-METHOD MODEM-COMMAND or SET DIAL HANGUP OFF. |
---|
2245 | |
---|
2246 | On the other hand, certain functions that might not (do not) work |
---|
2247 | right or at all when using SCO drivers (e.g. high serial speeds, |
---|
2248 | hardware flow control, and/or reading of modem signals) might work |
---|
2249 | right when using third-party drivers. (Example: hardware flow control |
---|
2250 | works, reportedly, only on uppercase device like tty1A -- not tty1a -- |
---|
2251 | and only when CLOCAL is clear when using the SCO sio driver, but there |
---|
2252 | are no such restrictions in, e.g., [375]Digiboard drivers). |
---|
2253 | |
---|
2254 | One user reports that he can't transfer large files with C-Kermit |
---|
2255 | under SCO OSR5.0.0 and 5.0.4 -- after the first 5K, everything falls |
---|
2256 | apart. Same thing without Kermit -- e.g. with ftp over a PPP |
---|
2257 | connection. Later, he said that replacing SCO's SIO driver with FAS, |
---|
2258 | an alternative communications driver, made the problem go away: |
---|
2259 | |
---|
2260 | [376]ftp://ftp.fu-berlin.de/pub/unix/driver/fas |
---|
2261 | |
---|
2262 | With regard to bidirectional serial ports on OpenServer 5.0.4, the |
---|
2263 | following advice appeared on an SCO-related newsgroup: |
---|
2264 | |
---|
2265 | No amount of configuration information is going to help you on |
---|
2266 | 5.0.4 unless it includes the kludge for the primary problem. With |
---|
2267 | almost every modem, the 5.0.4 getty will barf messages and may or |
---|
2268 | may not connect. There are 2 solutions and only one works on 5.0.4. |
---|
2269 | Get the atdialer binary from a 5.0.0 system and substitute it for |
---|
2270 | the native 5.0.4 atdialer. The other solution is to upgrade to |
---|
2271 | 5.0.5. And, most of all, on any OpenServer products, do NOT run the |
---|
2272 | badly broken Modem Manager. Configure the modems in the time |
---|
2273 | honored way that dates back to Xenix. |
---|
2274 | |
---|
2275 | Use SCO-provided utilities for switching the directionality of a modem |
---|
2276 | line, such as "enable" and "disable" commands. For example, to dial |
---|
2277 | out on tty1a, which is normally set up for logins: |
---|
2278 | |
---|
2279 | disable tty1a |
---|
2280 | kermit -l /dev/tty1a |
---|
2281 | enable tty1a |
---|
2282 | |
---|
2283 | If a tty device is listed as an ACU in /usr/lib/uucp/Devices and is |
---|
2284 | enabled, getty resets the ownership and permissions to uucp.uucp and |
---|
2285 | 640 every time the device is released. If you want to use the device |
---|
2286 | only for dialout, and you want to specify other owners or permissions, |
---|
2287 | you should disable it in /usr/lib/uucp/Devices; this will prevent |
---|
2288 | getty from doing things to it. You should also changes the device's |
---|
2289 | file modes in /etc/conf/node.d/sio by changing fields 5-7 for the |
---|
2290 | desired device(s); this determines how the devices are set if you |
---|
2291 | relink the kernel. |
---|
2292 | |
---|
2293 | One SCO user of C-Kermit 5A(190) reported that only one copy of Kermit |
---|
2294 | can run at a time when a Stallion Technologies multiport boards are |
---|
2295 | installed. Cause, cure, and present status unknown (see [377]Section |
---|
2296 | 14 for more info regarding Stallion). |
---|
2297 | |
---|
2298 | Prior to SCO OpenServer 5.0.4, the highest serial port speed supported |
---|
2299 | by SCO was 38400. However, in some SCO versions (e.g. OSR5) it is |
---|
2300 | possible to map rarely-used lower speeds (like 600 and 1800) to higher |
---|
2301 | ones like 57600 and 115200. To find out how, go to |
---|
2302 | [378]http://www.sco.com/ and search for "115200". In OSR5.0.4, serial |
---|
2303 | speeds up to 921600 are supported through the POSIX interface; |
---|
2304 | C-Kermit 6.1.193 or later, when built for OSR5.0.4 using /bin/cc (NOT |
---|
2305 | the UDK, which hides the high-speed definitions from CPP), supports |
---|
2306 | these speeds, but you might be able to run this binary on earlier |
---|
2307 | releases to get the high serial speeds, depending on various factors, |
---|
2308 | described by Bela Lubkin of SCO: |
---|
2309 | |
---|
2310 | Serial speeds under SCO Unix / Open Desktop / OpenServer |
---|
2311 | ======================================================== |
---|
2312 | Third party drivers (intelligent serial boards) may provide any speeds |
---|
2313 | they desire; most support up to 115.2Kbps. |
---|
2314 | |
---|
2315 | SCO's "sio" driver, which is used to drive standard serial ports with |
---|
2316 | 8250/16450/16550 and similar UARTs, was limited to 38400bps in older |
---|
2317 | releases. Support for rates through 115.2Kbps was added in the |
---|
2318 | following releases: |
---|
2319 | |
---|
2320 | SCO OpenServer Release 5.0.0 (requires supplement "rs40b") |
---|
2321 | SCO OpenServer Release 5.0.2 (requires supplement "rs40a" or "rs40b") |
---|
2322 | SCO OpenServer Release 5.0.4 or later |
---|
2323 | SCO Internet FastStart Release 1.0.0 or later |
---|
2324 | |
---|
2325 | SCO supplements are at [379]ftp://ftp.sco.com/; the "rs40" series are |
---|
2326 | under directory /Supplements/internet |
---|
2327 | |
---|
2328 | Kermit includes the high serial speeds in all OSR5 builds, but that |
---|
2329 | does not necessarily mean they work. For example, on our in-house |
---|
2330 | 5.0.5 system, SET SPEED 57600 or higher seems to succeed (no error |
---|
2331 | occurs) but when we read the speed back the driver says it is 50. |
---|
2332 | Similarly, 76800 becomes 75, and 115200 becomes 110. Testing shows the |
---|
2333 | resulting speed is indeed the low one we read back, not the high one |
---|
2334 | we asked for. Moral: Use speeds higher than 38400 with caution on SCO |
---|
2335 | OSR5. |
---|
2336 | |
---|
2337 | Reportedly, if you have a script that makes a TCP/IP SET HOST (e.g. |
---|
2338 | Telnet) connection to SCO 3.2v4.2 with TCP/IP 1.2.1, and then does the |
---|
2339 | following: |
---|
2340 | |
---|
2341 | script $ exit |
---|
2342 | hangup |
---|
2343 | |
---|
2344 | this causes a pseudoterminal (pty) to be consumed on the SCO system; |
---|
2345 | if you do it enough times, it will run out of ptys. An "exit" command |
---|
2346 | is being sent to the SCO shell, and a HANGUP command is executed |
---|
2347 | locally, so the chances are good that both sides are trying to close |
---|
2348 | the connection at once, perhaps inducing a race condition in which the |
---|
2349 | remote pty is not released. It was speculated that this would be fixed |
---|
2350 | by applying SLS net382e, but it did not. Meanwhile, the workaround is |
---|
2351 | to insert a "pause" between the SCRIPT and HANGUP commands. (The |
---|
2352 | situation with later SCO releases is not known.) |
---|
2353 | |
---|
2354 | SCO UNIX and OpenServer allow their console and/or terminal drivers to |
---|
2355 | be configured to translate character sets for you. DON'T DO THIS WHEN |
---|
2356 | USING KERMIT! First of all, you don't need it -- Kermit itself already |
---|
2357 | does this for you. And second, it will (a) probably ruin the |
---|
2358 | formatting of your screens (depending on which emulation you are |
---|
2359 | using); and (b) interfere with all sorts of other things -- legibility |
---|
2360 | of non-ASCII text on the terminal screen, file transfer, etc. Use: |
---|
2361 | |
---|
2362 | mapchan -n |
---|
2363 | |
---|
2364 | to turn off this feature. |
---|
2365 | |
---|
2366 | Note that there is a multitude of SCO entries in the makefile, many of |
---|
2367 | them exhibiting an unusually large number of compiler options. Some |
---|
2368 | people actually understand all of this. Reportedly, things are |
---|
2369 | settling down with SCO OpenServer 5.x and Unixware 7 (and Open UNIX 8 |
---|
2370 | and who knows what the next one will be -- Linux probably) -- the SCO |
---|
2371 | UDK compiler is said to generate binaries that will run on either |
---|
2372 | platform, by default, automatically. When using gcc or egcs, on the |
---|
2373 | other hand, differences persist, plus issues regarding the type of |
---|
2374 | binary that is generated (COFF, ELF, etc), and where and how it can |
---|
2375 | run. All of this could stand further clarification by SCO experts. |
---|
2376 | ________________________________________________________________________ |
---|
2377 | |
---|
2378 | 3.6.3. Unixware |
---|
2379 | |
---|
2380 | [ [380]Top ] [ [381]Contents ] [ [382]Section Contents ] [ [383]Next ] |
---|
2381 | [ [384]Previous ] |
---|
2382 | |
---|
2383 | Unixware changed hands several times before landing at SCO, and so has |
---|
2384 | its [385]own section in this document. (Briefly: AT&T UNIX Systems |
---|
2385 | Laboratories sold the rights to the UNIX name and to System V R4 (or |
---|
2386 | R5?) to Novell; later Novell spun its UNIX division off into a new |
---|
2387 | company called Univel, which eventually was bought by SCO, which later |
---|
2388 | was bought by Caldera, which later sort of semi-spun-off SCO...) |
---|
2389 | ________________________________________________________________________ |
---|
2390 | |
---|
2391 | 3.6.4. Open UNIX 8 |
---|
2392 | |
---|
2393 | [ [386]Top ] [ [387]Contents ] [ [388]Section Contents ] [ |
---|
2394 | [389]Previous ] |
---|
2395 | |
---|
2396 | SCO was bought by Caldera in 2000 or 2001 and evolved Unixware 7.1 |
---|
2397 | into Caldera Open UNIX 8.00. It's just like Unixware 7.1 as far as |
---|
2398 | Kermit is concerned (the Unixware 7.1 makefile target works for Open |
---|
2399 | UNIX 8.00, and in fact a Unixware 7.1 Kermit binary built on Unixware |
---|
2400 | 7.1 runs under OU8; a separate OU8 makefile target exists simply to |
---|
2401 | generate an appropriate program startup herald). Open Unix is now |
---|
2402 | defunct; subsequent releases are called UnixWare again (e.g. UnixWare |
---|
2403 | 7.1.3). |
---|
2404 | ________________________________________________________________________ |
---|
2405 | |
---|
2406 | 3.7. C-KERMIT AND SOLARIS |
---|
2407 | |
---|
2408 | [ [390]Top ] [ [391]Contents ] [ [392]Section Contents ] [ [393]Next ] |
---|
2409 | [ [394]Previous ] |
---|
2410 | |
---|
2411 | SECTION CONTENTS |
---|
2412 | |
---|
2413 | 3.7.1. [395]Serial Port Configuration |
---|
2414 | 3.7.2. [396]Serial Port Problems |
---|
2415 | 3.7.3. [397]SunLink X.25 |
---|
2416 | 3.7.4. [398]Sun Workstation Keyboard Mapping |
---|
2417 | 3.7.5. [399]Solaris 2.4 and Earlier |
---|
2418 | |
---|
2419 | REFERENCES |
---|
2420 | |
---|
2421 | * The [400]comp.unix.solaris newsgroup |
---|
2422 | * [401]http://access1.sun.com/ |
---|
2423 | * [402]http://docs.sun.com/ |
---|
2424 | * [403]http://www.sunhelp.com/ |
---|
2425 | * [404]http://www.wins.uva.nl/pub/solaris/solaris2/ |
---|
2426 | * [405]http://www.wins.uva.nl/cgi-bin/sfaq.cgi |
---|
2427 | * [406]ftp://ftp.wins.uva.nl/pub/solaris |
---|
2428 | * [407]http://www.science.uva.nl/pub/solaris/solaris2.html |
---|
2429 | |
---|
2430 | And about serial communications in particular, see "Celeste's Tutorial |
---|
2431 | on Solaris 2.x Modems and Terminals": |
---|
2432 | |
---|
2433 | [408]http://www.stokely.com/ |
---|
2434 | |
---|
2435 | In particular: |
---|
2436 | |
---|
2437 | [409]http://www.stokely.com/unix.sysadm.resources/faqs.sun.html |
---|
2438 | |
---|
2439 | For PC-based Solaris, also see general comments on PC-based Unixes in |
---|
2440 | [410]Section 3.0. Don't expect Solaris or any other kind of Unix to |
---|
2441 | work right on a PC until you resolve all interrupt conflicts. Don't |
---|
2442 | expect to be able to use COM3 or COM4 (or even COM2) until you have |
---|
2443 | configured their addresses and interrupts. |
---|
2444 | ________________________________________________________________________ |
---|
2445 | |
---|
2446 | 3.7.1. Serial Port Configuration |
---|
2447 | |
---|
2448 | [ [411]Top ] [ [412]Contents ] [ [413]Section Contents ] [ |
---|
2449 | [414]Section Contents ] [ [415]Next ] |
---|
2450 | |
---|
2451 | Your serial port can't be used -- or at least won't work right -- |
---|
2452 | until it is enabled in Solaris. For example, you get a message like |
---|
2453 | "SERIAL: Operation would block" when attempting to dial. This probably |
---|
2454 | indicates that the serial port has not been enabled for use with |
---|
2455 | modems. You'll need to follow the instructions in your system setup or |
---|
2456 | management manual, such as (e.g.) the Desktop SPARC Sun System & |
---|
2457 | Network Manager's Guide, which should contain a section "Setting up |
---|
2458 | Modem Software"; read it and follow the instructions. These might (or |
---|
2459 | might not) include running a program called "eeprom", editing some |
---|
2460 | system configuration file (such as, for example: |
---|
2461 | |
---|
2462 | /platform/i86pc/kernel/drv/asy.conf |
---|
2463 | |
---|
2464 | and then doing a configuration reboot, or running some other programs |
---|
2465 | like drvconfig and devlinks. "man eeprom" for details. |
---|
2466 | |
---|
2467 | Also, on certain Sun models like IPC, the serial port hardware might |
---|
2468 | need to have a jumper changed to make it an RS-232 port rather than |
---|
2469 | RS-423. |
---|
2470 | |
---|
2471 | eeprom applies only to real serial ports, not to "Spiff" devices |
---|
2472 | (serial port expander), in which case setup with Solaris' admintool is |
---|
2473 | required. |
---|
2474 | |
---|
2475 | Another command you might need to use is pmadm, e.g.: |
---|
2476 | |
---|
2477 | pmadm -d -p zsmon -s tty3 |
---|
2478 | pmadm -e -p zsmon -s tty3 |
---|
2479 | |
---|
2480 | You can use the following command to check if a process has the device |
---|
2481 | open: |
---|
2482 | |
---|
2483 | fuser -f /dev/term/3 |
---|
2484 | |
---|
2485 | In some cases, however (according to Sun support, May 2001) "It is |
---|
2486 | still possible that a zombie process has hold of the port EVEN IF |
---|
2487 | there is no lock file and the fuser command comes up empty. In that |
---|
2488 | case, the only way to resolve the problem is by rebooting." |
---|
2489 | |
---|
2490 | If you can't establish communication through a serial port to a device |
---|
2491 | that is not asserting CD (Carrier Detect), try setting the environment |
---|
2492 | variable "ttya-ignore-cd" to "true" (replace "ttya" with the port |
---|
2493 | name). |
---|
2494 | ________________________________________________________________________ |
---|
2495 | |
---|
2496 | 3.7.2. Serial Port Problems |
---|
2497 | |
---|
2498 | [ [416]Top ] [ [417]Contents ] [ [418]Section Contents ] [ [419]Next ] |
---|
2499 | [ [420]Previous ] |
---|
2500 | |
---|
2501 | Current advice from Sun is to always the /dev/cua/x devices for |
---|
2502 | dialing out, rather than the /dev/term/x. Nevertheless, if you have |
---|
2503 | trouble dialing out with one, try the other. |
---|
2504 | |
---|
2505 | Reportedly, if you start C-Kermit and "set line" to a port that has a |
---|
2506 | modem connected to it that is not turned on, and then "set flow |
---|
2507 | rts/cts", there might be some (unspecified) difficulties closing the |
---|
2508 | device because the CTS signal is not coming in from the modem. |
---|
2509 | ________________________________________________________________________ |
---|
2510 | |
---|
2511 | 3.7.3. SunLink X.25 |
---|
2512 | |
---|
2513 | [ [421]Top ] [ [422]Contents ] [ [423]Section Contents ] [ [424]Next ] |
---|
2514 | [ [425]Previous ] |
---|
2515 | |
---|
2516 | The built-in SunLink X.25 support for Solaris 2.3/2.4./25 and SunLink |
---|
2517 | 8.01 or 9.00 works OK provided the X.25 system has been installed and |
---|
2518 | initialized properly. Packet sizes might need to be reduced to 256, |
---|
2519 | maybe even less, depending on the configuration of the X.25 |
---|
2520 | installation. On one connection where C-Kermit 6.0 was tested, very |
---|
2521 | large packets and window sizes could be used in one direction, but |
---|
2522 | only very small ones would work in the other. |
---|
2523 | |
---|
2524 | In any case, according to Sun, C-Kermit's X.25 support is superfluous |
---|
2525 | with SunLink 8.x / Solaris 2.3. Quoting an anonymous Sun engineer: |
---|
2526 | |
---|
2527 | ... there is now no need to include any X.25 code within kermit. As |
---|
2528 | of X.25 8.0.1 we support the use of kermit, uucp and similar |
---|
2529 | protocols over devices of type /dev/xty. This facility was there in |
---|
2530 | 8.0, and should also work on the 8.0 release if patch 101524 is |
---|
2531 | applied, but I'm not 100% sure it will work in all cases, which is |
---|
2532 | why we only claim support from 8.0.1 onwards. |
---|
2533 | |
---|
2534 | When configuring X.25, on the "Advanced Configuration->Parameters" |
---|
2535 | screen of the x25tool you can select a number of XTY devices. If |
---|
2536 | you set this to be > 1, press Apply, and reboot, you will get a |
---|
2537 | number of /dev/xty entries created. |
---|
2538 | |
---|
2539 | Ignore /dev/xty0, it is a special case. All the others can be used |
---|
2540 | exactly as if they were a serial line (e.g. /dev/tty) connected to |
---|
2541 | a modem, except that instead of using Hayes-style commands, you use |
---|
2542 | PAD commands. |
---|
2543 | |
---|
2544 | From kermit you can do a 'set line' command to, say, /dev/xty1, |
---|
2545 | then set your dialing command to be "CALL 12345678", etc. All the |
---|
2546 | usual PAD commands will work (SET, PAR, etc). |
---|
2547 | |
---|
2548 | I know of one customer in Australia who is successfully using this, |
---|
2549 | with kermit scripts, to manage some X.25-connected switches. He |
---|
2550 | used standard kermit, compiled for Solaris 2, with X.25 8.0 xty |
---|
2551 | devices. |
---|
2552 | ________________________________________________________________________ |
---|
2553 | |
---|
2554 | 3.7.4. Sun Workstation Keyboard Mapping |
---|
2555 | |
---|
2556 | [ [426]Top ] [ [427]Contents ] [ [428]Section Contents ] [ [429]Next ] |
---|
2557 | [ [430]Previous ] |
---|
2558 | |
---|
2559 | Hints for using a Sun workstation keyboard for VT emulation when |
---|
2560 | accessing VMS, from the [431]comp.os.vms newsgroup: |
---|
2561 | |
---|
2562 | From: Jerry Leichter <leichter@smarts.com> |
---|
2563 | Newsgroups: comp.os.vms |
---|
2564 | Subject: Re: VT100 keyboard mapping to Sun X server |
---|
2565 | Date: Mon, 19 Aug 1996 12:44:21 -0400 |
---|
2566 | |
---|
2567 | > I am stuck right now using a Sun keyboard (type 5) on systems |
---|
2568 | running SunOS |
---|
2569 | > and Solaris. I would like to use EVE on an OpenVMS box with |
---|
2570 | display back to |
---|
2571 | > the Sun. Does anyone know of a keyboard mapping (or some other |
---|
2572 | procedure) |
---|
2573 | > which will allow the Sun keyboard to approximate a VT100/VT220? |
---|
2574 | |
---|
2575 | You can't get it exactly - because the keypad has one fewer key - |
---|
2576 | but you can come pretty close. Here's a set of keydefs I use: |
---|
2577 | |
---|
2578 | keycode 101=KP_0 |
---|
2579 | keycode 119=KP_1 |
---|
2580 | keycode 120=KP_2 |
---|
2581 | keycode 121=KP_3 |
---|
2582 | keycode 98=KP_4 |
---|
2583 | keycode 99=KP_5 |
---|
2584 | keycode 100=KP_6 |
---|
2585 | keycode 75=KP_7 |
---|
2586 | keycode 76=KP_8 |
---|
2587 | keycode 77=KP_9 |
---|
2588 | keycode 52=KP_F1 |
---|
2589 | keycode 53=KP_F2 |
---|
2590 | keycode 54=KP_F3 |
---|
2591 | keycode 57=KP_Decimal |
---|
2592 | keycode 28=Left |
---|
2593 | keycode 29=Right |
---|
2594 | keycode 30=KP_Separator |
---|
2595 | keycode 105=KP_F4 |
---|
2596 | keycode 78=KP_Subtract |
---|
2597 | keycode 8=Left |
---|
2598 | keycode 10=Right |
---|
2599 | keycode 32=Up |
---|
2600 | keycode 33=Down |
---|
2601 | keycode 97=KP_Enter |
---|
2602 | |
---|
2603 | Put this in a file - I use "keydefs" in my home directory and feed |
---|
2604 | it into xmodmap: |
---|
2605 | |
---|
2606 | xmodmap - <$HOME/keydefs |
---|
2607 | |
---|
2608 | This takes care of the arrow keys and the "calculator" key cluster. |
---|
2609 | The "+" key will play the role of the DEC "," key. The Sun "-" key |
---|
2610 | will be like the DEC "-" key, though it's in a physically different |
---|
2611 | position - where the DEC PF4 key is. The PF4 key is ... damn, I'm |
---|
2612 | not sure where "key 105" is. I *think* it may be on the leftmost |
---|
2613 | key of the group of four just above the "calculator" key cluster. |
---|
2614 | |
---|
2615 | I also execute the following (this is all in my xinitrc file): |
---|
2616 | |
---|
2617 | xmodmap -e 'keysym KP_Decimal = KP_Decimal' |
---|
2618 | xmodmap -e 'keysym BackSpace = Delete BackSpace' \ |
---|
2619 | -e 'keysym Delete = BackSpace Delete' |
---|
2620 | xmodmap -e 'keysym KP_Decimal = Delete Delete KP_Decimal' |
---|
2621 | xmodmap -e 'add mod1 = Meta_R' |
---|
2622 | xmodmap -e 'add mod1 = Meta_L' |
---|
2623 | |
---|
2624 | Beware of one thing about xmodmap: Keymap changes are applied to |
---|
2625 | the *whole workstation*, not just to individual windows. There is, |
---|
2626 | in fact, no way I know of to apply them to individual windows. |
---|
2627 | These definitions *may* confuse some Unix programs (and/or some |
---|
2628 | Unix users). |
---|
2629 | |
---|
2630 | If you're using Motif, you may also need to apply bindings at the |
---|
2631 | Motif level. If just using xmodmap doesn't work, I can try and dig |
---|
2632 | that stuff up for you. |
---|
2633 | ________________________________________________________________________ |
---|
2634 | |
---|
2635 | 3.7.5. Solaris PPP Connections |
---|
2636 | |
---|
2637 | [ [432]Top ] [ [433]Contents ] [ [434]Section Contents ] [ [435]Next ] |
---|
2638 | [ [436]Previous ] |
---|
2639 | |
---|
2640 | The following is a report from a user of C-Kermit 8.0 on Solaris 8 and |
---|
2641 | 9, who had complained that while Kermit file transfers worked |
---|
2642 | perfectly on direct (non-PPP) dialout connections, they failed |
---|
2643 | miserably on PPP connections. We suggested that the PPP dialer |
---|
2644 | probably was not setting the port and/or modem up in the same way that |
---|
2645 | Kermit did: |
---|
2646 | |
---|
2647 | I want to get back on this and tell you what the resolution was. |
---|
2648 | You pointed me in the direction of flow control, which turned out |
---|
2649 | to be the key. |
---|
2650 | |
---|
2651 | Some discussion on the comp.unix.solaris newsgroup led to some |
---|
2652 | comments from Greg Andrews about the need to use the uucp driver to |
---|
2653 | talk to the modem (/dev/cua/a). I had to remind Greg that no matter |
---|
2654 | what the manpages for the zs and se drivers say, the ppp that Sun |
---|
2655 | released with Solaris 8 7/01, and has in Solaris 9, is a setuid |
---|
2656 | root program, and simply trying to make a pppd call from user space |
---|
2657 | specifying /dev/cua/a would fail because of permissions. Greg |
---|
2658 | finally put the question to the ppp people, who came back with |
---|
2659 | information that is not laid out anywhere in the docs available for |
---|
2660 | Solaris users. Namely, put /dev/cua/a in one of the priviledged |
---|
2661 | options files in the /etc/ppp directory. That, plus resetting the |
---|
2662 | OBP ttya-ignore-cd flag (this is Sun hardware) to false, seems to |
---|
2663 | have solved the problems. |
---|
2664 | |
---|
2665 | While I note that I had installed Kermit suid to uucp to use |
---|
2666 | /dev/cua/a on this particular box, it seems to run fine through |
---|
2667 | /dev/term/a. Not so with pppd. |
---|
2668 | |
---|
2669 | With this change in place, I seem to be able to upload and download |
---|
2670 | through telnet run on Kermit with the maximum length packets. I |
---|
2671 | note that the window allocation display does show STREAMING, using |
---|
2672 | telnet. Running ssh on Kermit, I see the standard 1 of 30 windows |
---|
2673 | display, and note that there appears to be a buffer length limit |
---|
2674 | between 1000 and 2000 bytes. Run with 1000, and it's tick-tock, |
---|
2675 | solid as a rock. With 2000 I see timeout errors and RTS/CTS action |
---|
2676 | on the modem. |
---|
2677 | |
---|
2678 | Kermit's packet-length and other controls let you make adjustments |
---|
2679 | like this to get around whatever obstacles might be thrown up -- in |
---|
2680 | this case (running Kermit over ssh), the underling Solaris PTY driver. |
---|
2681 | ________________________________________________________________________ |
---|
2682 | |
---|
2683 | 3.7.6. Solaris 2.4 and Earlier |
---|
2684 | |
---|
2685 | [ [437]Top ] [ [438]Contents ] [ [439]Section Contents ] [ |
---|
2686 | [440]Previous ] |
---|
2687 | |
---|
2688 | C-Kermit can't be compiled successfully under Solaris 2.3 using |
---|
2689 | SUNWspro cc 2.0.1 unless at least some of the following patches are |
---|
2690 | applied to cc (it is not known which one(s), if any, fix the problem): |
---|
2691 | |
---|
2692 | * 100935-01 SparcCompiler C 2.0.1: bad code generated when addresses |
---|
2693 | of two double arguments are involved |
---|
2694 | * 100961-05 SPARCcompilers C 2.0.1: conditional expression with |
---|
2695 | function returning structure gives wrong value |
---|
2696 | * 100974-01 SparcWorks 2.0.1: dbx jumbo patch |
---|
2697 | * 101424-01 SPARCworks 2.0.1 maketool SEGV's instantly on Solaris |
---|
2698 | 2.3 |
---|
2699 | |
---|
2700 | With unpatched cc 2.0.1, the symptom is that certain modules generate |
---|
2701 | truncated object files, resulting in many unresolved references at |
---|
2702 | link time. |
---|
2703 | |
---|
2704 | The rest of the problems in this section have to do with |
---|
2705 | bidirectional terminal ports and the Solaris Port Monitor. A bug in |
---|
2706 | C-Kermit 5A ticked a bug in Solaris. The C-Kermit bug was fixed in |
---|
2707 | version 6.0, and the Solaris bug was fixed in 2.4 (I think, or |
---|
2708 | maybe 2.5). |
---|
2709 | |
---|
2710 | Reportedly, "C-Kermit ... causes a SPARCstation running Solaris 2.3 to |
---|
2711 | panic after the modem connects. I have tried compiling C-Kermit with |
---|
2712 | Sun's unbundled C compiler, with GCC Versions 2.4.5 and 2.5.3, with |
---|
2713 | make targets 'sunos51', 'sunos51tcp', 'sunos51gcc', and even 'sys5r4', |
---|
2714 | and each time it compiles and starts up cleanly, but without fail, as |
---|
2715 | soon as I dial the number and get a 'CONNECT' message from the modem, |
---|
2716 | I get: |
---|
2717 | |
---|
2718 | BAD TRAP |
---|
2719 | kermit: Data fault |
---|
2720 | kernel read fault at addr=0x45c, pme=0x0 |
---|
2721 | Sync Error Reg 80 <INVALID> |
---|
2722 | ... |
---|
2723 | panic: Data Fault. |
---|
2724 | ... |
---|
2725 | Rebooting... |
---|
2726 | |
---|
2727 | The same modem works fine for UUCP/tip calling." Also (reportedly), |
---|
2728 | this only happens if the dialout port is configured as in/out via |
---|
2729 | admintool. If it is configured as out-only, no problem. This is the |
---|
2730 | same dialing code that works on hundreds of other System-V based Unix |
---|
2731 | OS's. Since it should be impossible for a user program to crash the |
---|
2732 | operating system, this problem must be chalked up to a Solaris bug. |
---|
2733 | Even if you SET CARRIER OFF, CONNECT, and dial manually by typing |
---|
2734 | ATDTnnnnnnn, the system panics as soon as the modem issues its CONNECT |
---|
2735 | message. (Clearly, when you are dialing manually, C-Kermit does not |
---|
2736 | know a thing about the CONNECT message, and so the panic is almost |
---|
2737 | certainly caused by the transition of the Carrier Detect (CD) line |
---|
2738 | from off to on.) This problem was reported by many users, all of whom |
---|
2739 | say that C-Kermit worked fine on Solaris 2.1 and 2.2. If the |
---|
2740 | speculation about CD is true, then a possible workaround might be to |
---|
2741 | configure the modem to leave CD on (or off) all the time. Perhaps by |
---|
2742 | the time you read this, a patch will have been issued for Solaris 2.3. |
---|
2743 | |
---|
2744 | The following is from Karl S. Marsh, Systems & Networks Administrator, |
---|
2745 | AMBIX Systems Corp, Rochester, NY: |
---|
2746 | |
---|
2747 | Environment: Solaris 2.3 Patch 101318-45 C-Kermit 5A(189) (and |
---|
2748 | presumably this applies to 188 and 190 also). eeprom setting: |
---|
2749 | |
---|
2750 | ttya-rts-dtr-off=false |
---|
2751 | ttya-ignore-cd=false |
---|
2752 | ttya-mode=19200,8,n,8,- |
---|
2753 | |
---|
2754 | To use C-Kermit on a bidirectional port in this environment, do not |
---|
2755 | use admintool to configure the port. Use admintool to delete any |
---|
2756 | services running on the port and then quit admintool and issue the |
---|
2757 | following command: |
---|
2758 | |
---|
2759 | pmadm -a -p zsmon -s ttyb -i root -fu -v 1 -m "`ttyadm -b -d /dev/term/b \ |
---|
2760 | -l conttyH -m ldterm,ttcompat -s /usr/bin/login -S n`" |
---|
2761 | |
---|
2762 | [NOTE: This was copied from a blurry fax, so please check it |
---|
2763 | carefully] where: |
---|
2764 | |
---|
2765 | -a = Add service |
---|
2766 | -p = pmtag (zsmon) |
---|
2767 | -s = service tag (ttyb) |
---|
2768 | -i = id to be associated with service tag (root) |
---|
2769 | -fu = create utmp entry |
---|
2770 | -v = version of ttyadm |
---|
2771 | -m = port monitor-specific portion of the port monitor administrative file |
---|
2772 | entry for the service |
---|
2773 | -b = set up port for bidirectional use |
---|
2774 | -d = full path name of device |
---|
2775 | -l = which ttylabel in the /etc/ttydefs file to use |
---|
2776 | -m = a list of pushable STREAMS modules |
---|
2777 | -s = pathname of service to be invoked when connection request received |
---|
2778 | -S = software carrier detect on or off (n = off) |
---|
2779 | |
---|
2780 | "This is exactly how I was able to get Kermit to work on a |
---|
2781 | bi-directional port without crashing the system." |
---|
2782 | |
---|
2783 | On the Solaris problem, also see SunSolve Bug ID 1150457 ("Using |
---|
2784 | C-Kermit, get Bad Trap on receiving prompt from remote system"). |
---|
2785 | Another user reported "So, I have communicated with the Sun tech |
---|
2786 | support person that submitted this bug report [1150457]. Apparently, |
---|
2787 | this bug was fixed under one of the jumbo kernel patches. It would |
---|
2788 | seem that the fix did not live on into 101318-45, as this is EXACTLY |
---|
2789 | the error that I see when I attempt to use kermit on my system." |
---|
2790 | |
---|
2791 | Later (Aug 94)... C-Kermit dialout successfully tested on a Sun4m with |
---|
2792 | a heavily patched Solaris 2.3. The patches most likely to have been |
---|
2793 | relevant: |
---|
2794 | |
---|
2795 | * 101318-50: SunOS 5.3: Jumbo patch for kernel (includes libc, |
---|
2796 | lockd) |
---|
2797 | * 101720-01: SunOS 5.3: ttymon - prompt not always visible on a |
---|
2798 | modem connection |
---|
2799 | * 101815-01: SunOS 5.3: Data fault in put() NULL queue passed from |
---|
2800 | ttycommon_qfull() |
---|
2801 | * 101328-01: SunOS 5.3: Automation script to properly setup tty |
---|
2802 | ports prior to PCTS execution |
---|
2803 | |
---|
2804 | Still later (Nov 94): another user (Bo Kullmar in Sweden) reports that |
---|
2805 | after using C-Kermit to dial out on a bidirectional port, the port |
---|
2806 | might not answer subsequent incoming calls, and says "the problem is |
---|
2807 | easy enough to fix with the Serial Port Manager; I just delete the |
---|
2808 | service and install it again using the graphical interface, which |
---|
2809 | underneath uses commands like sacadm and pmadm." Later Bo reports, "I |
---|
2810 | have found that if I run Kermit with the following script then it |
---|
2811 | works. This script is for /dev/cua/a, "-s a" is the last a in |
---|
2812 | /dev/cua/a: |
---|
2813 | |
---|
2814 | #! /bin/sh |
---|
2815 | kermit |
---|
2816 | sleep 2 |
---|
2817 | surun pmadm -e -p zsmon -s a |
---|
2818 | ________________________________________________________________________ |
---|
2819 | |
---|
2820 | 3.8. C-KERMIT AND SUNOS |
---|
2821 | |
---|
2822 | [ [441]Top ] [ [442]Contents ] [ [443]Section Contents ] [ [444]Next ] |
---|
2823 | [ [445]Previous ] |
---|
2824 | |
---|
2825 | For additional information, see "Celeste's Tutorial on SunOS 4.1.3+ |
---|
2826 | Modems and Terminals": |
---|
2827 | |
---|
2828 | [446]http://www.stokely.com/ |
---|
2829 | |
---|
2830 | For FAQs, etc, from Sun, see: |
---|
2831 | * [447]http://access1.sun.com/ |
---|
2832 | |
---|
2833 | For history of Sun models and SunOS versions, see (should be all the |
---|
2834 | same): |
---|
2835 | * [448]http://www.ludd.luth.se/~bear/project/sun/sun.hardware.txt |
---|
2836 | * [449]ftp://ftp.netcom.com/pub/ru/rubicon/sun.hdwr.ref |
---|
2837 | * [450]ftp://ftp.intnet.net/pub/SUN/Sun-Hardware-Ref |
---|
2838 | |
---|
2839 | Sun SPARCstation users should read the section "Setting up Modem |
---|
2840 | Software" in the Desktop SPARC Sun System & Network Manager's Guide. |
---|
2841 | If you don't set up your serial ports correctly, Kermit (and other |
---|
2842 | communications software) won't work right. |
---|
2843 | |
---|
2844 | Also, on certain Sun models like IPC, the serial port hardware might |
---|
2845 | need to have a jumper changed to make it an RS-232 port rather than |
---|
2846 | RS-423. |
---|
2847 | |
---|
2848 | Reportedly, C-Kermit does not work correctly on a Sun SPARCstation in |
---|
2849 | an Open Windows window with scrolling enabled. Disable scrolling, or |
---|
2850 | else invoke Kermit in a terminal emulation window (xterm, crttool, |
---|
2851 | vttool) under SunView (this might be fixed in later SunOS releases). |
---|
2852 | |
---|
2853 | On the Sun with Open Windows, an additional symptom has been reported: |
---|
2854 | outbound SunLink X.25 connections "magically" translate CR typed at |
---|
2855 | the keyboard into LF before transmission to the remote host. This |
---|
2856 | doesn't happen under SunView. |
---|
2857 | |
---|
2858 | SET CARRIER ON, when used on the SunOS 4.1 version of C-Kermit |
---|
2859 | (compiled in the BSD universe), causes the program to hang |
---|
2860 | uninterruptibly when SET LINE is issued for a device that is not |
---|
2861 | asserting carrier. When Kermit is built in the Sys V universe on the |
---|
2862 | same computer, there is no problem (it can be interrupted with |
---|
2863 | Ctrl-C). This is apparently a limitation of the BSD-style tty driver. |
---|
2864 | |
---|
2865 | SunOS 4.1 C-Kermit has been observed to dump core when running a |
---|
2866 | complicated script program under cron. The dump invariably occurs in |
---|
2867 | ttoc(), while trying to output a character to a TCP/IP TELNET |
---|
2868 | connection. ttoc() contains a write() call, and when the system or the |
---|
2869 | network is very busy, the write() call can get stuck for long periods |
---|
2870 | of time. To break out of deadlocks caused by stuck write() calls, |
---|
2871 | there is an alarm around the write(). It is possible that the core |
---|
2872 | dump occurs when this alarm signal is caught. (This one has not been |
---|
2873 | observed recently -- possibly fixed in edit 190.) |
---|
2874 | |
---|
2875 | On Sun computers with SunOS 4.0 or 4.1, SET FLOW RTS/CTS works only if |
---|
2876 | the carrier signal is present from the communication device at the |
---|
2877 | time when C-Kermit enters packet mode or CONNECT mode. If carrier is |
---|
2878 | not sensed (e.g. when dialing), C-Kermit does not attempt to turn on |
---|
2879 | RTS/CTS flow control. This is because the SunOS serial device driver |
---|
2880 | does not allow characters to be output if RTS/CTS is set (CRTSCTS) but |
---|
2881 | carrier (and DSR) are not present. Workaround (maybe): SET CARRIER OFF |
---|
2882 | before giving the SET LINE command, establish the connection, then SET |
---|
2883 | FLOW RTS/CTS |
---|
2884 | |
---|
2885 | It has also been reported that RTS/CTS flow control under SunOS 4.1 |
---|
2886 | through 4.1.3 works only on INPUT, not on output, and that there is a |
---|
2887 | patch from Sun to correct this problem: Patch-ID# T100513-04, 20 July |
---|
2888 | 1993 (this patch might apply only to SunOS 4.1.3). It might also be |
---|
2889 | necessary to configure the eeprom parameters of the serial port; e.g. |
---|
2890 | do the following as root at the shell prompt: |
---|
2891 | |
---|
2892 | eeprom ttya-ignore-cd=false |
---|
2893 | eeprom ttya-rts-dtr-off=true |
---|
2894 | |
---|
2895 | There have been reports of file transfer failures on Sun-3 systems |
---|
2896 | when using long packets and/or large window sizes. One user says that |
---|
2897 | when this happens, the console issues many copies of this message: |
---|
2898 | |
---|
2899 | chaos vmunix: zs1: ring buffer overflow |
---|
2900 | |
---|
2901 | This means that SunOS is not scheduling Kermit frequently enough to |
---|
2902 | service interrupts from the zs serial device (Zilog 8350 SCC serial |
---|
2903 | communication port) before its input silo overflows. Workaround: use |
---|
2904 | smaller packets and/or a smaller window size, or use "nice" to |
---|
2905 | increase Kermit's priority. Use hardware flow control if available, or |
---|
2906 | remove other active processes before running Kermit. |
---|
2907 | |
---|
2908 | SunLink X.25 support in C-Kermit 5A(190) was built and tested |
---|
2909 | successfully under SunOS 4.1.3b and SunLink X.25 7.00. |
---|
2910 | ________________________________________________________________________ |
---|
2911 | |
---|
2912 | 3.9. C-KERMIT AND ULTRIX |
---|
2913 | |
---|
2914 | [ [451]Top ] [ [452]Contents ] [ [453]Section Contents ] [ [454]Next ] |
---|
2915 | [ [455]Previous ] |
---|
2916 | |
---|
2917 | See also: The [456]comp.unix.ultrix and [457]comp.sys.dec newsgroups. |
---|
2918 | |
---|
2919 | There is no hardware flow control in Ultrix. That's not a Kermit |
---|
2920 | deficiency, but an Ultrix one. |
---|
2921 | |
---|
2922 | When sending files to C-Kermit on a Telnet connection to a remote |
---|
2923 | Ultrix system, you must SET PREFIXING ALL (or at least prefix more |
---|
2924 | control characters than are selected by SET PREFIXING CAUTIOUS). |
---|
2925 | |
---|
2926 | Reportedly, DEC ULTRIX 4.3 is immune to C-Kermit's disabling of |
---|
2927 | SIGQUIT, which is the signal that is generated when the user types |
---|
2928 | Ctrl-\, which kills the current process (i.e. C-Kermit) and dumps |
---|
2929 | core. Diagnosis and cure unknown. Workaround: before starting C-Kermit |
---|
2930 | -- or for that matter, when you first log in because this applies to |
---|
2931 | all processes, not just Kermit -- give the following Unix command: |
---|
2932 | |
---|
2933 | stty quit undef |
---|
2934 | |
---|
2935 | Certain operations driven by RS-232 modem signal do not work on |
---|
2936 | DECstations or other DEC platforms whose serial interfaces use MMP |
---|
2937 | connectors (DEC version of RJ45 telephone jack with offset tab). These |
---|
2938 | connectors convey only the DSR and DTR modem signals, but not carrier |
---|
2939 | (CD), RTS, CTS, or RI. Use SET CARRIER OFF to enable communication, or |
---|
2940 | "hotwire" DSR to CD. |
---|
2941 | |
---|
2942 | The maximum serial speed on the DECstation 5000 is normally 19200, but |
---|
2943 | various tricks are available (outside Kermit) to enable higher rates. |
---|
2944 | For example, on the 5000/200, 19200 can be remapped (somehow, |
---|
2945 | something to do with "a bit in the SIR", whatever that is) to 38400, |
---|
2946 | but in software you must still refer to this speed as 19200; you can't |
---|
2947 | have 19200 and 38400 available at the same time. |
---|
2948 | |
---|
2949 | 19200, reportedly, is also the highest speed supported by Ultrix, but |
---|
2950 | NetBSD reportedly supports speeds up to 57600 on the DECstation, |
---|
2951 | although whether and how well this works is another question. |
---|
2952 | |
---|
2953 | In any case, given the lack of hardware flow control in Ultrix, high |
---|
2954 | serial speeds are problematic at best. |
---|
2955 | ________________________________________________________________________ |
---|
2956 | |
---|
2957 | 3.10. C-KERMIT AND UNIXWARE |
---|
2958 | |
---|
2959 | [ [458]Top ] [ [459]Contents ] [ [460]Section Contents ] [ [461]Next ] |
---|
2960 | [ [462]Previous ] |
---|
2961 | |
---|
2962 | See also: |
---|
2963 | * The Freebird Project (Unixware software repository) |
---|
2964 | [463]http://www.freebird.org/ |
---|
2965 | * The UnixWare FAQ: [464]http://www.freebird.org/faq/ |
---|
2966 | * The following newsgroups: |
---|
2967 | + [465]comp.unix.unixware.misc |
---|
2968 | + [466]comp.unix.sco.misc. |
---|
2969 | |
---|
2970 | Also see general comments on PC-based Unixes in [467]Section 3.0. By |
---|
2971 | the way, this section is separate from the SCO (Caldera) section |
---|
2972 | because at the time this section was started, Unixware was owned by a |
---|
2973 | company called Univel. Later it was sold to Novell, and then to SCO. |
---|
2974 | Still later, SCO was sold to Caldera. |
---|
2975 | |
---|
2976 | In Unixware 2.0 and later, the preferred serial device names (drivers) |
---|
2977 | are /dev/term/00 (etc), rather than /dev/tty00 (etc). Note the |
---|
2978 | following correspondence of device names and driver characteristics: |
---|
2979 | |
---|
2980 | New name Old name Description |
---|
2981 | /dev/term/00 /dev/tty00 ??? |
---|
2982 | /dev/term/00h /dev/tty00h Modem signals and hardware flow control |
---|
2983 | /dev/term/00m /dev/tty00m Modem signals(?) |
---|
2984 | /dev/term/00s /dev/tty00s Modem signals and software flow control |
---|
2985 | /dev/term/00t /dev/tty00t ??? |
---|
2986 | |
---|
2987 | Lockfile names use device.major.minor numbers, e.g.: |
---|
2988 | |
---|
2989 | /var/spool/locks/LK.7679.003.005 |
---|
2990 | |
---|
2991 | The minor number varies according to the device name suffix (none, h, |
---|
2992 | m, s, or t). Only the device and major number are compared, and thus |
---|
2993 | all of the different names for the same physical device (e.g. all of |
---|
2994 | those shown in the table above) interlock effectively. |
---|
2995 | |
---|
2996 | Prior to UnixWare 7, serial speeds higher than 38400 are not |
---|
2997 | supported. In UnixWare 7, we also support 57600 and 115200, plus some |
---|
2998 | unexpected ones like 14400, 28800, and 76800, by virtue of a strange |
---|
2999 | new interface, evidently peculiar to UnixWare 7, discovered while |
---|
3000 | digging through the header files: tcsetspeed(). Access to this |
---|
3001 | interface is allowed only in POSIX builds, and thus the UnixWare 7 |
---|
3002 | version of C-Kermit is POSIX-based, unlike C-Kermit for Unixware 1.x |
---|
3003 | and 2.x (since the earlier UnixWare versions did not support high |
---|
3004 | serial speeds, period). |
---|
3005 | |
---|
3006 | HOWEVER, turning on POSIX features engages all of the "#if |
---|
3007 | (!_POSIX_SOURCE)" clauses in the UnixWare header files, which in turn |
---|
3008 | prevent us from having modem signals, access to the hardware flow |
---|
3009 | control APIs, select(), etc -- in short, all the other things we need |
---|
3010 | in communications software, especially when high speeds are used. Oh |
---|
3011 | the irony. And so C-Kermit must be shamelessly butchered -- as it has |
---|
3012 | been so many times before -- to allow us to have the needed features |
---|
3013 | from the POSIX and non-POSIX worlds. See the UNIXWAREPOSIX sections of |
---|
3014 | [468]ckutio.c. |
---|
3015 | |
---|
3016 | After the butchery, we wind up with Unixware 2.x having full |
---|
3017 | modem-signal capability, but politically-correct Unixware 7.x lacking |
---|
3018 | the ability to automatically detect a broken connection when carrier |
---|
3019 | drops. |
---|
3020 | |
---|
3021 | Meanwhile the Unixware tcsetspeed() function allows any number at all |
---|
3022 | (any long, 0 or positive) as an argument and succeeds if the number is |
---|
3023 | a legal bit rate for the serial device, and fails otherwise. There is |
---|
3024 | no list anywhere of legal speeds. Thus the SET SPEED keyword table |
---|
3025 | ("set speed ?" to see it) is hardwired based on trial and error with |
---|
3026 | all known serial speeds, the maximum being 115200. However, to allow |
---|
3027 | for the possibility that other speeds might be allowed in the future |
---|
3028 | (or with different port drivers), the SET SPEED command for UnixWare 7 |
---|
3029 | only allows you to specify any number at all; a warning is printed if |
---|
3030 | the number is not in the list, but the number is accepted anyway; the |
---|
3031 | command succeeds if tcsetspeed() accepts the number, and fails |
---|
3032 | otherwise. |
---|
3033 | |
---|
3034 | In C-Kermit 8.0 testing, it was noticed that the POSIX method for |
---|
3035 | hanging up the phone by dropping DTR (set speed 0, pause, restore |
---|
3036 | speed) did not actually drop DTR. The APIs do not return any error |
---|
3037 | indication, but nothing happens. I changed tthang() to skip the |
---|
3038 | special case I had made for Unixware and instead follow the normal |
---|
3039 | path: if TIOCSDTR is defined use that, otherwise blah blah... It turns |
---|
3040 | out TIOCSDTR *is* defined, and it works. |
---|
3041 | |
---|
3042 | So in Unixware (at least in 2.1.3) we can read modem signals, hangup |
---|
3043 | by toggling DTR, and so on, BUT... But once the remote hangs up and |
---|
3044 | Carrier drops, the API for reading modem signals ceases to function; |
---|
3045 | although the device is still open, the TIOCMGET ioctl always raises |
---|
3046 | errno 6 = ENXIO, "No such device or address". |
---|
3047 | |
---|
3048 | Old business: |
---|
3049 | |
---|
3050 | Using C-Kermit 6.0 on the UnixWare 1.1 Application Server, one user |
---|
3051 | reported a system panic when the following script program is executed: |
---|
3052 | |
---|
3053 | set line /dev/tty4 |
---|
3054 | set speed 9600 |
---|
3055 | output \13 |
---|
3056 | connect |
---|
3057 | |
---|
3058 | The panic does not happen if a PAUSE is inserted: |
---|
3059 | |
---|
3060 | set line /dev/tty4 |
---|
3061 | set speed 9600 |
---|
3062 | pause 1 |
---|
3063 | output \13 |
---|
3064 | connect |
---|
3065 | |
---|
3066 | This is using a Stallion EasyIO card installed as board 0 on IRQ 12 on |
---|
3067 | a Gateway 386 with the Stallion-supplied driver. The problem was |
---|
3068 | reported to Novell and Stallion and (reportedly) is now fixed. |
---|
3069 | ________________________________________________________________________ |
---|
3070 | |
---|
3071 | 3.11. C-KERMIT AND APOLLO SR10 |
---|
3072 | |
---|
3073 | [ [469]Top ] [ [470]Contents ] [ [471]Section Contents ] [ [472]Next ] |
---|
3074 | [ [473]Previous ] |
---|
3075 | |
---|
3076 | Reportedly, version 5A(190), when built under Apollo SR10 using "make |
---|
3077 | sr10-bsd", compiles, links, and executes OK, but leaves the terminal |
---|
3078 | unusable after it exits -- the "cs7" or "cs8" (character size) |
---|
3079 | parameter has become cs5. The terminal must be reset from another |
---|
3080 | terminal. Cause and cure unknown. Suggested workaround: Wrap Kermit in |
---|
3081 | a shell script something like: |
---|
3082 | |
---|
3083 | kermit @* |
---|
3084 | stty sane |
---|
3085 | ________________________________________________________________________ |
---|
3086 | |
---|
3087 | 3.12. C-KERMIT AND TANDY XENIX 3.0 |
---|
3088 | |
---|
3089 | [ [474]Top ] [ [475]Contents ] [ [476]Section Contents ] [ [477]Next ] |
---|
3090 | [ [478]Previous ] |
---|
3091 | |
---|
3092 | C-Kermit 7.0 was too big to be built on Tandy Xenix, even in a minimum |
---|
3093 | configuration; version 6.0 is the last one that fits. |
---|
3094 | |
---|
3095 | Reportedly, in C-Kermit 6.0, if you type lots of Ctrl-C's during |
---|
3096 | execution of the initialization file, ghost Kermit processes will be |
---|
3097 | created, and will compete for the keyboard. They can only be removed |
---|
3098 | via "kill -9" from another terminal, or by rebooting. Diagnosis -- |
---|
3099 | something strange happening with the SIGINT handler while the process |
---|
3100 | is reading the directory (it seems to occur during the SET PROMPT |
---|
3101 | [\v(dir)] ... sequence). Cure: unknown. Workaround: don't interrupt |
---|
3102 | C-Kermit while it is executing its init file on the Tandy 16/6000. |
---|
3103 | ________________________________________________________________________ |
---|
3104 | |
---|
3105 | 3.13. C-KERMIT AND OSF/1 (DIGITAL UNIX) (TRU64 UNIX) |
---|
3106 | |
---|
3107 | [ [479]Top ] [ [480]Contents ] [ [481]Section Contents ] [ [482]Next ] |
---|
3108 | [ [483]Previous ] |
---|
3109 | |
---|
3110 | While putting together and testing C-Kermit 8.0, it was discovered |
---|
3111 | that binaries built for one version of Tru64 Unix (e.g. 4.0G) might |
---|
3112 | exhibit very strange behavior if run on a different version of Tru64 |
---|
3113 | Unix (e.g. 5.1A). The typical symptom was that a section of the |
---|
3114 | initialization file would be skipped, notably locating the dialing |
---|
3115 | and/or network directory as well as finding and executing the |
---|
3116 | customization file, ~/.mykermrc. This problem also is reported to |
---|
3117 | occur on Tru64 Unix 5.0 (Rev 732) even when running a C-Kermit binary |
---|
3118 | that was built there. However, the Tru64 5.1A binary works correctly |
---|
3119 | on 5.0. Go figure. |
---|
3120 | |
---|
3121 | When making Telnet connections to a Digital Unix or Tru64 system, and |
---|
3122 | your Telnet client forwards your user name, the Telnet server |
---|
3123 | evidently stuffs the username into login's standard input, and you |
---|
3124 | see: |
---|
3125 | |
---|
3126 | login: ivan |
---|
3127 | Password: |
---|
3128 | |
---|
3129 | This is clearly going to play havoc with scripts that look for |
---|
3130 | "login:". Workaround (when Kermit is your Telnet client): SET LOGIN |
---|
3131 | USER to nothing, to prevent Kermit from sending your user ID. |
---|
3132 | |
---|
3133 | Before you can use a serial port on a new Digital Unix system, you |
---|
3134 | must run uucpsetup to enable or configure the port. Evidently the |
---|
3135 | /dev/tty00 and 01 devices that appear in the configuration are not |
---|
3136 | usable; uucpsetup turns them into /dev/ttyd00 and 01, which are. Note |
---|
3137 | that uucpsetup and other uucp-family programs are quite primitive -- |
---|
3138 | they only know about speeds up to 9600 bps and their selection of |
---|
3139 | modems dates from the early 1980s. None of this affects Kermit, though |
---|
3140 | -- with C-Kermit, you can use speeds up to 115200 bps (at least in |
---|
3141 | DU4.0 and later) and modern modems with hardware flow control and all |
---|
3142 | the rest. |
---|
3143 | |
---|
3144 | Reportedly, if a modem is set for &S0 (assert DSR at all times), the |
---|
3145 | system resets or drops DTR every 30 seconds; reportedly DEC says to |
---|
3146 | set &S1. |
---|
3147 | |
---|
3148 | Digital Unix 3.2 evidently wants to believe your terminal is one line |
---|
3149 | longer than you say it is, e.g. when a "more" or "man" command is |
---|
3150 | given. This is has nothing to do with C-Kermit, but tends to annoy |
---|
3151 | those who use Kermit or other terminal emulators to access Digital |
---|
3152 | Unix systems. Workaround: tell Unix to "stty rows 23" (or whatever). |
---|
3153 | |
---|
3154 | Reportedly, there is some bizarre behavior when trying to use a |
---|
3155 | version of C-Kermit built on one Digital Unix 4.0 system on another |
---|
3156 | one, possibly due to differing OS or library revision levels; for |
---|
3157 | example, the inability to connect to certain TCP/IP hosts. Solution: |
---|
3158 | rebuild C-Kermit from source code on the system where you will be |
---|
3159 | using it. |
---|
3160 | |
---|
3161 | Digital Unix tgetstr() causes a segmentation fault. C-Kermit 7.0 added |
---|
3162 | #ifdefs to avoid calling this routine in Digital Unix. As a result, |
---|
3163 | the SCREEN commands always send ANSI escape sequences -- even though |
---|
3164 | curses knows your actual terminal type. |
---|
3165 | |
---|
3166 | Reportedy the Tru64 Unix 4.0E 1091 Telnet server does not tolerate |
---|
3167 | streaming transfers into itself, at least not when the sending Kermit |
---|
3168 | is on the same local network. Solution: tell one Kermit or the other |
---|
3169 | (or both) to "set streaming off". This might or might be the case with |
---|
3170 | earlier and/or later Tru64, Digital Unix, and OSF/1 releases. |
---|
3171 | ________________________________________________________________________ |
---|
3172 | |
---|
3173 | 3.14. C-KERMIT AND SGI IRIX |
---|
3174 | |
---|
3175 | [ [484]Top ] [ [485]Contents ] [ [486]Section Contents ] [ [487]Next ] |
---|
3176 | [ [488]Previous ] |
---|
3177 | |
---|
3178 | See also: |
---|
3179 | * The [489]comp.sys.sgi.misc and [490]comp.sys.sgi.admin newsgroups. |
---|
3180 | [491]The SGI website |
---|
3181 | * The SGI FAQ: |
---|
3182 | + [492]http://www-viz.tamu.edu/~sgi-faq/ |
---|
3183 | + [493]ftp://viz.tamu.edu/pub/sgi/faq/ |
---|
3184 | |
---|
3185 | About IRIX version numbers: "uname -a" tells the "two-digit" version |
---|
3186 | number, such as "5.3" or "6.5". The three-digit form can be seen with |
---|
3187 | "uname -R". (this information is unavailable at the simple API level). |
---|
3188 | Supposedly all three-digit versions within the same two-digit version |
---|
3189 | (e.g. 6.5.2, 6.5.3) are binary compatible; i.e. a binary built on any |
---|
3190 | one of them should run on all others. The "m" suffix denotes just |
---|
3191 | patches; the "f" suffix indicates that features were added. |
---|
3192 | |
---|
3193 | An IRIX binary built on lower MIPS model (Instruction Set |
---|
3194 | Architecture, ISA) can run on higher models, but not vice versa: |
---|
3195 | |
---|
3196 | MIPS1 R3000 and below |
---|
3197 | MIPS2 R4000 |
---|
3198 | MIPS3 R4x00 |
---|
3199 | MIPS4 R5000 and above |
---|
3200 | |
---|
3201 | Furthermore, there are different Application Binary Inferfaces (ABIs): |
---|
3202 | |
---|
3203 | COFF 32 bits, IRIX 5.3, 5.2, 5.1, 4.x and below |
---|
3204 | o32 ELF 32 bits, IRIX 5.3, 6.0 - 6.5 |
---|
3205 | N32 ELF 32 bits, IRIX 6.2 - 6.5 |
---|
3206 | N64 ELF 64 bits, IRIX 6.2 - 6.5 |
---|
3207 | |
---|
3208 | Thus a prebuilt IRIX binary works on a particular machine only if (a) |
---|
3209 | the machine's IRIX version (to one decimal place) is equal to or |
---|
3210 | greater than the version under which the binary was built; (b) the |
---|
3211 | machine's MIPS level is greater or equal to that of the binary; and |
---|
3212 | (c) the machine supports the ABI of the binary. If all three |
---|
3213 | conditions are not satisfied, of course, you can build a binary |
---|
3214 | yourself from source code since, unlike some other Unix vendors, SGI |
---|
3215 | does supply a C compiler and libraries. |
---|
3216 | |
---|
3217 | SGI did not supply an API for hardware flow control prior to IRIX 5.2. |
---|
3218 | C-Kermit 6.1 and higher for IRIX 5.2 and higher supports hardware flow |
---|
3219 | control in the normal way, via "set flow rts/cts". |
---|
3220 | |
---|
3221 | For hardware flow control on earlier IRIX and/or C-Kermit versions, |
---|
3222 | use the ttyf* (modem control AND hardware flow control) devices and |
---|
3223 | not the ttyd* (direct) or ttym* (modem control but no hardware flow |
---|
3224 | control) ones, and obtain the proper "hardware handshaking" cable from |
---|
3225 | SGI, which is incompatible with the ones for the Macintosh and NeXT |
---|
3226 | even though they look the same ("man serial" for further info) and |
---|
3227 | tell Kermit to "set flow keep" and "set modem flow rts/cts". |
---|
3228 | |
---|
3229 | Serial speeds higher than 38400 are available in IRIX 6.2 and later, |
---|
3230 | on O-class machines (e.g. Origin, Octane) only, and are supported by |
---|
3231 | C-Kermit 7.0 and later. Commands such as "set speed 115200" may be |
---|
3232 | given on other models (e.g. Iris, Indy, Indigo) but will fail because |
---|
3233 | the OS reports an invalid speed for the device. |
---|
3234 | |
---|
3235 | Experimentation with both IRIX 5.3 and 6.2 shows that when logged in |
---|
3236 | to IRIX via Telnet, that remote-mode C-Kermit can't send files if the |
---|
3237 | packet length is greater than 4096; the Telnet server evidently has |
---|
3238 | this restriction (or bug), since there is no problem sending long |
---|
3239 | packets on serial or rlogin connections. However, it can receive files |
---|
3240 | with no problem if the packet length is greater than 4096. As a |
---|
3241 | workaround, the FAST macro for IRIX includes "set send packet-length |
---|
3242 | 4000". IRIX 6.5.1 does not have this problem, so evidently it was |
---|
3243 | fixed some time after IRIX 6.2. Tests show file-transfer speeds are |
---|
3244 | better (not worse) with 8K packets than with 4K packets from IRIX |
---|
3245 | 6.5.1. |
---|
3246 | |
---|
3247 | Reportedly some Indys have bad serial port hardware. IRIX 5.2, for |
---|
3248 | example, needs patch 151 to work around this; or upgrade to a later |
---|
3249 | release. Similarly, IRIX 5.2 has several problems with serial i/o, |
---|
3250 | flow control, etc. Again, patch or upgrade. |
---|
3251 | |
---|
3252 | Reportedly on machines with IRIX 4.0, Kermit cannot be suspended by |
---|
3253 | typing the suspend ("swtch") character if it was started from csh, |
---|
3254 | even though other programs can be suspended this way, and even though |
---|
3255 | the Z and SUSPEND commands still work correctly. This is evidently |
---|
3256 | because IRIX's csh does not deliver the SIGTSTP signal to Kermit. The |
---|
3257 | reason other programs can be suspended in the same environment is |
---|
3258 | probably that they do not trap SIGTSTP themselves, so the shell is |
---|
3259 | doing the suspending rather than the application. |
---|
3260 | |
---|
3261 | Also see notes about IRIX 3.x in the [494]C-Kermit for Unix |
---|
3262 | Installation Instructions. |
---|
3263 | |
---|
3264 | If you have problems making TCP/IP connections in versions of IRIX |
---|
3265 | built with GCC 2.95.2, see the bugs section of: |
---|
3266 | |
---|
3267 | [495]http://freeware.sgi.com/Installable/gcc-2.95.2.html. |
---|
3268 | |
---|
3269 | Reportedly, if you allow gcc to compile C-Kermit on Irix you should be |
---|
3270 | aware that there might be problems with some of the network code. The |
---|
3271 | specifics are at |
---|
3272 | [496]http://freeware.sgi.com/Installable/gcc-2.95.2.html; scroll down |
---|
3273 | to the "known bugs" section at the end of the document. |
---|
3274 | ________________________________________________________________________ |
---|
3275 | |
---|
3276 | 3.15. C-KERMIT AND THE BEBOX |
---|
3277 | |
---|
3278 | [ [497]Top ] [ [498]Contents ] [ [499]Section Contents ] [ [500]Next ] |
---|
3279 | [ [501]Previous ] |
---|
3280 | |
---|
3281 | See also: The [502]comp.sys.be newsgroup. |
---|
3282 | |
---|
3283 | The BeBox has been discontinued and BeOS repositioned for PC |
---|
3284 | platforms. The POSIX parts of BeOS are not finished, nor is the |
---|
3285 | sockets library, therefore a fully functional version of C-Kermit is |
---|
3286 | not possible. In version 6.0 of C-Kermit, written for BeOS DR7, it was |
---|
3287 | possible to: |
---|
3288 | |
---|
3289 | * set line /dev/serial2 (and probably the other serial ports) |
---|
3290 | * set speed 115200 (and at least some of the lower baud rates) |
---|
3291 | * connect |
---|
3292 | * set modem type hayes (and likely others, too) |
---|
3293 | * dial phone-number |
---|
3294 | * set send packet-length 2048 (other lengths for both send and |
---|
3295 | receive) |
---|
3296 | * set receive packet length 2048 |
---|
3297 | * set file type binary (text mode works, too) (with remote kermit |
---|
3298 | session in server mode) |
---|
3299 | * put bedrop.jpg |
---|
3300 | * get bedrop.jpg |
---|
3301 | * get bedrop.jpg bedrop.jpg2 |
---|
3302 | * finish, bye |
---|
3303 | |
---|
3304 | The following do not work: |
---|
3305 | * kermit does not detect modem hangup |
---|
3306 | * !/RUN/PUSH [commandline command] |
---|
3307 | * Running kermit in remote mode |
---|
3308 | * Using other protocols (x/y/zmodem) |
---|
3309 | * TCP networking interface (Be's TCP/IP API has a ways to go, still) |
---|
3310 | |
---|
3311 | C-Kermit does not work on BeOS DR8 because of changes in the |
---|
3312 | underlying APIs. Unfortunately not enough changes were made to allow |
---|
3313 | the regular POSIX-based C-Kermit to work either. Note: the lack of a |
---|
3314 | fork() service requires the select()-based CONNECT module, but there |
---|
3315 | is no select(). There is a select() in DR8, but it doesn't work. |
---|
3316 | |
---|
3317 | C-Kermit 7.0 was built for BeOS 4.5 and works in remote mode. It does |
---|
3318 | not include networking support since the APIs are still not there. It |
---|
3319 | is not known if dialing out works, but probably not. Be experts are |
---|
3320 | welcome to lend a hand. |
---|
3321 | ________________________________________________________________________ |
---|
3322 | |
---|
3323 | 3.16. C-KERMIT AND DG/UX |
---|
3324 | |
---|
3325 | [ [503]Top ] [ [504]Contents ] [ [505]Section Contents ] [ [506]Next ] |
---|
3326 | [ [507]Previous ] |
---|
3327 | |
---|
3328 | Somebody downloaded the C-Kermit 6.0 binary built under DG/UX 5.40 and |
---|
3329 | ran it under DG/UX 5.4R3.10 -- it worked OK except that file dates for |
---|
3330 | incoming files were all written as 1 Jan 1970. Cause and cure unknown. |
---|
3331 | Workaround: SET ATTRIBUTE DATE OFF. Better: Use a version of C-Kermit |
---|
3332 | built under and for DG/UX 5.4R3.10. |
---|
3333 | ________________________________________________________________________ |
---|
3334 | |
---|
3335 | 3.17. C-KERMIT AND SEQUENT DYNIX |
---|
3336 | |
---|
3337 | [ [508]Top ] [ [509]Contents ] [ [510]Section Contents ] [ [511]Next ] |
---|
3338 | [ [512]Previous ] |
---|
3339 | |
---|
3340 | Reportedly, when coming into a Sequent Unix (DYNIX) system through an |
---|
3341 | X.25 connection, Kermit doesn't work right because the Sequent's |
---|
3342 | FIONREAD ioctl returns incorrect data. To work around, use the |
---|
3343 | 1-character-at-a-time version of myread() in ckutio.c (i.e. undefine |
---|
3344 | MYREAD in ckutio.c and rebuild the program). This is unsatisfying |
---|
3345 | because two versions of the program would be needed -- one for use |
---|
3346 | over X.25, and the other for serial and TCP/IP connections. |
---|
3347 | ________________________________________________________________________ |
---|
3348 | |
---|
3349 | 3.18. C-KERMIT AND {FREE,OPEN,NET}BSD |
---|
3350 | |
---|
3351 | [ [513]Top ] [ [514]Contents ] [ [515]Section Contents ] [ [516]Next ] |
---|
3352 | [ [517]Previous ] |
---|
3353 | |
---|
3354 | Some NebBSD users have reported difficulty escaping back from CONNECT |
---|
3355 | mode, usually when running NetBSD on non-PC hardware. Probably a |
---|
3356 | keyboard issue. |
---|
3357 | |
---|
3358 | NetBSD users have also reported that C-Kermit doesn't pop back to the |
---|
3359 | prompt if the modem drops carrier. This needs to be checked out & |
---|
3360 | fixed if possible. |
---|
3361 | |
---|
3362 | (All the above seems to work properly in C-Kermit 7.0 and later.) |
---|
3363 | ________________________________________________________________________ |
---|
3364 | |
---|
3365 | 3.19. C-KERMIT AND MAC OS X (Rhapsody, Darwin, Jaguar) |
---|
3366 | |
---|
3367 | [ [518]Top ] [ [519]Contents ] [ [520]Section Contents ] [ [521]Next ] |
---|
3368 | [ [522]Previous ] |
---|
3369 | |
---|
3370 | Nomenclature: |
---|
3371 | |
---|
3372 | mac os x server 1.0 = rhapsody 5.3 |
---|
3373 | mac os x server 1.0.1 = rhapsody 5.4 |
---|
3374 | mac os x server 1.0.2 = rhapsody 5.5 |
---|
3375 | mac os x server 1.2 = rhapsody 5.6 |
---|
3376 | |
---|
3377 | mac os x 10.0 and 10.0.x run on darwin 1.3.y |
---|
3378 | mac os x 10.1 and 10.1.x run on darwin 1.4.y |
---|
3379 | |
---|
3380 | mac os x (client) to darwin =(approximately)= X11 to unix |
---|
3381 | |
---|
3382 | Evidently hardware flow control doesn't work. This has been reported |
---|
3383 | to Apple (June 2001), no response yet that I know of. |
---|
3384 | ________________________________________________________________________ |
---|
3385 | |
---|
3386 | 3.20. C-KERMIT AND COHERENT |
---|
3387 | |
---|
3388 | [ [523]Top ] [ [524]Contents ] [ [525]Section Contents ] [ |
---|
3389 | [526]Previous ] |
---|
3390 | |
---|
3391 | Also see: |
---|
3392 | |
---|
3393 | [527]http://www.uni-giessen.de/faq/archiv/coherent-faq.general/msg00 |
---|
3394 | 000.html |
---|
3395 | |
---|
3396 | Mark Williams COHERENT was perhaps the first commercial Unix-based |
---|
3397 | operating system for PCs, first appearing about 1983 or -84 for the |
---|
3398 | PC/XT (?), and popular until about 1993, when Linux took over. |
---|
3399 | C-Kermit, as of version 8.0, is still current for COHERENT 386 4.2 |
---|
3400 | (i.e. only for i386 and above). Curses is included, but lots of other |
---|
3401 | features are omitted due to lack of the appropriate OS features, APIs, |
---|
3402 | libraries, hardware, or just space: e.g. TCP/IP, floating-point |
---|
3403 | arithmetic, learned scripts. Earlier versions of COHERENT ran on 8086 |
---|
3404 | and 80286, but these are to small to build or run C-Kermit, but |
---|
3405 | G-Kermit should be OK (as might be ancient versions of C-Kermit). |
---|
3406 | |
---|
3407 | You can actually build a version with floating point support -- just |
---|
3408 | take -DNOFLOAT out of CFLAGS and add -lm to LIBS; NOFLOAT is the |
---|
3409 | default because COHERENT tends to run on old PCs that don't have |
---|
3410 | floating-point hardware. You can also add "-f" to CFLAGS to have it |
---|
3411 | link in the floating-point emulation library. Also I'm not sure why |
---|
3412 | -DNOLEARN is included, since it depends on select(), which COHERENT |
---|
3413 | has. |
---|
3414 | ________________________________________________________________________ |
---|
3415 | |
---|
3416 | 4. GENERAL UNIX-SPECIFIC HINTS, LIMITATIONS, AND BUGS |
---|
3417 | |
---|
3418 | [ [528]Top ] [ [529]Contents ] [ [530]Next ] [ [531]Previous ] |
---|
3419 | |
---|
3420 | 4.1. Modem Signals |
---|
3421 | |
---|
3422 | There seems to be an escalating demand for the ability to control |
---|
3423 | "dumb serial devices" (such as "smartcard readers", barcode readers, |
---|
3424 | etc) by explicitly manipulating modem signals, particularly RTS. This |
---|
3425 | might have been easy to do in DOS, where there is no operating system |
---|
3426 | standing between the application and the serial device, but it is |
---|
3427 | problematic in Unix, where modem signals are controlled by the serial |
---|
3428 | device driver. If the driver does not provide an API for doing this, |
---|
3429 | then the application can't do it. If it does provide an API, expect it |
---|
3430 | to be totally different on each Unix platform, since there is no |
---|
3431 | standard for this. |
---|
3432 | |
---|
3433 | 4.2. NFS Troubles |
---|
3434 | |
---|
3435 | Beginning with C-Kermit 6.0, the default C-Kermit prompt includes your |
---|
3436 | current (working) directory; for example: |
---|
3437 | |
---|
3438 | [/usr/olga] C-Kermit> |
---|
3439 | |
---|
3440 | (In C-Kermit 7.0 the square braces were replaced by round parentheses |
---|
3441 | to avoid conflicts with ISO 646 national character sets.) |
---|
3442 | |
---|
3443 | If that directory is on an NFS-mounted disk, and NFS stops working or |
---|
3444 | the disk becomes unavailable, C-Kermit will hang waiting for NFS |
---|
3445 | and/or the disk to come back. Whether you can interrupt C-Kermit when |
---|
3446 | it is hung this way depends on the specific OS. Kermit has called the |
---|
3447 | operating systems's getcwd() function, and is waiting for it to |
---|
3448 | return. Some versions of Unix (e.g. HP-UX 9.x) allow this function to |
---|
3449 | be interrupted with SIGINT (Ctrl-C), others (such as HP-UX 8.x) do |
---|
3450 | not. To avoid this effect, you can always use SET PROMPT to change |
---|
3451 | your prompt to something that does not involve calling getcwd(), but |
---|
3452 | if NFS is not responding, C-Kermit will still hang any time you give a |
---|
3453 | command that refers to an NFS-mounted directory. Also note that in |
---|
3454 | some cases, the uninterruptibility of NFS-dependent system or library |
---|
3455 | calls is considered a bug, and sometimes there are patches. For HP-UX, |
---|
3456 | for example: |
---|
3457 | |
---|
3458 | replaced by: |
---|
3459 | HP-UX 10.20 libc PHCO_8764 PHCO_14891/PHCO_16723 |
---|
3460 | HP-UX 10.10 libc PHCO_8763 PHCO_14254/PHCO_16722 |
---|
3461 | HP-UX 9.x libc PHCO_7747 S700 PHCO_13095 |
---|
3462 | HP-UX 9.x libc PHCO_6779 S800 PHCO_11162 |
---|
3463 | |
---|
3464 | 4.3. C-Kermit as Login Shell |
---|
3465 | |
---|
3466 | You might have reason to make C-Kermit the login shell for a specific |
---|
3467 | user, by entering the pathname of Kermit (possibly with command-line |
---|
3468 | switches, such as -x to put it in server mode) into the shell field of |
---|
3469 | the /etc/passwd file. This works pretty well. In some cases, for |
---|
3470 | "ultimate security", you might want to use a version built with |
---|
3471 | -DNOPUSH (see the [532]Configurations Options document for this, but |
---|
3472 | even if you don't, then PUSHing or shelling out from C-Kermit just |
---|
3473 | brings up a new copy of C-Kermit (but warning: this does not prevent |
---|
3474 | the user from explicitly running a shell; e.g. "run /bin/sh"; use |
---|
3475 | NOPUSH to prevent this). |
---|
3476 | |
---|
3477 | 4.4. C-Kermit versus screen and splitvt |
---|
3478 | |
---|
3479 | C-Kermit file transfers will probably not work if attemped through the |
---|
3480 | "splitvt" or GNU "screen" programs because the screen optimization (or |
---|
3481 | at least, line wrapping, control-character absorption) done by this |
---|
3482 | package interferes with Kermit's packets. |
---|
3483 | |
---|
3484 | The same can apply to any other environment in which the user's |
---|
3485 | session is captured, monitored, recorded, or manipulated. Examples |
---|
3486 | include the 'script' program (for making a typescript of a session), |
---|
3487 | the Computronics PEEK package and pksh (at least versions of it prior |
---|
3488 | to 1.9K), and so on. |
---|
3489 | |
---|
3490 | You might try the following -- what we call "doomsday Kermit" -- |
---|
3491 | settings to push packets through even the densest and most obstructive |
---|
3492 | connections, such as "screen" and "splitvt" (and certain kinds of 3270 |
---|
3493 | protocol emulators): Give these commands to BOTH Kermit programs: |
---|
3494 | |
---|
3495 | SET FLOW NONE |
---|
3496 | SET CONTROL PREFIX ALL |
---|
3497 | SET RECEIVE PACKET-LENGTH 70 |
---|
3498 | SET RECEIVE START 62 |
---|
3499 | SET SEND START 62 |
---|
3500 | SET SEND PAUSE 100 |
---|
3501 | SET BLOCK B |
---|
3502 | |
---|
3503 | If it works, it will be slow. |
---|
3504 | |
---|
3505 | 4.5. C-Kermit versus DOS Emulators |
---|
3506 | |
---|
3507 | On Unix workstations equipped with DOS emulators like SoftPC, watch |
---|
3508 | out for what these emulators do to the serial port drivers. After |
---|
3509 | using a DOS emulator, particularly if you use it to run DOS |
---|
3510 | communications software, you might have to reconfigure the serial |
---|
3511 | ports for use by Unix. |
---|
3512 | |
---|
3513 | 4.6. C-Kermit versus Job Control |
---|
3514 | |
---|
3515 | Interruption by Ctrl-Z makes Unix C-Kermit try to suspend itself with |
---|
3516 | kill(0,SIGTSTP), but only on platforms that support job control, as |
---|
3517 | determined by whether the symbol SIGTSTP is defined (or on POSIX or |
---|
3518 | SVR4 systems, if syconf(_SC_JOB_CONTROL) or _POSIX_JOB_CONTROL in |
---|
3519 | addition to SIGTSTP). However, if Kermit is running under a login |
---|
3520 | shell (such as the original Bourne shell) that does not support job |
---|
3521 | control, the user's session hangs and must be logged out from another |
---|
3522 | terminal, or hung up on. There is no way Kermit can defend itself |
---|
3523 | against this. If you use a non-job control shell on a computer that |
---|
3524 | supports job control, give a command like "stty susp undef" to fix it |
---|
3525 | so the suspend signal is not attached to any particular key, or give |
---|
3526 | the command SET SUSPEND OFF to C-Kermit, or build C-Kermit with |
---|
3527 | -DNOJC. |
---|
3528 | |
---|
3529 | 4.7. Dates and Times |
---|
3530 | |
---|
3531 | Unix time conversion functions typically apply locale rules to return |
---|
3532 | local time in terms of any seasonal time zone change in effect for the |
---|
3533 | given date. The diffdate function assumes that the same timezone rules |
---|
3534 | are in effect for both dates, but a date with timezone information |
---|
3535 | will be converted to the local time zone in effect at the given time, |
---|
3536 | e.g., a GMT specification will produce either a Standard Time or |
---|
3537 | Daylight Savings Time, depending on which applies at the given time. |
---|
3538 | An example using the 2001 seasonal change from EDT (-0400) to EST |
---|
3539 | (-0500): |
---|
3540 | |
---|
3541 | C-Kermit> DATE 20011028 05:01:02 GMT ; EDT |
---|
3542 | 20011028 01:01:02 |
---|
3543 | C-Kermit> DATE 20011028 06:01:02 GMT ; EST |
---|
3544 | 20011028 01:01:02 |
---|
3545 | C-Kermit> |
---|
3546 | |
---|
3547 | but the implicit change in timezone offset is not recognized: |
---|
3548 | |
---|
3549 | C-Kermit> echo \fdiffdate(20011028 05:01:02 GMT, 20011028 06:01:02 GMT) |
---|
3550 | +0:00 |
---|
3551 | C-Kermit> |
---|
3552 | |
---|
3553 | Date/time arithmetic, offsets, delta times, and timezone support are |
---|
3554 | new to C-Kermit 8.0, and might be expected to evolve and improve in |
---|
3555 | subsequent releases. |
---|
3556 | |
---|
3557 | On some platforms, files downloaded with HTTP receive the current |
---|
3558 | timestamp, rather than the HTTP "Last Modified" time (this can be |
---|
3559 | fixed by including utime.h, e.g. in SunOS and Tru64...). |
---|
3560 | |
---|
3561 | 4.8. Pseudoterminals |
---|
3562 | |
---|
3563 | The SSH and PTY commands work by assigning a pseudoterminal and |
---|
3564 | reading and writing from it. Performance varies according to the |
---|
3565 | specific platform ranging from very fast to very flow. |
---|
3566 | |
---|
3567 | SSH and PTY commands can fail if (a) all pseudoterminals are in use; |
---|
3568 | or (b) you do not have read/write access to the pseudoterminal that |
---|
3569 | was assigned. An example of (b) was reported with the Zipslack |
---|
3570 | Slackware Linux distribution, in which the pseudoterminals were |
---|
3571 | created with crw-r--r-- permission, instead of crw-rw-rw-. |
---|
3572 | |
---|
3573 | 4.9. Miscellaneous |
---|
3574 | |
---|
3575 | * Reportedly, the Unix C-Kermit server, under some conditions, on |
---|
3576 | certain particular systems, fails to log out its login session |
---|
3577 | upon receipt of a BYE command. Before relying on the BYE command |
---|
3578 | working, test it a few times to make sure it works on your system: |
---|
3579 | there might be system configuration or security mechanisms to |
---|
3580 | prevent an inferior process (like Kermit) from killing a superior |
---|
3581 | one (like the login shell). |
---|
3582 | * On AT&T 7300 (3B1) machines, you might have to "stty nl1" before |
---|
3583 | starting C-Kermit. Do this if characters are lost during |
---|
3584 | communications operations. |
---|
3585 | * Under the bash shell (versions prior to 1.07 from CWRU), "pushing" |
---|
3586 | to an inferior shell and then exiting back to Kermit leaves Kermit |
---|
3587 | in the background such that it must be explicitly fg'd. This is |
---|
3588 | reportedly fixed in version 1.07 of bash (and definitely in modern |
---|
3589 | bash versions). |
---|
3590 | ________________________________________________________________________ |
---|
3591 | |
---|
3592 | 5. INITIALIZATION AND COMMAND FILES |
---|
3593 | |
---|
3594 | [ [533]Top ] [ [534]Contents ] [ [535]Next ] [ [536]Previous ] |
---|
3595 | |
---|
3596 | C-Kermit's initialization file for Unix is .kermrc (lowercase, starts |
---|
3597 | with period) in your home directory, unless Kermit was built with the |
---|
3598 | system-wide initialization-file option (see the [537]C-Kermit for Unix |
---|
3599 | Installation Instructions). |
---|
3600 | |
---|
3601 | C-Kermit identifies your home directory based on the environment |
---|
3602 | variable, HOME. Most Unix systems set this variable automatically when |
---|
3603 | you log in. If C-Kermit can't find your initialization file, check |
---|
3604 | your HOME variable: |
---|
3605 | |
---|
3606 | echo $HOME (at the Unix prompt) |
---|
3607 | |
---|
3608 | or: |
---|
3609 | |
---|
3610 | echo \$(HOME) (at the C-Kermit prompt) |
---|
3611 | |
---|
3612 | If HOME is not defined, or is defined incorrectly, add the appropriate |
---|
3613 | definition to your Unix .profile or .login file, depending on your |
---|
3614 | shell: |
---|
3615 | |
---|
3616 | setenv HOME full-pathname-of-your-home-directory (C-Shell, .login file) |
---|
3617 | |
---|
3618 | or: |
---|
3619 | |
---|
3620 | HOME=full-pathname-of-your-home-directory (sh, ksh, .profile file) |
---|
3621 | export HOME |
---|
3622 | |
---|
3623 | NOTE: Various other operations depend on the correct definition of |
---|
3624 | HOME. These include the "tilde-expansion" feature, which allows you to |
---|
3625 | refer to your home directory as "~" in filenames used in C-Kermit |
---|
3626 | commands, e.g.: |
---|
3627 | |
---|
3628 | send ~/.kermrc |
---|
3629 | |
---|
3630 | as well as the \v(home) variable. |
---|
3631 | |
---|
3632 | Prior to version 5A(190), C-Kermit would look for its initialization |
---|
3633 | file in the current directory if it was not found in the home |
---|
3634 | directory. This feature was removed from 5A(190) because it was a |
---|
3635 | security risk. Some people, however, liked this behavior and had |
---|
3636 | .kermrc files in all their directories that would set up things |
---|
3637 | appropriately for the files therein. If you want this behavior, you |
---|
3638 | can accomplish it in various ways, for example: |
---|
3639 | |
---|
3640 | * Create a shell alias, for example: |
---|
3641 | alias kd="kermit -Y ./.kermrc" |
---|
3642 | * Create a .kermrc file in your home directory, whose contents are: |
---|
3643 | |
---|
3644 | take ./.kermrc |
---|
3645 | |
---|
3646 | Suppose you need to pass a password from the Unix command line to a |
---|
3647 | C-Kermit script program, in such a way that it does not show up in |
---|
3648 | "ps" or "w" listings. Here is a method (not guaranteed to be 100% |
---|
3649 | secure, but definitely more secure than the more obvious methods): |
---|
3650 | |
---|
3651 | echo mypassword | kermit myscript |
---|
3652 | |
---|
3653 | The "myscript" file contains all the commands that need to be executed |
---|
3654 | during the Kermit session, up to and including EXIT, and also includes |
---|
3655 | an ASK or ASKQ command to read the password from standard input, which |
---|
3656 | has been piped in from the Unix 'echo' command, but it must not |
---|
3657 | include a CONNECT command. Only "kermit myscript" shows up in the ps |
---|
3658 | listing. |
---|
3659 | ________________________________________________________________________ |
---|
3660 | |
---|
3661 | 6. COMMUNICATION SPEED SELECTION |
---|
3662 | |
---|
3663 | [ [538]Top ] [ [539]Contents ] [ [540]Next ] [ [541]Previous ] |
---|
3664 | |
---|
3665 | Version-7 based Unix implementations, including 4.3 BSD and earlier |
---|
3666 | and Unix systems based upon BSD, use a 4-bit field to record a serial |
---|
3667 | device's terminal speed. This leaves room for 16 speeds, of which the |
---|
3668 | first 14 are normally: |
---|
3669 | |
---|
3670 | 0, 50, 75, 110, 134.5, 150, 200, 300, 600, 1200, 1800, 2400, 4800, |
---|
3671 | and 9600 |
---|
3672 | |
---|
3673 | The remaining two are usually called EXTA and EXTB, and are defined by |
---|
3674 | the particular Unix implementation. C-Kermit determines which speeds |
---|
3675 | are available on your system based on whether symbols for them are |
---|
3676 | defined in your terminal device header files. EXTA is generally |
---|
3677 | assumed to be 19200 and EXTB 38400, but these assumptions might be |
---|
3678 | wrong, or they might not apply to a particular device that does not |
---|
3679 | support these speeds. Presumably, if you try to set a speed that is |
---|
3680 | not legal on a particular device, the driver will return an error, but |
---|
3681 | this can not be guaranteed. |
---|
3682 | |
---|
3683 | On these systems, it is usually not possible to select a speed of |
---|
3684 | 14400 bps for use with V.32bis modems. In that case, use 19200 or |
---|
3685 | 38400 bps, configure your modem to lock its interface speed and to use |
---|
3686 | RTS/CTS flow control, and tell C-Kermit to SET FLOW RTS/CTS and SET |
---|
3687 | DIAL SPEED-MATCHING OFF. |
---|
3688 | |
---|
3689 | The situation is similar, but different, in System V. SVID Third |
---|
3690 | Edition lists the same speeds, 0 through 38400. |
---|
3691 | |
---|
3692 | Some versions of Unix, and/or terminal device drivers that come with |
---|
3693 | certain third-party add-in high-speed serial communication interfaces, |
---|
3694 | use the low "baud rates" to stand for higher ones. For example, SET |
---|
3695 | SPEED 50 gets you 57600 bps; SET SPEED 75 gets you 76800; SET SPEED |
---|
3696 | 110 gets 115200. |
---|
3697 | |
---|
3698 | SCO ODT 3.0 is an example where a "baud-rate-table patch" can be |
---|
3699 | applied that can rotate the tty driver baud rate table such that |
---|
3700 | 600=57600 and 1800=115k baud. Similarly for Digiboard |
---|
3701 | multiport/portservers, which have a "fastbaud" setting that does this. |
---|
3702 | Linux has a "setserial" command that can do it, etc. |
---|
3703 | |
---|
3704 | More modern Unixes support POSIX-based speed setting, in which the |
---|
3705 | selection of speeds is not limited by a 4-bit field. C-Kermit 6.1 |
---|
3706 | incorporates a new mechanism for finding out (at compile time) which |
---|
3707 | serial speeds are supported by the operating system that does not |
---|
3708 | involve editing of source code by hand; on systems like Solaris 5.1, |
---|
3709 | IRIX 6.2, and SCO OSR5.0.4, "set speed ?" will list speeds up to |
---|
3710 | 460800 or 921600. In C-Kermit 7.0 and later: |
---|
3711 | |
---|
3712 | 1. If a symbol for a particular speed (say B230400 for 230400 bps) |
---|
3713 | appears in whatever header file defines acceptable serial speeds |
---|
3714 | (e.g. <termbits.h> or <sys/termios.h> or <sys/ttydev.h>, etc), the |
---|
3715 | corresponding speed will appear in C-Kermit's "set speed ?" list. |
---|
3716 | 2. The fact that a given speed is listed in the header files and |
---|
3717 | appears in C-Kermit's list does not mean the driver will accept |
---|
3718 | it. For example, a computer might have some standard serial ports |
---|
3719 | plus some add-on ones with different drivers that accept a |
---|
3720 | different repertoire of speeds. |
---|
3721 | 3. The fact that a given speed is accepted by the driver does not |
---|
3722 | guarantee the underlying hardware can accept it. |
---|
3723 | |
---|
3724 | When Kermit is given a "set speed" command for a particular device, |
---|
3725 | the underlying system service is called to set the speed; its return |
---|
3726 | code is checked and the SET SPEED command fails if the return code |
---|
3727 | indicates failure. Regardless of the system service return status, the |
---|
3728 | device's speed is then read back and if it does not match the speed |
---|
3729 | that was requested, an error message is printed and the command fails. |
---|
3730 | |
---|
3731 | Even when the command succeeds, this does not guarantee successful |
---|
3732 | operation at a particular speed, especially a high one. That depends |
---|
3733 | on electricity, information theory, etc. How long is the cable, what |
---|
3734 | is its capacitance, how well is it shielded, etc, not to mention that |
---|
3735 | every connection has two ends and its success depends on both of them. |
---|
3736 | (With the obvious caveats about internal modems, is the cable really |
---|
3737 | connected, interrupt conflicts, etc etc etc). |
---|
3738 | |
---|
3739 | Note, in particular, that there is a certain threshold above which |
---|
3740 | modems can not "autobaud" -- i.e. detect the serial interface speed |
---|
3741 | when you type AT (or whatever else the modem's recognition sequence |
---|
3742 | might be). Such modems need to be engaged at a lower speed (say 2400 |
---|
3743 | or 9600 or even 115200 -- any speed below their autobaud threshold) |
---|
3744 | and then must be given a modem-specific command (which can be found in |
---|
3745 | the modem manual) to change their interface speed to the desired |
---|
3746 | higher speed, and then the software must also be told to change to the |
---|
3747 | new, higher speed. |
---|
3748 | |
---|
3749 | For additional information, read [542]Section 9.5 of the Installation |
---|
3750 | Instructions, plus any platform-specific notes in [543]Section 3 |
---|
3751 | above. |
---|
3752 | ________________________________________________________________________ |
---|
3753 | |
---|
3754 | 7. COMMUNICATIONS AND DIALING |
---|
3755 | |
---|
3756 | [ [544]Top ] [ [545]Contents ] [ [546]Next ] [ [547]Previous ] |
---|
3757 | |
---|
3758 | 7.1. Serial Ports and Modems |
---|
3759 | |
---|
3760 | If you SET LINE to a serial port modem-control device that has nothing |
---|
3761 | plugged in to it, or has a modem connected that is powered off, and |
---|
3762 | you have not given a prior SET MODEM TYPE or SET CARRIER-WATCH OFF |
---|
3763 | command, the SET LINE command is likely to hang. In most cases, you |
---|
3764 | can Ctrl-C out. If not, you'll have to kill C-Kermit from another |
---|
3765 | terminal. |
---|
3766 | |
---|
3767 | Similarly, if you give a SET MODEM TYPE HAYES (or USR, or any other |
---|
3768 | modem type besides DIRECT, NONE, or UNKNOWN) and then SET LINE to an |
---|
3769 | empty port, the subsequent close (implicit or explicit) is liable to |
---|
3770 | hang or even crash (through no fault of Kermit's -- the hanging or |
---|
3771 | crashing is inside a system call such as cfsetospeed() or close()). |
---|
3772 | |
---|
3773 | The SET CARRIER-WATCH command works as advertised only if the |
---|
3774 | underlying operating system and device drivers support this feature; |
---|
3775 | in particular only if a read() operation returns immediately with an |
---|
3776 | error code if the carrier signal goes away or, failing that, if |
---|
3777 | C-Kermit can obtain the modem signals from the device driver (you can |
---|
3778 | tell by giving a "set line" command to a serial device, and then a |
---|
3779 | "show communications" command -- if modem signals are not listed, |
---|
3780 | C-Kermit won't be able to detect carrier loss, the WAIT command will |
---|
3781 | not work, etc). Of course, the device itself (e.g. modem) must be |
---|
3782 | configured appropriately and the cables convey the carrier and other |
---|
3783 | needed signals, etc. |
---|
3784 | |
---|
3785 | If you dial out from Unix system, but then notice a lot of weird |
---|
3786 | character strings being stuck into your session at random times |
---|
3787 | (especially if they look like +++ATQ0H0 or login banners or prompts), |
---|
3788 | that means that getty is also trying to control the same device. |
---|
3789 | You'll need to dial out on a device that is not waiting for a login, |
---|
3790 | or else disable getty on the device. |
---|
3791 | |
---|
3792 | As of version 7.0, C-Kermit makes explicit checks for the Carrier |
---|
3793 | Detect signal, and so catches hung-up connections much better than 6.0 |
---|
3794 | and earlier. However, it still can not be guaranteed to catch every |
---|
3795 | ever CD on-to-off transition. For example, when the HP-UX version of |
---|
3796 | C-Kermit is in CONNECT mode on a dialed connection and CARRIER-WATCH |
---|
3797 | ON or AUTO, and you turn off the modem, HP-UX is stuck in a read() |
---|
3798 | that never returns. (C-Kermit does not pop back to its prompt |
---|
3799 | automatically, but you can still escape back.) |
---|
3800 | |
---|
3801 | If, on the other hand, you log out from the remote system, and it |
---|
3802 | hangs up, and CD drops on the local modem, C-Kermit detects this and |
---|
3803 | pops back to the prompt as it should. (Evidently there can be a |
---|
3804 | difference between CD and DSR turning off at the same time, versus CD |
---|
3805 | turning off while DSR stays on; experimentation with &S0/&S1/&S2 on |
---|
3806 | your modem might produce the desired results). |
---|
3807 | |
---|
3808 | When Unix C-Kermit exits, it closes (and must close) the |
---|
3809 | communications device. If you were dialed out, this will most likely |
---|
3810 | hang up the connection. If you want to get out of Kermit and still use |
---|
3811 | Kermit's communication device, you have several choices: |
---|
3812 | |
---|
3813 | 1. Shell out from Kermit or suspend Kermit, and refer to the device |
---|
3814 | literally (as in "term -blah -blah < /dev/cua > /dev/cua"). |
---|
3815 | 2. Shell out from Kermit and use the device's file descriptor which |
---|
3816 | Kermit makes available to you in the \v(ttyfd) variable. |
---|
3817 | 3. Use C-Kermit's REDIRECT command. |
---|
3818 | 4. Use C-Kermit new EXEC /REDIRECT command. |
---|
3819 | |
---|
3820 | If you are having trouble dialing: |
---|
3821 | |
---|
3822 | 1. Make sure the dialout line is configured correctly. More about |
---|
3823 | this below. |
---|
3824 | 2. Make sure all necessary patches are installed for your operating |
---|
3825 | system. |
---|
3826 | 3. If you can't dial on a "bidirectional" line, then configure it for |
---|
3827 | outbound-only (remove the getty) and try again. (The mechanisms -- |
---|
3828 | if any -- for grabbing bidirectional lines for dialout vary wildly |
---|
3829 | among Unix implementations and releases, and C-Kermit -- which |
---|
3830 | runs on well over 300 different Unix variations -- makes no effort |
---|
3831 | to keep up with them; the recommended method for coping with this |
---|
3832 | situation is to wrap C-Kermit in a shell script that takes the |
---|
3833 | appropriate actions.) |
---|
3834 | 4. Make sure C-Kermit's SET DIAL and SET MODEM parameters agree with |
---|
3835 | the modem you are actually using -- pay particular attention to |
---|
3836 | SET DIAL SPEED-MATCHING. |
---|
3837 | 5. If MODEM HANGUP-METHOD is set to RS232-SIGNAL, change it to |
---|
3838 | MODEM-COMMAND. Or vice-versa. |
---|
3839 | 6. Try SET DIAL HANGUP OFF before the DIAL command. Also, SET DIAL |
---|
3840 | DISPLAY ON to watch what's happening. See [548]Section 8 of the |
---|
3841 | [549]Installation Instructions. |
---|
3842 | 7. Read pages 50-67 of [550]Using C-Kermit. |
---|
3843 | 8. As a last resort, don't use the DIAL command at all; SET CARRIER |
---|
3844 | OFF and CONNECT to the modem and dial interactively, or write a |
---|
3845 | script program to dial the modem. |
---|
3846 | |
---|
3847 | Make sure your dialout line is correctly configured for dialing out |
---|
3848 | (as opposed to login). The method for doing this is different for each |
---|
3849 | kind of Unix system. Consult your system documentation for configuring |
---|
3850 | lines for dialing out (for example, Sun SparcStation IPC users should |
---|
3851 | read the section "Setting up Modem Software" in the Desktop SPARC Sun |
---|
3852 | System & Network Manager's Guide; HP-9000 workstation users should |
---|
3853 | consult the manual Configuring HP-UX for Peripherals, etc). |
---|
3854 | |
---|
3855 | Symptom: DIAL works, but a subsequent CONNECT command does not. |
---|
3856 | Diagnosis: the modem is not asserting Carrier Detect (CD) after the |
---|
3857 | connection is made, or the cable does not convey the CD signal. Cure: |
---|
3858 | Reconfigure the modem, replace the cable. Workaround: SET CARRIER OFF |
---|
3859 | (at least in System-V based Unix versions). |
---|
3860 | |
---|
3861 | For Berkeley-Unix-based systems (4.3BSD and earlier), Kermit includes |
---|
3862 | code to use LPASS8 mode when parity is none, which is supposed to |
---|
3863 | allow 8-bit data and Xon/Xoff flow control at the same time. However, |
---|
3864 | as of edit 174, this code is entirely disabled because it is |
---|
3865 | unreliable: even though the host operating system might (or might not) |
---|
3866 | support LPASS8 mode correctly, the host access protocols (terminal |
---|
3867 | servers, telnet, rlogin, etc) generally have no way of finding out |
---|
3868 | about it and therefore render it ineffective, causing file transfer |
---|
3869 | failures. So as of edit 174, Kermit once again uses rawmode for 8-bit |
---|
3870 | data, and so there is no Xon/Xoff flow control during file transfer or |
---|
3871 | terminal emulation in the Berkeley-based versions (4.3 and earlier, |
---|
3872 | not 4.4). |
---|
3873 | |
---|
3874 | Also on Berkeley-based systems (4.3 and earlier), there is apparently |
---|
3875 | no way to configure a dialout line for proper carrier handling, i.e. |
---|
3876 | ignore carrier during dialing, require carrier thereafter, get a fatal |
---|
3877 | error on any attempt to read from the device after carrier drops (this |
---|
3878 | is handled nicely in System V by manipulation of the CLOCAL flag). The |
---|
3879 | symptom is that carrier loss does not make C-Kermit pop back to the |
---|
3880 | prompt automatically. This is evident on the NeXT, for example, but |
---|
3881 | not on SunOS, which supports the CLOCAL flag. This is not a Kermit |
---|
3882 | problem, but a limitation of the underlying operating system. For |
---|
3883 | example, the cu program on the NeXT doesn't notice carrier loss |
---|
3884 | either, whereas cu on the Sun does. |
---|
3885 | |
---|
3886 | On certain AT&T Unix systems equipped with AT&T modems, DIAL and |
---|
3887 | HANGUP don't work right. Workarounds: (1) SET DIAL HANGUP OFF before |
---|
3888 | attempting to dial; (2) If HANGUP doesn't work, SET LINE, and then SET |
---|
3889 | LINE <device> to totally close and reopen the device. If all else |
---|
3890 | fails, SET CARRIER OFF. |
---|
3891 | |
---|
3892 | C-Kermit does not contain any particular support for AT&T DataKit |
---|
3893 | devices. You can use Kermit software to dial in to a DataKit line, but |
---|
3894 | C-Kermit does not contain the specialized code required to dial out |
---|
3895 | from a DataKit line. If the Unix system is connected to DataKit via |
---|
3896 | serial ports, dialout should work normally (e.g. set line /dev/ttym1, |
---|
3897 | set speed 19200, connect, and then see the DESTINATION: prompt, from |
---|
3898 | which you can connect to another computer on the DataKit network or to |
---|
3899 | an outgoing modem pool, etc). But if the Unix system is connected to |
---|
3900 | the DataKit network through the special DataKit interface board, then |
---|
3901 | SET LINE to a DataKit pseudodevice (such as /dev/dk031t) will not work |
---|
3902 | (you must use the DataKit "dk" or "dkcu" program instead). In C-Kermit |
---|
3903 | 7.0 and later, you can make Kermit connections "though" dk or dkcu |
---|
3904 | using "set line /pty". |
---|
3905 | |
---|
3906 | In some BSD-based Unix C-Kermit versions, SET LINE to a port that has |
---|
3907 | nothing plugged in to it with SET CARRIER ON will hang the program (as |
---|
3908 | it should), but it can't be interrupted with Ctrl-C. The interrupt |
---|
3909 | trap is correctly armed, but apparently the Unix open() call cannot be |
---|
3910 | interrupted in this case. When SET CARRIER is OFF or AUTO, the SET |
---|
3911 | LINE will eventually return, but then the program hangs |
---|
3912 | (uninterruptibly) when the EXIT or QUIT command (or, presumably, |
---|
3913 | another SET LINE command) is given. The latter is probably because of |
---|
3914 | the attempt to hang up the modem. (In edit 169, a timeout alarm was |
---|
3915 | placed around this operation.) |
---|
3916 | |
---|
3917 | With SET DIAL HANGUP OFF in effect, the DIAL command might work only |
---|
3918 | once, but not again on the same device. In that case, give a CLOSE |
---|
3919 | command to close the device, and then another SET LINE command to |
---|
3920 | re-open the same device. Or rebuild your version of Kermit with the |
---|
3921 | -DCLSOPN compile-time switch. |
---|
3922 | |
---|
3923 | The DIAL command says "To cancel: Type your interrupt character |
---|
3924 | (normally Ctrl-C)." This is just one example of where program messages |
---|
3925 | and documentation assume your interrupt character is Ctrl-C. But it |
---|
3926 | might be something else. In most (but not necessarily all) cases, the |
---|
3927 | character referred to is the one that generates the SIGINT signal. If |
---|
3928 | Ctrl-C doesn't act as an interrupt character for you, type the Unix |
---|
3929 | command "stty -a" or "stty all" or "stty everything" to see what your |
---|
3930 | interrupt character is. (Kermit could be made to find out what the |
---|
3931 | interrupt character is, but this would require a lot of |
---|
3932 | platform-dependent coding and #ifdefs, and a new routine and interface |
---|
3933 | between the platform-dependent and platform-independent parts of the |
---|
3934 | program.) |
---|
3935 | |
---|
3936 | In general, the hangup operation on a serial communication device is |
---|
3937 | prone to failure. C-Kermit tries to support many, many different kinds |
---|
3938 | of computers, and there seems to be no portable method for hanging up |
---|
3939 | a modem connection (i.e. turning off the RS-232 DTR signal and then |
---|
3940 | turning it back on again). If HANGUP, DIAL, and/or Ctrl-\H do not work |
---|
3941 | for you, and you are a programmer, look at the tthang() function in |
---|
3942 | ckutio.c and see if you can add code to make it work correctly for |
---|
3943 | your system, and send the code to the address above. (NOTE: This |
---|
3944 | problem has been largely sidestepped as of edit 188, in which Kermit |
---|
3945 | first attempts to hang up the modem by "escaping back" via +++ and |
---|
3946 | then giving the modem's hangup command, e.g. ATH0, when DIAL |
---|
3947 | MODEM-HANGUP is ON, which is the default setting.) |
---|
3948 | |
---|
3949 | Even when Kermit's modem-control software is configured correctly for |
---|
3950 | your computer, it can only work right if your modem is also configured |
---|
3951 | to assert the CD signal when it is connected to the remote modem and |
---|
3952 | to hang up the connection when your computer drops the DTR signal. So |
---|
3953 | before deciding Kermit doesn't work with your modem, check your modem |
---|
3954 | configuration AND the cable (if any) connecting your modem to the |
---|
3955 | computer -- it should be a straight-through modem cable conducting the |
---|
3956 | signals FG, SG, TD, RD, RTS, CTS, DSR, DTR, CD, and RI. |
---|
3957 | |
---|
3958 | Many Unix systems keep aliases for dialout devices; for example, |
---|
3959 | /dev/acu might be an alias for /dev/tty00. But most of these Unix |
---|
3960 | systems also use UUCP lockfile conventions that do not take this |
---|
3961 | aliasing into account, so if one user assigns (e.g.) /dev/acu, then |
---|
3962 | another user can still assign the same device by referring to its |
---|
3963 | other name. This is not a Kermit problem -- Kermit must follow the |
---|
3964 | lockfile conventions used by the vendor-supplied software (cu, tip, |
---|
3965 | uucp). |
---|
3966 | |
---|
3967 | The SET FLOW-CONTROL KEEP option should be given *before* any |
---|
3968 | communication (dialing, terminal emulation, file transfer, |
---|
3969 | INPUT/OUTPUT/TRANSMIT, etc) is attempted, if you want C-Kermit to use |
---|
3970 | all of the device's preexisting flow-control related settings. The |
---|
3971 | default flow-control setting is XON/XOFF, and it will take effect when |
---|
3972 | the first communication-related command is given, and a subsequent SET |
---|
3973 | FLOW KEEP command will not necessarily know how to restore *all* of |
---|
3974 | the device's original flow-control settings. |
---|
3975 | |
---|
3976 | 7.2. Network Connections |
---|
3977 | |
---|
3978 | C-Kermit tries to use the 8th bit for data when parity is NONE, and |
---|
3979 | this generally works on real Unix terminal (tty) devices, but it often |
---|
3980 | does not work when the Unix system is accessed over a network via |
---|
3981 | telnet or rlogin protocols, including (in many cases) through terminal |
---|
3982 | servers. For example, an Encore computer with Annex terminal servers |
---|
3983 | only gives a 7-bit path if the rlogin protocol is selected in the |
---|
3984 | terminal server but it gives the full 8 bits if the proprietary RDP |
---|
3985 | protocol is used. |
---|
3986 | |
---|
3987 | If file transfer does not work through a host to which you have |
---|
3988 | rlogin'd, use "rlogin -8" rather than "rlogin". If that doesn't work, |
---|
3989 | tell both Kermit programs to "set parity space". |
---|
3990 | |
---|
3991 | The Encore TELNET server does not allow long bursts of input. When you |
---|
3992 | have a TELNET connection to an Encore, tell C-Kermit on the Encore to |
---|
3993 | SET RECEIVE PACKET-LENGTH 200 or thereabouts. |
---|
3994 | ________________________________________________________________________ |
---|
3995 | |
---|
3996 | 8. HARDWARE FLOW CONTROL |
---|
3997 | |
---|
3998 | [ [551]Top ] [ [552]Contents ] [ [553]Next ] [ [554]Previous ] |
---|
3999 | |
---|
4000 | SET FLOW RTS/CTS is available in Unix C-Kermit only when the |
---|
4001 | underlying operating system provides an Application Program Interface |
---|
4002 | (API) for turning this feature on and off under program control, which |
---|
4003 | turns out to be a rather rare feature among Unix systems. To see if |
---|
4004 | your Unix C-Kermit version supports hardware flow control, type "set |
---|
4005 | flow ?" at the C-Kermit prompt, and look for "rts/cts" among the |
---|
4006 | options. Other common situations include: |
---|
4007 | |
---|
4008 | 1. The API is available, so "set flow rts/cts" appears as a valid |
---|
4009 | C-Kermit command, but it doesn't do anything because the device |
---|
4010 | driver (part of the operating system) was never coded to do |
---|
4011 | hardware flow control. This is common among System V R4 |
---|
4012 | implementations (details below). |
---|
4013 | 2. The API is not available, so "set flow rts/cts" does NOT appear as |
---|
4014 | a valid C-Kermit command, but you can still get RTS/CTS flow |
---|
4015 | control by selecting a specially named device in your SET LINE |
---|
4016 | command. Examples: |
---|
4017 | + NeXTSTEP: /dev/cufa instead of /dev/cua, /dev/cufb instead of |
---|
4018 | /dev/cub (68040 only; "man zs" for further info). |
---|
4019 | + IRIX: /dev/ttyf2 instead of /dev/ttyd2 or /dev/ttym2 ("man 7 |
---|
4020 | serial"). |
---|
4021 | 3. The API is available, doesn't work, but a workaround as in (2) can |
---|
4022 | be used. |
---|
4023 | 4. The API is available, but Kermit doesn't know about it. In these |
---|
4024 | cases, you can usually use an stty command to enable RTS/CTS on |
---|
4025 | the device, e.g. "stty crtscts" or "stty ctsflow", "stty rtsflow", |
---|
4026 | before starting Kermit, and then tell Kermit to SET FLOW KEEP. |
---|
4027 | 5. No API and no special device drivers. Hardware flow control is |
---|
4028 | completely unavailable. |
---|
4029 | |
---|
4030 | System V R4 based Unixes are supposed to supply a <termiox.h> file, |
---|
4031 | which gives Kermit the necessary interface to command the terminal |
---|
4032 | driver to enable/disable hardware flow control. Unfortunately, but |
---|
4033 | predictably, many implementations of SVR4 whimsically place this file |
---|
4034 | in /usr/include/sys rather than /usr/include (where SVID clearly |
---|
4035 | specifies it should be; see SVID, Third Edition, V1, termiox(BA_DEV). |
---|
4036 | Thus if you build C-Kermit with any of the makefile entries that |
---|
4037 | contain -DTERMIOX or -DSTERMIOX (the latter to select |
---|
4038 | <sys/termiox.h>), C-Kermit will have "set flow rts/cts" and possibly |
---|
4039 | other hardware flow-control related commands. BUT... That does not |
---|
4040 | necessarily mean that they will work. In some cases, the underlying |
---|
4041 | functions are simply not coded into the operating system. |
---|
4042 | |
---|
4043 | WARNING: When hardware flow control is available, and you enable in |
---|
4044 | Kermit on a device that is not receiving the CTS signal, Kermit can |
---|
4045 | hang waiting for CTS to come up. This is most easily seen when the |
---|
4046 | local serial port has nothing plugged in to it, or is connected to an |
---|
4047 | external modem that is powered off. |
---|
4048 | ________________________________________________________________________ |
---|
4049 | |
---|
4050 | 9. TERMINAL CONNECTION AND KEY MAPPING |
---|
4051 | |
---|
4052 | [ [555]Top ] [ [556]Contents ] [ [557]Next ] [ [558]Previous ] |
---|
4053 | |
---|
4054 | C-Kermit is not a terminal emulator. Refer to page 147 of [559]Using |
---|
4055 | C-Kermit, 2nd Edition: "Most versions of C-Kermit -- Unix, VMS, |
---|
4056 | AOS/VS, VOS, etc -- provide terminal connection without emulation. |
---|
4057 | These versions act as a 'semitransparent pipe' between the remote |
---|
4058 | computer and your terminal, terminal emulator, console driver, or |
---|
4059 | window, which in turn emulates (or is) a specific kind of terminal." |
---|
4060 | The environment in which you run C-Kermit is up to you. |
---|
4061 | |
---|
4062 | If you are an X Windows user, you should be aware of an alternative to |
---|
4063 | xterm that supports VT220 emulation, from Thomas E. Dickey: |
---|
4064 | |
---|
4065 | [560]http://dickey.his.com/xterm/xterm.html |
---|
4066 | |
---|
4067 | Unix C-Kermit's SET KEY command currently can not be used with keys |
---|
4068 | that generate "wide" scan codes or multibyte sequences, such as |
---|
4069 | workstation function or arrow keys, because Unix C-Kermit does not |
---|
4070 | have direct access to the keyboard. |
---|
4071 | |
---|
4072 | However, many Unix workstations and/or console drivers provide their |
---|
4073 | own key mapping feature. With xterm, for example, you can use |
---|
4074 | 'xmodmap' ("man xmodmap" for details); here is an xterm mapping to map |
---|
4075 | the Sun keyboard to DEC VT200 values for use with VT-terminal oriented |
---|
4076 | applications like VMS EVE: |
---|
4077 | |
---|
4078 | keycode 101=KP_0 |
---|
4079 | keycode 119=KP_1 |
---|
4080 | keycode 120=KP_2 |
---|
4081 | keycode 121=KP_3 |
---|
4082 | keycode 98=KP_4 |
---|
4083 | keycode 99=KP_5 |
---|
4084 | keycode 100=KP_6 |
---|
4085 | keycode 75=KP_7 |
---|
4086 | keycode 76=KP_8 |
---|
4087 | keycode 77=KP_9 |
---|
4088 | keycode 52=KP_F1 |
---|
4089 | keycode 53=KP_F2 |
---|
4090 | keycode 54=KP_F3 |
---|
4091 | keycode 57=KP_Decimal |
---|
4092 | keycode 28=Left |
---|
4093 | keycode 29=Right |
---|
4094 | keycode 30=KP_Separator |
---|
4095 | keycode 105=KP_F4 |
---|
4096 | keycode 78=KP_Subtract |
---|
4097 | keycode 8=Left |
---|
4098 | keycode 10=Right |
---|
4099 | keycode 32=Up |
---|
4100 | keycode 33=Down |
---|
4101 | keycode 97=KP_Enter |
---|
4102 | |
---|
4103 | Users of Linux consoles can use loadkeys ("man dumpkeys loadkeys |
---|
4104 | keytables" for details. The format used by loadkeys is compatible with |
---|
4105 | that used by Xmodmap, although it is not definitely certain that the |
---|
4106 | keycodes are compatible for different keyboard types (e.g. Sun vs HP |
---|
4107 | vs PC, etc). |
---|
4108 | ________________________________________________________________________ |
---|
4109 | |
---|
4110 | 10. FILE TRANSFER |
---|
4111 | |
---|
4112 | [ [561]Top ] [ [562]Contents ] [ [563]Next ] [ [564]Previous ] |
---|
4113 | |
---|
4114 | If uploads (or downloads) fail immediately, give the CAUTIOUS command |
---|
4115 | to Kermit and try again. If they still fail, then try SET PREFIXING |
---|
4116 | ALL. If they still fail, try SET PARITY SPACE. If they still fail, try |
---|
4117 | ROBUST. |
---|
4118 | |
---|
4119 | If reception (particularly of large files and/or binary files) begins |
---|
4120 | successfully but then fail constently after a certain amount of bytes |
---|
4121 | have been sent, check: |
---|
4122 | |
---|
4123 | * Your ulimit ("ulimit -a") |
---|
4124 | * The amount of available space on the target disk ("df ." or "df -k |
---|
4125 | .") |
---|
4126 | * Your personal disk quota (platform- and site-dependent) |
---|
4127 | * The maximum file size on the receiver's file system (e.g. 2GB in |
---|
4128 | old verions the Linux VFS file system, and/or in applications that |
---|
4129 | have not been recoded to use new "large file" APIs). |
---|
4130 | * If it's an NFS-mounted disk (if so, try uploading to a local disk) |
---|
4131 | * Is there an "idle limit" on the receiving end? |
---|
4132 | |
---|
4133 | If none of these seem to explain it, then the problem is not size |
---|
4134 | related, but reflects some clash between the file contents and the |
---|
4135 | characteristics of the connection, in which case follow the |
---|
4136 | instructions in the first paragraph of this section. |
---|
4137 | |
---|
4138 | Suppose two copies of Kermit are receiving files into the same |
---|
4139 | directory, and the files have the same name, e.g. "foo.bar". Whichever |
---|
4140 | one starts first opens an output file called "foo.bar". The second one |
---|
4141 | sees there is already a foo.bar file, and so renames the existing |
---|
4142 | foo.bar to foo.bar.~1~ (or whatever). When the first file has been |
---|
4143 | received completely, Kermit goes to change its modification time and |
---|
4144 | permissions to those given by the file sender in the Attribute packet. |
---|
4145 | But in Unix, the APIs for doing this take a filename, not a file |
---|
4146 | descriptor. Since the first Kermit's file has been renamed, and the |
---|
4147 | second Kermit is using the original name, the first Kermit changes the |
---|
4148 | modtime and permissions of the second Kermit's file, not its own. |
---|
4149 | Although there might be a way to work around this in the code, e.g. |
---|
4150 | using inode numbers to keep track of which file is which, this would |
---|
4151 | be tricky and most likely not very portable. It's better to set up |
---|
4152 | your application to prevent such things from happening, which is easy |
---|
4153 | enough using the script language, filename templates, etc. |
---|
4154 | |
---|
4155 | Suppose you start C-Kermit with a command-line argument to send or |
---|
4156 | receive a file (e.g. "kermit -r") and then type Ctrl-\c immediately |
---|
4157 | afterwards to escape back and initiate the other end of the transfer, |
---|
4158 | BUT your local Kermit's escape character is not Ctrl-\. In this case, |
---|
4159 | the local Kermit passes the Ctrl-\ to the remote system, and if this |
---|
4160 | is Unix, Ctrl-\ is likely to be its SIGQUIT character, which causes |
---|
4161 | the current program to halt and dump core. Well, just about the first |
---|
4162 | thing C-Kermit does when it starts is to disable the SIGQUIT signal. |
---|
4163 | However, it is still possible for SIGQUIT to cause Kermit to quit and |
---|
4164 | dump core if it is delivered while Kermit is being loaded or started, |
---|
4165 | before the signal can be disabled. There's nothing Kermit itself can |
---|
4166 | do about this, but you can prevent it from happening by disabling |
---|
4167 | SIGQUIT in your Unix session. The command is usually something like: |
---|
4168 | |
---|
4169 | stty quit undef |
---|
4170 | |
---|
4171 | Unix C-Kermit does not reject incoming files on the basis of size. |
---|
4172 | There appears to be no good (reliable, portable) way to determine in |
---|
4173 | advance how much disk space is available, either on the device, or |
---|
4174 | (when quotas or other limits are involved) to the user. |
---|
4175 | |
---|
4176 | Unix C-Kermit discards all carriage returns from incoming files when |
---|
4177 | in text mode. |
---|
4178 | |
---|
4179 | If C-Kermit has problems creating files in writable directories when |
---|
4180 | it is installed setuid or setgid on BSD-based versions of Unix such as |
---|
4181 | NeXTSTEP 3.0, it probably needs to be rebuilt with the -DSW_ACC_ID |
---|
4182 | compilation switch. |
---|
4183 | |
---|
4184 | If you SET FILE DISPLAY FULLSCREEN, and C-Kermit complains "Sorry, |
---|
4185 | terminal type not supported", it means that the terminal library |
---|
4186 | (termcap or termlib) that C-Kermit was built with does not know about |
---|
4187 | a terminal whose name is the current value of your TERM environment |
---|
4188 | variable. If this happens, but you want to have the fullscreen file |
---|
4189 | transfer display, EXIT from C-Kermit and set a Unix terminal type from |
---|
4190 | among the supported values that is also supported by your terminal |
---|
4191 | emulator, or else have an entry for your terminal type added to the |
---|
4192 | system termcap and/or terminfo database. |
---|
4193 | |
---|
4194 | If you attempt to suspend C-Kermit during local-mode file transfer and |
---|
4195 | then continue it in the background (via bg), it will block for "tty |
---|
4196 | output" if you are using the FULLSCREEN file transfer display. This is |
---|
4197 | apparently a problem with curses. Moving a local-mode file transfer |
---|
4198 | back and forth between foreground and background works correctly, |
---|
4199 | however, with the SERIAL, CRT, BRIEF, or NONE file transfer displays. |
---|
4200 | |
---|
4201 | If C-Kermit's command parser no longer echoes, or otherwise acts |
---|
4202 | strangely, after returning from a file transfer with the fullscreen |
---|
4203 | (curses) display, and the curses library for your version of Unix |
---|
4204 | includes the newterm() function, then try rebuilding your version of |
---|
4205 | C-Kermit with -DCK_NEWTERM. Similarly if it echoes doubly, which might |
---|
4206 | even happen during a subsequent CONNECT session. If rebuilding with |
---|
4207 | -DCK_NEWTERM doesn't fix it, then there is something very strange |
---|
4208 | about your system's curses library, and you should probably not use |
---|
4209 | it. Tell C-Kermit to SET FILE DISPLAY CRT, BRIEF, or anything else |
---|
4210 | other than FULLSCREEN, and/or rebuild without -DCK_CURSES, and without |
---|
4211 | linking with (termlib and) curses. Note: This problem seemed to have |
---|
4212 | escalated in C-Kermit 7.0, and -DCK_NEWTERM had to be added to many |
---|
4213 | builds that previously worked without it: Linux, AIX 4.1, DG/UX, etc. |
---|
4214 | In the Linux case, it is obviously because of changes in the (n)curses |
---|
4215 | library; the cause in the other cases is not known. |
---|
4216 | |
---|
4217 | C-Kermit creates backup-file names (such as "oofa.txt.~1~") based on |
---|
4218 | its knowledge of the maximum filename length on the platform where it |
---|
4219 | is running, which is learned at compile time, based on MAXNAMLEN or |
---|
4220 | equivalent symbols from the system header files. But suppose C-Kermit |
---|
4221 | is receiving files on a Unix platform that supports long filenames, |
---|
4222 | but the incoming files are being stored on an NFS-mounted file system |
---|
4223 | that supports only short names. NFS maps the external system to the |
---|
4224 | local APIs, so C-Kermit has no way of knowing that long names will be |
---|
4225 | truncated. Or that C-Kermit is running on a version of Unix that |
---|
4226 | supports both long-name and short-name file systems simultaneously |
---|
4227 | (such as HP-UX 7.00). This can cause unexpected behavior when creating |
---|
4228 | backup files, or worse. For example, you are sending a group of files |
---|
4229 | whose names are differentiated only by characters past the point at |
---|
4230 | which they would be truncated, each file will overwrite the previous |
---|
4231 | one upon arrival. |
---|
4232 | ________________________________________________________________________ |
---|
4233 | |
---|
4234 | 11. EXTERNAL FILE TRANSFER PROTOCOLS |
---|
4235 | |
---|
4236 | [ [565]Top ] [ [566]Contents ] [ [567]Next ] [ [568]Previous ] |
---|
4237 | |
---|
4238 | SECTION CONTENTS |
---|
4239 | |
---|
4240 | 11.1. [569]C-Kermit as an External Protocol |
---|
4241 | 11.2. [570]Invoking External Protocols from C-Kermit |
---|
4242 | |
---|
4243 | Unix C-Kermit can be used in conjunction with other communications |
---|
4244 | software in various ways. C-Kermit can be invoked from another |
---|
4245 | communications program as an "external protocol", and C-Kermit can |
---|
4246 | also invoke other communication software to perform external |
---|
4247 | protocols. |
---|
4248 | |
---|
4249 | This sort of operation makes sense only when you are dialing out from |
---|
4250 | your Unix system (or making a network connection from it). If the Unix |
---|
4251 | system is the one you have dialed in to, you don't need any of these |
---|
4252 | tricks. Just run the desired software on your Unix system instead of |
---|
4253 | Kermit. When dialing out from a Unix system, the difficulty is getting |
---|
4254 | two programs to share the same communication device in spite of the |
---|
4255 | Unix UUCP lockfile mechanism, which would normally prevent any |
---|
4256 | sharing, and preventing the external protocol from closing (and |
---|
4257 | therefore hanging up) the device when it exits back to the program |
---|
4258 | that invoked it. |
---|
4259 | |
---|
4260 | 11.1. C-KERMIT AS AN EXTERNAL PROTOCOL |
---|
4261 | |
---|
4262 | [ [571]Top ] [ [572]Contents ] [ [573]Section Contents ] [ [574]Next ] |
---|
4263 | |
---|
4264 | (This section deleted; see [575]Using C-Kermit, 2nd Ed, Chapter 14.) |
---|
4265 | |
---|
4266 | "pcomm" is a general-purpose terminal program that provides file |
---|
4267 | transfer capabilities itself (X- and YMODEM variations) and the |
---|
4268 | ability to call on external programs to do file transfers (ZMODEM and |
---|
4269 | Kermit, for example). You can tell pcomm the command to send or |
---|
4270 | receive a file with an external protocol: |
---|
4271 | |
---|
4272 | Send Receive |
---|
4273 | ZMODEM sz filename rz |
---|
4274 | Kermit kermit -s filename kermit -r |
---|
4275 | |
---|
4276 | pcomm runs external programs for file transfer by making stdin and |
---|
4277 | stdout point to the modem port, and then exec-ing "/bin/sh -c xxx" |
---|
4278 | (where xxx is the appropriate command). However, C-Kermit does not |
---|
4279 | treat stdin and stdout as the communication device unless you instruct |
---|
4280 | it: |
---|
4281 | |
---|
4282 | |
---|
4283 | Send Receive |
---|
4284 | Kermit kermit -l 0 -s filename kermit -l 0 -r |
---|
4285 | |
---|
4286 | The "-l 0" option means to use file descriptor 0 for the communication |
---|
4287 | device. |
---|
4288 | |
---|
4289 | In general, any program can pass any open file descriptor to C-Kermit |
---|
4290 | for the communication device in the "-l" command-line option. When |
---|
4291 | Kermit is given a number as the argument to the "-l" option, it simply |
---|
4292 | uses it as a file descriptor, and it does not attempt to close it upon |
---|
4293 | exit. |
---|
4294 | |
---|
4295 | Here's another example, for Seyon (a Linux communication program). |
---|
4296 | First try the technique above. If that works, fine; otherwise... If |
---|
4297 | Seyon does not give you a way to access and pass along the file |
---|
4298 | descriptor, but it starts up the Kermit program with its standard i/o |
---|
4299 | redirected to its (Seyon's) communications file descriptor, you can |
---|
4300 | also experiment with the following method, which worked here in brief |
---|
4301 | tests on SunOS. Instead of having Seyon use "kermit -r" or "kermit -s |
---|
4302 | filename" as its Kermit protocol commands, use something like this |
---|
4303 | (examples assume C-Kermit 6.0): |
---|
4304 | |
---|
4305 | For serial connections: |
---|
4306 | |
---|
4307 | |
---|
4308 | kermit -YqQl 0 -r <-- to receive |
---|
4309 | kermit -YqQl 0 -s filename(s) <-- to send one or more files |
---|
4310 | |
---|
4311 | For Telnet connections: |
---|
4312 | |
---|
4313 | |
---|
4314 | kermit -YqQF 0 -r <-- to receive |
---|
4315 | kermit -YqQF 0 -s filename(s) <-- to send one or more files |
---|
4316 | |
---|
4317 | Command line options: |
---|
4318 | |
---|
4319 | Y - skip executing the init file |
---|
4320 | Q - use fast file transfer settings (default in 8.0) |
---|
4321 | l 0 - transfer files using file descriptor 0 for a serial connection |
---|
4322 | F 0 - transfer files using file descriptor 0 for a Telnet connection |
---|
4323 | q - quiet - no messages |
---|
4324 | r - receive |
---|
4325 | s - send |
---|
4326 | |
---|
4327 | 11.2. INVOKING EXTERNAL PROTOCOLS FROM C-KERMIT |
---|
4328 | |
---|
4329 | [ [576]Top ] [ [577]Contents ] [ [578]Section Contents ] [ |
---|
4330 | [579]Previous ] |
---|
4331 | |
---|
4332 | (This section is obsolete, but not totally useless. See Chapter 14 |
---|
4333 | of [580]Using C-Kermit, 2nd Edition). |
---|
4334 | |
---|
4335 | After you have opened a communication link with C-Kermit's SET LINE |
---|
4336 | (SET PORT) or SET HOST (TELNET) command, C-Kermit makes its file |
---|
4337 | descriptor available to you in the \v(ttyfd) variable so you can pass |
---|
4338 | it along to other programs that you RUN from C-Kermit. Here, for |
---|
4339 | example, C-Kermit runs itself as an external protocol: |
---|
4340 | |
---|
4341 | C-Kermit>set modem type hayes |
---|
4342 | C-Kermit>set line /dev/acu |
---|
4343 | C-Kermit>set speed 2400 |
---|
4344 | C-Kermit>dial 7654321 |
---|
4345 | Call complete. |
---|
4346 | C-Kermit>echo \v(ttyfd) |
---|
4347 | 3 |
---|
4348 | C-Kermit>run kermit -l \v(ttyfd) |
---|
4349 | |
---|
4350 | Other programs that accept open file descriptors on the command line |
---|
4351 | can be started in the same way. |
---|
4352 | |
---|
4353 | You can also use your shell's i/o redirection facilities to assign |
---|
4354 | C-Kermit's open file descriptor (ttyfd) to stdin or stdout. For |
---|
4355 | example, old versions of the Unix ZMODEM programs, sz and rz, when |
---|
4356 | invoked as external protocols, expect to find the communication device |
---|
4357 | assigned to stdin and stdout with no option for specifying any other |
---|
4358 | file descriptor on the sz or rz command line. However, you can still |
---|
4359 | invoke sz and rz as exterior protocols from C-Kermit if your current |
---|
4360 | shell ($SHELL variable) is ksh (the Korn shell) or bash (the |
---|
4361 | Bourne-Again shell), which allows assignment of arbitrary file |
---|
4362 | descriptors to stdin and stdout: |
---|
4363 | |
---|
4364 | C-Kermit> run rz <&\v(ttyfd) >&\v(ttyfd) |
---|
4365 | |
---|
4366 | or: |
---|
4367 | |
---|
4368 | C-Kermit> run sz oofa.zip <&\v(ttyfd) >&\v(ttyfd) |
---|
4369 | |
---|
4370 | In version 5A(190) and later, you can use C-Kermit's REDIRECT command, |
---|
4371 | if it is available in your version of C-Kermit, to accomplish the same |
---|
4372 | thing without going through the shell: |
---|
4373 | |
---|
4374 | C-Kermit> redirect rz |
---|
4375 | |
---|
4376 | or: |
---|
4377 | |
---|
4378 | C-Kermit> redirect sz oofa.zip |
---|
4379 | |
---|
4380 | A complete set of rz,sz,rb,sb,rx,sx macros for Unix C-Kermit is |
---|
4381 | defined in the file ckurzsz.ini. It automatically chooses the best |
---|
4382 | redirection method (but is redundant since C-Kermit 6.0, which now has |
---|
4383 | built-in support for external protocols via its SET PROTOCOL command). |
---|
4384 | |
---|
4385 | Note that external protocols can be used on C-Kermit SET LINE or SET |
---|
4386 | HOST connections only if they operate through standard input and |
---|
4387 | standard output. If they open their own connections, Kermit can't |
---|
4388 | redirect them over its own connection. |
---|
4389 | ________________________________________________________________________ |
---|
4390 | |
---|
4391 | 12. SECURITY |
---|
4392 | |
---|
4393 | [ [581]Top ] [ [582]Contents ] [ [583]Next ] [ [584]Previous ] |
---|
4394 | |
---|
4395 | As of version 7.0, C-Kermit supports a wide range of security options |
---|
4396 | for authentication and encryption: Kerberos 4, Kerberos 5 / GSSAPI, |
---|
4397 | SSL/TLS, and SRP. See the separate [585]security document for details. |
---|
4398 | ________________________________________________________________________ |
---|
4399 | |
---|
4400 | 13. MISCELLANEOUS USER REPORTS |
---|
4401 | |
---|
4402 | [ [586]Top ] [ [587]Contents ] [ [588]Next ] [ [589]Previous ] |
---|
4403 | |
---|
4404 | Date: Thu, 12 Mar 92 1:59:25 MEZ |
---|
4405 | From: Walter Mecky <walter@rent-a-guru.de> |
---|
4406 | Subject: Help.Unix.sw |
---|
4407 | To: svr4@pcsbst.pcs.com, source@usl.com |
---|
4408 | |
---|
4409 | PRODUCT: Unix |
---|
4410 | RELEASE: Dell SVR4 V2.1 (is USL V3.0) |
---|
4411 | MACHINE: AT-386 |
---|
4412 | PATHNAME: /usr/lib/libc.so.1 |
---|
4413 | /usr/ccs/lib/libc.a |
---|
4414 | ABSTRACT: Function ttyname() does not close its file descriptor |
---|
4415 | DESCRIPTION: |
---|
4416 | ttyname(3C) opens /dev but never closes it. So if it is called |
---|
4417 | often enough the open(2) in ttyname() fails. Because the broken |
---|
4418 | ttyname() is in the shared lib too all programs using it can |
---|
4419 | fail if they call it often enough. One important program is |
---|
4420 | uucico which calls ttyname for every file it transfers. |
---|
4421 | |
---|
4422 | Here is a little test program if your system has the bug: |
---|
4423 | |
---|
4424 | #include <stdlib.h> |
---|
4425 | #include <stdio.h> |
---|
4426 | main() { |
---|
4427 | int i = 0; |
---|
4428 | while (ttyname(0) != NULL) |
---|
4429 | i++; |
---|
4430 | perror("ttyname"); |
---|
4431 | printf("i=%d\n", i); |
---|
4432 | } |
---|
4433 | |
---|
4434 | If this program runs longer than some seconds you don't have the bug. |
---|
4435 | |
---|
4436 | WORKAROUND: None FIX: Very easy if you have source code. |
---|
4437 | |
---|
4438 | Another user reports some more explicit symptoms and recoveries: |
---|
4439 | |
---|
4440 | > What happens is when invoking ckermit we get one of the following |
---|
4441 | > error messages: |
---|
4442 | > You must set line |
---|
4443 | > Not a tty |
---|
4444 | > No more processes. |
---|
4445 | > One of the following three actions clears the peoblem: |
---|
4446 | > shutdown -y -g0 -i6 |
---|
4447 | > kill -9 the ttymon with the highest PID |
---|
4448 | > Invoke sysadm and disable then enable the line you want to use. |
---|
4449 | > Turning off respawn of sac -t 300 and going to getty's and uugetty's |
---|
4450 | > does not help. |
---|
4451 | > |
---|
4452 | > Also C-Kermit reports "?timed out closing /dev/ttyxx". |
---|
4453 | > If this happens all is well. |
---|
4454 | |
---|
4455 | ------------------------------ |
---|
4456 | |
---|
4457 | (Note: the following problem also occurs on SGI and probably many |
---|
4458 | other Unix systems): |
---|
4459 | |
---|
4460 | From: James Spath <spath@jhunix.hcf.jhu.edu> |
---|
4461 | To: Info-Kermit-Request@cunixf.cc.columbia.edu |
---|
4462 | Date: Wed, 9 Sep 1992 20:20:28 -0400 |
---|
4463 | Subject: C-Kermit vs uugetty (or init) on Sperry 5000 |
---|
4464 | |
---|
4465 | We have successfully compiled the above release on a Unisys/Sperry |
---|
4466 | 5000/95. We used the sys5r3 option, rather than sys5r2 since we have |
---|
4467 | VR3 running on our system. In order to allow dialout access to |
---|
4468 | non-superusers, we had to do "chmod 666 /dev/tty###, where it had been |
---|
4469 | -rw--w--w- (owned by uucp), and to do "chmod +w /usr/spool/locks". We |
---|
4470 | have done text and binary file transfers through local and remote |
---|
4471 | connections. |
---|
4472 | |
---|
4473 | The problem concerning uucp ownership and permissions is worse than I |
---|
4474 | thought at first. Apparently init or uugetty changes the file |
---|
4475 | permissions after each session. So I wrote the following C program to |
---|
4476 | open a set of requested tty lines. I run this for any required |
---|
4477 | outgoing line prior to a Kermit session. |
---|
4478 | |
---|
4479 | ------ cut here ------- |
---|
4480 | /* opentty.c -- force allow read on tty lines for modem i/o */ |
---|
4481 | /* idea from: restrict.c -- System 5 Admin book Thomas/Farrow p. 605 */ |
---|
4482 | /* /jes jim spath {spath@jhunix.hcj.jhu.edu } */ |
---|
4483 | /* 08-Sep-92 NO COPYRIGHT. */ |
---|
4484 | /* this must be suid to open other tty lines */ |
---|
4485 | |
---|
4486 | /* #define DEBUG */ |
---|
4487 | #define TTY "/dev/tty" |
---|
4488 | #define LOK "/usr/spool/locks/LCK..tty" |
---|
4489 | #include <stdio.h> |
---|
4490 | |
---|
4491 | /* allowable lines: */ |
---|
4492 | #define TOTAL_LINES 3 |
---|
4493 | static char allowable[TOTAL_LINES][4] = { "200", "201", "300" }; |
---|
4494 | static int total=TOTAL_LINES; |
---|
4495 | int allow; |
---|
4496 | |
---|
4497 | /* states: */ |
---|
4498 | #define TTY_UNDEF 0 |
---|
4499 | #define TTY_LOCK 1 |
---|
4500 | #define TTY_OKAY 2 |
---|
4501 | |
---|
4502 | main(argc, argv) |
---|
4503 | int argc; char *argv[]; { |
---|
4504 | char device[512]; |
---|
4505 | char lockdev[512]; |
---|
4506 | int i; |
---|
4507 | if (argc == 1) { |
---|
4508 | fprintf(stderr, "usage: open 200 [...]\n"); |
---|
4509 | } |
---|
4510 | while (--argc > 0 && (*++argv) != NULL ) { |
---|
4511 | #ifdef DEBUG |
---|
4512 | fprintf(stderr, "TRYING: %s%s\n", TTY, *argv); |
---|
4513 | #endif |
---|
4514 | sprintf(device, "%s%s", TTY, *argv); |
---|
4515 | sprintf(lockdev, "%s%s", LOK, *argv); |
---|
4516 | allow = TTY_UNDEF; i = 0; |
---|
4517 | while (i <= total) { /* look at all defined lines */ |
---|
4518 | #ifdef DEBUG |
---|
4519 | fprintf(stderr, "LOCKFILE? %s?\n", lockdev); |
---|
4520 | #endif |
---|
4521 | if (access(lockdev, 00) == 0) { |
---|
4522 | allow=TTY_LOCK; |
---|
4523 | break; |
---|
4524 | } |
---|
4525 | #ifdef DEBUG |
---|
4526 | fprintf(stderr, "DOES:%s==%s?\n", allowable[i], *argv); |
---|
4527 | #endif |
---|
4528 | if (strcmp(allowable[i], *argv) == 0) |
---|
4529 | allow=TTY_OKAY; |
---|
4530 | i++; |
---|
4531 | } |
---|
4532 | #ifdef DEBUG |
---|
4533 | fprintf(stderr, "allow=%d\n", allow); |
---|
4534 | #endif |
---|
4535 | switch (allow) { |
---|
4536 | case TTY_UNDEF: |
---|
4537 | fprintf (stderr, "open: not allowed on %s\n", *argv); |
---|
4538 | break; |
---|
4539 | case TTY_LOCK: |
---|
4540 | fprintf (stderr, "open: device locked: %s\n", lockdev); |
---|
4541 | break; |
---|
4542 | case TTY_OKAY: |
---|
4543 | /* attempt to change mode on device */ |
---|
4544 | if (chmod (device, 00666) < 0) |
---|
4545 | fprintf (stderr, "open: cannot chmod on %s\n", device); |
---|
4546 | break; |
---|
4547 | default: |
---|
4548 | fprintf (stderr, "open: FAULT\n"); |
---|
4549 | } |
---|
4550 | } |
---|
4551 | exit (0); |
---|
4552 | } |
---|
4553 | ________________________________________________________________________ |
---|
4554 | |
---|
4555 | 14. THIRD-PARTY DRIVERS |
---|
4556 | |
---|
4557 | [ [590]Top ] [ [591]Contents ] [ [592]Next ] [ [593]Previous ] |
---|
4558 | |
---|
4559 | Unix versions, especially those for PCs (SCO, Unixware, etc) might be |
---|
4560 | augmented by third-party communication-board drivers from Digiboard, |
---|
4561 | Stallion, etc. These can sometimes complicate matters for Kermit |
---|
4562 | considerably since Kermit has no way of knowing that it is going |
---|
4563 | through a possibly nonstandard driver. Various examples are listed in |
---|
4564 | the earlier sections of this document; search for Stallion, Digiboard, |
---|
4565 | etc. Additionally: |
---|
4566 | |
---|
4567 | * The Stallion Technologies EasyConnection serial board driver does |
---|
4568 | not always report the state of DSR as low. From Stallion (October |
---|
4569 | 1997): "Unfortunately, this is a bug in our driver. We have |
---|
4570 | implemented all of the other TIOMC functions, eg DTR, DCD, RTS and |
---|
4571 | CTS, but not DSR. Our driver should report the actual state of DSR |
---|
4572 | on those of our cards that have a DSR signal. That the driver |
---|
4573 | always reports DSR as not asserted (0), is a bug in the driver. |
---|
4574 | The driver should be either reporting the state of DSR correctly |
---|
4575 | on those cards that support DSR or as always asserted (1) on those |
---|
4576 | cards that do not have a DSR signal. This will be fixed in a |
---|
4577 | future version of our drivers; at this time I cannot say when this |
---|
4578 | will be." And later, "As far as I can tell, we don't support the |
---|
4579 | termios/termiox ioctls that relate specifically to DSR and RI; all |
---|
4580 | the rest are supported. This will, as I mentioned earlier, be |
---|
4581 | fixed in the next release of our ATA software." |
---|
4582 | - World Wide Escalation Support, Stallion Technologies, Toowong |
---|
4583 | QLD, [594]support@stallion.oz.au. |
---|
4584 | |
---|
4585 | Later (December 1997, from the same source): |
---|
4586 | |
---|
4587 | * We have now released a new version of the ATA software, version |
---|
4588 | 5.4.0. This version fixes the problem with the states of the DSR |
---|
4589 | and RI signals and how they were being reported by the driver. |
---|
4590 | This is the problem that you reported in October. The DSR signal |
---|
4591 | is reported correctly on those cards that support the DSR signal, |
---|
4592 | such as the early revision of the EasyIO card and the |
---|
4593 | EasyConnection 8D4 panel, and as always asserted on those cards |
---|
4594 | that do not support the DSR signal in the hardware. The new driver |
---|
4595 | is available from our Web site, [595]www.stallion.com, in the |
---|
4596 | /drivers/ata5/UnixWare directory. |
---|
4597 | |
---|
4598 | [ [596]Top ] [ [597]Contents ] [ [598]C-Kermit Home ] [ [599]C-Kermit |
---|
4599 | 8.0 Overview ] [ [600]Kermit Home ] |
---|
4600 | _________________________________________________________________ |
---|
4601 | |
---|
4602 | C-Kermit 8.0 Unix Hints and Tips / [601]The Kermit Project / |
---|
4603 | [602]Columbia University / [603]kermit@columbia.edu / 14 March 2003 |
---|
4604 | |
---|
4605 | References |
---|
4606 | |
---|
4607 | 1. http://www.columbia.edu/kermit/ |
---|
4608 | 2. http://www.columbia.edu/ |
---|
4609 | 3. http://www.columbia.edu/kermit/ckubwr.html |
---|
4610 | 4. mailto:kermit-support@columbia.edu |
---|
4611 | 5. http://www.columbia.edu/kermit/ckermit.html |
---|
4612 | 6. http://www.columbia.edu/kermit/ckuins.html |
---|
4613 | 7. http://www.columbia.edu/kermit/ckututor.html |
---|
4614 | 8. http://www.columbia.edu/kermit/ckubwr.html#x1 |
---|
4615 | 9. http://www.columbia.edu/kermit/ckubwr.html#x2 |
---|
4616 | 10. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4617 | 11. http://www.columbia.edu/kermit/ckubwr.html#x4 |
---|
4618 | 12. http://www.columbia.edu/kermit/ckubwr.html#x5 |
---|
4619 | 13. http://www.columbia.edu/kermit/ckubwr.html#x6 |
---|
4620 | 14. http://www.columbia.edu/kermit/ckubwr.html#x7 |
---|
4621 | 15. http://www.columbia.edu/kermit/ckubwr.html#x8 |
---|
4622 | 16. http://www.columbia.edu/kermit/ckubwr.html#x9 |
---|
4623 | 17. http://www.columbia.edu/kermit/ckubwr.html#x10 |
---|
4624 | 18. http://www.columbia.edu/kermit/ckubwr.html#x11 |
---|
4625 | 19. http://www.columbia.edu/kermit/ckubwr.html#x12 |
---|
4626 | 20. http://www.columbia.edu/kermit/ckubwr.html#x13 |
---|
4627 | 21. http://www.columbia.edu/kermit/ckubwr.html#x14 |
---|
4628 | 22. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4629 | 23. http://www.columbia.edu/kermit/ckubwr.html#x3.18 |
---|
4630 | 24. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4631 | 25. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4632 | 26. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
4633 | 27. http://www.columbia.edu/kermit/ckubwr.html#x3.6 |
---|
4634 | 28. http://www.columbia.edu/kermit/ckubwr.html#x3.13 |
---|
4635 | 29. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4636 | 30. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4637 | 31. http://www.columbia.edu/kermit/ckubwr.html#x2 |
---|
4638 | 32. http://www.columbia.edu/kermit/ckubwr.html#x1.1 |
---|
4639 | 33. http://www.columbia.edu/kermit/ckubwr.html#x1.2 |
---|
4640 | 34. http://www.columbia.edu/kermit/ckubwr.html#x1.3 |
---|
4641 | 35. http://www.columbia.edu/kermit/ckubwr.html#x1.4 |
---|
4642 | 36. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4643 | 37. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4644 | 38. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4645 | 39. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
4646 | 40. http://www.columbia.edu/kermit/ckcbwr.html |
---|
4647 | 41. mailto:kermit-support@columbia.edu |
---|
4648 | 42. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4649 | 43. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4650 | 44. http://www.columbia.edu/kermit/ckubwr.html#x1.2 |
---|
4651 | 45. http://www.columbia.edu/kermit/ck60manual.html |
---|
4652 | 46. http://www.columbia.edu/kermit/ckermit70.html |
---|
4653 | 47. http://www.columbia.edu/kermit/ckermit80.html |
---|
4654 | 48. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4655 | 49. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4656 | 50. http://www.columbia.edu/kermit/ckubwr.html#x1 |
---|
4657 | 51. http://www.columbia.edu/kermit/ckubwr.html#x1.3 |
---|
4658 | 52. http://www.columbia.edu/kermit/ckubwr.html#x1.1 |
---|
4659 | 53. http://www.columbia.edu/kermit/support.html |
---|
4660 | 54. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4661 | 55. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4662 | 56. http://www.columbia.edu/kermit/ckubwr.html#x1 |
---|
4663 | 57. http://www.columbia.edu/kermit/ckubwr.html#x1.4 |
---|
4664 | 58. http://www.columbia.edu/kermit/ckubwr.html#x1.2 |
---|
4665 | 59. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4666 | 60. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4667 | 61. http://www.columbia.edu/kermit/ckubwr.html#x1 |
---|
4668 | 62. http://www.columbia.edu/kermit/ckubwr.html#x1.3 |
---|
4669 | 63. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4670 | 64. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4671 | 65. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4672 | 66. http://www.columbia.edu/kermit/ckubwr.html#x1 |
---|
4673 | 67. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4674 | 68. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4675 | 69. http://www.columbia.edu/kermit/ckubwr.html#x4 |
---|
4676 | 70. http://www.columbia.edu/kermit/ckubwr.html#x2 |
---|
4677 | 71. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4678 | 72. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4679 | 73. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4680 | 74. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4681 | 75. http://www.columbia.edu/kermit/ckubwr.html#x3.4 |
---|
4682 | 76. http://www.columbia.edu/kermit/ckubwr.html#x3.5 |
---|
4683 | 77. http://www.columbia.edu/kermit/ckubwr.html#x3.6 |
---|
4684 | 78. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
4685 | 79. http://www.columbia.edu/kermit/ckubwr.html#x3.8 |
---|
4686 | 80. http://www.columbia.edu/kermit/ckubwr.html#x3.9 |
---|
4687 | 81. http://www.columbia.edu/kermit/ckubwr.html#x3.10 |
---|
4688 | 82. http://www.columbia.edu/kermit/ckubwr.html#x3.11 |
---|
4689 | 83. http://www.columbia.edu/kermit/ckubwr.html#x3.12 |
---|
4690 | 84. http://www.columbia.edu/kermit/ckubwr.html#x3.13 |
---|
4691 | 85. http://www.columbia.edu/kermit/ckubwr.html#x3.14 |
---|
4692 | 86. http://www.columbia.edu/kermit/ckubwr.html#x3.15 |
---|
4693 | 87. http://www.columbia.edu/kermit/ckubwr.html#x3.16 |
---|
4694 | 88. http://www.columbia.edu/kermit/ckubwr.html#x3.17 |
---|
4695 | 89. http://www.columbia.edu/kermit/ckubwr.html#x3.18 |
---|
4696 | 90. http://www.columbia.edu/kermit/ckubwr.html#x3.19 |
---|
4697 | 91. http://www.columbia.edu/kermit/ckubwr.html#x3.20 |
---|
4698 | 92. http://www.faqs.org/ |
---|
4699 | 93. http://aplawrence.com/Unixart/newtounix.html |
---|
4700 | 94. http://www.columbia.edu/kermit/x3 |
---|
4701 | 95. mailto:kermit-support@columbia.edu |
---|
4702 | 96. http://www.columbia.edu/kermit/support.html |
---|
4703 | 97. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4704 | 98. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4705 | 99. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4706 | 100. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4707 | 101. http://www.pcunix.com/ |
---|
4708 | 102. http://www.columbia.edu/kermit/ckubwr.html#x3.0.1 |
---|
4709 | 103. http://www.columbia.edu/kermit/ckubwr.html#x3.0.2 |
---|
4710 | 104. http://www.columbia.edu/kermit/ckubwr.html#x3.0.3 |
---|
4711 | 105. http://www.columbia.edu/kermit/ckubwr.html#x3.0.4 |
---|
4712 | 106. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5 |
---|
4713 | 107. http://www.columbia.edu/kermit/ckubwr.html#x3.0.6 |
---|
4714 | 108. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4715 | 109. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4716 | 110. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4717 | 111. http://www.columbia.edu/kermit/ckubwr.html#x3.0.2 |
---|
4718 | 112. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4719 | 113. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4720 | 114. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4721 | 115. http://www.columbia.edu/kermit/ckubwr.html#x3.0.3 |
---|
4722 | 116. http://www.columbia.edu/kermit/ckubwr.html#x3.0.1 |
---|
4723 | 117. http://www.linmodems.org/ |
---|
4724 | 118. http://www.microsoft.com/hwdev/platform/PCdesign/LR/default.asp |
---|
4725 | 119. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4726 | 120. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4727 | 121. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4728 | 122. http://www.columbia.edu/kermit/ckubwr.html#x3.0.4 |
---|
4729 | 123. http://www.columbia.edu/kermit/ckubwr.html#x3.0.2 |
---|
4730 | 124. http://www.idir.net/~gromitkc/winmodem.html |
---|
4731 | 125. http://www.digi.com/ |
---|
4732 | 126. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4733 | 127. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4734 | 128. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4735 | 129. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5 |
---|
4736 | 130. http://www.columbia.edu/kermit/ckubwr.html#x3.0.3 |
---|
4737 | 131. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4738 | 132. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4739 | 133. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4740 | 134. http://www.columbia.edu/kermit/ckubwr.html#x3.0.6 |
---|
4741 | 135. http://www.columbia.edu/kermit/ckubwr.html#x3.0.4 |
---|
4742 | 136. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4743 | 137. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4744 | 138. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4745 | 139. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5 |
---|
4746 | 140. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4747 | 141. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4748 | 142. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4749 | 143. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4750 | 144. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4751 | 145. http://www.columbia.edu/kermit/ckubwr.html#x3.1.1 |
---|
4752 | 146. http://www.columbia.edu/kermit/ckubwr.html#x3.1.2 |
---|
4753 | 147. http://www.columbia.edu/kermit/ckubwr.html#x3.1.3 |
---|
4754 | 148. http://www.columbia.edu/kermit/ckubwr.html#x3.1.4 |
---|
4755 | 149. http://www.columbia.edu/kermit/ckubwr.html#x3.1.5 |
---|
4756 | 150. http://www.emerson.emory.edu/services/aix-faq/ |
---|
4757 | 151. http://www.faqs.org/faqs/by-newsgroup/comp/comp.unix.aix.html |
---|
4758 | 152. http://www.cis.ohio-state.edu/hypertext/faq/usenet/aix-faq/top.html |
---|
4759 | 153. http://aixpdslib.seas.ucla.edu/ |
---|
4760 | 154. http://www.rootvg.net(AIXhistory)/ |
---|
4761 | 155. ftp://rtfm.mit.edu/pub/usenet/news.answers/aix-faq/part1 |
---|
4762 | 156. ftp://mirrors.aol.com/pub/rtfm/usenet-by-hierarchy/comp/unix/aix |
---|
4763 | 157. news:comp.unix.aix |
---|
4764 | 158. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4765 | 159. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4766 | 160. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4767 | 161. http://www.columbia.edu/kermit/ckubwr.html#x3.1.2 |
---|
4768 | 162. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4769 | 163. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4770 | 164. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4771 | 165. http://www.columbia.edu/kermit/ckubwr.html#x3.1.3 |
---|
4772 | 166. http://www.columbia.edu/kermit/ckubwr.html#x3.1.1 |
---|
4773 | 167. http://www.columbia.edu/kermit/security.html#servers |
---|
4774 | 168. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4775 | 169. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4776 | 170. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4777 | 171. http://www.columbia.edu/kermit/ckubwr.html#x3.1.4 |
---|
4778 | 172. http://www.columbia.edu/kermit/ckubwr.html#x3.1.2 |
---|
4779 | 173. http://service.software.ibm.com/rs6000/ |
---|
4780 | 174. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4781 | 175. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4782 | 176. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4783 | 177. http://www.columbia.edu/kermit/ckubwr.html#x3.1.5 |
---|
4784 | 178. http://www.columbia.edu/kermit/ckubwr.html#x3.1.3 |
---|
4785 | 179. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4786 | 180. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4787 | 181. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4788 | 182. http://www.columbia.edu/kermit/ckubwr.html#x3.1.4 |
---|
4789 | 183. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4790 | 184. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4791 | 185. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4792 | 186. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4793 | 187. http://www.columbia.edu/kermit/ckubwr.html#x3.1 |
---|
4794 | 188. http://www.columbia.edu/kermit/ckubwr.html#x3.2.0 |
---|
4795 | 189. http://www.columbia.edu/kermit/ckubwr.html#x3.2.1 |
---|
4796 | 190. http://www.columbia.edu/kermit/ckubwr.html#x3.2.2 |
---|
4797 | 191. http://www.columbia.edu/kermit/ckubwr.html#x3.2.3 |
---|
4798 | 192. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4 |
---|
4799 | 193. http://www.columbia.edu/kermit/ckubwr.html#x3.2.5 |
---|
4800 | 194. news:comp.sys.hp.hpux |
---|
4801 | 195. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4802 | 196. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4803 | 197. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4804 | 198. http://www.columbia.edu/kermit/ckubwr.html#x3.2.1 |
---|
4805 | 199. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4806 | 200. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4807 | 201. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4808 | 202. http://www.columbia.edu/kermit/ckubwr.html#x3.2.2 |
---|
4809 | 203. http://www.columbia.edu/kermit/ckubwr.html#x3.2.0 |
---|
4810 | 204. ftp://kermit.columbia.edu/kermit/f/makefile |
---|
4811 | 205. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4812 | 206. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4813 | 207. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4814 | 208. http://www.columbia.edu/kermit/ckubwr.html#x3.2.3 |
---|
4815 | 209. http://www.columbia.edu/kermit/ckubwr.html#x3.2.1 |
---|
4816 | 210. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4817 | 211. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4818 | 212. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4819 | 213. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4 |
---|
4820 | 214. http://www.columbia.edu/kermit/ckubwr.html#x3.2.2 |
---|
4821 | 215. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.1 |
---|
4822 | 216. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.2 |
---|
4823 | 217. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.3 |
---|
4824 | 218. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.4 |
---|
4825 | 219. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.5 |
---|
4826 | 220. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4827 | 221. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4828 | 222. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4829 | 223. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.2 |
---|
4830 | 224. http://www.columbia.edu/kermit/ckubwr.html#x3.2.2 |
---|
4831 | 225. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4832 | 226. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4833 | 227. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4 |
---|
4834 | 228. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.3 |
---|
4835 | 229. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.1 |
---|
4836 | 230. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4837 | 231. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4838 | 232. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4 |
---|
4839 | 233. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.4 |
---|
4840 | 234. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.2 |
---|
4841 | 235. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4842 | 236. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4843 | 237. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4 |
---|
4844 | 238. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.5 |
---|
4845 | 239. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.3 |
---|
4846 | 240. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4847 | 241. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4848 | 242. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4 |
---|
4849 | 243. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4.4 |
---|
4850 | 244. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4851 | 245. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4852 | 246. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4853 | 247. http://www.columbia.edu/kermit/ckubwr.html#x3.2.4 |
---|
4854 | 248. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4855 | 249. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4856 | 250. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4857 | 251. http://www.columbia.edu/kermit/ckubwr.html#x3.4 |
---|
4858 | 252. http://www.columbia.edu/kermit/ckubwr.html#x3.2 |
---|
4859 | 253. http://www.columbia.edu/kermit/ckubwr.html#x3.3.1 |
---|
4860 | 254. http://www.columbia.edu/kermit/ckubwr.html#x3.3.2 |
---|
4861 | 255. http://www.columbia.edu/kermit/ckubwr.html#x3.3.3 |
---|
4862 | 256. http://www.columbia.edu/kermit/ckubwr.html#x3.3.4 |
---|
4863 | 257. http://www.columbia.edu/kermit/ckubwr.html#x3.3.5 |
---|
4864 | 258. http://www.columbia.edu/kermit/ckubwr.html#x3.3.6 |
---|
4865 | 259. news:comp.os.linux.misc |
---|
4866 | 260. news:comp.os.linux.answers |
---|
4867 | 261. http://www.tldp.org/ |
---|
4868 | 262. http://www.tldp.org/FAQ/Linux-FAQ.html |
---|
4869 | 263. http://www.tldp.org/HOWTO/Serial-HOWTO.html |
---|
4870 | 264. http://tldp.org/HOWTO/Modem-HOWTO.html |
---|
4871 | 265. ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO |
---|
4872 | 266. ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO |
---|
4873 | 267. http://www.tldp.org/HOWTO/ |
---|
4874 | 268. http://www.tldp.org/hmirrors.html |
---|
4875 | 269. http://www.redhat.com/apps/support/ |
---|
4876 | 270. http://www.debian.org/support |
---|
4877 | 271. http://www.slackware.com/support/ |
---|
4878 | 272. http://www.caldera.com/support/ |
---|
4879 | 273. http://www.suse.com/support/ |
---|
4880 | 274. http://www.mandrake.com/support/ |
---|
4881 | 275. http://www.turbolinux.com/support/ |
---|
4882 | 276. http://www.linmodems.org/ |
---|
4883 | 277. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4884 | 278. http://linux.dreamtime.org/decnet/ |
---|
4885 | 279. mailto:kermit-support@columbia.edu |
---|
4886 | 280. http://www.linmodems.org/ |
---|
4887 | 281. http://www.columbia.edu/kermit/ckubwr.html#x3.0.2 |
---|
4888 | 282. http://www.columbia.edu/kermit/security.html#servers |
---|
4889 | 283. http://www.columbia.edu/kermit/sshclient.html |
---|
4890 | 284. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4891 | 285. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4892 | 286. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4893 | 287. http://www.columbia.edu/kermit/ckubwr.html#x3.3.2 |
---|
4894 | 288. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4895 | 289. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4896 | 290. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4897 | 291. http://www.columbia.edu/kermit/ckubwr.html#x3.3.3 |
---|
4898 | 292. http://www.columbia.edu/kermit/ckubwr.html#x3.3.1 |
---|
4899 | 293. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4900 | 294. http://www.columbia.edu/kermit/ckubwr.html#x6 |
---|
4901 | 295. http://www.columbia.edu/kermit/ckubwr.html#x7 |
---|
4902 | 296. http://www.columbia.edu/kermit/ckubwr.html#x8 |
---|
4903 | 297. http://www.columbia.edu/kermit/ckuins.html#x10 |
---|
4904 | 298. http://www.columbia.edu/kermit/ckuins.html#x11 |
---|
4905 | 299. http://www.columbia.edu/kermit/ckuins.html |
---|
4906 | 300. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4907 | 301. http://linuxwww.db.erau.edu/mail_archives/linux-kernel/Mar_98/1441.html |
---|
4908 | 302. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4909 | 303. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4910 | 304. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4911 | 305. http://www.columbia.edu/kermit/ckubwr.html#x3.3.4 |
---|
4912 | 306. http://www.columbia.edu/kermit/ckubwr.html#x3.3.2 |
---|
4913 | 307. http://www.columbia.edu/kermit/ckubwr.html#x3.0.5 |
---|
4914 | 308. http://www.columbia.edu/kermit/ckfaq.html#term |
---|
4915 | 309. http://dickey.his.com/xterm/xterm.html |
---|
4916 | 310. http://dickey.his.com/xterm/xterm.html |
---|
4917 | 311. ftp://kermit.columbia.edu/kermit/f/xmodmap.txt |
---|
4918 | 312. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4919 | 313. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4920 | 314. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4921 | 315. http://www.columbia.edu/kermit/ckubwr.html#x3.3.5 |
---|
4922 | 316. http://www.columbia.edu/kermit/ckubwr.html#x3.3.3 |
---|
4923 | 317. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4924 | 318. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4925 | 319. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4926 | 320. http://www.columbia.edu/kermit/ckubwr.html#x3.3.6 |
---|
4927 | 321. http://www.columbia.edu/kermit/ckubwr.html#x3.3.4 |
---|
4928 | 322. http://www.columbia.edu/kermit/ckermit.html |
---|
4929 | 323. mailto:kermit-support@columbia.edu |
---|
4930 | 324. http://www.redhat.com/support/errata/RHBA-2001-153.html |
---|
4931 | 325. news:comp.protocols.kermit.misc |
---|
4932 | 326. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4933 | 327. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4934 | 328. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4935 | 329. http://www.columbia.edu/kermit/ckubwr.html#x3.3.5 |
---|
4936 | 330. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4937 | 331. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4938 | 332. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4939 | 333. http://www.columbia.edu/kermit/ckubwr.html#x3.5 |
---|
4940 | 334. http://www.columbia.edu/kermit/ckubwr.html#x3.3 |
---|
4941 | 335. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4942 | 336. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4943 | 337. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4944 | 338. http://www.columbia.edu/kermit/ckubwr.html#x3.6 |
---|
4945 | 339. http://www.columbia.edu/kermit/ckubwr.html#x3.4 |
---|
4946 | 340. news:comp.os.qnx |
---|
4947 | 341. http://www.columbia.edu/kermit/gkermit.html |
---|
4948 | 342. http://www.columbia.edu/kermit/ckuins.html#x10 |
---|
4949 | 343. http://www.columbia.edu/kermit/ckuins.html |
---|
4950 | 344. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4951 | 345. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4952 | 346. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4953 | 347. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
4954 | 348. http://www.columbia.edu/kermit/ckubwr.html#x3.5 |
---|
4955 | 349. http://www.columbia.edu/kermit/ckubwr.html#x3.6.1 |
---|
4956 | 350. http://www.columbia.edu/kermit/ckubwr.html#x3.6.2 |
---|
4957 | 351. http://www.columbia.edu/kermit/ckubwr.html#x3.6.3 |
---|
4958 | 352. http://www.columbia.edu/kermit/ckubwr.html#x3.6.4 |
---|
4959 | 353. http://www.columbia.edu/kermit/ckubwr.html#x3.10 |
---|
4960 | 354. http://aplawrence.com/SCOFAQ/ |
---|
4961 | 355. http://www.zenez.com/cgi-bin/scoprogfaq/faq.pl |
---|
4962 | 356. http://www.zenez.com/cgi-bin/scouw7faq/faq.pl |
---|
4963 | 357. http://zenez.pcunix.com/cgi-bin/scouw7faq/faq.pl |
---|
4964 | 358. http://pcunix.com/Unixart/modems.html |
---|
4965 | 359. http://www.freebird.org/faq/ |
---|
4966 | 360. http://www.freebird.org/faq/developer.html |
---|
4967 | 361. http://support.caldera.com/caldera |
---|
4968 | 362. http://stage.caldera.com/ta/ |
---|
4969 | 363. http://aplawrence.com/newtosco.html |
---|
4970 | 364. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
4971 | 365. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4972 | 366. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4973 | 367. http://www.columbia.edu/kermit/ckubwr.html#x3.6 |
---|
4974 | 368. http://www.columbia.edu/kermit/ckubwr.html#x3.6.1 |
---|
4975 | 369. ftp://kermit.columbia.edu/kermit/c-kermit/ckutio.c |
---|
4976 | 370. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4977 | 371. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4978 | 372. http://www.columbia.edu/kermit/ckubwr.html#x3.6 |
---|
4979 | 373. http://www.columbia.edu/kermit/ckubwr.html#x3.6.3 |
---|
4980 | 374. http://www.columbia.edu/kermit/ckubwr.html#x3.6.1 |
---|
4981 | 375. http://www.digi.com/ |
---|
4982 | 376. ftp://ftp.fu-berlin.de/pub/unix/driver/fas |
---|
4983 | 377. http://www.columbia.edu/kermit/ckubwr.html#x14 |
---|
4984 | 378. http://www.sco.com/ |
---|
4985 | 379. ftp://ftp.sco.com/ |
---|
4986 | 380. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4987 | 381. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4988 | 382. http://www.columbia.edu/kermit/ckubwr.html#x3.6 |
---|
4989 | 383. http://www.columbia.edu/kermit/ckubwr.html#x3.6.4 |
---|
4990 | 384. http://www.columbia.edu/kermit/ckubwr.html#x3.6.2 |
---|
4991 | 385. http://www.columbia.edu/kermit/ckubwr.html#x3.10 |
---|
4992 | 386. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4993 | 387. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4994 | 388. http://www.columbia.edu/kermit/ckubwr.html#x3.6 |
---|
4995 | 389. http://www.columbia.edu/kermit/ckubwr.html#x3.6.3 |
---|
4996 | 390. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
4997 | 391. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
4998 | 392. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
4999 | 393. http://www.columbia.edu/kermit/ckubwr.html#x3.8 |
---|
5000 | 394. http://www.columbia.edu/kermit/ckubwr.html#x3.6 |
---|
5001 | 395. http://www.columbia.edu/kermit/ckubwr.html#x3.7.1 |
---|
5002 | 396. http://www.columbia.edu/kermit/ckubwr.html#x3.7.2 |
---|
5003 | 397. http://www.columbia.edu/kermit/ckubwr.html#x3.7.3 |
---|
5004 | 398. http://www.columbia.edu/kermit/ckubwr.html#x3.7.4 |
---|
5005 | 399. http://www.columbia.edu/kermit/ckubwr.html#x3.7.5 |
---|
5006 | 400. news:comp.unix.solaris |
---|
5007 | 401. http://access1.sun.com/ |
---|
5008 | 402. http://docs.sun.com/ |
---|
5009 | 403. http://www.sunhelp.com/ |
---|
5010 | 404. http://www.wins.uva.nl/pub/solaris/solaris2/ |
---|
5011 | 405. http://www.wins.uva.nl/cgi-bin/sfaq.cgi |
---|
5012 | 406. ftp://ftp.wins.uva.nl/pub/solaris |
---|
5013 | 407. http://www.science.uva.nl/pub/solaris/solaris2.html |
---|
5014 | 408. http://www.stokely.com/ |
---|
5015 | 409. http://www.stokely.com/unix.sysadm.resources/faqs.sun.html |
---|
5016 | 410. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
5017 | 411. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5018 | 412. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5019 | 413. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5020 | 414. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
5021 | 415. http://www.columbia.edu/kermit/ckubwr.html#x3.7.2 |
---|
5022 | 416. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5023 | 417. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5024 | 418. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
5025 | 419. http://www.columbia.edu/kermit/ckubwr.html#x3.7.3 |
---|
5026 | 420. http://www.columbia.edu/kermit/ckubwr.html#x3.7.1 |
---|
5027 | 421. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5028 | 422. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5029 | 423. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
5030 | 424. http://www.columbia.edu/kermit/ckubwr.html#x3.7.4 |
---|
5031 | 425. http://www.columbia.edu/kermit/ckubwr.html#x3.7.2 |
---|
5032 | 426. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5033 | 427. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5034 | 428. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
5035 | 429. http://www.columbia.edu/kermit/ckubwr.html#x3.7.5 |
---|
5036 | 430. http://www.columbia.edu/kermit/ckubwr.html#x3.7.3 |
---|
5037 | 431. news:comp.os.vms |
---|
5038 | 432. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5039 | 433. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5040 | 434. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
5041 | 435. http://www.columbia.edu/kermit/ckubwr.html#x3.7.6 |
---|
5042 | 436. http://www.columbia.edu/kermit/ckubwr.html#x3.7.4 |
---|
5043 | 437. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5044 | 438. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5045 | 439. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
5046 | 440. http://www.columbia.edu/kermit/ckubwr.html#x3.7.5 |
---|
5047 | 441. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5048 | 442. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5049 | 443. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5050 | 444. http://www.columbia.edu/kermit/ckubwr.html#x3.9 |
---|
5051 | 445. http://www.columbia.edu/kermit/ckubwr.html#x3.7 |
---|
5052 | 446. http://www.stokely.com/ |
---|
5053 | 447. http://access1.sun.com/ |
---|
5054 | 448. http://www.ludd.luth.se/~bear/project/sun/sun.hardware.txt |
---|
5055 | 449. ftp://ftp.netcom.com/pub/ru/rubicon/sun.hdwr.ref |
---|
5056 | 450. ftp://ftp.intnet.net/pub/SUN/Sun-Hardware-Ref |
---|
5057 | 451. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5058 | 452. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5059 | 453. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5060 | 454. http://www.columbia.edu/kermit/ckubwr.html#x3.10 |
---|
5061 | 455. http://www.columbia.edu/kermit/ckubwr.html#x3.8 |
---|
5062 | 456. news:comp.unix.ultrix |
---|
5063 | 457. news:comp.sys.dec |
---|
5064 | 458. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5065 | 459. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5066 | 460. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5067 | 461. http://www.columbia.edu/kermit/ckubwr.html#x3.11 |
---|
5068 | 462. http://www.columbia.edu/kermit/ckubwr.html#x3.9 |
---|
5069 | 463. http://www.freebird.org/ |
---|
5070 | 464. http://www.freebird.org/faq/ |
---|
5071 | 465. news:comp.unix.unixware.misc |
---|
5072 | 466. news:comp.unix.sco.misc |
---|
5073 | 467. http://www.columbia.edu/kermit/ckubwr.html#x3.0 |
---|
5074 | 468. ftp://kermit.columbia.edu/kermit/f/ckutio.c |
---|
5075 | 469. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5076 | 470. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5077 | 471. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5078 | 472. http://www.columbia.edu/kermit/ckubwr.html#x3.12 |
---|
5079 | 473. http://www.columbia.edu/kermit/ckubwr.html#x3.10 |
---|
5080 | 474. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5081 | 475. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5082 | 476. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5083 | 477. http://www.columbia.edu/kermit/ckubwr.html#x3.13 |
---|
5084 | 478. http://www.columbia.edu/kermit/ckubwr.html#x3.11 |
---|
5085 | 479. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5086 | 480. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5087 | 481. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5088 | 482. http://www.columbia.edu/kermit/ckubwr.html#x3.14 |
---|
5089 | 483. http://www.columbia.edu/kermit/ckubwr.html#x3.12 |
---|
5090 | 484. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5091 | 485. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5092 | 486. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5093 | 487. http://www.columbia.edu/kermit/ckubwr.html#x3.15 |
---|
5094 | 488. http://www.columbia.edu/kermit/ckubwr.html#x3.13 |
---|
5095 | 489. news:comp.sys.sgi.misc |
---|
5096 | 490. news:comp.sys.sgi.admin |
---|
5097 | 491. http://www.sgi.com/ |
---|
5098 | 492. http://www-viz.tamu.edu/~sgi-faq/ |
---|
5099 | 493. ftp://viz.tamu.edu/pub/sgi/faq/ |
---|
5100 | 494. http://www.columbia.edu/kermit/ckuins.html |
---|
5101 | 495. http://freeware.sgi.com/Installable/gcc-2.95.2.html |
---|
5102 | 496. http://freeware.sgi.com/Installable/gcc-2.95.2.html |
---|
5103 | 497. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5104 | 498. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5105 | 499. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5106 | 500. http://www.columbia.edu/kermit/ckubwr.html#x3.16 |
---|
5107 | 501. http://www.columbia.edu/kermit/ckubwr.html#x3.14 |
---|
5108 | 502. news:comp.sys.be |
---|
5109 | 503. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5110 | 504. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5111 | 505. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5112 | 506. http://www.columbia.edu/kermit/ckubwr.html#x3.17 |
---|
5113 | 507. http://www.columbia.edu/kermit/ckubwr.html#x3.15 |
---|
5114 | 508. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5115 | 509. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5116 | 510. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5117 | 511. http://www.columbia.edu/kermit/ckubwr.html#x3.18 |
---|
5118 | 512. http://www.columbia.edu/kermit/ckubwr.html#x3.16 |
---|
5119 | 513. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5120 | 514. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5121 | 515. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5122 | 516. http://www.columbia.edu/kermit/ckubwr.html#x3.19 |
---|
5123 | 517. http://www.columbia.edu/kermit/ckubwr.html#x3.17 |
---|
5124 | 518. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5125 | 519. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5126 | 520. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5127 | 521. http://www.columbia.edu/kermit/ckubwr.html#x3.20 |
---|
5128 | 522. http://www.columbia.edu/kermit/ckubwr.html#x3.18 |
---|
5129 | 523. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5130 | 524. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5131 | 525. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5132 | 526. http://www.columbia.edu/kermit/ckubwr.html#x3.19 |
---|
5133 | 527. http://www.uni-giessen.de/faq/archiv/coherent-faq.general/msg00000.html |
---|
5134 | 528. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5135 | 529. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5136 | 530. http://www.columbia.edu/kermit/ckubwr.html#x5 |
---|
5137 | 531. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5138 | 532. http://www.columbia.edu/kermit/ckccfg.html |
---|
5139 | 533. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5140 | 534. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5141 | 535. http://www.columbia.edu/kermit/ckubwr.html#x6 |
---|
5142 | 536. http://www.columbia.edu/kermit/ckubwr.html#x4 |
---|
5143 | 537. http://www.columbia.edu/kermit/ckuins.html |
---|
5144 | 538. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5145 | 539. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5146 | 540. http://www.columbia.edu/kermit/ckubwr.html#x7 |
---|
5147 | 541. http://www.columbia.edu/kermit/ckubwr.html#x5 |
---|
5148 | 542. http://www.columbia.edu/kermit/ckuins.html#9.5 |
---|
5149 | 543. http://www.columbia.edu/kermit/ckubwr.html#x3 |
---|
5150 | 544. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5151 | 545. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5152 | 546. http://www.columbia.edu/kermit/ckubwr.html#x8 |
---|
5153 | 547. http://www.columbia.edu/kermit/ckubwr.html#x6 |
---|
5154 | 548. http://www.columbia.edu/kermit/ckuins.html#x8 |
---|
5155 | 549. http://www.columbia.edu/kermit/ckuins.html |
---|
5156 | 550. http://www.columbia.edu/kermit/ck60manual.html |
---|
5157 | 551. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5158 | 552. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5159 | 553. http://www.columbia.edu/kermit/ckubwr.html#x9 |
---|
5160 | 554. http://www.columbia.edu/kermit/ckubwr.html#x7 |
---|
5161 | 555. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5162 | 556. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5163 | 557. http://www.columbia.edu/kermit/ckubwr.html#x10 |
---|
5164 | 558. http://www.columbia.edu/kermit/ckubwr.html#x8 |
---|
5165 | 559. http://www.columbia.edu/kermit/ck60manual.html |
---|
5166 | 560. http://dickey.his.com/xterm/xterm.html |
---|
5167 | 561. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5168 | 562. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5169 | 563. http://www.columbia.edu/kermit/ckubwr.html#x11 |
---|
5170 | 564. http://www.columbia.edu/kermit/ckubwr.html#x9 |
---|
5171 | 565. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5172 | 566. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5173 | 567. http://www.columbia.edu/kermit/ckubwr.html#x12 |
---|
5174 | 568. http://www.columbia.edu/kermit/ckubwr.html#x10 |
---|
5175 | 569. http://www.columbia.edu/kermit/ckubwr.html#x11.1 |
---|
5176 | 570. http://www.columbia.edu/kermit/ckubwr.html#x11.2 |
---|
5177 | 571. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5178 | 572. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5179 | 573. http://www.columbia.edu/kermit/ckubwr.html#x11 |
---|
5180 | 574. http://www.columbia.edu/kermit/ckubwr.html#x11.2 |
---|
5181 | 575. http://www.columbia.edu/kermit/ck60manual.html |
---|
5182 | 576. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5183 | 577. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5184 | 578. http://www.columbia.edu/kermit/ckubwr.html#x11 |
---|
5185 | 579. http://www.columbia.edu/kermit/ckubwr.html#x11.1 |
---|
5186 | 580. http://www.columbia.edu/kermit/ck60manual.html |
---|
5187 | 581. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5188 | 582. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5189 | 583. http://www.columbia.edu/kermit/ckubwr.html#x13 |
---|
5190 | 584. http://www.columbia.edu/kermit/ckubwr.html#x11 |
---|
5191 | 585. http://www.columbia.edu/kermit/security.html |
---|
5192 | 586. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5193 | 587. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5194 | 588. http://www.columbia.edu/kermit/ckubwr.html#x14 |
---|
5195 | 589. http://www.columbia.edu/kermit/ckubwr.html#x12 |
---|
5196 | 590. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5197 | 591. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5198 | 592. http://www.columbia.edu/kermit/ckubwr.html#x15 |
---|
5199 | 593. http://www.columbia.edu/kermit/ckubwr.html#x14 |
---|
5200 | 594. mailto:support@stallion.oz.au |
---|
5201 | 595. http://www.stallion.com/ |
---|
5202 | 596. http://www.columbia.edu/kermit/ckubwr.html#top |
---|
5203 | 597. http://www.columbia.edu/kermit/ckubwr.html#contents |
---|
5204 | 598. http://www.columbia.edu/kermit/ckermit.html |
---|
5205 | 599. http://www.columbia.edu/kermit/ck80.html |
---|
5206 | 600. http://www.columbia.edu/kermit/index.html |
---|
5207 | 601. http://www.columbia.edu/kermit/index.html |
---|
5208 | 602. http://www.columbia.edu/ |
---|
5209 | 603. mailto:kermit@columbia.edu |
---|