^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ===============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) IBM 3270 Display System support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ===============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) This file describes the driver that supports local channel attachment
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) of IBM 3270 devices. It consists of three sections:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * Introduction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) * Installation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * Operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Introduction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) This paper describes installing and operating 3270 devices under
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Linux/390. A 3270 device is a block-mode rows-and-columns terminal of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) which I'm sure hundreds of millions were sold by IBM and clonemakers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) twenty and thirty years ago.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) You may have 3270s in-house and not know it. If you're using the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) VM-ESA operating system, define a 3270 to your virtual machine by using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) the command "DEF GRAF <hex-address>" This paper presumes you will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) defining four 3270s with the CP/CMS commands:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - DEF GRAF 620
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - DEF GRAF 621
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) - DEF GRAF 622
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) - DEF GRAF 623
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Your network connection from VM-ESA allows you to use x3270, tn3270, or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) another 3270 emulator, started from an xterm window on your PC or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) workstation. With the DEF GRAF command, an application such as xterm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) and this Linux-390 3270 driver, you have another way of talking to your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Linux box.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) This paper covers installation of the driver and operation of a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) dialed-in x3270.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Installation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) You install the driver by installing a patch, doing a kernel build, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) running the configuration script (config3270.sh, in this directory).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) WARNING: If you are using 3270 console support, you must rerun the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) configuration script every time you change the console's address (perhaps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) by using the condev= parameter in silo's /boot/parmfile). More precisely,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) you should rerun the configuration script every time your set of 3270s,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) including the console 3270, changes subchannel identifier relative to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) one another. ReIPL as soon as possible after running the configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) script and the resulting /tmp/mkdev3270.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) If you have chosen to make tub3270 a module, you add a line to a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) configuration file under /etc/modprobe.d/. If you are working on a VM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) virtual machine, you can use DEF GRAF to define virtual 3270 devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) You may generate both 3270 and 3215 console support, or one or the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) other, or neither. If you generate both, the console type under VM is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) not changed. Use #CP Q TERM to see what the current console type is.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) Use #CP TERM CONMODE 3270 to change it to 3270. If you generate only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 3270 console support, then the driver automatically converts your console
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) at boot time to a 3270 if it is a 3215.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) In brief, these are the steps:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 1. Install the tub3270 patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 2. (If a module) add a line to a file in `/etc/modprobe.d/*.conf`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 3. (If VM) define devices with DEF GRAF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 4. Reboot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 5. Configure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) To test that everything works, assuming VM and x3270,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 1. Bring up an x3270 window.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 2. Use the DIAL command in that window.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 3. You should immediately see a Linux login screen.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) Here are the installation steps in detail:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) 1. The 3270 driver is a part of the official Linux kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) source. Build a tree with the kernel source and any necessary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) patches. Then do::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) make oldconfig
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) (If you wish to disable 3215 console support, edit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) .config; change CONFIG_TN3215's value to "n";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) and rerun "make oldconfig".)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) make image
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) make modules
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) make modules_install
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) 2. (Perform this step only if you have configured tub3270 as a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) module.) Add a line to a file `/etc/modprobe.d/*.conf` to automatically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) load the driver when it's needed. With this line added, you will see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) login prompts appear on your 3270s as soon as boot is complete (or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) with emulated 3270s, as soon as you dial into your vm guest using the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) command "DIAL <vmguestname>"). Since the line-mode major number is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 227, the line to add should be::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) alias char-major-227 tub3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 3. Define graphic devices to your vm guest machine, if you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) haven't already. Define them before you reboot (reipl):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) - DEFINE GRAF 620
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) - DEFINE GRAF 621
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) - DEFINE GRAF 622
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) - DEFINE GRAF 623
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 4. Reboot. The reboot process scans hardware devices, including
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 3270s, and this enables the tub3270 driver once loaded to respond
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) correctly to the configuration requests of the next step. If
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) you have chosen 3270 console support, your console now behaves
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) as a 3270, not a 3215.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 5. Run the 3270 configuration script config3270. It is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) distributed in this same directory, Documentation/s390, as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) config3270.sh. Inspect the output script it produces,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) /tmp/mkdev3270, and then run that script. This will create the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) necessary character special device files and make the necessary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) changes to /etc/inittab.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Then notify /sbin/init that /etc/inittab has changed, by issuing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) the telinit command with the q operand::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) cd Documentation/s390
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) sh config3270.sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) sh /tmp/mkdev3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) telinit q
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) This should be sufficient for your first time. If your 3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) configuration has changed and you're reusing config3270, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) should follow these steps::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) Change 3270 configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) Reboot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) Run config3270 and /tmp/mkdev3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) Reboot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) Here are the testing steps in detail:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 1. Bring up an x3270 window, or use an actual hardware 3278 or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 3279, or use the 3270 emulator of your choice. You would be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) running the emulator on your PC or workstation. You would use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) the command, for example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) x3270 vm-esa-domain-name &
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) if you wanted a 3278 Model 4 with 43 rows of 80 columns, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) default model number. The driver does not take advantage of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) extended attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) The screen you should now see contains a VM logo with input
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) lines near the bottom. Use TAB to move to the bottom line,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) probably labeled "COMMAND ===>".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 2. Use the DIAL command instead of the LOGIN command to connect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) to one of the virtual 3270s you defined with the DEF GRAF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) commands::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) dial my-vm-guest-name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 3. You should immediately see a login prompt from your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) Linux-390 operating system. If that does not happen, you would
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) see instead the line "DIALED TO my-vm-guest-name 0620".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) To troubleshoot: do these things.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) A. Is the driver loaded? Use the lsmod command (no operands)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) to find out. Probably it isn't. Try loading it manually, with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) the command "insmod tub3270". Does that command give error
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) messages? Ha! There's your problem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) B. Is the /etc/inittab file modified as in installation step 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) above? Use the grep command to find out; for instance, issue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) "grep 3270 /etc/inittab". Nothing found? There's your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) problem!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) C. Are the device special files created, as in installation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) step 2 above? Use the ls -l command to find out; for instance,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) issue "ls -l /dev/3270/tty620". The output should start with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) letter "c" meaning character device and should contain "227, 1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) just to the left of the device name. No such file? no "c"?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) Wrong major number? Wrong minor number? There's your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) problem!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) D. Do you get the message::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) "HCPDIA047E my-vm-guest-name 0620 does not exist"?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) If so, you must issue the command "DEF GRAF 620" from your VM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 3215 console and then reboot the system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) OPERATION.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) The driver defines three areas on the 3270 screen: the log area, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) input area, and the status area.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) The log area takes up all but the bottom two lines of the screen. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) driver writes terminal output to it, starting at the top line and going
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) down. When it fills, the status area changes from "Linux Running" to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) "Linux More...". After a scrolling timeout of (default) 5 sec, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) screen clears and more output is written, from the top down.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) The input area extends from the beginning of the second-to-last screen
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) line to the start of the status area. You type commands in this area
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) and hit ENTER to execute them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) The status area initializes to "Linux Running" to give you a warm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) fuzzy feeling. When the log area fills up and output awaits, it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) changes to "Linux More...". At this time you can do several things or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) nothing. If you do nothing, the screen will clear in (default) 5 sec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) and more output will appear. You may hit ENTER with nothing typed in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) the input area to toggle between "Linux More..." and "Linux Holding",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) which indicates no scrolling will occur. (If you hit ENTER with "Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) Running" and nothing typed, the application receives a newline.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) You may change the scrolling timeout value. For example, the following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) command line::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) echo scrolltime=60 > /proc/tty/driver/tty3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) changes the scrolling timeout value to 60 sec. Set scrolltime to 0 if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) you wish to prevent scrolling entirely.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) Other things you may do when the log area fills up are: hit PA2 to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) clear the log area and write more output to it, or hit CLEAR to clear
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) the log area and the input area and write more output to the log area.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) Some of the Program Function (PF) and Program Attention (PA) keys are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) preassigned special functions. The ones that are not yield an alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) when pressed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) PA1 causes a SIGINT to the currently running application. You may do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) the same thing from the input area, by typing "^C" and hitting ENTER.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) PA2 causes the log area to be cleared. If output awaits, it is then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) written to the log area.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) PF3 causes an EOF to be received as input by the application. You may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) cause an EOF also by typing "^D" and hitting ENTER.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) No PF key is preassigned to cause a job suspension, but you may cause a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) job suspension by typing "^Z" and hitting ENTER. You may wish to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) assign this function to a PF key. To make PF7 cause job suspension,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) execute the command::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) echo pf7=^z > /proc/tty/driver/tty3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) If the input you type does not end with the two characters "^n", the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) driver appends a newline character and sends it to the tty driver;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) otherwise the driver strips the "^n" and does not append a newline.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) The IBM 3215 driver behaves similarly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) Pf10 causes the most recent command to be retrieved from the tube's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) command stack (default depth 20) and displayed in the input area. You
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) may hit PF10 again for the next-most-recent command, and so on. A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) command is entered into the stack only when the input area is not made
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) invisible (such as for password entry) and it is not identical to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) current top entry. PF10 rotates backward through the command stack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) PF11 rotates forward. You may assign the backward function to any PF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) key (or PA key, for that matter), say, PA3, with the command::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) echo -e pa3=\\033k > /proc/tty/driver/tty3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) This assigns the string ESC-k to PA3. Similarly, the string ESC-j
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) performs the forward function. (Rationale: In bash with vi-mode line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) editing, ESC-k and ESC-j retrieve backward and forward history.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) Suggestions welcome.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) Is a stack size of twenty commands not to your liking? Change it on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) the fly. To change to saving the last 100 commands, execute the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) command::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) echo recallsize=100 > /proc/tty/driver/tty3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) Have a command you issue frequently? Assign it to a PF or PA key! Use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) the command::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) echo pf24="mkdir foobar; cd foobar" > /proc/tty/driver/tty3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) to execute the commands mkdir foobar and cd foobar immediately when you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) hit PF24. Want to see the command line first, before you execute it?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) Use the -n option of the echo command::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) echo -n pf24="mkdir foo; cd foo" > /proc/tty/driver/tty3270
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) Happy testing! I welcome any and all comments about this document, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) driver, etc etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) Dick Hitt <rbh00@utsglobal.com>