Document last changed by: Jim Sibley on 7/23/2001

OSA cards for Linux - Practical Notes

I've attempted to pull together the practical knowledge I've acquired in implementing these cards based on information from Boeblingen, Germany (linux390@de.ibm.com) and trial and error. This is by no means complete, but at least I have gotten these parameters to work on S/390 Linux.

Linux IBM Object Code Only OSA Drivers

The are two sets of Linux IBM OCO drivers to support OSA cards

The latest versions of the OCO LCS, QDIO and QETH modules are found at the IBM developers works download site (OCO Download ). The modules must untarred, then be copied and renamed to  /lib/modules/$RELNO/net as "qdio.o"  and "qeth.o". If you do this before a kernel build, the "depmod -a -v" should build the correct "/lib/modules/$RELNO/modules.dep" file. ($RELNO is the kernel release, such as 2.2.16).

back to top

Types of OSA cards

Currently, there are two flavors of OSA cards: OSA2 and OSA-Express. The OSA-Express cards can only be installed in S/390 G5 or above. The zSeries OSA-Express (Hydra 1.5 cards) are functionally the same as two (2) G5+ cards (Hydra 1).

S/390 Open Systems Adapters (OSA) cards
for Linux
Card
Mbps
Connection
CPU
Cable
HCD
CHP
#
CHP
Ports
/CHP
Multiple
IP

MAX
Addresses
Entries
/Card
Access IP's
other LPARS
Linux
Module
OSA2-ENTR
10
T/R or
ETH
 
copper
OSA
1
2
OSA/SF
32
yes
LCS
OSA2-FE
100
ETH
 
copper
OSA
1
1
OSA/SF
16
no
LCS
OSA-FEX
100
ETH
G5+
copper
OSE
1
1
auto
240
yes
LCS
"
100
ETH
G5+
copper
OSD
1
1
auto
240
yes
QETH
OSA-GBX
1000
ETH
G5+
fiber
OSD
1
1
auto
240
yes
QETH
OSA-FEX
100
ETH
Z
copper
OSE
2
1
auto
480
yes
LCS
"
100
ETH
Z
copper
OSD
2
1
auto
480
yes
QETH
OSA-GBX
1000
ETH
Z
fiber
OSD
2
1
auto
480
yes
QETH
back to top

Relating Interface with OSA card and TP parameters (SuSE)

SuSE initializes the network with the "/sbin/init.d/network" script.

It needs to tie together four things:

1) The module name
2) The module parameters
3) The device addresses
4) The TCP/IP parameters

The interface name from the IFCONFIG command ("eth0", "tr0", etc) is used as the common thread (as in "train of thought").

HCD and IOCDS considerations

Generally, I've coded 16 addresses for each OSA and the last entry at xFE must be genned for OSA/SF as "OSAD" to read any of the cards or update the OSA2 cards. This number of addresses may vary according to the number of IP addresses you need for an LPAR - 2 addresses/IP if LCS, 4 addresses/IP if QDIO (Linux developers recommendation - this may be relaxed to 3 addresses in the future). VM may allow 3 addresses/IP if you do not use autosense.   
CARD IOCDS
OSA2-ENTR
OSA2-FE
         CHPID PATH=(00),SHARED,                                        *
               PARTITION=((LPAR1,LPAR2)),TYPE=OSA 
         CNTLUNIT CUNUMBR=2000,PATH=00),UNIT=OSA 
         IODEVICE ADDRESS=(2000,016),CUNUMBR=(2000),UNIT=OSA 
         IODEVICE ADDRESS=(20FE,001),CUNUMBR=(2000),UNIT=OSAD 
OSA-FEX
LCS
         CHPID PATH=(FD),SHARED,                                        *
               PARTITION=((LPAR1,LPAR2)),TYPE=OSE 
         CNTLUNIT CUNUMBR=4000,PATH=(FD),UNIT=OSA 
         IODEVICE ADDRESS=(4000,016),CUNUMBR=(4000),UNIT=OSA 
         IODEVICE ADDRESS=(40FE,001),CUNUMBR=(4000),UNIT=OSAD 
OSA-FEX
QDIO
         CHPID PATH=(FE),SHARED,                                        *
               PARTITION=((LPAR1,LPAR2)),TYPE=OSD 
         CNTLUNIT CUNUMBR=5000,PATH=(FE),UNIT=OSA 
         IODEVICE ADDRESS=(5000,016),CUNUMBR=(5000),UNIT=OSA 
         IODEVICE ADDRESS=(50FE,001),CUNUMBR=(5000),UNIT=OSAD 
OSA-GBX
QDIO
         CHPID PATH=(FF),SHARED,                                        *
               PARTITION=((LPAR1,LPAR2)),TYPE=OSD 
         CNTLUNIT CUNUMBR=6000,PATH=(FF),UNIT=OSA 
         IODEVICE ADDRESS=(6000,016),CUNUMBR=(6000),UNIT=OSA 
         IODEVICE ADDRESS=(60FE,001),CUNUMBR=(6000),UNIT=OSAD 

back to top

Native IPL

If you IPL native, you need your parmline to have an ipldelay of at least 3 minutes for the OSA cards to stabilize. If you IPL as an LPAR, this is not necessary. Remember to do a "silo" if you change any of these parameters.

"/boot/parmline" or "/boot/parmfile"
root=/dev/dasda1 noinitrd dasd=2000-201f ctc=0,0xfa48,0xfa49,escon0 mem=2048M ipldelay=3m 
Note: "ctc", "mem" , and "ipldelay" are optional and I've coded them for reference.

back to top

Operational Notes

back to top

References

Contributers
back to top