HBA card install in AlphaServer

How to install an HBA (host bus adapter) in an Compaq / HP AlphaServer running Tru64 Unix - here are some of my tips and a very good writeup on the TRU64-UNIX-Managers mailing list.
SUMMARY: HBA: How to install -- http://unix.derkeiler.com/Mailing-Lists/Tru64-UNIX-Managers/2005-07/0035.html

I had to install a FCA2684 (aka DS-A5132-AA ??) HBA in a ES45 for various reasons. First after picking a 66Mhz slot and installing, at the SRM console, I ran wwidmgr -show adapter to see the adapter and receive an error something about NVRAM being invalid. That's because the NVRAM wasn't initialized since it was a brand new card. So since the topology was set correctly ('fabric' in my case) all I had to do was issue: wwidmgr -set adapter -item to initialize and save the setting in the NVRAM on the HBA.

Many times the firmware on the HBA must be a certain level, to check the firmware level, you can run the 'lfu' command and do the 'verify' command to see what the firmware level is. You can also see the firmware version when the emx driver initializes - see the /var/adm/messages for boot-time messages; grep for emx.

After that comes the Tru64 driver install / kernel rebuilt/config. The emx subsystem/driver that comes with Tru64 provides the support for this card. Support for the FCA2684 is included in Tru64 5.1B-2 (patch kit PK4) and above. If you don't have PK4 or higher installed, install it. If for some reason you can't install the PK, then you can install NHD7 (New Hardware Delivery) which will give you the driver/kernel rebuild necessary. I didn't want to screw with that, so I installed 5.1B-3 (PK5), at least I thought I did...

I configured support for the emx driver in the /sys/conf/SYSNAME ( where SYSNAME is the uppercase name of the system ). It's found in a section of like named 'config_driver' entries. all I did was add a line: config_driver emx and then save the file. Then came time to rebuild the kernel using the new option just added to the config file:
doconfig -c SYSNAME (rebuild the kernel)
cp /vmunix /vmunix.old (backup the kernel)
cp /sys/SYSNAME/vmunix / (move the new kernel into place)

After I rebooted, I noticed something strange in the boot up log: (from /var/adm/messages)
PCI device at bus 0, slot 9, function 0 could not be configured:
Vendor ID 0x10df, Device ID 0xfa00, Base class 0xc, Sub class 0x4 Sub-VID 0x10df Sub-DID 0xfa00 has no matching entry in the PCI option table
This message appear because I was NOT running the correct version of the emx driver. I was on 5.1B not 5.1B-3 (aka PK5). To see what version the emx driver is, or to see what cards it supports you can grep for strings in the emx module:
strings /sys/BINARY/emx.mod grep rev -- I was running 2.06 (from 5.1B)
strings emx.mod grep FCA -- see if my card was supported - it wasn't listed.

I then installed 5.1B-3 from cd and after the reboot, the emx driver loaded and all was well.

No comments: