Peripheral Component Interconnect (PCI) Errata Version 2 This document covers differing personal computer implementations of PCI and how they will affect PCI adapters including specific information on HP PCI LAN adapters. The topics covered are: A. EMM386 Trap Problem B. Windows NT 3.5 KMODE_EXCEPTION_NOT_HANDLED Problem C. Boot Difficulties After a Soft Reboot (i.e. Ctrl-Alt-Del). D. PCI Plug-and-Play 1. PCI Plug-and-Play BIOS Resource Assignment 2. I/O Address Range, Interrupt Channel, and Memory-Map Address Range E. Assigning Adapters to Drivers 1. Support for Slot Numbers Added in PCI BIOS 2.1 2. Driver Auto-location of Single Adapter 3. Identifying Multiple Adapters to Drivers 4. Virtual Slot Numbering in PCI BIOS 2.0 Computers F. Memory Map Addressing Issues 1. Memory-Map in Upper Memory Area for DOS ODI and NDIS drivers 2. Multiple PCI Bus Computers and DOS Memory-Mapped Data Transfers 3. Illegal Memory-Map Address Ranges Assigned G. Interrupt Sharing 1. PCI INTA, INTB, INTC, and INTD 2. Interrupt Channels Assigned Per Slot or Shared Across All Slots 3. Driver Interrupt Sharing Problems 4. IBM OS/2 2.X Needs Service Pack Installed 5. MS OS/2 1.X Does Not Support Interrupt Sharing H. More Information on HP FAX Retrieval Service A. EMM386 Trap Problem ====================== Some computers running MS-DOS EMM386, may trap and halt when PCI drivers (or HPVGSET) are loaded. This is a known incompatibility between EMM386 and some PCI BIOS implementations. To prevent this problem, run EMM386 version 4.49 or later. Version 4.49 is shipped with MS-DOS 6.22 and is also available on this diskette in the \EMM386 directory. Please follow the instructions in the README file to update your version of EMM386.EXE. B. Windows NT 3.5 KMODE_EXCEPTION_NOT_HANDLED Problem ===================================================== Some computers running NT 3.5 will crash with the error message: KMODE_EXCEPTION_NOT_HANDLED ***Address ? has base at ? - NDIS.SYS The solution is to apply Microsoft NT Service Pack 2. This fixes many problems of which some change how NT handles Intel PCI bus chipsets. C. Boot Difficulties After a Soft Reboot (i.e. [Ctrl] [Alt] [Del]) ================================================================== Some computers will experience difficulties booting after a soft reset (i.e. pressing [Ctrl], [Alt], and [Del] keys simultaneously) with *any* PCI LAN adapter. This is caused by a combination of conditions: - the abrupt termination of the operating system without allowing the driver to disable the adapter; - the PCI interrupt sharing architecture (i.e. level sensitive triggering); - the computer BIOS not resetting the PCI bus during the soft reset; - a packet arriving into the PCI LAN adapter. These difficulties will appear at random due to the statistical nature of when packets arrive from the network. Any one computer will typically experience the same symptom when the difficulty occurs. Each symptom varies depending on which interrupt channel the PCI LAN adapter is assigned and what other devices may sharing that same interrupt channel: a) If the PCI LAN adapter and a SCSI disk adapter are sharing the same interrupt channel, the computer typically will hang during the SCSI BIOS initialization. b) If the PCI LAN adapter is assigned interrupt channel 9, the computer will hang during BIOS POST (Power On Self Test). c) Sometimes the computer will correctly reboot the operating system but it cannot make connections to network servers (due to the BIOS disabling the interrupt channel). These difficulties will occur when soft resetting these operating systems: - DOS - Windows 3.X - Windows For Workgroups (when using 16-bit drivers) - Windows 95 (when using 16-bit drivers) - OS/2 - NT NOTE: These symptoms will occur if an NT or OS/2 system is shutdown and then restarted without resetting the computer. The recommended procedure is to press the computer's reset button or power cycle after initiating the soft reset. D. Plug-and-Play ================ 1. PCI Plug-and-Play BIOS Resource Assignment PCI computers feature Plug-and-Play installation of PCI adapters. When the computer boots, the PCI BIOS will assign each PCI adapter its needed resources. For HP PCI LAN adapters, the resources are: I/O Address Range, Interrupt (IRQ), and Memory Map Address Range. Typically, every time the computer is booted the same resources are assigned to the same adapters until the computer's configuration changes (e.g. installing or removing an adapter). The adapter will not be found by drivers if the PCI BIOS could not assign any of the three resources needed by the HP PCI LAN adapter. This will rarely occur due to a I/O address range or memory-map address range conflict with another adapter. A lack of free interrupt channels (IRQ) is typically the cause. Follow the computer's manuals to ensure enough free interrupt channels (IRQs) are available for use by PCI adapters. 2. I/O Address Range, Interrupt Channel, and Memory-Map Address Range. HP PCI LAN adapters needs a block of 256 I/O addresses and is assigned this block in the range between 400h and FF00h. HP PCI LAN adapters generate interrupts on the INTA line of the PCI connector. The PCI BIOS will configure the computer's motherboard to assign the INTA line to an interrupt channel (IRQ). The IRQ may be exclusively for the HP PCI LAN adapter or shared with other PCI adapters. See the section labeled "Interrupt Sharing" below. NOTE: Unlike ISA or EISA adapters, there is no way to configure an interrupt channel on any PCI adapter. The PCI motherboard maps PCI INTA lines to one or more interrupt channels (IRQs). When the HP PCI LAN adapter is configured for memory-mapped data transfers, an 8 Kbyte block of memory addresses are needed. The PCI BIOS will assign this block in the range between the end of installed RAM and FFFFE000h. These addresses will work for 32-bit drivers but they are problem for DOS drivers which can only access addresses within the first megabyte of memory. See the section labeled "Memory Map Addressing Issues" below. E. Assigning Adapters To Drivers ================================ 1. Support for Slot Numbers Added in PCI BIOS 2.1 For PCI BIOS versions before 2.1, the best method for identifying an adapter was the I/O Address Range. Typically, a PCI Plug-and-Play BIOS will assign the same I/O address range to the same adapter every time the computer is booted. A different I/O address range could be assigned if other adapters have been installed or removed. With version 2.1 (and later) of the PCI BIOS, the slot number where a PCI adapter is installed can be returned from the BIOS. This slot number will remain the same regardless if other adapters are installed or removed. Contact the computer's manufacturer to upgrade the BIOS to the latest version. 2. Driver Auto-location of a Single Adapter Most HP drivers will automatically locate one HP PCI LAN adapter using services provided by the PCI Plug-and-Play BIOS every time they are loaded. To force a driver to use a particular adapter or to disable the auto-locate feature, provide a PCI slot number, only if the PCI BIOS is version 2.1 or later, or provide the base I/O address of the adapter to the driver. See the driver installation instructions for how to specify a slot number or base I/O Address parameter. Currently, the only drivers which do not auto-locate adapters are: - 32-bit ODI driver for Novell NetWare servers and NT workstation - 32-bit NDIS 3.0 driver for Windows for Workgroups 3.11 - 32-bit LLI driver for SCO Open Servers 3 and earlier - 32-bit MDI driver for SCO Open Servers 5 and later 3. Identifying Multiple Adapters to Drivers When multiple HP PCI LAN adapters are installed, each must be assigned to an instance of the driver. A PCI slot number is preferred but a base I/O Address will also work. See the driver installation instructions for how to specify a slot number or base I/O address parameter. 4. Virtual Slot Numbering in PCI BIOS 2.0 Computers Some operating systems (e.g. Win NT 3.5+), track PCI adapters only using slot numbers, even on computers with a pre-2.1 PCI BIOS. In these cases, the operating system will make up a number that will not match the actual slot number marked on the outside of the computer. This virtual slot number can be small (i.e. between 0 and 3) or larger than the total number of slots available in the computer. F. Memory Map Addressing Issues =============================== 1. Memory-Map in Upper Memory Area for DOS ODI and NDIS drivers When using 16-bit ODI and NDIS drivers under DOS and the HP PCI LAN adapter is configured for memory-mapped data transfers, the PCI Plug-and-Play BIOS must assign the 8K memory address block in the upper memory area (i.e. between 640K and 1 Mbyte). DOS drivers (ODI and NDIS) cannot access addresses above the one megabyte limit of the CPU in real-mode. To force the 8K memory address block into the upper memory area, use the MEM keyword in NET.CFG or MEMORYMAPBASE keyword in PROTOCOL.INI. For the DOS ODI driver, see the file \DOS\README.DOS for syntax of the MEM keyword. For the NDIS2 driver, see the \NDIS2\PROTOCOL.TXT file for syntax of the MEMORYMAPBASE keyword. NOTE: The MEM or MEMORYMAPBASE keywords might not work on computers with multiple PCI busses. See the section labeled "Multiple PCI Bus Computers" below. 2. Multiple PCI Bus Computers and DOS Memory-mapped Data Transfers On computers that contain multiple PCI busses, the MEM keyword for the DOS ODI and the MEMORYMAPBASE keyword for NDIS2 drivers may or may not work depending on which PCI bus the HP PCI LAN adapter is installed. In multiple-PCI-bus computers, the PCI Plug-and-Play BIOS will configure the motherboard to pass to each PCI bus only the I/O and memory addresses it has assigned to the adapters on that PCI bus. Since the memory-map address is being forced by the DOS driver and is not known by the PCI BIOS at boot time, the motherboard may not be configured to pass the memory addresses to the correct PCI bus in which the HP PCI LAN adapter is installed. If the computer contains a PCI-to-EISA or PCI-to-ISA bus bridge device, the PCI BIOS will configure the motherboard to pass all memory and I/O addresses to the PCI bus where the bus bridge device is installed. If the HP PCI LAN adapter is installed in another slot on that same PCI bus as the bus bridge device, then the DOS ODI or NDIS memory-mapped data transfers will work. If the HP PCI LAN adapter is installed in any other PCI bus, then memory-mapped data transfers may not work (i.e. the DOS driver will use I/O mapped data transfers instead). 3. Illegal Memory-Map Address Ranges Assigned Earlier versions of the PCI BIOS on some computers will assign the HP PCI LAN adapter a memory-map address range that conflicts with other BIOS ROMs in the computer. This will cause drivers to fall-back to I/O-mapped transfers. Contact the computer's manufacturer to upgrade the BIOS to the latest version. G. Interrupt Sharing ==================== 1. PCI INTA, INTB, INTC, and INTD The PCI connector has four interrupt lines labeled INTA, INTB, INTC, and INTD. A common misconception is that each INT line is dedicated to one of the four slots allowed by the PCI bus specification. The PCI specification states: all single channel adapters must use INTA; two channel adapters use INTA and INTB; three channel adapters use INTA, INTB, and INTC; and, four channel adapters use INTA, INTB, INTC, and INTD. For example, with a dual serial port adapter, COM1 would use the INTA line and COM2 would use the INTB line. Since the HP PCI LAN adapters provide only one LAN connection, they are considered to be a single channel adapter by the PCI specification and only use the INTA line. 2. Interrupt Channels (IRQs) Assigned Per Slot or Shared Across All Slots Computer motherboard manufacturers had the option to connect the PCI INT lines to the motherboard's interrupt controller (PIC) in two ways: each slots' INT lines be individually mapped to a separate IRQ or all slots' INTA lines are mapped to the same IRQ, all slots' INTB lines are mapped to another IRQ, etc. The first method assures that each PCI adapter has exclusive use of an IRQ. The second method means that PCI adapters and their drivers must share the same IRQ. It is sometimes difficult to discover from the manufacturer's documentation which design the motherboard uses. Contact the computer manufacturer to determine the motherboard design. 3. Driver Interrupt Sharing Problems If the computer motherboard requires that all PCI adapters must share the same interrupt channel (IRQ), all the drivers for the PCI adapters must cooperate when an interrupt occurs to decide which adapter has generated the interrupt. NOTE: All HP PCI LAN drivers are designed to safely share an IRQ with other drivers which are also designed to share an IRQ. If a driver has been designed assuming it has exclusive use of an IRQ, it will prevent other drivers from servicing interrupts from their PCI adapters. An example is a computer with a PCI disk controller and a PCI FAX-modem adapter whose driver assumes it has exclusive use of the IRQ. The computer will boot and run normally until the FAX-modem driver is loaded. Suddenly, the hard disk will "disappear" and the system will eventually hang. This is due to the FAX-modem driver preventing the disk driver from servicing interrupts from the disk. If only one driver assumes exclusive use of the interrupt, try to load it first. Then load the driver(s) which can share the interrupt. This might work around interrupt sharing problems. 4. IBM OS/2 2.X needs service pack installed IBM OS/2 2.0, 2.1, and 2.11 needs a new version of the OS2LDR module to allow drivers to register shared interrupts. This is documented in IBM Authorized Analysis Report (APAR) PJ14230. Contact IBM to order a service pack to update OS2LDR module. OS/2 Warp (3.X) supports shared interrupts. 5. MS OS/2 1.X does not support interrupt sharing. Microsoft OS/2 versions 1.0 through 1.3 do not support drivers sharing the same interrupt. Contact Microsoft for more information. H. More Information on HP FAX Retrieval Service ================================================ More recent version of this PCI errata document may be available on HP's FIRST (Fax Information Retrieval Support Technology) service. In the U.S.A. and Canada, call (800) 333-1917 and press #1 for HP FIRST. Outside the U.S.A. and Canada, call (208) 344-4809. Enter document number 19941 to receive the index of currently available documents for HP networking products on your fax machine. <End of File>Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.