OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [s390/] [3270.txt] - Blame information for rev 1765

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.