Carmine Castaldo Jr.
R/390 Development
IBM Poughkeepsie NY
carminec@us.ibm.com (Lotus Notes)
ccastaldo@vnet.ibm.com (VM)
18 Sep 2001
The code that allows the P/390 Adapter to operate in an AIX environment is loosely referred to as "R/390" or "RS/390". An RS/6000 with a P/390 Adapter installed and operational is also often referred to as an "R/390" or "RS/390".
The official installed name for the code (or fileset) is r390.obj. This is also known as the LPP (Licensed Program Product) code and is therefor always installed in /usr/lpp/r390. The official name for the machine is "IBM RS/6000 and System/390 Server-on-Board".
These terms may be used interchangeably throughout this document.
The following tables shows all valid combinations of AIX version, P/390 adapter type, and r390.obj version.
Which version of AIX you use and which
base version of r390.obj you use depends on the type of
P/390 adapter installed:
P/390 Adapter Installed | Required Base Fileset |
---|---|
P/390 MCA (models 390, 591) | r390.obj 4.1.1.1 |
P/390 PCI (model F50 Only) | r390.obj 4.2.1.x |
P/390E PCI (model F50 Only) | r390.obj 4.3.1.0 |
AIX Versions Supported | r390.obj 4.1.1.1 | r390.obj 4.2.1.x | r390.obj 4.3.1.0 |
---|---|---|---|
AIX 4.1.4 | YES (GA) | NO | NO |
AIX 4.1.5 | YES | NO | NO |
AIX 4.2.1 | YES | YES (GA) | YES |
AIX 4.3.1 | YES | YES | YES (GA) |
AIX 4.3.2 | YES | YES | YES |
AIX 4.3.3 | YES | YES | YES |
Note: When using an AIX version other than the GA (General Availability) version, it is very important that you install the latest fixes for r390.obj. See "R/390 Support Site Information"
Note: Some internal, OEM, or "special bid" customers may have other levels or machine models.
The Enhanced S/390 Microprocessor Adapter is announced and available for the R/390, providing enhanced performance and flexibility.
The Enhanced IBM RS/6000 with S/390 combines the best of S/390 technology with the latest RS/6000 Server performance and cost effectiveness to provide an outstanding value for anyone needing S/390 capabilities at suprisingly low cost.
For more infomation, see http://www.s390.ibm.com/products/r390/
At r390.obj versions 4.2.1.5 for F50 w/P390 and 4.3.1.0 for F50 w/P390E, the SMP (Symmetric Multiple Processor) feature is exploited to yield better I/O performance when more than 1 604E PowerPC is available. The extra AIX MIPs provided by additional processors also allows more AIX applications to run in parallel with the R/390 with less chance of affecting overall system performance.
The 332MHZ 604E is now available for the F50 which doubles the the speed of the PowerPC's clock. These new versions of R/390 also support the faster 604E which further increase I/O performance and overall workload capacity.
In most new versions R/390, modifications to the ipl390 script are now applied automatically. This eliminates the need to edit the ipl390 script directly. A new method for specifying device manager parameters is provided though a Configuration panel called "Start Device Manager Parameter Input/Display". Device manager parameters are saved in the device map and applied to an ipl390 script template at IPL time. A set of default parameters is provided in a file called AWSCPARM.MGR. An advantage to this approach is that it allows you to maintain different device manager parameters in different device maps (e.g. for multiple operating systems or different I/O configurations.)
The new panel is reached by pressing F12 from the "Update System Devices" panel. A maximum of 54 characters can be specified in the parameter area. To find help on how and what parameters are valid for any device manager, place the cursor on the corresponding line and press F1. The *.DOC file for that device manager will be displayed.
If a "first time" user declines to set the start up parameters, the default parameters are stored in the device map (when saved) and applied at the next IPL. By default, optional devices managers are not started (nostart) and all other device managers are started with no parameters (noparms). 'nostart' and 'noparms' are the keywords in AWSCPARM.MGR. These keywords appear on the new panel. Type over them to start the corresponding device manager with a parameter (Example 1: changing "nostart" to "tok0" will start the corresponding device manager with the parameter tok0. Example 2: changing "noparms" to "-d" starts the corresponding manager with the parameter -d). Blanking out an input and hitting enter causes the default value from AWSCPARM.MGR to be set.
At IPL time, the ipl390.template file and the target device map are inputs to an IPL process which builds and executes a script called "ipl.current". "ipl.current" will run in place of the of ipl390 script if the build process is successful. If the build of ipl.current is unsuccessful, then the old ipl390 script is executed. For this reason, it is very important that the ipl390 and ipl390.template files are not tampered with anymore. All necessary modifications to the IPL process should be done though the Configuration panel "Start Device Manager Parameter Input/Display".
Note that it is necessary to change the default value of "nostart" to either "noparms" or some valid parameter in order to activate a device manager at IPL time. Also, note that AWSCKD has a new optional parameter that is useful on SMP machines (see AWSCKD.DOC).
LAN3172 is the only optional device manager that absolutely requires a start up parameter other than "noparms". If LAN3172 is to be started, specify the necessary network name on the "Start Device Manager Parameter Input/Display" panel by typing over the existing keyword. For example, LAN3172 is to be used with Ethernet Network 1 (ent1):
Start Device Manager Parameter Input/Display 1 AWSFBA >noparms 2 AWSCKD >-1 3 AWS3274 >noparms 4 AWS3215 >noparms 5 AWS2821 >noparms 6 AWS2540 >noparms 7 LAN3172 >ent1 8 LCS3172 >noparms 9 WAN3172 >nostart A AWSPBS >nostart B AWSTAPE >noparms C AWS34XX >noparms D AWSOMA >noparms E AWSICE >noparms F1=Help F7=Up F8=Down F10=Accept/Return ENTER=Accept Data ESC=Cancel
In this example, AWSICE, LCS3172, and LAN3172 had their default values changed so that they will start at IPL time. Use PF7/PF8 if multiple screens are necessary to view/change the desired device manager. Press F10 to return to the "Update System Devices" panel, then F10 again and F6 to save. Changes take effect on the next IPL.
At r390.obj versions 4.2.1.5 for F50 w/P390 and 4.3.1.0 for F50 w/P390E, the R/390 configurator will allow device addresses 0-1FFF in 370 mode, and 0-FFFF in ESA mode. This will better facilitate the migration of existing S/390 systems to an R/390. The maximum number of 256 devices still applies.
The following were added to the latest R/390 fix packs to enhance usability and serviceability.
All fixes and enhancements are listed in the 4xxxFIXS.LST file. In most cases, the appropriate *.DOC file is updated in the fix pack (4xxxFIXS.ZIP) also. See "R/390 Support Site Information" for more information on fixes.
Operating System Messages Console support was released for R/390E (r390.obj 4.3.1.x) on March 28, 2001. Implemented in AWS3215 with a unique device type and address, this feature was added to facilitate VIF (Virtual Image Facility) and "Linux for S/390" operations but can be used for other IBM Operating Systems as well.
The P/390E ESA microcode (V2.16) needed for this support, along with the new AWS3215 and channel components, can be applied automatically with the "apply4310" script (see "R/390 Support Site Information".)
The human factors of this console are identical to the I/O attached 3215, however the interface to the S/390 CP is done with "Read/Write Event" SCLP instructions and external interrupts instead of I/O instructions and I/O interrupts. One Operating System Message Console is allowed at special device address FFFF and device type HDWR.
In summary, 4 conditions are needed to use this device:
Microcode updates for the P/390E allow 31 bit operation of these IBM operating systems. These updates are available only to R/390E (r390.obj 4.3.1.x) systems when updated via the "apply4310" script.
The latest R/390 fixes and install images are accessible from ftp://p390.ibm.com. This is an anonymous ftp site for use by R/390 customers and service providers. The directory structure for R/390 support is:
incoming -> Holds data sent to IBM for problem determination. After opening a problem with IBM put traces, dumps, etc in this directory. Note: files are moved automatically by our system so they seem to disappear from this directory after a few minutes. This is normal. Recommend tar-compress or zipping files together into a single binary file with the naming convention: cccmmddx.zip or cccmmddx.trz where ccc = 3 characters identifying the customer mm = month dd = day x = the letter a-z (start with a) r390/r4111 -> get released fixes for r390.obj 4.1.1.1 here r390/r4210 -> get released fixes for r390.obj 4.2.1.x here r390/r4310 -> get released fixes for r390.obj 4.3.1.0 here r390/rtest -> get test fixes here when instructed to do so.
Installation of the released fixes is automated with a shell script called applyxxxx, where xxxx is the 4 digit release number (eg. apply4111, apply4210, etc). Download xxxxfixs.lst (ASCII) and xxxxfixs.zip (BINARY) to a directory that has at least 20MB of free space and follow the instructions in xxxxfixs.lst.
Notes:
P/390 LIC is loaded onto the P/390 Adapter during AIX boot, AIX Configuration Manager execution (cfgmgr), and when the S/390 is IPL'ed with a mode different from the current mode of the P/390 processor (eg. 370, ESA).
Adapter | Shipped LIC Version | Latest LIC Version |
---|---|---|
P/390 (MCA) | Release 1.10 | Release 1.2D |
P/390 (PCI) | Release 1.26 | Release 1.2D |
P/390E (PCI) | Release 2.01 | Release 2.16 |
For example, if you select "Search By Fileset Name" and enter "hcon.rte" as the search argument, a list of all "HCON Run Time Environment" fileset versions is returned. Select the latest (highest) one for your version of AIX and you get a list of all fix packages needed. Then download the fix packages and install per the instructions.
Proper installation is essential to minimizing problems and maximizing system performance. Some of the following information is not explicitly stated in the User's Guide. Please use this list as a supplement to the User's Guide installation procedures.
chuser fsize=4194303 rootYou must logout and login for this change to take effect.
File System Mount Point | Minimum Free space | Reason |
---|---|---|
/ | 12MB | Many AIX novices often put stuff here by accident. Running out of space in / causes unpredictable system behaviors. |
/tmp | 20MB | Many AIX application use /tmp as a scratch pad. Running out of space in /tmp can causes unpredictable behaviors with these applications. |
/var | 40MB | R/390 traces, dumps, and temporary files are kept here. AIX keeps traces, dumps, and error reports here. Running out of space in /var can cause strange R/390 and AIX system behaviors. |
Example of adding 20000 512 byte blocks to /tmp:
chfs -a size=+20000 /tmp
If you have any corrections or comments, please send to |
---|
carminec@us.ibm.com. Thanks.... |
When looking at these part numbers, keep in mind that:
Needed For | Part Description | PN | FRU PN | US FC | EMEA FC | EMEA PN |
---|---|---|---|---|---|---|
S/390 Processor | P/390 Adapter 32MB |
| 08J5874 |
|
|
|
S/390 Processor | P/390 Adapter 128MB |
| 08J5882 |
|
|
|
S/390 Enhanced Processor | P/390E Adapter 256MB |
| 11J4299 |
|
|
|
AWSICE | IBM ARTIC960 PCI Adapter |
| 39H8058 |
|
|
|
AWSICE | IBM ARTIC960 4MB SIMM |
| 61G2940 |
|
|
|
AWSICE | S/390 Parallel Channel EIB |
| 47H0031 |
|
|
|
AWSPBS | (old) ARTIC Multiport II ISA | 3BF8791 | 33F8967 | 6590 | 5306 |
|
AWSPBS | ARTIC186 Multiport II ISA/PCI (note 1) | 87H3750 | 87H3751 | ???? | ???? |
|
AWSPBS | ARTIC 8 Port RS232 EIB (note 1) | 53F2610 | 53F2612 | 6362 |
|
|
AWSPBS | ARTIC 8 Port Cable | 53F2619 | 53F2621 | 6366 |
|
|
AWSX25 | ARTIC X.25 Co-Processor ISA | 71G6460 | 71G6458 | 6753 |
|
|
AWSX25 | ARTIC X.25 Co-Processor X.21 Cable | 16F1865 | 16F1887 |
| 3150 | 07F3150 |
AWSX25 | ARTIC X.25 Co-Processor V.24 Cable | 16F1869 | 16F1888 | 6322 | 3160 | 07F3160 |
AWSX25 | ARTIC X.25 Co-Processor V.35 Cable | 16F1871 | 16F1889 | 6323 | 0190 | 07F3170 |
WAN3172 | (old) ARTIC Multiport II ISA | 3BF8791 | 33F8967 | 6590 | 5306 |
|
WAN3172 | (new) ARTIC186 Multiport II ISA/PCI | 87H3750 | 87H3751 | ???? | ???? |
|
WAN3172 | ARTIC 4 Port Selectable EIB | 53F2616 | 84F7540 | 6365 |
|
|
WAN3172 | ARTIC 4 Port Selectable Cable | 53F2622 | 53F2624 | 6367 |
|
|
Notes:
Needed For | Part Description | PN | FRU PN | US FC | EMEA FC | EMEA PN |
---|---|---|---|---|---|---|
S/390 Processor | P/390 Adapter 32MB |
| 17H5372 |
|
|
|
S/390 Memory | Optional 96MB Additional S/390 Memory |
| 26H2978 |
|
|
|
CHAN370 | S/370 Channel Emulator/A Adapter |
| xxxxxxx |
|
|
|
CHAN370 | S/370 Channel Emulator/A Cable |
| xxxxxxx |
|
|
|
AWSPBS | ARTIC Portmaster Adapter 2MB | 53F2607 | 53F2664 | 6368 |
|
|
AWSPBS | ARTIC Portmaster 8 Port RS232 EIB | 53F2610 | 53F2612 | 6362 |
|
|
AWSPBS | ARTIC Portmaster 8 Port Cable | 53F2619 | 53F2621 | 6366 |
|
|
AWSX25 | ARTIC X.25 Co-Processor/2 Adapter | 16F1858 | 44F7121 | 6401 | 3130 | 07F3130 |
AWSX25 | ARTIC X.25 Co-Processor/2 X.21 Cable | 16F1865 | 16F1887 |
| 3150 | 07F3150 |
AWSX25 | ARTIC X.25 Co-Processor/2 V.24 Cable | 16F1869 | 16F1888 | 6322 | 3160 | 07F3160 |
AWSX25 | ARTIC X.25 Co-Processor/2 V.35 Cable | 16F1871 | 16F1889 | 6323 | 0190 | 07F3170 |
WAN3172 | ARTIC Portmaster Adapter 2MB | 53F2607 | 53F2664 | 6368 |
|
|
WAN3172 | ARTIC Portmaster 4 Port Selectable EIB | 53F2616 | 84F7540 | 6365 |
|
|
WAN3172 | ARTIC Portmaster 4 Port Selectable Cable | 53F2622 | 53F2624 | 6367 |
|
|
The following table shows the SCSI tape drives that can be used on R/390 (via AWS34XX) with the recommended device type(s). "In-use" indicates that the drive is known to be in use by 1 or more customers, but AWS34XX support for problems may be limited.
Tape Drive to Device Type Usage | 3490 | 3480 | 3422 | 3420 | 9348 |
---|---|---|---|---|---|
IBM 4MM (tested, supported) | NO | YES | YES | YES | NO |
IBM/Exabyte 8MM (tested, supported) | NO | NO | YES | YES | NO |
Qualstar 9trk NRZI (tested, in-use) | NO | NO | YES | YES | NO |
Overland 9trk NRZI (tested, in-use) | NO | NO | YES | YES | NO |
M4 9trk NRZI (tested, in-use) | NO | NO | YES | YES | NO |
IBM 3490E Exx (tested, supported) | NO | YES | NO | NO | NO |
Overland/Cipher 480,490 (tested, in-use) | NO | YES | NO | NO | NO |
Fujitsu 2483/2485 (tested, in-use) | NO | YES | NO | NO | NO |
IBM 3490E Fxx (tested, supported) | YES | YES | NO | NO | NO |
Overland 490E (in-use) | YES | YES | NO | NO | NO |
Fujitsu 2488 (in-use) | YES | YES | NO | NO | NO |
Qualstar 3490E (in-use) | YES | YES | NO | NO | NO |
IBM 3570 (in-use) | NO | YES | NO | NO | NO |
IBM 9348 (in-use) | NO | NO | NO | NO | YES |
QUANTUM DLT7000 (in-use) | NO | YES | NO | NO | NO |
0A = line feed 0C = form feed 0D = carriage return ESC 3 n = n lines per inch ESC C n = n lines per page
R/390's AWS2821 queue support is slightly different then the PC P/390. The AWS2821.DOC file explains it, but I admit the syntax is a little tricky and must be specified exactly as stated or something may not work. Hope this helps.
For best results, download the latest version of 'printer' from the ftpsite. The latest version (as of July 9, 1998) adds wildcard capability on lines as well as columns when searching for the EOJ string.
Addr Device FN/P 000E 3211 c=/tmp/control.file
FILE=/tmp/printer.000e
QUEUE=lp0
EOJ=line,col,'put the end of job text here in single quotes'
Example:
EOJ=64,0,'*****End of Job*****'
In the earlier versions of AWS2821 (before printer.Ebin) you must use a positive integer for the line number in the EOJ statement. It searches only this line and starts searching at the specified column (col). Col can be 0 which tells AWS2821 to search all columns in the line for the EOJ string. In the latest version you can now specify 0 for the line number as well which tells AWS2821 to search every line of each page. This is not as efficient but more flexible.
When either the 0xFF command is received, OR the EOJ string is detected, AWS2821:
This allows you to have separation and better control of print jobs.
$DMDIR/printer & sleep 1
All of the problems unique to running LINUX for S/390 were finally resolved in fall of 2000. You must pick up the latest fixes for the 3215 console (AWS3215) and TCP/IP (LCS3172) to work on Linux/390.
This message occurs when trying to edit/view a corrupted device map file.
If you experience this after installing OS/390 2.8.0, a corrected devmap file is available for download from ftp://p390.ibm.com/r390/rtest/devr8aix.zip. Download this binary file and unzip to extract the device map file.
If not a result of installing OS/390 2.8.0, then check the path (echo $CONFIG_FILE). Restore a backup verion of the devmap file if the path is correct. A backup is saved automatically as /usr/bin/r390/devmap.bu.
I had pretty good luck with HCON 2.1.3.17 and lower. Myself and a few other users have experienced problems with later levels. So back down to 2.1.3.17 or lower if you have a problem. Use "lslpp -l hcon.rte" to determine the level installed.
If you are using HCON, then
This gives you 4 sessions. If you want more:
If you have HCON installed, but want to start XANT or X3270 sessions instead, here are some examples:
xant -ext -sk -graphics -port 3046 localhost & x3270 -rows 43 -ext -sk -graphics -port 3046 localhost &
Note: X3270 is a licensed program product that has to be installed. XANT is provided in the R/390 release as a non-supported alternate 3270 emulator for emergency use.
Ways to avoid this problem:
EXAMPLE:
> AWS3274 addresses defined are 060-063, 700-70F, 900-90F > Operator's console must be 700 > HCON emulator is being used.... > Do this..... cd /usr/bin/r390 ipl390 noipl xhcon c & xhcon d & xhcon e & ipl390 > In this example, sessions a and b connected as 60 and 61. > Session c connected as 62, d as 63 and e as 700. > After the IPL is started (last step), unwanted sessions can be closed
EXAMPLE:
> AWS3274 addresses defined are 060-063, 700-70F, 900-90F > Operator's console must be 700 > HCON emulator is being used. > The R/390 is connected to the LAN at IP address 9.67.174.3 > Do this..... cd /usr/bin/r390 ipl390 noipl xhcon c & xhcon d & > from a remote system x3270 -ext -graphics -port 3046 9.67.174.3 & > back on the R/390 system ipl390 > In this example, sessions a->d connect as 60->63. > The x3270 session on the remote host connects as 700.
Due to popular demand, a version of AWS3274 was released to the fix packs which adds support of TN3270E client LU Names for AWS3274 so that a device address can be associated with a specific TN3270E client session. This eliminates some of the problems above. Download the latest fixes and read the updates in AWS3274.DOC.
For those interested in exploiting the recent AWS3274 support for TN3270E LU Names on LOCAL sessions, the following TN3270E products (that can run on AIX) have been identified.
WARNING |
---|
Currently, R/390 tries to start 2 hcon, x3270, or xant sessions depending on what is installed on the system. If you want to use any of products above for the 2 default sessions, some modifications are required to the ipl390.template file (4.2.1.5 and up) or the ipl390 script file (pre 4.2.1.5). You may want to comment out the starting of local sessions during IPL all together, or you may want to substitute the starting of hcon/x3270/xant with the starting of one of these above. Do so at your own risk.... save a back-up and be very careful. |
Any X-capable system or station on the same IP LAN as the R/390 can be used to operate the R/390. The most common reasons for doing this are:
Here is an example of how to do this from a remote AIX system. This procedure is done entirely from an aixterm session on the remote system after initializing X Windows or Common Desktop.
Example: R/390 hostname = R390 remote system hostname = REMOTE1
Commands entered from an aixterm session on REMOTE1 | Explanation |
---|---|
xhost R390 | Tell REMOTE1 to act as an X host for R390 |
telnet R390 | telnet to R390, login as root, enter password |
cd /usr/bin/r390 | go to the R/390 home directory |
export DISPLAY=REMOTE1:0 | Tell R390 to use REMOTE1's display. |
r390 & | Invoke the R390 Main Menu. It will come up REMOTE1's display as will all subsequent panels and messages from operating the R/390. |
Note: Explicit IP addresses can be used in place of the hostnames.
export PATH=$PATH:/usr/lpp/r390/bin:/usr/lpp/devices.artic960/bin:.
export CONFIG_FILE=/mvs/os390/devmap.mvs
export PS1='$LOGFILE'"@`uname -n`("'$PWD'") "Note that the special TIC character (`) is used (upper left corner of keyboard).
AIX System Memory | 64M | 128M | 256M | 512M | 1G | 2G |
---|---|---|---|---|---|---|
AIX Paging Space | 128M | 256M | 512M | 768M | 1.4G | 2.2G |
Notes:
Bus 3 (Secondary) - Slots 6P,7P,8P/I,9P/I (top) Bus 1 (Primary) - Slots 3P,4P,5P (middle) Bus 2 (Secondary) - Slots 1P,2P (bottom)
Note: Certain graphics adapters may REQUIRE the primary bus in which case only 2 slots are left for a P/390 and 1 S/390 Channel Adapter. This would force you to use bus 3 if 2 channels are needed. Of course, you can operate the R/390 without a graphics adapter if there is another X capable system or station on the LAN. See "Operating R/390 From a Remote X-Capable Station" for more information.
Normally, the P/390 adapter should not be moved to a different slot after installation of the r390.obj fileset. Occasionally, it is moved during a service action or by someone experimenting. Moving the card without removing and re-installing the r390.obj code causes multiple p390 device definitions (ie. p3901, p3902) to be created which prevent the p3900 device from configuring to the available state (and nothing works......).
If your card was moved and multiple p390 device definitions exist (test with 'lsdev -C |grep p390'), make sure the R390 Main Menu panel is closed, then follow this procedure (from root):
Note: ignore error message from rmdev if device does not exist. rmdev -d -l p3900 rmdev -d -l p3901 rmdev -d -l p3902 rmdev -d -l p3903 cd /usr/lpp/r390/inst_root ./r390.obj.unodmadd odmadd r390.obj.odmadd cd /usr/lpp/r390/bin ./p390_smit.add.ksh shutdown -Fr
When the system comes back up, 'lsdev -C |grep p390' should show 'p3900' as 'Available' and the other p390 device definitions should be gone.
An Installation script is provided to automate the S/390 Operating System installation. The naming convention and the location of these scripts may vary. The intention was that it would be located in the "aix" directory (from the mount point of the CDROM). However, you will more often find the install script in the mount point, and for some unknown reason, the file name will have a dot "." appended to it. For example, if the CDROM was mounted at /cdrom, you would expect to find the OS/390 install script /cdrom/aix/insos390 but you will most likely find /cdrom/insos390. instead.
Note: On most newer CDs it is now in the aix directory but still has the dot.
Next, you must copy this script to a temporary read/write directory. When you copy it, leave off the dot on the destination (eg. cp -p /cdrom/insos390. /tmp/insos390). You must make it executable (eg. chmod 755 /tmp/insos390).
To avoid these problems:
"PPSIZE_IN_MB=x" where x may be 32, 64, or 128and change x to 256
"PPSIZE_IN_MB=256"
"if ulimit $MAXPOSINT"and if found, change to:
"if ulimit unlimited"
Be sure to change the root user so the install script can work with large files. From the AIX prompt, enter:
chuser fsize=4194303 rootThis allows root to use files up to 2GB in size. Repeat this command for all users that will be adding volumes or running the S/390. You must logout and login for this change to take effect on root. Type the command 'ulimit' from an AIX prompt to verify.
Run the script and follow the directions. You will have to answer some questions and change CDs when requested.
Note: If you end the script prematurely you could cause a problem. The script has to end on it's own to clean up properly.
If you experience this problem, chances are that you have not applied the latest fixes for r390.obj. This problem is due to a change made to AIX 4.3 which causes a system crash when a kernel process writes to a file that is not OPEN (previous versions of AIX simply reported an appropriate return code). Anyway, a fix was made to the R/390 "chan" component to prevent the crash. Apply latest maintenance to correct the problem. See "R/390 Support Site Information" for more information.
This can happen for several reasons. The most common are:
R/390 detaches the AIX network because LCS3172 needs exclusive use of the adapter. For some unknown reason, Desktop requires that the networks be attached (I guess it thinks it needs a font server or something). Anyway, you should attach the network before shutting down AIX (eg. chdev -l en0 -a state=up). If you forget, then select the failsafe login session as instructed by Desktop, then attach the network, start it, logout, and log back into Desktop.
Selecting the failsafe session is not intuitively obvious. From the Desktop Welcome screen,
select options select session select Failsafe Session Looks like nothing happened Now login normally (you'll get the vanilla X windows session) From an AIX prompt, type: chdev -l en0 -a state=up (assuming you had ethernet 0 detached) startsrc -g tcpip logout
The next time you login from the Welcome screen, Desktop is the default. You do not have to go back into the options and change it back.
A change was needed to LCS3172 because of new support added to TCP/IP under OS/390 2.6. Apply maintenance if you have not picked up the LCS3172 fix yet (released on Oct 6, 1998). See "R/390 Support Site Information" for more information.
Enabling Power Management to disks can cause missing interrupts and performance degradation of the S/390 operations. When disks go idle for some period of time, Power Management will power them off. When they are needed again for an S/390 I/O operation, they take some time to power and "spin-up" before the I/O is successful. This can cause a "Missing Interrupt" on the device unless the MIH value is set very high on the S/390 Operating System. The typical default setting of 15 seconds is not sufficient. So either disable Power Management, or increase the disk MIH values to at least 60 seconds.
Sharing the adapter is easy if you understand how the network interface is switched between the S/390 and AIX.
Configuring 2 LAN adapters to the S/390 is supported on R/390 and it does work despite what the old LCS3172.DOC file said. I did it successfully with 2 token rings...but an ethernet should work as well.
In my example, tok0 is our site LAN, tok1 is a private LAN. if a PRIMARYINTERFACE statement is not coded, the first LAN specified in TCPIP PROFILE becomes the PRIMARY LAN, so specify your preferred LAN first. LCS3172 matches the first pair in the devmap, to the first LINK in TCPIP PROFILE, second pair with the second, and so on up to 4 pairs (ie. 4 LANs).
Note: To convert the following example to ethernet:
change "/dev/tokx" to "/dev/entx,standard", where x = adapter number change "IBMTR" to "ETHERNET" in the TCP/IP profile
Addr Device MGR FN/P ---- ------- --- ----------- 044A 3088 8 /dev/tok0 044B 3088 8 /dev/tok0 044C 3088 8 /dev/tok1 044D 3088 8 /dev/tok1
DEVICE UNIT0 LCS 44A LINK TR44A IBMTR 0 UNIT0 DEVICE UNIT1 LCS 44C LINK TR44C IBMTR 1 UNIT1 HOME 9.117.118.178 TR44A 9.67.174.203 TR44C GATEWAY 9 = TR44A DEFAULTSIZE 0.255.255.0 0.117.118.0 9 = TR44C DEFAULTSIZE 0.255.255.0 0.67.174.0 DEFAULTNET 9.117.118.251 TR44A DEFAULTSIZE 0.255.255.0 0 START UNIT0 START UNIT1
HOSTNAME CASTALDO1 DOMAINORIGIN POK.IBM.COM NSINTERADDR 9.117.118.254
Note: LCS3172.DOC file was updated with the examples above and is included in the latest fixes.
Use this information to correct documentation errors to the following manuals:
Note: Documentation of new features, major functional changes, or service information can be found elsewhere. See "Table of Contents".
Reference SA22-7265-00 page 210 and SA22-7228-00 page 195.
This command was documented incorrectly. The correct syntax is:
ipl|ipl390 (xxxx) (CLEAR|noclear) (noipl) (AUTO|noauto|ckpt|warm) (esa_mode|370_mode)
Where parenthesized keywords are optional. xxxx is the target IPL address. Defaults are shown capitalized except for the mode and IPL address which are taken from the active device map's Environment values if omitted.
The LOAD PARAMETER is always taken from the active device map and can not be specified on this command. The ACTIVE DEVICE MAP is always taken from the CONFIG_FILE variable, and can not be specified on this command.
Reference SA22-7265-00 page 38 and SA22-7228-00 page 32.
This section is out dated. Mount the CDROM per the instructions then see "Known Problems Installing the S/390 System From CDROM".
Reference SA22-7265-00 page 180
The "S/390 Parallel Channel adapter card only" Part Number is 47H0031, not 47H0030.
The "P/390E Adapter 256MB" (not listed) is Part Number 11J4299.
Reference SA22-7265-00 page 35 and SA22-7228-00 page 29.
"type the host name of the host in the hostname field" should be changed to "type localhost in the hostname field".
The table below shows the start parameter required for enabling device manager unique traces. On r390.obj version 4.2.1.5 or greater, start parameters are specified on the "Start Device Manager Parameter Input/Display" panel which can be found by pressing F12 from the "Update System Devices" panel of the configurator. Versions of r390.obj prior to 4.2.1.5 may have a different means of enabling device manager unique tracing than shown below (ie. the ipl390 script must be edited which requires a certain level of AIX skills and R/390 internal knowledge).
Note: R/390 traces and logs are intended to aid trained R/390 Service Representatives and IBM engineers in problem determination. Due to performance and disk space considerations, device manager unique traces should NOT be left enabled for long periods of time.
Device Manager | Executible(s) | Start Parameter to Enable Unique Trace | /var/r390 Files, where * = wildcard, #### = dev addr | Use I/O Trace via Device Debug? |
---|---|---|---|---|
AWS3274 | dm3270 tn3270d tn3270s | none | ddlog* | no |
AWSCKD | dmckd | none | ddlog* | yes |
AWS3215 | dm3215 emul3215 | none | ddlog* | no |
AWS34XX | dm34xx | -d | ddlog*, dm34xxDbug.#### | no |
AWSFBA | dasd | none | ddlog* | no |
AWSPCSERV | exim | none | ddlog* | no |
AWS2821 | printer | -d | ddlog*, prtrDbug.#### | no |
AWS2540 | dm2540 | -d (as of Cbin 9/17/98) | ddlog*, 2540log (as of Cbin 9/17/98) | no |
AWSTAPE | dmtape | none | ddlog* | no |
LAN3172 | dm3172 | -d | ddlog*, dm3172log* | no |
WAN3172 | dmxcasldc | -d | ddlog*, XCA_LOG* | no |
LCS3172 | lcs3172rx lcs3172tx | -d | ddlog*, lcs_rxlog*, lcs_txlog* | no |
AWSOMA | dmoma | -d | ddlog*, OMA_LOG* | no |
AWSX25 | dmx25bpp dmx25lcp | -d | ddlog*, x25_bpp*, x25_lcp* | no |
AWSPBS | awspbs GDC0*.EXE | none | ddlog*, adapter trace in snap shot | yes |
AWSICE | dmparca icecap.rel | -d2 | ddlog*, dmparca*, dmtmp*, DM_EP, trace* generated by icetrace | no |
LAN3088 | lan3088 | -d | ddlog*, CTC_LOG* | no |
The following utility programs are provided for AWSICE debug.
root@sys5(/usr/bin/r390) ls -ltr ice* -rwxr-xr-x 1 root system 4192 May 02 09:01 icedev -rwxr-xr-x 1 root system 4205 May 02 09:02 icetest -rwxr-xr-x 1 root system 1202 Aug 01 07:03 icetrace -rwxr-xr-x 1 root system 9509 Aug 01 07:37 icelogd -rwxr-xr-x 1 root system 3126 Aug 27 12:02 icemap -rwxr-xr-x 1 root system 2791 Aug 27 12:03 icestat
root@sys5(/usr/bin/r390) icestat 0 ICECAP.REL Version 2064 FLASH Version 104
root@sys5(/usr/bin/r390) icedev 0 Processing...please wait for a few seconds card number is 0 icedev : Card number 0 Devices found: 0F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
root@sys5(/usr/bin/r390) icemap Processing...please wait Devices operational on Card 0 Device address Physical address 000F 0F 0770 70 0771 71 00E0 E0 00E1 E1 00E2 E2 00E3 E3 00E4 E4 00E5 E5 00E6 E6 00E7 E7 00E8 E8 00E9 E9 00EA EA 00EB EB
root@sys5(/usr/bin/r390) icelogd 0 70 71 72 73
This produces a file called icetrc0.bin (icetrc1.bin if adapter 1) root@sys5(/usr/bin/r390) icetrace 0 Processing...please wait for a few seconds card number is 0 Trace Buffer successfully fetched from card 0 in file rictrace.bin Run ricfmttr to format and view the trace Trace input file successfully formatted Device <70> was traced. Device <71> was traced. Device <72> was traced. Device <73> was traced. Revision 003 <Main Trace was logged> <Device <0x70> was logged> <Device <0x71> was logged> <Device <0x72> was logged> <Device <0x73> was logged>
root@sys5(/usr/bin/r390) icetest 0 ICETEST : Card number 0 Type end at the device prompt to end the program Enter address of device to test.Cur dev 00. Type end to end:70 Testing Device 70 ... Found Enter address of device to test.Cur dev 70. Type end to end:71 Testing Device 71 ... Found Enter address of device to test.Cur dev 71. Type end to end:72 Testing Device 72 ... Found Enter address of device to test.Cur dev 72. Type end to end:77 Testing Device 77 ... Found Enter address of device to test.Cur dev 77. Type end to end:7f Testing Device 7F ... Found Enter address of device to test.Cur dev 7F. Type end to end:80 Testing Device 80 ... Not found (CC3) Enter address of device to test.Cur dev 80. Type end to end:90 Testing Device 90 ... Not found (CC3) Enter address of device to test.Cur dev 90. Type end to end:a0 Testing Device A0 ... Not found (CC3) Enter address of device to test.Cur dev A0. Type end to end:ff Testing Device FF ... Not found (CC3) Enter address of device to test.Cur dev FF. Type end to end:end
The following table shows the probable cause and suggested action for most AWSCKD exceptions. In addition to the recommended actions, it is always a good idea to install the latest AWSCKD fixes if needed (see "R/390 Support Site Information").
Exception Code | Cause | Action (below) |
---|---|---|
22 | Failure to allocate system memory to read file header. | Action 1 |
46, 47 | Queue allocation failure. | Action 1 |
70 | Track not in file on WRITE_TRACK. | Action 2 |
71 | I/O error on READ_TRACK (file seek). | Action 2 |
72 | I/O error on READ_TRACK (file read). | Action 2 |
73 | All data could not be read on READ_TRACK. | Action 2 |
74 | Wrong cylinder address found READ_TRACK. | Action 2 |
75 | Wrong head address found READ_TRACK. | Action 2 |
76 | I/O Error on WRITE_TRACK. | Action 2 |
77 | All data could not be written on WRITE_TRACK. | Action 2 |
78 | Bad Format of track prior to WRITE_TRACK. | Action 2 |
80 | Invalid cylinder address on WRITE_TRACK. | Action 2 |
81 | Invalid head address on WRITE_TRACK. | Action 2 |
90 | Unable to change run priority. | Action 1 |
100 | Failure resetting orientation. | Action 3 |
333 | Received an undefined channel command. | Action 3 |
1005 | Failure to allocate system memory for READ overflow. | Action 1 |
1111 | Read queue failure. Unable to get next request. | Action 1 |
1015 | Failure to allocate system memory for WRITE_DATA. | Action 1 |
The R/390 channel trace is a continuos wrapping trace that uses 2 alternating files in /var/r390. These are ddlog.0 and ddlog0.1. The current trace entry is always the last line of the most recent ddlog0 file.
xxxx-START-xxxxxxxx-xxxx-xxxxxxxx-xx-xxxx-xx-xxxxxxxx | | | | | | | | | | | | | | | *- CCW Data Address | | | | | | *---- CCW Flags | | | | | *--------- CCW Byte Count | | | | *------------ CCW Command Code | | | *--------------------- CCW Address | | *-------------------------- I/O Instruction Op Code | *----------------------------------- ORB wd 1 (ESA mode only) *------------------------------------- Device Address
xxxx-xx-xx-xx-xx-xxxx-xxxx--> 1 or 2 | | | | | | | | | | | | | *- ZERO = Command Accepted | | | | | | CHAIN END = CCW String Completed normally | | | | | | ERROR STATUS = Possible error | | | | | | SUCC = See note below -| | | | | | *------ Residual Byte Count | | | | | *--------- Channel Status |--> 1 | | | *------------ Unit Status -----------| | | *--------------- Host Response ---------| | *------------------ IS = Initial Status ---| | FS = Final Status *----------------------- Device Address When Initial Status is reported as Final Status (Host Response F1) and the command is successful, SUCC is followed by -FS- and the ending status and residual byte count repeated. 1 -> FS-xx-xx-xxxx-> 2 (next page) | | | | | *- Residual Byte Count | *---- Channel Status *------- Unit Status
When command chaining, -CHAIN- appears followed by the next CCW. 2 -> CHAIN-xxxxxxxx-xx-xxxx-xx-xxxxxxxx | | | | | | | | | *- CCW Data Address | | | *---- CCW Flags | | *--------- CCW Byte Count | *------------ CCW Command Code *--------------------- CCW Address When the chain data flag is on, the next CCW is shown as follows: Note: the channel may combine Chain Data requests and you may see onle a single request for the whole or part of the data chain. xxxx-CD-xxxxxxxx-xx-xxxx-xx-xxxxxxxx | | | | | | | | | | | *- CCW Data Address | | | | *---- CCW Flags | | | *--------- CCW Byte Count | | *------------ CCW Command Code | *--------------------- CCW Address *----------------------------- Device Address
xxxx-CSW-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xx | | | | | *- FF = Accepted | | F0 = Not Accepted (queued) | *---------------------------------- CSW *------------------------------------------- Device Address
xxxx-AS-xx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | | | | | | | | | | | *- CSW | | *---- Unit Status Presented | *------- AS = Asychronous Status *------------ Device Address
PINTR-xxxxxxxx-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-FF | | | | | *- CSW | *------ Device Address *--------------- I/O Masks
PINTR-xxxxxxxx-NO MATCH | *--------------- I/O Masks
FETCH: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Appears just prior to a WRITE CCW. Shows the first 32 bytes of data that the channel fetched from main storage and passed to the device manager.
STORE: L=xxxx F=xx D=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Appears just prior to a CSW being stored for a READ CCW. Shows the Length, Flags, and first 32 bytes of data that the device manager passed to the channel to be stored in main storage.
HstICB:xxxx-xxxx-<......>-xx-xxxxxxxxxxxxxxxx T=ssssssss nnnnnnnn | | | | | | | | | *- CSW (or IRB) | | | *---- ICB Response (Condition Code) | | *------------ Interrupt Status (eg. PENDING) | *------------------ Device Address *----------------------- I/O Instruction Op COde T = timestamp where ssssssss = seconds, nnnnnnn = nanoseconds.
Shows up to the first 3 IDAWs.
IDA-1;xxxxxxxx,2;xxxxxxxx,3;xxxxxxxx
NEW CMD - 9C00 for B0 | | | | | +------------------Physical Unit Address | +---------------------------Type of request (same for 370 and | ESA modes...9C00 = START I/O or | START SUBCHANNEL). +-------------------------------------Start of a New Request B0:DB-0001-60 | | | | | | | +---------------------------Flag | | +--------------------------------Length | +-----------------------------------Command +--------------------------------------Device Address
IS:B0:00-00:F0-00-00-7D00 | | | | | | | | | | | | | | | +------------------Length reported | | | | | | +---------------------Channel Status reported | | | | | +------------------------Unit Status reported | | | | +---------------------------Host Response | | | +------------------------------Unit Status from hardware | | +---------------------------------Hardware Response Code | | (See technical Reference) | +------------------------------------Address +---------------------------------------Initial Status
DT:B0:D0-00:00-02-7D00 | | | | | | | | | | | | | +---------------------Residual Byte Count reported | | | | | +------------------------Channel Status reported | | | | +---------------------------Unit Status reported | | +---------------------------------Hardware Response Code | | (See technical Reference) | +------------------------------------Address +---------------------------------------Data Transfer
(Example) CUI:B0:04-START | | | | | | | +--------------------Start of the CUI sequence | | +-----------------------Unit Status presented | +--------------------------Address +------------------------------Control Unit Initiated Status Dev:00B0, State:3--------------Address and Internal State of Device (states are 1-9, these are not meaningful without understanding the hurondd code) PEND-00B0-04-------------------Indicates status 04 (device end) pending for device B0. CUI:B0:04-END------------------End of the CUI sequence
Note: The r390_slc module is picked up when you apply the latest fixes for any of the R/390 releases after 7/21/98.
The r390_slc command module allows you to perform a set of SLCs (Service Language Commands) from an AIX command prompt, a shell script, a REXX exec, or a system call from an AIX program. This can aid in the automation of R/390 operator tasks.
R/390 SLCs are invoked by the command 'r390_slc' followed by the SLC name as the first argument, and additional arguments if needed. For Example:
r390_slc dstg 5F1000 20This SLC will display 32 bytes of P/390 absolute memory starting at location 5F1000.
The r390_slc command processor has the following characteristics:
The r390_slc command must be issued from the current directory /usr/bin/r390 (or /usr/lpp/r390/bin) for proper execution. For more information on the operations performed by these SLCs, see the Enterprise Systems Architecture/390 Principles of Operation SA22-7201. Supported SLCs described below.
Stores the string of hex digits data into the P/390's General Purpose Register reg_number.
Stores the strings of hex digits word1 word2 into the P/390's Program Status Word. The second word word2 is optional.
Stores the string of hex digits data into the P/390's absolute memory starting at location mem_addr.
Displays the contents of General Register reg_number. If the reg_number argument is omitted, all 16 GPRs are displayed.
Displays the current of Program Status Word 2 words.
Displays the contents of absolute memory starting at location mem_addr for length bytes.
Presents the 0040 external interrupt to the P/390 processor.
Stores the data from a file into the P/390's absolute memory starting at location mem_addr.
Initializes the P/390 processor with the microcode image from the specified file file_name.
Requests the P/390 processor to perform the Restart operation.
Requests the P/390 processor to perform the Start operation.
Requests the P/390 processor to perform the Stop operation.
Requests the P/390 processor to perform the Store Status operation.
Requests the P/390 processor to perform the Normal Reset operation.
Requests the P/390 processor to perform the System Reset Clear operation.
Enables the P/390 processor's TOD clock for setting.
In addition to SLCs, these scripts and modules can also be useful in operating the R/390. These can be used in a similar manner as the SLCs above. In most cases, typing the command from /usr/bin/r390 (with no arguments) displays a brief description on usage. See your R/390 User's guide for examples and more information.
alc arguments.....
Used to allocate an FBA volume (file) instead of using the "Update System Devices" panel of the configurator. This does NOT add the device to the device map. If the volume is not already specified in the device map, use the "Update System Devices" panel to add it by typing the device address and file name (FN/P).
awscnf | awscfg
Invokes the P/390 Configuration utility. Same function as the "P/390 Configuration" option on the R/390 Main Menu.
awsmount arguments.....
Change the DASD or TAPE file name used for a given device address dynamically.
awsprof
Displays current device map and instructions on how to change it via the CONFIG_FILE variable.
awssdump
Initiates a Snap Shot Dump. Same function as the "P/390 Snap Shot Dump" option on the R/390 Main Menu.
awsstat <-l | -q>
List active device managers (-l) or query channel status (-q).
ckdalc arguments.....
Used to allocate a CKD volume (file) instead of using the "Update System Devices" panel of the configurator. This does NOT add the device to the device map. If the volume is not already specified in the device map, use the "Update System Devices" panel to add it by typing the device address and file name (FN/P).
ckdcheck arguments.....
Used to detect and re-format damaged CKD tracks. A repair action will cause loss of data on the repaired track(s).
ipl390 <ccua> <esa_mode | 370_mode> <noclear> <noipl>
IPL using the device map specified by the environment variable CONFIG_FILE. Optional parameters are provided to:
r_track arguments.....
Reads a specified track of data from a CKD volume.
startcon
Starts 2 additional local 3270 sessions. If HCON is installed, this attempts to start sessions C and D.
stop390
Stops the processor and deactivates device and channel emulation. This brings down the operating system. Same function as the "End P/390" option on the R/390 Main Menu except there is no prompt to confirm this action.