Driver Update 3 Guide for Solaris 2.6 (Intel Platform Edition)

Chapter 1 Driver Update 3 for Solaris 2.6 (Intel Platform Edition)

Driver Update 3 (DU 3) provides additional driver support for Solaris 2.6 Intel Platform Edition and must be used with this release.

New Device Functionality

Device Drivers

This table lists device drivers in Driver Update 3 that contain new and updated functionality added since the last Solaris 2.6 Intel Platform Edition Driver Update. A new or updated Section 7D man page for each of the drivers that added new device support is installed in the appropriate man page directory during installation.


Note -

Each driver is assigned a version number. Note that a driver produced by a third-party driver developer is assigned the version number used by that third-party developer and may therefore differ from those Sun Microsystems uses.


Table 1-1 New and Updated Drivers in This Driver Update

Disk Interface 

ata

Version 2.1 

Fixed numerous CD-ROM problems, particularly with newer drives 

 


Note -

If you are not currently having problems with your existing ata driver, you need not download and install this version of the driver. However, you are encouraged to do so and to provide feedback (positive or negative) by following the instructions at http://access1.sun.com/drivers/DU3/feedback.txt.


SCSI Host Bus Adapter 

adp

Version 2.4 

Fixed bugs, added additional supported devices to the Device Reference Page, and added support for the AIC-7880 (Revision B) and AIC-7895 chips 

cpqncr

Version 3.0 

Added support for Compaq Dual Channel Wide Ultra SCSI-3 (876) PCI controller 

SCSI Disk Array/RAID Controller 

mlx

Version 2.3 

Fixed bugs and added support for Mylex DAC960PG and DAC960PJ PCI-to-SCSI cards 

Ethernet Network Adapters 

dnet

Version 2.1 

Fixed a bug that caused delays during start-up 

elx

 

Updated Device Reference Page 

elxl

Version 2.1 

New driver to support 3Com EtherLink XL (3C90x, 3C90xB) cards

spwr

Version 2.1 

New driver to support SMC 9432 cards 

Driver Update Contents

Driver Update 3 for Solaris 2.6 Intel Platform Edition contains the following diskettes:

These diskettes are to be used with a Solaris 2.6 CD or net install image.

Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette

If you are installing Solaris 2.6 Intel Platform Edition and you want to install the drivers in Driver Update 3, you must use Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette instead of the Solaris 2.6 Device Configuration Assistant diskette you received with Solaris 2.6 Intel Platform Edition.

You can download Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette from http://access1.sun.com/drivers.

This diskette contains scripts and configuration files that enable you to boot and install your system using one of the newly supported devices.

Driver Update Diskettes

Solaris 2.6 Driver Update 3 diskettes are used when you use the new Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette to install the Solaris 2.6 operating environment. Alternatively, you can use the Driver Update diskettes without the Device Configuration Assistant diskette to add new and updated drivers to an existing x86 based system running the Solaris 2.6 release.

The Driver Update diskettes contain the drivers listed below. A new or updated Section 7D man page for each of the drivers that added new device support will also be installed in the appropriate man page directory during installation.

The Solaris 2.6 Driver Update 3 ata and Solaris 2.6 ata Recovery diskettes contain, respectively, the optional ata driver listed in the next table and an ata backout script (for you to use if the updated ata driver on the Solaris 2.6 Driver Update 3 ata Diskette does not work).

Table 1-2 Device Drivers in This Driver Update

Disk Interface 

ata

Version 2.1 

Fixed numerous CD-ROM problems, particularly with newer drives 


Note -

If you are not currently having problems with your existing ata driver, you need not download and install this version of the driver. However, you are encouraged to do so and to provide feedback (positive or negative) by following the instructions at http://access1.sun.com/drivers/DU3/feedback.txt.


SCSI Host Bus Adapters 

adp

Version 2.4 

Fixed a bug in SCSI reset processing where this driver would sometimes experience memory corruption or a panic; added the AHA-3940U and AHA-3940UW host bus adapters to the Device Reference Page; fixed bugs, added additional supported devices to the Device Reference Page, and added support for the AIC-7880 (Revision B) and AIC-7895 chips 

aha

Version 2.1 

Fixed bugs, among them one that prevented users from net installing using an AHA-1540 MCA card, one that caused a delay when scanning devices, and three that relate to stress tests; added support for inserting two AHA cards in the same PC at the same time 

cpqncr

Version 3.0 

Fixed bugs; added support for the Compaq Dual Channel Wide Ultra SCSI-3 (876) PCI controller 

eha

Version 2.1 

Removed some non-conforming code; functionality remains unchanged 

mcis

Version 2.1 

Cleaned up the code; functionality remains unchanged 

ncrs

Version 2.1 

Added support for new version of the BIOS that comes with the Symbios Logic (also NCR) controllers that are already supported by this driver 

pcscsi

Version 2.1 

Fixed bugs, among them one that occurred when the target ID was greater than seven and another that occurred because the code did not check that DMA memory was set up correctly before packets were re-used; also fixed a framework usage correctness bug that did not affect functionality 

SCSI Disk Arrays/RAID Controllers 

mega

Version 1.04 

New American Megatrends MegaRAID 428 SCSI RAID controller to support the Solaris 2.6 operating environment; eliminated problems that occurred under heavy stress conditions 

mlx

Version 2.3 

Fixed bugs and added support for Mylex DAC960PG and DAC960PJ PCI-to-SCSI cards 

SCSI Tape Driver 

st.conf

 

Added help text that explains how to submit new entries and where to find documentation about creating entries; uncommented entries so you can use these older tape drives without having to modify st.conf: Archive Python 28388, Conner CTD 8004H, Compaq DLT models 4000 and 7000, Sony SDT 7000 and SDT 9000, Wangtek 51000 and 52000, Tecmar TS-420, all shipping models of Sun DLT drives up to DLT 700, Quantum DLT 4000 and 7000, Hewlett-Packard SureStore T4 and 1557A DDS3 autoloader (requires third-party control software), WangDAT models 3400DX and 3800, Exabyte EXB-8900 Mammoth and 8705 Eliant, Tandberg TDC 4120

Ethernet Network Drivers 

cnft

Version 4.6 

Fixed bugs 

dnet

Version 2.1 

Fixed bugs (in the media detection code) and added support for both Digital NIC 21142/21143 chips and for T4 media; fixed a bug that caused delays during start-up 

elx

 

Updated Device Reference Page 

elxl

Version 2.1 

New driver to support 3Com EtherLink XL (3C90x, 3C90xB) cards

pcn

Version 2.1 

Fixed bugs (both realmode and protect-mode); added support for AMD PCnet-PCI II and PCnet-Fast cards and for Cabletron E-2210 cards 

spwr

Version 2.1 

New driver to support SMC 9432 cards 

Token Ring Network Adapter 

mtok

Version 3.00.02 

New Madge Smart 16/4 adapter 

PC Card (PCMCIA) Hardware 

pcata

Version 2.1 

Fixed a bug so tools like format won't try to access the Viper 8260pA or SanDisk Flash PC Card if it isn't inserted in the socket

Serial Ports Driver 

asy

Version 2.1 

Fixed bugs 

This table lists the MP kernel modules included in this Driver Update.

Table 1-3 MP Kernel Modules in This Driver Update

pcplusmp

Version 2.1 

Fixed a bug that caused some Compaq MultiProcessor Specification v1.4 Compliant systems to hang (the ProLiant and Professional Workstation Series equipped with or without the Compaq Smart-2/P array controllers, for example) 

If your system is running an older version of Compaq's ROMPaq firmware, you may also need to upgrade your system with the latest version of ROMPaq firmware after installing this driver to prevent your system from hanging 

Driver Update 3 Release Notes

For a complete list of the known problems that are fixed in this Driver Update, see the README files that get installed in the patch directories /var/sadm/patch/patch-number.

