/sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget"/translations/zh_CN/arch/s390/3270modnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/zh_TW/arch/s390/3270modnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/it_IT/arch/s390/3270modnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ja_JP/arch/s390/3270modnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ko_KR/arch/s390/3270modnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/sp_SP/arch/s390/3270modnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hIBM 3270 Display System supporth]hIBM 3270 Display System support}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh" This paper presumes you will be defining four 3270s with the CP/CMS commands:h]hXYou 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 ” This paper presumes you will be defining four 3270s with the CP/CMS commands:}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(hhubh)}(h<- DEF GRAF 620 - DEF GRAF 621 - DEF GRAF 622 - DEF GRAF 623 h]h)}(hhh](h)}(h DEF GRAF 620h]h)}(hj^h]h DEF GRAF 620}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj\ubah}(h]h ]h"]h$]h&]uh1hhjYubh)}(h DEF GRAF 621h]h)}(hjuh]h DEF GRAF 621}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjsubah}(h]h ]h"]h$]h&]uh1hhjYubh)}(h DEF GRAF 622h]h)}(hjh]h DEF GRAF 622}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjYubh)}(h DEF GRAF 623 h]h)}(h DEF GRAF 623h]h DEF GRAF 623}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjYubeh}(h]h ]h"]h$]h&]j -uh1hhhhKhjUubah}(h]h ]h"]h$]h&]uh1hhhhKhj(hhubh)}(hX#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.h]hX#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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(hhubh)}(hPThis paper covers installation of the driver and operation of a dialed-in x3270.h]hPThis paper covers installation of the driver and operation of a dialed-in x3270.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hj(hhubeh}(h] introductionah ]h"] introductionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Installationh]h Installation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK*ubh)}(hYou install the driver by installing a patch, doing a kernel build, and running the configuration script (config3270.sh, in this directory).h]hYou install the driver by installing a patch, doing a kernel build, and running the configuration script (config3270.sh, in this directory).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjhhubh)}(hXWARNING: 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.h]hXWARNING: 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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjhhubh)}(hIf 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.h]hIf 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjhhubh)}(hXYou 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.h]hXYou 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.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjhhubh)}(hIn brief, these are the steps:h]hIn brief, these are the steps:}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjhhubh)}(h1. 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 h]henumerated_list)}(hhh](h)}(hInstall the tub3270 patchh]h)}(hjLh]hInstall the tub3270 patch}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjJubah}(h]h ]h"]h$]h&]uh1hhjGubh)}(h>(If a module) add a line to a file in `/etc/modprobe.d/*.conf`h]h)}(hjch](h&(If a module) add a line to a file in }(hjehhhNhNubhtitle_reference)}(h`/etc/modprobe.d/*.conf`h]h/etc/modprobe.d/*.conf}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jlhjeubeh}(h]h ]h"]h$]h&]uh1hhhhKEhjaubah}(h]h ]h"]h$]h&]uh1hhjGubh)}(h$(If VM) define devices with DEF GRAFh]h)}(hjh]h$(If VM) define devices with DEF GRAF}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjubah}(h]h ]h"]h$]h&]uh1hhjGubh)}(hRebooth]h)}(hjh]hReboot}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjubah}(h]h ]h"]h$]h&]uh1hhjGubh)}(h Configure h]h)}(h Configureh]h Configure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjubah}(h]h ]h"]h$]h&]uh1hhjGubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1jEhjAubah}(h]h ]h"]h$]h&]uh1hhhhKDhjhhubh)}(h5To test that everything works, assuming VM and x3270,h]h5To test that everything works, assuming VM and x3270,}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjhhubh)}(hy1. Bring up an x3270 window. 2. Use the DIAL command in that window. 3. You should immediately see a Linux login screen. h]jF)}(hhh](h)}(hBring up an x3270 window.h]h)}(hjh]hBring up an x3270 window.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h$Use the DIAL command in that window.h]h)}(hj h]h$Use the DIAL command in that window.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhj ubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h1You should immediately see a Linux login screen. h]h)}(h0You should immediately see a Linux login screen.h]h0You should immediately see a Linux login screen.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj"ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]jjjhjjuh1jEhjubah}(h]h ]h"]h$]h&]uh1hhhhKLhjhhubh)}(h*Here are the installation steps in detail:h]h*Here are the installation steps in detail:}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjhhubh)}(hXy1. 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 "). 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/arch/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/arch/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 h](h)}(h1. 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::h]h1. 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:}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjTubh literal_block)}(hmake 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_installh]hmake 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}hjhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1jfhhhKVhjTubh)}(hX2. (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 "). Since the line-mode major number is 227, the line to add should be::h](h^2. (Perform this step only if you have configured tub3270 as a module.) Add a line to a file }(hjxhhhNhNubjm)}(h`/etc/modprobe.d/*.conf`h]h/etc/modprobe.d/*.conf}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jlhjxubhXJ 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 ”). Since the line-mode major number is 227, the line to add should be:}(hjxhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK^hjTubjg)}(halias char-major-227 tub3270h]halias char-major-227 tub3270}hjsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhKfhjTubh)}(hs3. Define graphic devices to your vm guest machine, if you haven't already. Define them before you reboot (reipl):h]hu3. Define graphic devices to your vm guest machine, if you haven’t already. Define them before you reboot (reipl):}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjTubh)}(hH- DEFINE GRAF 620 - DEFINE GRAF 621 - DEFINE GRAF 622 - DEFINE GRAF 623 h]h)}(hhh](h)}(hDEFINE GRAF 620h]h)}(hjh]hDEFINE GRAF 620}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hDEFINE GRAF 621h]h)}(hjh]hDEFINE GRAF 621}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hDEFINE GRAF 622h]h)}(hjh]hDEFINE GRAF 622}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hDEFINE GRAF 623 h]h)}(hDEFINE GRAF 623h]hDEFINE GRAF 623}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]j juh1hhhhKkhjubah}(h]h ]h"]h$]h&]uh1hhhhKkhjTubh)}(hX4. 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.h]hX4. 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.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjTubh)}(hXG5. Run the 3270 configuration script config3270. It is distributed in this same directory, Documentation/arch/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.h]hXG5. Run the 3270 configuration script config3270. It is distributed in this same directory, Documentation/arch/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.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjTubh)}(hiThen notify /sbin/init that /etc/inittab has changed, by issuing the telinit command with the q operand::h]hhThen notify /sbin/init that /etc/inittab has changed, by issuing the telinit command with the q operand:}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjTubjg)}(hGcd Documentation/arch/s390 sh config3270.sh sh /tmp/mkdev3270 telinit qh]hGcd Documentation/arch/s390 sh config3270.sh sh /tmp/mkdev3270 telinit q}hjNsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhKhjTubh)}(hThis should be sufficient for your first time. If your 3270 configuration has changed and you're reusing config3270, you should follow these steps::h]hThis should be sufficient for your first time. If your 3270 configuration has changed and you’re reusing config3270, you should follow these steps:}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjTubjg)}(hIChange 3270 configuration Reboot Run config3270 and /tmp/mkdev3270 Rebooth]hIChange 3270 configuration Reboot Run config3270 and /tmp/mkdev3270 Reboot}hjjsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhKhjTubeh}(h]h ]h"]h$]h&]uh1hhhhKRhjhhubh)}(h%Here are the testing steps in detail:h]h%Here are the testing steps in detail:}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hX1. 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. h](h)}(h1. 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::h]h1. 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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubjg)}(hx3270 vm-esa-domain-name &h]hx3270 vm-esa-domain-name &}hjsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhKhjubh)}(hif 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.h]hif 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hThe 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 ===>".h]hThe 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 ===>”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h2. Use the DIAL command instead of the LOGIN command to connect to one of the virtual 3270s you defined with the DEF GRAF commands::h]h2. Use the DIAL command instead of the LOGIN command to connect to one of the virtual 3270s you defined with the DEF GRAF commands:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubjg)}(hdial my-vm-guest-nameh]hdial my-vm-guest-name}hjsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhKhjubh)}(h3. 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".h]h3. 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”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h"To troubleshoot: do these things.h]h"To troubleshoot: do these things.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hA. 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.h]hA. 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hB. 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!h]hB. 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!}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hXzC. 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!h]hXC. 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!}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubjF)}(hhh]h)}(hSDo you get the message:: "HCPDIA047E my-vm-guest-name 0620 does not exist"? h](h)}(hDo you get the message::h]hDo you get the message:}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubjg)}(h2"HCPDIA047E my-vm-guest-name 0620 does not exist"?h]h2"HCPDIA047E my-vm-guest-name 0620 does not exist"?}hj?sbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhKhj-ubeh}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]j upperalphajhjjstartKuh1jEhjubh)}(hfIf so, you must issue the command "DEF GRAF 620" from your VM 3215 console and then reboot the system.h]hjIf so, you must issue the command “DEF GRAF 620” from your VM 3215 console and then reboot the system.}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] installationah ]h"] installationah$]h&]uh1hhhhhhhhK*ubh)}(hhh](h)}(h OPERATION.h]h OPERATION.}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwhhhhhKubh)}(hfThe driver defines three areas on the 3270 screen: the log area, the input area, and the status area.h]hfThe driver defines three areas on the 3270 screen: the log area, the input area, and the status area.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hXUThe 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.h]hX]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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hThe 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.h]hThe 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hX$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.)h]hX8The 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.)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hVYou may change the scrolling timeout value. For example, the following command line::h]hUYou may change the scrolling timeout value. For example, the following command line:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubjg)}(h-echo scrolltime=60 > /proc/tty/driver/tty3270h]h-echo scrolltime=60 > /proc/tty/driver/tty3270}hjsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhKhjwhhubh)}(hnchanges the scrolling timeout value to 60 sec. Set scrolltime to 0 if you wish to prevent scrolling entirely.h]hnchanges the scrolling timeout value to 60 sec. Set scrolltime to 0 if you wish to prevent scrolling entirely.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hOther 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.h]hOther 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hSome of the Program Function (PF) and Program Attention (PA) keys are preassigned special functions. The ones that are not yield an alarm when pressed.h]hSome of the Program Function (PF) and Program Attention (PA) keys are preassigned special functions. The ones that are not yield an alarm when pressed.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hPA1 causes a SIGINT to the currently running application. You may do the same thing from the input area, by typing "^C" and hitting ENTER.h]hPA1 causes a SIGINT to the currently running application. You may do the same thing from the input area, by typing “^C” and hitting ENTER.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(h]PA2 causes the log area to be cleared. If output awaits, it is then written to the log area.h]h]PA2 causes the log area to be cleared. If output awaits, it is then written to the log area.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hzPF3 causes an EOF to be received as input by the application. You may cause an EOF also by typing "^D" and hitting ENTER.h]h~PF3 causes an EOF to be received as input by the application. You may cause an EOF also by typing “^D” and hitting ENTER.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hNo 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::h]hNo 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:}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubjg)}(h&echo pf7=^z > /proc/tty/driver/tty3270h]h&echo pf7=^z > /proc/tty/driver/tty3270}hj>sbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhKhjwhhubh)}(hIf 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.h]hIf 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.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwhhubh)}(hX$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::h]hX%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:}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwhhubjg)}(h-echo -e pa3=\\033k > /proc/tty/driver/tty3270h]h-echo -e pa3=\\033k > /proc/tty/driver/tty3270}hjhsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhM hjwhhubh)}(hThis 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.)h]hThis 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.)}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwhhubh)}(hIs 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::h]hIs 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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwhhubjg)}(h.echo recallsize=100 > /proc/tty/driver/tty3270h]h.echo recallsize=100 > /proc/tty/driver/tty3270}hjsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhMhjwhhubh)}(hUHave a command you issue frequently? Assign it to a PF or PA key! Use the command::h]hTHave a command you issue frequently? Assign it to a PF or PA key! Use the command:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwhhubjg)}(h>echo pf24="mkdir foobar; cd foobar" > /proc/tty/driver/tty3270h]h>echo pf24="mkdir foobar; cd foobar" > /proc/tty/driver/tty3270}hjsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhMhjwhhubh)}(hto 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::h]hto 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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwhhubjg)}(h;echo -n pf24="mkdir foo; cd foo" > /proc/tty/driver/tty3270h]h;echo -n pf24="mkdir foo; cd foo" > /proc/tty/driver/tty3270}hjsbah}(h]h ]h"]h$]h&]jvjwuh1jfhhhM#hjwhhubh)}(hXHappy testing! I welcome any and all comments about this document, the driver, etc etc.h]hXHappy testing! I welcome any and all comments about this document, the driver, etc etc.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjwhhubh)}(hDick Hitt h](h Dick Hitt <}(hjhhhNhNubh reference)}(hrbh00@utsglobal.comh]hrbh00@utsglobal.com}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:rbh00@utsglobal.comuh1jhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM*hjwhhubeh}(h] operationah ]h"] operation.ah$]h&]uh1hhhhhhhhKubeh}(h]ibm-3270-display-system-supportah ]h"]ibm 3270 display system supportah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj=error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jjjjjtjqjj u nametypes}(jjjtjuh}(jhjj(jqjj jwu footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]hsystem_message)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "D" (ordinal 4)h]h>Enumerated list start value not ordinal-1: “D” (ordinal 4)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jhjubatransform_messages] transformerN include_log] decorationNhhub.