Release Notes
Broadcom NetXtreme II SCO UnixWare 7 / OpenServer 6 driver
Broadcom Corporation
16215 Alton Parkway
Irvine, CA 92619-7013
Copyright (c) 2006 Broadcom Corporation
All rights reserved
v2.8.5 (July 06, 2006)
==========================
Fixes:
-------------
1) Problem : (CQ25724) Memory address reported by the resmgr and
the driver does not match the PCI BAR 0 register.
Cause : The driver was coded to report the virtual memory
address, not the physical memory address.
Change : Report the physical memory address instead.
Impact : None.
v2.8.4 (June 30, 2006)
==========================
Fixes:
-------------
1) Problem : (CQ25592) Configuring more than two devices
into the system causes netcfg to wait
indefinately.
Cause : The driver was blocked at the system call which
requests the memory map of the device's registers.
The system reserves a predetermined amount of
memory address space to be used for memory
mapping. Because the default memory window
size of NetXtremeII devices is 32MB, this
reserved memory address space was being
exhausted.
Change : Most of the registers available on NetXtremeII
devices are used to support higher layer
services. This device driver does not need them.
The driver was changed so that it only mapped a
small subset of registers.
Impact : The driver's memory map requirements have been
significantly reduced.
2) Problem : (CQ25568) Installing the driver yeilds makewhatis
warnings.
Cause : The postinstall script was attempting to inject
the driver's manpage into the whatis database
by providing the full path to the bnx2 man page
to the makewhatis utility. The makewhatis
utility does not work this way.
Change : Change the argument to makewhatis to be the
directory the new man page was installed in. The
utility figures everything else out on its own.
Impact : The makewhatis warning disappears.
3) Problem : (CQ25645) The driver does not update the
CM_MEMADDR resource manager variable.
Cause : It the time the driver was written, it wasn't
clear whether the driver or the system was
responsible for updating that parameter. The
driver does not use this parameter, so code to
modify it was omitted.
Change : Add code to modify the CM_MEMADDR parameter. If
the parameter cannot be modified, the driver will
issue a warning, but will not fail to initialize.
Impact : The resource manager's CM_MEMADDR parameter will
now reflect the memory mapped address range the
driver uses.
Enhancements:
-------------
1) Change : Changed all resource allocation routines so that
they will fail rather than waiting indefinately.
Added code to support the new failure paths.
Impact : CQ25592 has shown us that waiting indefinately for
system resources is a bad idea. This enhancement
gives the administrator the ability to fix the
problem by failing the configuration attempt and
returning the system back to a stable state.
v2.8.3 (June 26, 2006)
==========================
Fixes:
-------------
1) Problem : (CQ25511) Driver crashes during constrained TX
conditions.
Cause : TX queuing data structures were not properly
protected. The transmit thread was contending
with the transmit completion thread for the
right to modify the queue that tracks the
packets that are awaiting transmission.
Change : Add mutex locks around the data structure to
ensure integrity.
Impact : None.
2) Problem : (CQ25542) NIC firmware does not have the ability
to turn off the link on driver unload.
Cause : Firmware is not given enough information when it
is informed the driver is releasing the hardware
to it.
Change : Add a new driver / firmware handshake that informs
the firmware that it is O.K. to turn the link off.
Impact : None.
v2.8.2 (June 14, 2006)
==========================
Enhancements:
-------------
1) Change : Added stronger branding for the following HP
products :
NC370F, NC370i, NC370T, NC371i, NC373F, NC373i,
NC373m, NC373T, NC374m, NC380T
Impact : None.
v2.8.1 (May 25, 2006)
==========================
Fixes:
-------------
1) Problem : MDI subsystem is not notified when the device
has been "resumed".
Cause : Code omission.
Change : Add code to notify the MDI subsystem when the
device is resumed.
Impact : None.
2) Problem : Driver continues initialization even when there
has been an error in device initialization.
Cause : Driver failed to check the return code of the
device initialization routines.
Change : Add code to check device initialization routine
return codes and react appropriately.
Impact : None.
3) Problem : Driver leaks memory.
Cause : Driver fails to free its own device structure
allocation before returning to the system.
Change : Add code to free device memory.
Impact : None.
4) Problem : Packets whose length is less than the tx double
copy threshold could potentially be corrupted or
cause a system crash.
Cause : Double copy buffer allocation routines
miscalculated buffer size alignment adjustments.
This caused the driver to severely undersize the
resulting buffers. Corruption occurs if two
undersize packets arrive at the driver
back-to-back. A crash could happen if the
transmit packet descriptor is one of the later
ones allocated.
Change : Correct the size alignment calculations.
Impact : None.
5) Problem : (CQ24595) Device stops passing traffic after the
cable is unplugged and then replaced.
Cause : The driver was writing the heartbeat pulses to the
wrong shared memory location. The bootcode
firmware was pronouncing the host operating system
as crashed. When a link event occurred, the
driver and firmware would content for access to
the PHY. This in turn caused a sanity check to
fail in the driver, causing the link-up not to be
acknowledged, which in turn foils packet
transmission attempts.
Change : Write the heartbeat pulse to the correct shared
memory location.
Impact : None.
6) Problem : (CQ24890) On some systems, the link between the
driver and the operating system appears to be
severed after a reboot.
Cause : During autonegotiation, the link can go up and
down several times before stabilizing. The driver
makes an effort to smooth out the link events and
only report the end result. Eventually, the
driver will determine that it waited long enough
and issue whatever the current link speed is. If
the initial message is a link down state, it will
short-circuit the system's discovery and
initialization of the device. This, for all
practical purposes, severs communication with the
driver.
Change : Refrain from recording a link down state if the
driver detects the device has just been
initialized. A true link down state will be
reported if the link is not acquired within worst
case autonegotiation limits.
Impact : None.
7) Problem : (CQ24633) If the adapter goes idle after periods
of heavy network traffic, the same behavior as
CQ24890 is observed.
Cause : During periods of congestion, where the driver
cannot handle the volume of traffic being issued
to it, the driver will queue packets for later
transmittion using operating system facilities.
The driver failed to revisit the queue when the
congestion conditions cleared though. The
operating system would check the queue, find
that the queued packets were not being drained
and reset the adapter. From then on the same
conditions that presented CQ24890 came into play.
Change : Implement routines in the driver to revisit the
queue when hardware resources became available.
Impact : None.
Enhancements:
-------------
1) Problem : Driver's wait routine exaggerates wait time.
Change : Reduce wait delays to near requested times.
Impact : Slight performance increase.
v2.8.0 (March 24, 2006)
==========================
Initial release.
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.