Guidelines for Correct Operation of Ethernet Adapters

To ensure correct operation and optimal performance of Ethernet adapters, it is essential that both the adapter and its link partner operate at the same duplex settings. The link partner can be, for example, a hub, switch, or another network adapter connected via a crossover cable.

If both the adapter and the link partner support NWay media autonegotiation, then both devices should automatically select the optimal speed and duplex mode, without any additional configuration.

If either of the devices on a given link do not support, or are not configured to use, NWay autonegotiation, you must ensure that both devices are explicitly set to run at the same duplex mode. Generally, if a device cannot determine the duplex capabilities of its link partner, it will default to half-duplex operation.

In the case of a hub or switch that supports full-duplex operation, there is normally a mechanism to set the duplex mode either on a per-device or per-port basis. Setting the speed, duplex mode, or both in this manner generally disables NWay autonegotiation for the device or port.

In the case of devices controlled by the elxl, iprb, and dnet drivers, the duplex setting can be set explicitly, by editing the driver's .conf file. See the appropriate man page for more details.

Note that it is often possible to explicitly set the operating speed of an adapter via the driver's .conf file. Also note that if the device supports autonegotiation, explicitly setting the operating speed of an adapter in this way generally disables NWay autonegotiation.

Generally, a device is able to detect the operating speed of its link partner, even without NWay autonegotiation. This is not true of duplex mode.

Known Problems

On a Compaq ProLiant 5000, PCI network cards can fail to netboot due to spurious interrupts occurring during realmode operation. To date, failure has been observed only when the PCI network card uses IRQ 5.

Workaround: Use the Compaq System Configuration utility to change the assigned IRQ of the PCI network card to another free IRQ, and save the configuration.

Installing Solaris Using the Driver Update

The procedure to install the Solaris operating environment using a Driver Update is changed with the Solaris 2.6 release. Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette includes a Configuration Assistant program that finds and configures devices for you. Use this diskette to boot the Solaris 2.6 operating environment and Driver Update diskettes to install and update device drivers.

Follow these steps:

  1. Insert Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette into your machine's diskette drive (Version 1.2 replaces the Version 1.1 diskette and the diskette provided with Solaris 2.6 Intel Platform Edition).

  2. Turn on your machine.

  3. When the Solaris Device Configuration Assistant screen is displayed, press F4_Driver Update.

    The message "Enumerating buses ..." is displayed. The Install Driver Update screen is then displayed.

  4. Remove Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette from the diskette drive and insert Solaris 2.6 Driver Update 3 Diskette 1.


    Note -

    Do not insert a Solaris 2.6 Video Driver Update diskette in the diskette drive at this point. You are prompted to do this later.


  5. Press F2_Continue.

    The Select Solaris System Version screen is displayed.

  6. Select Solaris OS 2.6 and press F2_Continue.

    The Loading Driver Update Software screen is displayed, along with a progress bar that shows the percentage of drivers that have been extracted from the diskette. Drivers are read into memory and survive long enough for the system to successfully boot to its installation program. When all the new drivers on the diskette have been processed, the Continue Driver Update Installation screen is displayed.

  7. Remove the Solaris 2.6 Driver Update 3 diskette from the diskette drive and insert the next Solaris 2.6 Driver Update 3 diskette.

  8. Press F2_Continue.

    The Loading Driver Update Software screen is displayed, along with a progress bar that shows the percentage of drivers that have been extracted from the diskette. Drivers are read into memory and survive long enough for the system to successfully boot to its installation program. When all the new drivers on the diskette have been processed, the Continue Driver Update Installation screen is displayed.

  9. Repeat Step 7 through Step 8 until all Solaris 2.6 Driver Update 3 diskettes are installed.

  10. When all the drivers are processed, remove the Solaris 2.6 Driver Update 3 diskette from the diskette drive and reinsert Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette.

    Important: Do not remove Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette from the diskette drive until you see the following message displayed in a dialog box:

    If you want to bypass the device configuration and boot screens when the system reboots, eject the Device Configuration Assistant/Boot diskette now

  11. Press F2_Continue.

    The Solaris Device Configuration Assistant screen is displayed.

  12. Press F2_Continue.

    The following message is displayed:

    Enumerating buses ...
    

    The Scanning Devices screen is then displayed. System devices are scanned. When scanning is complete, the Identified Devices screen is displayed.

  13. Press F2_Continue.

    The message "Loading driver com.bef ..." is displayed followed by messages about the drivers that are required to boot your system. After a few seconds, the Boot Solaris screen is displayed.

  14. At the Boot Solaris screen, select the device controller attached to the device that contains your install medium.

  15. Press F2_Continue.

    Drivers for the device controller you selected are displayed. Your system boots to run the install program. The install program starts and your machine begins booting the complete Solaris 2.6 operating environment. Then, after some time, the following messages are displayed:

    Installing unbundled device driver support
    Extracting driver list from tree..
    distribution-diskette-name driver-name...
    
    Please insert the Driver Update diskette labeled distribution-diskette-name
    Press <ENTER> when ready.

  16. Remove Solaris 2.6 Device Configuration Assistant, Version 1.2 Diskette and reinsert Solaris 2.6 Driver Update 3 Diskette 1 into the diskette drive.

  17. Press Enter.

    Patches that contain the new drivers are installed from the diskette onto your machine. Messages about the patches being installed are displayed.

    • If drivers on other Solaris 2.6 Driver Update 3 diskettes are required for your machine, this prompt is displayed:

      Please insert the Driver Update diskette labeled distribution-diskette-name
      Press <ENTER> when ready.

    • Otherwise, this prompt is displayed:

      If you have additional Update diskettes to install(such as video), please insert diskette now.Additional Update diskettes to install? (y/n) [y]

  18. If drivers on other Solaris 2.6 Driver Update 3 diskettes are required, remove the Solaris 2.6 Driver Update 3 diskette from the diskette drive, insert the next Solaris 2.6 Driver Update 3 diskette you are prompted to insert, press Enter, and repeat until all drivers you need are installed.If you want to install video drivers, remove the Solaris 2.6 Driver Update 3 Diskette 1 from the diskette drive, insert a Solaris 2.6 Video Driver Update diskette, type y for yes or press Enter, and then follow the directions displayed on your screen.If you don't want to install video drivers, type n for no.


    Note -

    Video Driver Update 3 Guide for Solaris 2.6 (Intel Platform Edition) contains additional information about video drivers.


  19. Press Enter.

    When installation is complete, the message "Installation complete" is displayed.

  20. Remove the diskette from the diskette drive.

  21. Reboot your machine.

    When the Solaris operating environment is finished booting and running, the new devices whose drivers you installed are available for use.


Note -

If you install a video device driver, you may need to run kdmconfig after your system reboots.


Adding New or Updated Drivers to an Existing Solaris System


Note -

Before adding new or updated drivers, the newly supported hardware devices should be installed and configured according to the instructions in the corresponding Device Reference Page, if any. See Device Reference Manual for Solaris 2.6 (Intel Platform Edition).


When the Solaris 2.6 Intel Platform Edition software is already installed, the simplest way to add new or updated drivers is to install the Driver Update diskettes as patches on your system.

