release.txt Driver File Contents (sp33495.exe)

               Broadcom NetXtreme II Gigabit Ethernet Driver
                      For Solaris 10 for i386 platform

              Copyright (c) 2000-2003 Broadcom Corporation
                         All rights reserved.

Version 2.8.3 (06 July, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00025692 - SOL10 system with 2.8.2 driver failed to attach second NIC
       Cause:   Per-device instance structure was not freed in detach() routine. This caused
                ddi_soft_state_zalloc() to fail in subsequent attach() call.
       Change:  Per-device instance structure is freed back to the system control by calling
                ddi_soft_state_free().

  Enhancements
  ============
	None.


Version 2.8.2 (June 30, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00025640 - Solaris 10 system will panic and reboot when using 
		ndd command to set speed.
       Cause:   Forced PHY interrupt processing after reconfiguring speed caused
		deadlock read/write lock (nested) in GLD. This lock is held by GLD
		when it called driver's IOCTL routine to change speed.
       Change:  Moved lm_service_phy_int() from um_setup_phy() routines and it's up to
		caller now to issue forced phy interrupt or not. In case of speed
		re-configure, driver will not force phy intr process in IOCTL thread
		but let the chip generate an interrupt

  Enhancements
  ============
	None.


Version 2.8.1 (June 29, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00025616 - Solaris system stopped load and unload driver 
		after 275 iterations
       Cause:   memory leak, receive buffers not freed in the detach thread
       Change:  This bug was introduced while adding support for 
		DRV_MSG_CODE_UNLOAD_LNK_DN message. Earlier posted RX buffer were
		reclaimed when the driver is unloaded and this used to work fine.
		But with the new requirement to power down link when the last active
		interface is unplumbed, partial clean-up and chip reset is done in 
		driver's stop() routine. In this process all the RX buffers are 
		reclaimed form the chip, 'active_descq' and moved to 'free_descq'. 
		This works fine if the interface is re-plumbed, start() call will 
		reset the chip and calls lm_post_buffers() to post buffers in 'free_descq'
		to asic and move them to 'active_descq'. But on the other hand when the 
		driver is unloaded, detach() routine will free all receive buffers in
		'active_descq', where as this queue was earlier emptied out by the stop()
		routine. so non of the receive buffers are freed.
   		The fix is to look at both the queues and free all receive buffers.

    1. Problem: Cont00025612 - Solaris system rebooted with new 2.8.0 sol driver if 
		received heavy data while unloading driver
       Cause:   race condition b/w interrupt thread and the driver shutdown ioctl thread
       change:  Issue is a typical case where thousands of packets are received while the 
		driver is unloaded. Driver unload thread itself being in bh context (ioctl)
		could be running in parallel with the driver ISR. While the interrupt thread
		is consuming these received packets one by one and notifying the net stack, 
		detach thread moved all the receive buffers from 'active_descq' to 'free_descq'.
		This caused the crash. Fix is to implement synchronization b/w isr and
		the shutdown thread. Shutdown thread will set in_shutdown' flags and waits for 
		ISR to complete (if the isr is pending or processing). On the other hand isr 
		will probe 'in_shutdown' flags and immediately bails out if it is '1'.
 
  Enhancements
  ============
	None.

Version 2.8.0 (June 28, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00025510 - Need new driver to deposit a new code 
			DRV_MSG_CODE_UNLOAD_LNK_DN to shut down link
       Cause:   Enhancement request
       Change:  Added support to deposit this newly created message code
		if driver finds firmware with revision > 1.9.3. Driver 
		will continue to deposit SHUTDOWM message for older f/w

  Enhancements
  ============
	Merged LM files to bring in changes made to support Xinan and
	the bug fixes.


Version 1.18.0 (June 23, 2006)
============================
  Fixes
  =====
	Fixed Solaris 9 crash issue with 1.17

  Enhancements
  ============
	None

Version 1.17.0 (June 22, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00025060 - modinfo command does not show version of installed bnx driver.
       Cause:   driver product banner was too long and 'modinfo' was displaying only first
		32 bytes.
       Change:  Separated module info message from product banner and kept newly defined
		module info message short so that driver version string falls within
		first 32 bytes.

    2. Problem: Cont00025234 - Similar of 22728 , error messages popped up when running 
		chariot with 50 pairs against SOL10 driver ver 1.16
       Cause:   There are just warning messages and inappropriate words raised the alarm
       Change:  removed the assert condition and the message

    3. Problem: Cont00025201 - No NIC info were displayed after driver was loaded with 
		BNX driver on SOL system
       Cause:   feature not supported
       Change:  Added support to display following NIC info - 
		1) device instance
		2) device type (BCM5706, BCM5708, etc')
		3) Firmware revision Id

    4. Problem: Cont00025196 - SOL system will reboot if received data while loading and 
			unloading driver.
       Cause:   Race condition under following condition was causing system to crash -
		our interrupt line is shared with other device and shared intr line
		is asserted after driver reclaims Rx buffers in shutdown routine.
       Change:  Driver now sets 'in_shutdown' flag before starting the driver cleanup
		process and isr will not claim any more interrupts if it sees this
		flag set. For sure this interrupt is not generated by our device as the OS
		invokes driver's stop() routine to disable device interrupts before calling
		the shutdown routine. Please refer to changes.txt for further details
	

  Enhancements
  ============
	Added VLAN tagging support GLDv2 based driver and also suppressed flow control
	info when link is configured to operate in half duplex mode.


Version 1.16.0 (May 05, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00023572 - No ndd command instruction in readme text for Teton
       Cause:   Description related to parameters configurable using 'ndd' command 
		was missing.
       Change:  Added this section in readme.txt file

  Enhancements
  ============
	None.


Version 1.15.0 (May 04, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00024371 : Starting with SOLbnx ver12 installation into 
		SOL9 system will be successful but driver failed to attach
       Cause:   For binary backward compatibility with Solaris 9, certain function
		added in later version need to be guarded with '#pragma weak', but
		as the implementation was not complete, driver failed with system
		crash on one old 32-bit HP (previously Compaq) server.
       Change:  Driver code was changed to handle functions which are not defined
		in Solaris 9 such as memmove(), hcksum_retrieve(), hcksum_assoc(), 
		gld_recv_tagged() and gld_linkstate() properly.

  Enhancements
  ============
	None.

Version 1.14.0 (April 03, 2006)
============================
  Fixes
  =====
	Fixed a issue related to transmit packet resulting in more that 16 fragments.
	LM driver is tested to work fine up to 16 chained transmit BD's. Once this condition
	is detected, driver will copy packet contents to a bounce buffer before transmitting
	it out.

  Enhancements
  ============
	None.

Version 1.13.0 (Mar 30, 2006)
============================
  Fixes
  =====
	None.

  Enhancements
  ============
	9KB jumbo supported added. This required driver and firmware changes to
	handle multiple BD per receive packet buffer.

Version 1.12.0 (Mar 24, 2006)
============================
  Fixes
  =====
	None.

  Enhancements
  ============
	64-bit and 32-it binaries are packaged in a single BRCMbnx.pkg file

Version 1.11.0 (Mar 21, 2006)
============================
  Fixes
  =====
	None.

  Enhancements
  ============
	Flow control was always disabled with earlier drivers, so added code to 
	process configuration property, "Flow"  and correspondingly update 
	LM module data structures.

Version 1.10.0 (Mar 21, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00023957 : When link is up please provide duplex and flowcontrol 
		statuses along with link up message
       Cause:   Link status change notification message was only giving out information
		regarding link status, i.e. UP or DOWN
       Change:  Changed Link DOWM/UP messages to include more informantion such as 
		media type (Copper or Fiber), speed (10/100/1000/2500 Mbps),
		duplex mode (Full or Half) and flow control type (TX & RX).

  Enhancements
  ============
	None.


Version 1.09.0 (Mar 20, 2006)
============================
  Fixes
  =====
	None.

  Enhancements
  ============
	Ported driver to support GLDv3. With GLDv3 interface, driver is able to saturate 2.5G pipe 
	in both Tx as well Rx directions. Also was able to validate VLAN feature with this GLDv3 driver 
	on Solaris 10 update1 operating system. Jumbo frame code was validated and currently maximum 
	of 3800 byte jumbo frame is supported.

Version 1.8.0 (Mar 06, 2006)
============================
  Fixes
  =====
	None.

  Enhancements
  ============
	Performance optimizations was made to mrch towards 2.5G goal. Current numbers using
	'netperf' is 2.1G for transmits and 1.55G for receive. Also one another bug related
	to soft interrupt handler race codition was fixed.

Version 1.7.0 (Feb 15, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00023292 : ifconfig -a caused system to generate error message 
		then core dumped with SOL driver 1.6.0 64bit
       Cause:   unsupported IOCTL was not correctly responded with miocack() instead
		of miocnak(). This caused application to think IOCTL completed successfully,
		and an assert case triggered while parsing the reponse.
       Change:  Unhandled ioctls are properly returned with type 'M_IOCNAK' and additional
		error code by calling miocnak().

  Enhancements
  ============
	Added code to support VLAN, but it is untested.

Version 1.6.0 (Feb 08, 2006)
============================
  Fixes
  =====
	None.

  Enhancements
  ============
	Added provision for admin to enable selective auto negotiation by specifying
	'adv_autoneg_cap' and one of 'adv_10???dx_cap' parameters.
	

Version 1.5.0 (Feb 07, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00022723 : Ndd -set command is not supported with SOL 1.1.0
       Cause:   'ndd' command processing was not supported.
       Change:  'ndd' command support was added based on bge driver specifications.
		The parameter set is different than the ones in bcme driver, please
		check bnx.conf and readme.txt for the updated parameter list and usage.

  Enhancements
  ============
	None

Version 1.4.0 (Jan 24, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00022780 : Ping packet has source Mac addr =zero with SOL 1.2.0 64bit
       Cause:   64 bit address was not handled properly.
       Change:  issue was fixed by proper handling of transmit buffer address and couple
		of issues in receive path were also identified and fixed.

  Enhancements
  ============
	None


Version 1.3.0 (Jan 13, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00022728 : Error message popped up after 1/2 hour of stress 
		test with Chariot
       Cause:   Resource leak was causing system hang after a while. 
       Change:  Cleaned up Tx DMA handle allocation and freeing module.

  Enhancements
  ============
	TCP/IP checksum offload is enabled in this driver release.

Version 1.2.0 (Jan 12, 2006)
============================
  Fixes
  =====
    1. Problem: Cont00022722 : System hung after driver load unload ~200 iterations.
       Cause:   There was caused because of resource leak, certain memory and dma handles
		were not freed properly.
       Change:  During driver unload all resouces are freed. Instrumentation code to 
		track each allocation and freeing is also added for future use.

  Enhancements
  ============
	This release also includes 64 bit driver.

Version 1.1.0 (Jan 09, 2006)
============================
    1. Problem: Cont00022713 : Unable to  plumb bnx port after a reboot with driver
		already installed
       Cause:   There was a syntax error in postinstall script which was causing
		driver install package to wrongly update /etc/driver_aliases file.
       Change:  postinstall script was updated to include necessary change

    2. Problem: Cont00022715 : SOL driver ver 1.0.0 does not recognize 5708 Nic
       Cause:   5708 device ID was not commented out from the list of supported device
       Change:  5708 ID is included in the supported device ID list



Version 1.0.0 (Jan 09, 2006)
============================
		Initial release. Following are not currently supported - 
	jumbo frame, checksum offload & vlan tagging. Also man pages needs
	to be updated with relevant information on NetXtreme II driver.
Download Driver Pack

How To Update Drivers Manually

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.

server: ftp, load: 2.94