source: trunk/third/kermit/ckubwr.txt @ 20081

Revision 20081, 244.8 KB checked in by zacheiss, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20080, which included commits to RCS files with non-trunk default branches.
Line 
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
17041050-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   
21463.6.1. [349]SCO XENIX
21473.6.2. [350]SCO UNIX and OSR5
21483.6.3. [351]Unixware
21493.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   
24133.7.1. [395]Serial Port Configuration
24143.7.2. [396]Serial Port Problems
24153.7.3. [397]SunLink X.25
24163.7.4. [398]Sun Workstation Keyboard Mapping
24173.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   
4404Date: Thu, 12 Mar 92 1:59:25 MEZ
4405From: Walter Mecky <walter@rent-a-guru.de>
4406Subject: Help.Unix.sw
4407To: svr4@pcsbst.pcs.com, source@usl.com
4408
4409PRODUCT:        Unix
4410RELEASE:        Dell SVR4 V2.1 (is USL V3.0)
4411MACHINE:        AT-386
4412PATHNAME:       /usr/lib/libc.so.1
4413                /usr/ccs/lib/libc.a
4414ABSTRACT:       Function ttyname() does not close its file descriptor
4415DESCRIPTION:
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>
4426main() {
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
4493static char allowable[TOTAL_LINES][4] = { "200", "201", "300" };
4494static int total=TOTAL_LINES;
4495int allow;
4496
4497/* states: */
4498#define TTY_UNDEF 0
4499#define TTY_LOCK  1
4500#define TTY_OKAY  2
4501
4502main(argc, argv)
4503int 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
4605References
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
Note: See TracBrowser for help on using the repository browser.