Follow these steps:

  1. Become root.

  2. Type ps -ef | grep vold to see if the Volume Management software is running on the machine you are updating.

    For more information about managing diskettes and drives, see System Administration Guide.

  3. If Volume Management is running, temporarily stop it:

    # /etc/init.d/volmgt stop
    

  4. Insert Solaris 2.6 Driver Update 3 Diskette 1 into the diskette drive.

  5. Mount Solaris 2.6 Driver Update 3 Diskette 1 at the /mnt mount point:

    # mount -F pcfs /dev/diskette /mnt
    


    Note -

    You must mount Solaris 2.6 Driver Update 3 Diskette 1 at this point in the file structure to update your system successfully.


  6. Execute the install script on the diskette by typing:

    # /mnt/DU/sol_26/i86pc/Tools/install.sh -i
    

    The install.sh script searches for all new or updated drivers on the diskette. When a new or updated driver is found, the following prompt is displayed:

    Install patch driver-name? [y]

  7. If the driver is the one you want to install, at the prompt, type y for yes or press Enter. If the driver is not the one you want to install, type n for no.

    If you specify yes, the install.sh script installs the driver you indicated.

  8. When you're done and the install.sh script exits, unmount the diskette by typing the following command at the system prompt:

    # umount /mnt
    

  9. Remove Solaris 2.6 Driver Update 3 Diskette 1 from the diskette drive.

  10. Repeat Step 4 through Step 9 for each subsequent Driver Update 3 diskette in the set until the driver you want is loaded onto your machine.

  11. Halt your machine.

  12. Turn your machine off.

  13. If you haven't already, add the new hardware.

  14. Turn your machine on.

  15. When the autoboot sequence prompt is displayed, quickly press Escape.

    The autoboot sequence is interrupted. The Solaris Device Configuration Assistant screen is displayed.

  16. Press F2_Continue.

    The message "Enumerating buses ..." is displayed. The Scanning Devices screen is then displayed. System devices are scanned. When scanning is complete, the Identified Devices screen is displayed.

  17. Press F2_Continue.

    The message "Loading driver com.bef ..." is displayed. The Boot Solaris screen is then displayed.

  18. On the Boot Solaris screen, select the device controller attached to the device that contains your install medium, in this case the main system disk.

    The /etc/bootrc script is displayed.

  19. At the prompt, type b -r.

    Your machine boots. You can now use your new hardware.

100-Mbps Ethernet Performance Problem on Some Intel Motherboard Chipsets

Some PCI motherboards contain DMA chipsets that are unable to support 100-Mbps Fast Ethernet. Because of this problem, the Solaris operating environment does not support 100-Mbps PCI network operation on systems containing the slow chipsets. This problem affects PCI cards only. Other buses are not affected.

The following chipsets are known to exhibit this problem:

The following chipsets do not exhibit this problem:

Some slow PCI motherboard chipsets do not support long data burst DMA transfers and are unable to transfer data from PCI cards to system memory sufficiently fast to sustain 100-Mbps throughput. When systems with these chipsets are connected to a 100-Mbps network, data can arrive at a PCI Ethernet card faster than DMA can transfer it from the card to system memory. When this happens, the card's FIFO begins to fill. If this condition persists long enough, the card's FIFO will overflow, causing loss of incoming network data.

When incoming data is lost, higher-level protocols such as TCP or NFSTM will time out and retransmit the lost data. These protocols ensure that all data is transferred, but performance is lowered. If only a few packets are lost, the performance impact may be small or moderate, but if many packets are lost, a very substantial and severe performance loss can arise.

In some cases, a drop in network FTP performance of two orders of magnitude has been seen when using such chipsets, rendering the network unusable. This case occurs when using 100-Mbps cards containing relatively small FIFOs. The cards are designed to be able to hold only a couple of packets, and they depend on the DMA mechanism to transfer data out of the FIFO in a timely way.

In other cases, cards with larger FIFOs are not as severely impacted by the problem, and under normal conditions perform as well on machines with slow chipsets as they do on speedy ones. However, under sustained 100-Mbps operation, this cannot continue indefinitely.

Because of this problem, the Solaris environment does not support 100-Mbps PCI network operation on systems containing the slow chipsets.

In particular, the PCI cards supported by the dnet, iprb, and elx drivers will not provide good performance on machines with the problem chipsets. If 100-Mbps operation is required on such a machine, it is best to use a non-PCI Ethernet controller. It is also possible that the PCI cards supported by the ieef driver, which have larger FIFOs, may function adequately. You must decide whether the performance on a particular machine is adequate for the intended purpose.