Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^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>