📄 ckubwr.txt
字号:
transfers into all non-AIX platforms on the same kind of connections (with a few exceptions noted elsewhere in this document). AIX 4.3.3 seems to be particularly fragile in this regard; the weakness seems to be in its pseudoterminal (pty) driver. High-speed streaming transfers work perfectly, however, if the AIX Telnet server and pty driver are removed from the picture; e.g, by using "set host * 3000" on AIX. The problem can be completely cured by replacing the IBM Telnet server with [168]MIT's Kerberos Telnet server -- even if you don't actually use the Kerberos part. Diagnosis: AIX pseudoterminals (which are controlled by the Telnet server to give you a login terminal for your session) have quirks that not even IBM knows about. The situation with AIX 5.x is not known, but if it has the same problem, the same cure is available. Meanwhile, the only remedy when going through the IBM Telnet server is to cut back on Kermit's performance settings until you find a combination that works: * SET STREAMING OFF * SET WINDOW-SIZE small-number * SET { SEND, RECEIVE } PACKET-LENGTH small-number * SET PREFIXING { CAUTIOUS, ALL } In some cases, severe cutbacks are required, e.g. those implied by the ROBUST command. Also be sure that the AIX C-Kermit on the remote end has "set flow none" (which is the default). NOTE: Maybe this one can also be addressed by starting AIX telnetd with the "-a" option. The situation with SSH connections is not known, but almost certainly the same. When these problems occur, the system error log contains: LABEL: TTY_TTYHOG IDENTIFIER: 0873CF9F Type: TEMP Resource Name: pts/1 Description TTYHOG OVER-RUN Failure Causes EXCESSIVE LOAD ON PROCESSOR Recommended Actions REDUCE SYSTEM LOAD. REDUCE SERIAL PORT BAUD RATE Before leaving the topic of AIX pseudoterminals, it is very likely that Kermit's PTY and SSH commands do not work well either, for the same reason that Telnet connections into AIX don't work well. A brief test with "pty rlogin somehost" got a perfectly usable terminal (CONNECT) session, but file-transfer problems like those just described. Reportedly, telnet from AIX 4.1-point-something to non-Telnet ports does not work unless the port number is in the /etc/services file; it's not clear from the report whether this is a problem with AIX Telnet (in which case it would not affect Kermit), or with the sockets library (in which case it would). The purported fix is IBM APAR IX61523. C-Kermit SET HOST or TELNET from one AIX 3.1 (or earlier) system to another won't work right unless you set your local terminal type to something other than AIXTERM. When your terminal type is AIXTERM, AIX TELNET sends two escapes whenever you type one, and the AIX telnet server swallows one of them. This has something to do with the "hft" device. This behavior seems to be removed in AIX 3.2 and later. ______________________________________________________________________ 3.1.3. AIX: Serial Connections [ [169]Top ] [ [170]Contents ] [ [171]Section Contents ] [ [172]Next ] [ [173]Previous ] In AIX 3, 4, or 5, C-Kermit won't be able to "set line /dev/tty0" (or any other dialout device) if you haven't installed "cu" or "uucp" on your system, because installing these is what creates the UUCP lockfile directory. If SET LINE commands always result in "Sorry, access to lock denied", even when C-Kermit has been given the same owner, group, and permissions as cu: -r-sr-xr-x 1 uucp uucp 67216 Jul 27 1999 cu and even when you run it as root, then you must go back and install "cu" from your AIX installation media. According to IBM's "From Strength to Strength" document (21 April 1998), in AIX 4.2 and later "Async supports speeds on native serial ports up to 115.2kbps". However, no API is documented to achieve serial speeds higher than 38400 bps. Apparently the way to do this -- which might or might not work only on the IBM 128-port multiplexer -- is: cxma-stty fastbaud /dev/tty0 which, according to "man cxma-stty": fastbaud Alters the baud rate table, so 50 baud becomes 57600 baud. -fastbaud Restores the baud rate table, so 57600 baud becomes 50 baud. Presumably (but not certainly) this extrapolates to 110 "baud" becomes 76800 bps, and 150 becomes 115200 bps. So to use high serial speeds in AIX 4.2 or 4.3, the trick would be to give the "cxma-stty fastbaud" command for the desired tty device before starting Kermit, and then use "set speed 50", "set speed 110", or "set speed 150" to select 56700, 76800, or 115200 bps. It is not known whether cxma-stty requires privilege. According to one report, "Further investigation with IBM seems to indicate that the only hardware capable of doing this is the 128-port multiplexor with one (or more) of the 16 port breakout cables (Enhanced Remote Async Node 16-Port EIA-232). We are looking at about CDN$4,000 in hardware just to hang a 56kb modem on there. Of course, we can then hang 15 more, if we want. This hardware combo is described to be good to 230.4kbps." Another report says (quote from AIX newsgroup, March 1999): The machine type and the adapter determine the speed that one can actually run at. The older microchannel machines have much slower crystal frequencies and may not go beyond 76,800. A feature put into AIX 421 allows one to key in non-POSIX baud rates and if the uart can support that speed, it will get set. this applies also to 43p's and beyond. 115200 is the max for the 43P's native serial port. As crytal frequencies continue to increase, the built-in serial ports speeds will improve. To use 'uucp' or 'ate' at the higher baud rates, configure the port for the desired speed, but set the speed of uucp or ate to 50. Any non-POSIX speeds set in the ttys configuration will the be used. In the case of the 128-port adapters or the ISA 8-port or PCI 8-port adapter, there are only a few higher baud rates. a. Change the port to enable high baud rates: + B50 for 57600 + B75 for 76800 + B110 for 115200 + B200 for 230000 b. chdev -l ttyX -a fastbaud=enable + For the 128 ports original style rans, only 57600 bps is supported. + For the new enhanced RANs, up to 230Kbps is supported. In AIX 2.2.1 on the RT PC with the 8-port multiplexer, SET SPEED 38400 gives 9600 bps, but SET SPEED 19200 gives 19200 (on the built-in S1 port). Note that some RS/6000s (e.g. the IBM PowerServer 320) have nonstandard rectangular 10-pin serial ports; the DB-25 connector is NOT a serial port; it is a parallel printer port. IBM cables are required for the serial ports, (The IBM RT PC also had rectangular serial ports -- perhaps the same as these, perhaps different.) If you dial in to AIX through a modem that is connected directly to an AIX port (e.g. on the 128-port multiplexer) and find that data is lost, especially when uploading files to the AIX system (and system error logs report buffer overruns on the port): 1. Make sure the port and modem are BOTH configured for hardware (RTS/CTS) flow control. The port is configured somewhere in the system configuration, outside of Kermit. 2. Tell C-Kermit to "set flow keep"; experimentation shows that SET FLOW RTS/CTS has no effect when used in remote mode (i.e. on /dev/tty, as opposed to a specify port device). 3. Fixes for bugs in the original AIX 4.2 tty (serial i/o) support and other AIX bugs are available from IBM at: [174]http://service.software.ibm.com/rs6000/ Downloads -> Software Fixes -> Download FixDist gets an application for looking up known problems. Many problems reported with bidirectional terminal lines on AIX 3.2.x on the RS/6000. Workaround: don't use bidirectional terminal lines, or write a shell-script wrapper for Kermit that turns getty off on the line before starting Kermit, or before Kermit attempts to do the SET LINE. (But note: These problems MIGHT be fixed in C-Kermit 6.0 and later.) The commands for turning getty off and on (respectively) are /usr/sbin/pdisable and /usr/sbin/penable. ______________________________________________________________________ 3.1.4. AIX: File Transfer [ [175]Top ] [ [176]Contents ] [ [177]Section Contents ] [ [178]Next ] [ [179]Previous ] Evidently AIX 4.3 (I don't know about earlier versions) does not allow open files to be overwritten. This can cause Kermit transfers to fail when FILE COLLISION is OVERWRITE, where they might work on other Unix varieties or earlier AIX versions. Transfer of binary -- and maybe even text -- files can fail in AIX if the AIX terminal has particular port can have character-set translation done for it by the tty driver. The following advice from a knowledgeable AIX user: [This feature] has to be checked (and set/cleared) with a separate command, unfortunately stty doesn't handle this. To check: $ setmaps input map: none installed output map: none installed If it says anything other than "none installed" for either one, it is likely to cause a problem with kermit. To get rid of installed maps: $ setmaps -t NOMAP However, I seem to recall that with some versions of AIX before 3.2.5, only root could change the setting. I'm not sure what versions - it might have only been under AIX 3.1 that this was true. At least with AIX 3.2.5 an ordinary user can set or clear the maps. On the same problem, another knowledgeable AIX user says: The way to get information on the NLS mapping under AIX (3.2.5 anyway) is as follows. From the command line type: lsattr -l tty# -a imap -a omap -E -H Replace the tty number for the number sign above. This will give a human readable output of the settings that looks like this; # lsattr -l tty2 -a imap -a omap -E -H attribute value description user_settable imap none INPUT map file True omap none OUTPUT map file True If you change the -H to a -O, you get output that can easily be processed by another program or a shell script, for example: # lsattr -l tty2 -a imap -a omap -E -O #imap:omap none:none To change the settings from the command line, the chdev command is used with the following syntax. chdev -l tty# -a imap='none' -a omap='none' Again substituting the appropriate tty port number for the number sign, "none" being the value we want for C-Kermit. Of course, the above can also be changed by using the SMIT utility and selecting devices - tty. (...end quote) ______________________________________________________________________ 3.1.5. AIX: Xterm Key Map [ [180]Top ] [ [181]Contents ] [ [182]Section Contents ] [ [183]Previous ] Here is a sample configuration for setting up an xterm keyboard for VT220 or higher terminal emulation on AIX, courtesy of Bruce Momjian, Drexel Hill, PA. Xterm can be started like this: xterm $XTERMFLAGS +rw +sb +ls $@ -tm 'erase ^? intr ^c' -name vt220 \ -title vt220 -tn xterm-220 "$@" &--------------------------------------------------------------------------- XTerm*VT100.Translations: #override \n\ <Key>Home: string(0x1b) string("[3~") \n \ <Key>End: string(0x1b) string("[4~") \n vt220*VT100.Translations: #override \n\ Shift <Key>F1: string("[23~") \n \ Shift <Key>F2: string("[24~") \n \ Shift <Key>F3: string("[25~") \n \ Shift <Key>F4: string("[26~") \n \ Shift <Key>F5: string("[K~") \n \ Shift <Key>F6: string("[31~") \n \ Shift <Key>F7: string("[31~") \n \ Shift <Key>F8: string("[32~") \n \ Shift <Key>F9: string("[33~") \n \ Shift <Key>F10: string("[34~") \n \ Shift <Key>F11: string("[28~") \n \ Shift <Key>F12: string("[29~") \n \ <Key>Print: string(0x1b) string("[32~") \n\ <Key>Cancel: string(0x1b) string("[33~") \n\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -