123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- IBM 3270 Display System support
- This file describes the driver that supports local channel attachment
- of IBM 3270 devices. It consists of three sections:
- * Introduction
- * Installation
- * Operation
- INTRODUCTION.
- This paper describes installing and operating 3270 devices under
- Linux/390. A 3270 device is a block-mode rows-and-columns terminal of
- which I'm sure hundreds of millions were sold by IBM and clonemakers
- twenty and thirty years ago.
- You may have 3270s in-house and not know it. If you're using the
- VM-ESA operating system, define a 3270 to your virtual machine by using
- the command "DEF GRAF <hex-address>" This paper presumes you will be
- defining four 3270s with the CP/CMS commands
- DEF GRAF 620
- DEF GRAF 621
- DEF GRAF 622
- DEF GRAF 623
- Your network connection from VM-ESA allows you to use x3270, tn3270, or
- another 3270 emulator, started from an xterm window on your PC or
- workstation. With the DEF GRAF command, an application such as xterm,
- and this Linux-390 3270 driver, you have another way of talking to your
- Linux box.
- This paper covers installation of the driver and operation of a
- dialed-in x3270.
- INSTALLATION.
- You install the driver by installing a patch, doing a kernel build, and
- running the configuration script (config3270.sh, in this directory).
- WARNING: If you are using 3270 console support, you must rerun the
- configuration script every time you change the console's address (perhaps
- by using the condev= parameter in silo's /boot/parmfile). More precisely,
- you should rerun the configuration script every time your set of 3270s,
- including the console 3270, changes subchannel identifier relative to
- one another. ReIPL as soon as possible after running the configuration
- script and the resulting /tmp/mkdev3270.
- If you have chosen to make tub3270 a module, you add a line to a
- configuration file under /etc/modprobe.d/. If you are working on a VM
- virtual machine, you can use DEF GRAF to define virtual 3270 devices.
- You may generate both 3270 and 3215 console support, or one or the
- other, or neither. If you generate both, the console type under VM is
- not changed. Use #CP Q TERM to see what the current console type is.
- Use #CP TERM CONMODE 3270 to change it to 3270. If you generate only
- 3270 console support, then the driver automatically converts your console
- at boot time to a 3270 if it is a 3215.
- In brief, these are the steps:
- 1. Install the tub3270 patch
- 2. (If a module) add a line to a file in /etc/modprobe.d/*.conf
- 3. (If VM) define devices with DEF GRAF
- 4. Reboot
- 5. Configure
- To test that everything works, assuming VM and x3270,
- 1. Bring up an x3270 window.
- 2. Use the DIAL command in that window.
- 3. You should immediately see a Linux login screen.
- Here are the installation steps in detail:
- 1. The 3270 driver is a part of the official Linux kernel
- source. Build a tree with the kernel source and any necessary
- patches. Then do
- make oldconfig
- (If you wish to disable 3215 console support, edit
- .config; change CONFIG_TN3215's value to "n";
- and rerun "make oldconfig".)
- make image
- make modules
- make modules_install
- 2. (Perform this step only if you have configured tub3270 as a
- module.) Add a line to a file /etc/modprobe.d/*.conf to automatically
- load the driver when it's needed. With this line added, you will see
- login prompts appear on your 3270s as soon as boot is complete (or
- with emulated 3270s, as soon as you dial into your vm guest using the
- command "DIAL <vmguestname>"). Since the line-mode major number is
- 227, the line to add should be:
- alias char-major-227 tub3270
- 3. Define graphic devices to your vm guest machine, if you
- haven't already. Define them before you reboot (reipl):
- DEFINE GRAF 620
- DEFINE GRAF 621
- DEFINE GRAF 622
- DEFINE GRAF 623
- 4. Reboot. The reboot process scans hardware devices, including
- 3270s, and this enables the tub3270 driver once loaded to respond
- correctly to the configuration requests of the next step. If
- you have chosen 3270 console support, your console now behaves
- as a 3270, not a 3215.
- 5. Run the 3270 configuration script config3270. It is
- distributed in this same directory, Documentation/s390, as
- config3270.sh. Inspect the output script it produces,
- /tmp/mkdev3270, and then run that script. This will create the
- necessary character special device files and make the necessary
- changes to /etc/inittab.
- Then notify /sbin/init that /etc/inittab has changed, by issuing
- the telinit command with the q operand:
- cd Documentation/s390
- sh config3270.sh
- sh /tmp/mkdev3270
- telinit q
- This should be sufficient for your first time. If your 3270
- configuration has changed and you're reusing config3270, you
- should follow these steps:
- Change 3270 configuration
- Reboot
- Run config3270 and /tmp/mkdev3270
- Reboot
- Here are the testing steps in detail:
- 1. Bring up an x3270 window, or use an actual hardware 3278 or
- 3279, or use the 3270 emulator of your choice. You would be
- running the emulator on your PC or workstation. You would use
- the command, for example,
- x3270 vm-esa-domain-name &
- if you wanted a 3278 Model 4 with 43 rows of 80 columns, the
- default model number. The driver does not take advantage of
- extended attributes.
- The screen you should now see contains a VM logo with input
- lines near the bottom. Use TAB to move to the bottom line,
- probably labeled "COMMAND ===>".
- 2. Use the DIAL command instead of the LOGIN command to connect
- to one of the virtual 3270s you defined with the DEF GRAF
- commands:
- dial my-vm-guest-name
- 3. You should immediately see a login prompt from your
- Linux-390 operating system. If that does not happen, you would
- see instead the line "DIALED TO my-vm-guest-name 0620".
- To troubleshoot: do these things.
- A. Is the driver loaded? Use the lsmod command (no operands)
- to find out. Probably it isn't. Try loading it manually, with
- the command "insmod tub3270". Does that command give error
- messages? Ha! There's your problem.
- B. Is the /etc/inittab file modified as in installation step 3
- above? Use the grep command to find out; for instance, issue
- "grep 3270 /etc/inittab". Nothing found? There's your
- problem!
- C. Are the device special files created, as in installation
- step 2 above? Use the ls -l command to find out; for instance,
- issue "ls -l /dev/3270/tty620". The output should start with the
- letter "c" meaning character device and should contain "227, 1"
- just to the left of the device name. No such file? no "c"?
- Wrong major number? Wrong minor number? There's your
- problem!
- D. Do you get the message
- "HCPDIA047E my-vm-guest-name 0620 does not exist"?
- If so, you must issue the command "DEF GRAF 620" from your VM
- 3215 console and then reboot the system.
- OPERATION.
- The driver defines three areas on the 3270 screen: the log area, the
- input area, and the status area.
- The log area takes up all but the bottom two lines of the screen. The
- driver writes terminal output to it, starting at the top line and going
- down. When it fills, the status area changes from "Linux Running" to
- "Linux More...". After a scrolling timeout of (default) 5 sec, the
- screen clears and more output is written, from the top down.
- The input area extends from the beginning of the second-to-last screen
- line to the start of the status area. You type commands in this area
- and hit ENTER to execute them.
- The status area initializes to "Linux Running" to give you a warm
- fuzzy feeling. When the log area fills up and output awaits, it
- changes to "Linux More...". At this time you can do several things or
- nothing. If you do nothing, the screen will clear in (default) 5 sec
- and more output will appear. You may hit ENTER with nothing typed in
- the input area to toggle between "Linux More..." and "Linux Holding",
- which indicates no scrolling will occur. (If you hit ENTER with "Linux
- Running" and nothing typed, the application receives a newline.)
- You may change the scrolling timeout value. For example, the following
- command line:
- echo scrolltime=60 > /proc/tty/driver/tty3270
- changes the scrolling timeout value to 60 sec. Set scrolltime to 0 if
- you wish to prevent scrolling entirely.
- Other things you may do when the log area fills up are: hit PA2 to
- clear the log area and write more output to it, or hit CLEAR to clear
- the log area and the input area and write more output to the log area.
- Some of the Program Function (PF) and Program Attention (PA) keys are
- preassigned special functions. The ones that are not yield an alarm
- when pressed.
- PA1 causes a SIGINT to the currently running application. You may do
- the same thing from the input area, by typing "^C" and hitting ENTER.
- PA2 causes the log area to be cleared. If output awaits, it is then
- written to the log area.
- PF3 causes an EOF to be received as input by the application. You may
- cause an EOF also by typing "^D" and hitting ENTER.
- No PF key is preassigned to cause a job suspension, but you may cause a
- job suspension by typing "^Z" and hitting ENTER. You may wish to
- assign this function to a PF key. To make PF7 cause job suspension,
- execute the command:
- echo pf7=^z > /proc/tty/driver/tty3270
- If the input you type does not end with the two characters "^n", the
- driver appends a newline character and sends it to the tty driver;
- otherwise the driver strips the "^n" and does not append a newline.
- The IBM 3215 driver behaves similarly.
- Pf10 causes the most recent command to be retrieved from the tube's
- command stack (default depth 20) and displayed in the input area. You
- may hit PF10 again for the next-most-recent command, and so on. A
- command is entered into the stack only when the input area is not made
- invisible (such as for password entry) and it is not identical to the
- current top entry. PF10 rotates backward through the command stack;
- PF11 rotates forward. You may assign the backward function to any PF
- key (or PA key, for that matter), say, PA3, with the command:
- echo -e pa3=\\033k > /proc/tty/driver/tty3270
- This assigns the string ESC-k to PA3. Similarly, the string ESC-j
- performs the forward function. (Rationale: In bash with vi-mode line
- editing, ESC-k and ESC-j retrieve backward and forward history.
- Suggestions welcome.)
- Is a stack size of twenty commands not to your liking? Change it on
- the fly. To change to saving the last 100 commands, execute the
- command:
- echo recallsize=100 > /proc/tty/driver/tty3270
- Have a command you issue frequently? Assign it to a PF or PA key! Use
- the command
- echo pf24="mkdir foobar; cd foobar" > /proc/tty/driver/tty3270
- to execute the commands mkdir foobar and cd foobar immediately when you
- hit PF24. Want to see the command line first, before you execute it?
- Use the -n option of the echo command:
- echo -n pf24="mkdir foo; cd foo" > /proc/tty/driver/tty3270
- Happy testing! I welcome any and all comments about this document, the
- driver, etc etc.
- Dick Hitt <rbh00@utsglobal.com>
|