============================ R E L E A S E N O T E S ============================ Broadcom NetXtreme II NDIS VBD Client For Windows Server 2008-2012 Copyright (c) 2000-2013 Broadcom Corporation All rights reserved. Version 7.6.51.0 (Feb 8, 2013) =============================== Bug Fixes: ---------- 1. Problem: cq#67663 - standardizedkeywords test fails on win7 client OS's. Cause: Need to remove *TCPConnectionOffload keywords from Win7 client OS's Impact: Chimney on Win7 client. 2. Problem: cq#67616 CPU affinity settings does not show in the advanced properties. Cause: The cpu_affinity inf section was missing from the x86 inf. Impact: This problem does not exist in previous gold drivers. 3. Problem: cq#67639 Data transfer error could occur when a receive request consisting of long MDL chain is submitted to an offloaded connection. Cause: The problem is the same as cq#40766. The fix for preventing Windows from using bounce buffers does not take into account NetBuffers with MdlOffset. Under certain condition, Windows may still use bounce buffers. Impact: Problem exists in past gold drivers. Version 7.6.50.0 (Jan 28, 2013) =============================== Enhancements ------------ 1. cq#67145 - Remove 4-part IDs for OEM design. 2. cq#67146 - Add 4-part IDs for OEM design. 3. cq#67230 - Add 4-part IDs for OEM design. 4. cq#67474 - Add 4-part IDs for OEM design. Version 7.6.6.0 (Dec 17, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#66763, #66923 Incorrect maximum packet size. Cause: jumbo_packet_mode is incorrectly set to 1 which cause the miniport to interpret the *JumboPacket as a value that does not include the 14-byte MAC header. The correct setting should be 0. Impact: This problem exists in T7.4 and T7.6 as well. Version 7.6.5.0 (Dec 11, 2012) ============================== Enhancements ------------ 1. cq#66197 - Remove INF profiles for OEM designs. 2. cq#65673 - Change INF Flow Control for SFP+ adapters to default as 'tx/rx enable' for additional OEM device. 3. cq#66534 - INF file changes for OEM designs. 4. cq#66625 - Add 4-part IDs for OEM design. 5. cq#66742 - Change INF settings (TOE enablement) required by OEM. Version 7.6.4.0 (Oct 31, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#66103 WHCK ChkINF verification failure. Cause: Duplicated entries. Fix: Remove entries. Enhancements ------------ 1. cq#66120 - Changes to INF for OEM specific design. 2. cq#66121 - Changes to INF for OEM specific design. 3. cq#66197 - Changes to INF parameter names. 4. cq#66221 - Add BCM57840 VF to inf. Version 7.6.3.0 (Oct 16, 2012) ============================== Enhancements ------------ 1. cq#65740 - Add 4-part IDs for OEM design. 2. cq#65675 - Change INF profiles for OEM design added in 7.6.0.0. Version 7.6.2.0 (Oct 10, 2012) ============================== Enhancements ------------ 1. cq#65943, cq#65944 - Add 4-part-ID for Partner Program. 2. cq#65673 - Change INF Flow Control for SFP+ adapters to default as 'tx/rx enable'. Version 7.6.1.0 (Oct 4, 2012) ============================= 1. cq#65833 - Change INF profiles for OEM design. Version 7.6.0.0 (Oct 2, 2012) ============================= Enhancements ------------ 1. cq#65726 - INF file changes for OEM designs. 2. cq#65588 - Add OEM 57810 NICs to Windows INF File. 3. cq#65675 - Add INF profiles for OEM designs. 4. cq#65733 - Change NDIS Friendly name for OEM design. Version 7.8.0.0 (Sept 24, 2012) =============================== Enhancements ------------ 1. cq#63665 - Add OEM specific 4 part ID. 2. cq#63857 - Add 4-part IDs for OEM devices. 3. cq#65675 - Add INF profiles for OEM designs. Version 7.4.22.0 (Sept 4, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#65395 Miniport asserts while running VF load/unload test. Cause: The assert is caused by eVBD timing out on setting the receive mask. The timeout is not valid when the miniport is running on a VF. Fix: The driver is changed to wait indefinitely when setting a receive mask. 2. Problem: cq#65409 eVBD asserts in lm_set_rx_mask when running load/unload test. Cause: The miniport may be paused/restarted while there is a pending vbd request. eVBD does not expect a new vbd request while one is still pending. Impact: This is a very infrequent occurrence. The problem does exist in previous gold drivers. 3. Problem: cq#65277 NCU team disappears from NCU after saving config and closing. Cause: This is a timing related issue that could occur if the device capabilities were queried too early. This is a side effect of cq#64307. Fix: Limit the fix for cq#64307 to Windows 2012 and newer. Impact: This problem does not exist in previous gold drivers. 4. Problem: cq#65415 WHCK: NDIS Chkinf errors - Section [params_flow_rx_tx_no_enum] not defined. Fix: Modify section to params_flow_auto_no_enum. Impact: Newly introduced 7.4.20.0. 5. Problem: OEM boards appeared in inbox branding when they shouldn't have been. Fix: Remove these boards from inbox branding. Impact: Introduced 7.4 (Inbox was released ok) Enhancements ------------ 1. cq#65397 - Add SRIOV virtual function devices into OEM INFs. 2. cq#65418 - Remove 'hw default' as an option in Windows EEE Control Policy. Version 7.4.21.0 (Aug 27, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#65365, #65367 Driver fails to load on Windows 2008 R2. Cause: The driver uses a new Ndis routine this is only available on Windows 2012. Impact: This problem does not exist in past releases. Version 7.4.20.0 (Aug 27, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#65362 The system may loses network connectivity when coming out of low power state. Cause: Ndis v6.30 with support for No Pause on Suspend will not suspend the miniport on going to lower power state and thus it will not restart the miniport. The miniport needs to restart itself. Impact: This problem does not exist in past releases. Enhancements ------------ 1. cq#65222 - INF file change for OEM designs, remove SRIOV and QoS. 2. cq#65219 - INF file changes for OEM design add WoL capabilites. 3. cq#65306 - Change EEE wording in advanced property page. 4. cq#65326 - Add EEE support for 1G devices in INF. 5. cq#65360 - Add "Auto" flow control option. Changed default flow control settings to "Auto". Version 7.4.19.0 (Aug 20, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#65245 NBL->SourceHandle should be set to MiniportHandle, not adapter context. Enhancements ------------ 1. cq#64206 - INF file change for OEM designs, remove SRIOV and QoS. Version 7.4.18.0 (Aug 10, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#65107 WHCK PM_PowerStateTransition failed with the message "Received link state indicating state Connected, expected MediaConnectStateUnknown on sleep." Cause: The test is expecting an indication of MediaConnectStateUnknown before the system goes to a low power state. Enhancements ------------ 1. Request: CQ64924, CQ65098 - Remove devices from OEM INF. Version 7.4.17.0 (Aug 6, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#58515 Driver asserts in create_vport routine. Cause: The driver attempts to set receive mask on a VF attached VPort which is not allowed. Impact: This problem is related to cq#58515. The fix for cq#58515 is only valid for PF attached VPort. Enhancements ------------ 1. Changed EOM friendly names. Version 7.4.16.0 (Aug 3, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#58515 IOVVMQBasicVerification test failure due to packets not being received on a non-default VPort. Cause: The firmware expects a receive mask to be set on the VPort. 2. Problem: cq#64701 1c_IOCTLCoverage test unable to query all statistics. Cause: The failure is caused by the present of the RSC statistics OID which is not supported on Ndis 6.20 and older. The fix is to not include the RSC statistics OID in the supported OID list when running on Windows Server 2008 R2 and older. Enhancements ------------ 1. cq#63435 - Remove unsupported enums in standardized keyword parameters. Version 7.4.15.0 (July 31, 2012) ================================ Bug Fixes: ---------- 1. Problem: cq#62996 Installing driver does not remove SRIOV keyword for specific OEM devices. Cause: The Delreg directive to remove *SRIOV keyword for specific OEM devices was added to the wrong devices. 2. Problem: cq#64964 The driver fails to indicate packets received on a non-default vport queue. Cause: The ok_to_indicate_rx flag is never set to TRUE on a non-default vport. Enhancements ------------ 1. cq#64819 - Remove SRIOV configuration from the UI of an OEM device. Version 7.4.14.0 (July 26, 2012) ================================ Bug Fixes: ---------- 1. Problem: cq#64724, #64726 VMQBasicVerficiation test failure on Windows 2008 R2. Cause: This problem is a result of the fix for cq#63143. Added a workaround to report NumVlansPerPort and NumMacAddressesPerPort to 1 if the driver is running as Ndis v6.20 and older. Version 7.4.13.0 (July 25, 2012) ================================ Bug Fixes: ---------- 1. Problem: cq#64727 VMQSharedMemory test failure with lookadhead size of 0 with split header/data is disabled. Cause: The driver will fail VMQ creation when split header/data is disabled but lookahead size is set to 0. The driver should allow for such VMQ. 2. Problem: cq#64878 Check driver asserts in bxnd60a!delete_vport while creating max number of VFs. Cause: The assert is spurious. Enhancements ------------ 1. cq#64206 - INF file change for OEM designs. 2. Comply with dual media INF speed and duplex settings with WHCK. 3. cq#64819 - Remove SRIOV from OEM INF. Version 7.4.12.0 (July 18, 2012) ================================ Bug Fixes: ---------- 1. Problem: cq#59125 SRIOVTestingOIDs failing on seventeenth VPort creation. Cause: The miniport needs to return MaxNumVports as the sum of max_vfs and max_num_queue_pairs_for_pf instead of num_queue_pairs. 2. Problem: VPort interrupt moderation level is passed to the bus driver as an 8-bit value which is too small. Fix: Changed interrupt_mod_level to a 16-bit value. Version 7.4.11.0 (July 9, 2012) =============================== Enhancements ------------ 1. cq#64437 - Add OEM specific 4 Part ID. Version 7.4.10.0 (July 6, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#63330 Extraneous space at the end of "Quality of Service" descritpion. Enhancements ------------ 1. cq#63226 - Remove "Auto" flow control option on the BCM57710/BCM57711/BCM57712/BCM578xx devices. 2. cq#63225 - Changed default flow control settings to "Rx & Tx Enabled" on the BCM57710/BCM57711/BCM57712/BCM578xx devices. 3. cq#64269,cq#63695 and cq#64248 - INF file changes for OEM designs. Version 7.4.9.0 (June 28, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#64247 Sleep and PNP (disable and enable) WHCK test causes the device to lose network connectivity. Cause: The current link status needs to be indicated after coming out D3. 2. Problem: cq#64210 Not seeing default of 16 RSS queues on the VM. Cause: The value for NumRssQueues nees to have the override attribute so that the old value gets clobbered. 3. Problem: cq#64284 VF miniport property page contains VlanID and *PriorityVlanTag parameters which are not valid in a VM. This parameters are set in the host. Enhancements ------------ 1. cq#63718 - Add OEM specific 4 Part ID. 2. CQ#64184,CQ#64206 - INF file change for OEM designs. 3. CQ#62996 - Add Delreg directive to INF to remove *SRIOV keyword for specific OEM devices. 4. cq#64307 - Indicate NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG after handling OID_OFFLOAD_ENCAPSULATION. Version 7.4.8.0 (June 22, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#64077 BCM5709 can't run WHCK QOS tests under Windows 2012. Cause: The driver needs report NULL QOS capabilities instead of a valid capabilities structure will all fields cleard. 2. Problem: cq#62252 Break in nuke_mdls while running Autofail test. Cause: The test injects faults into system calls. The driver needs to check for valid return values. Version 7.4.7.0 (June 15, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#63366,cq#63695 and CQ#63899 Win8 : Updating driver results in the removal of SRIOV support. Cause: New Win8 advanced properties: SR-IOV, QOS, RSC(v4/v6) missing from some boards. 2. Problem: cq#63970 VF RSS enable/disable configuration is not in the advanced property page Cause: VF RSS enable/disable section in the INF file was not referenced. Enhancements ------------ 1. Added 802.3az EEE INF support. Version 7.4.6.0 (June 13, 2012) =============================== Bug Fixes: ---------- 1. Problem: cq#63777 VF-RSS configuration appears in the UI after an upgrade from Windows 2012 inbox. Cause: The driver needs to remove the old VF-RSS registry. 2. Problem: Chimney is enabled by default on a BCM57712 board in Windows 8. Cause: The driver defaults for chimney on BCM57712 board in Windows 8 were not correct to all the boards. 3. Problem: Fixed friendly name for BCM57711/BCM57712 devices. 4. Problem: cq#63000 Unable to load driver on a specific 4-part ID. Cause: The 4-part ID was missing from bxnd.inf. Enhancements ------------ 1. cq#61684 - Remove a QOS workaround. 2. cq#63810 - Add Port1FunctionNumber for CDN support. Version 7.4.5.0 (June 6, 2012) ============================== Bug Fixes: ---------- 1. Problem: Ndi\params was mistaken removed instead of ndi\params\*JumboPacket. 2. Problem: cq#63702 PM_PowerStateTransition test expects MediaStateUnknown status notification. Cause: On transition to D3, the test expects the miniport to indicate MediaStateUnknown status. 3. Problem: cq#63669, #63711 The driver crashes when loading on Windows 2008 R2 and later versions of Windows. Cause: The new WDK 8400 build environment statically link the driver with Windows 2012 specific library. This library may not be compatible with older versions of Windows. Fix: Ensure the driver is link with an older library that is compatible with all versions of Windows. Enhancements ------------ 1. cq#63058 - INF file changes for OEM designs. 2. Remove BCM57840 devices from INF. 3. Add 4-part ID for OEM. Version 7.4.4.0 (June 5, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#63448 The flag NDIS_RECEIVE_FILTER_MULTIPLE_INTERRUPT_COALESCING_DOMAIN is no longer defined and is removed from the driver. Enhancements ------------ 1. cq#60755 - Remove support for VMQ header/data split. 2. Move to WDK 8400. 3. cq#63385 - Pass VPort and VM names to the bus driver. 4. cq#63595 - Remove BRCMndi tree which is no longer needed with the removal of the co-installer. 5. cq#63640 - Include product version number. 6. cq#63607 - Change jumbo frame options to 1514, 4088, 9014, and 9614. 7. cq#63148 - Remove VF RSS from advanced property page. Version 7.4.3.0 (May 20, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#63322, #63303, #63264 Ndis miniport does not load on Windows Server 2008 R2. Cause: The KeInitializeSpinLock is not available in versions of Windows older than Windows 8. Enhancements ------------ 1. cq#63238 - Set default VF RSC to enabled. 2. cq#63228 - Remove "Auto" flow control option on the 1gb devices. 3. cq#62802 - Change default for the number of RSS queues to 8. Version 7.4.2.0 (May 10, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#62800 1c_mini6rssoids complains about the RSS capabilities structure version being 1 for Ndis 6.30 miniport. Cause: The test is checking to make sure the RSS capabilities structure version is 2 for Ndis 6.30 miniport. 2. Problem: cq#63146 RSC is not enabled in the VF miniport. Cause: With Chimney enabled, the default RSC setting is disabled. But because there is no INF default for Chimney, TOE is disabled by default thus disabling RSC. The internal default for Chimney should be disabled for VF miniport. 3. Problem: nx2inf_ndis.txt file Missing board entries. Board parameters are not updated. Fix: Adding missing boards, updating parameters. 4. Problem: cq#63215 Flow control setting changed to "auto" after an upgrade. Cause: Flow control setting is forced to "auto" instead of keeping the previous configuration. Impact: Problem exists in past releases. 5. Problem: cq#63143 There are some failures in VMQScalability test. Cause: The miniport needs to report back 0 for NumVlansPerPort and NumMacAddressesPerPort. Enhancements ------------ 1. cq#62770 - Change "Number of RSS Queues" to "Maximum Number of RSS Queues". 2. cq#62182 - Use stack queued spinlock in the transmit and receive paths. 3. cq#56241 - Deprecate the use of the Miniport's co-installer. 4. cq#63116 - Limit jumbo frame to the following options: 5014, 4088, 9014. 5. cq#62802 - Default the number of RSS queues to 8. 6. cq#62276 - Delete registry keywords that are deprecated. Version 7.4.1.0 (May 2, 2012) ============================= Bug Fixes: ---------- 1. Problem: cq#63004 Driver not able to load on some systems due to driver signing problem. Cause: Reverted back to the previous version of the certification used for signing. Enhancements ------------ 1. Include all the devices in the T7.4 release. Version 7.4.0.0 (Apr 30, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#62411 Break in NdisImPlatform while running Microsoft teaming software. Cause: The miniport did not wait for all the receive indications to return before return from MiniportPause. Impact: Newly introduced in Windows 8 inbox driver. 2. Problem: cq#62251 Running fault injections causes the miniport to fail loading. Cause: The miniport does not free allocated resources when initialization fails due to fault injection in the call to NdisAllocateIoWorkItem. Impact: Problem exists in past releases. 3. Problem: cq#62250 Checked driver asserts in sriov_read_vf_config_block and sriov_write_vf_config_block routines during SRIOV Ndistest. Cause: The asserts are spurious and thus are removed. 4. Problem: cq#62358 Chimney is enabled by default in the VF miniport. Cause: Chimney is enabled by default in the VF miniport. It needs to be disabled since Chimney is not supported in the guest OS. Enhancements ------------ 1. Integrate the changes made to the Windows 8 inbox branch. Version 7.2.50.0 (Apr 2, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#62405 Remove incorrect speed from a board. Fix: Remove the speed in INF. Impact: 578xx specific oem design. Enhancements ------------ 1. cq#60701 - Add support for separate tx/rx interrupt affinity. Now add it to some of the boards. 2. Remove redundant devices from INF. Version 7.2.8.0 (Mar 13, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#40766 (continued) Cause: A custom kernel mode driver could create a receive buffer consisting of a long MDL chain with each entry pointing to a buffer of size less than 2k. Under this condition, Windows could return bounce buffers to the driver in virtual to physical address mapping. Fix: Further shorten the MDL chain by limiting the maximum number of scatter/gather elements in each virtual to physical mapping. Version 7.2.7.0 (Feb 22, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#61731 Checked drivers are not able to load on Windows Server 2008. Cause: The driver was making Ndis calls that were not available in Ndis 6.0/6.1. Impact: Newly introduced 7.2.6.0 Version 7.2.6.0 (Feb 21, 2012) ============================== Enhancements ------------ 1. cq#60701 - Add suppot for separate tx/rx interrupt affinity. Version 7.2.5.0 (Feb 10, 2012) ============================== Bug Fixes: ---------- 1. Problem: cq#61523 Missing params_speed_1G_no_enum section reported by INF checker. Enhancements ------------ 1. Request: CQ61395 - Add 4-part ID for OEM. Version 7.2.4.0 (Feb 6, 2012) ============================= Bug Fixes: ---------- 1. Problem: TOE is disabled by default for all boards. Cause: Typo in INF file. Fix: Fix typo. Impact: Newly introduced 7.2.3.0 Version 7.2.3.0 (Jan 24, 2012) ============================== Enhancements ------------ 1. Request: CQ60717 - Remove 100Mb Force for BCM84833 design. 2. Request: CQ60775 - Add 4-part ID for OEM. 3. Request: CQ60784 - Add 4-part ID for OEM. 4. Request: CQ61005 - Add 4-part ID for OEM. 5. Request: CQ60996 - Add 4-part ID for OEM. 6. Request: CQ60997 - Add 4-part ID for OEM. Version 7.2.2.0 (Jan 2, 2012) ============================= Enhancements ------------ 1. Request: CQ58195 - Add 4-part ID for OEM. 2. Request: CQ59066 - Add 4-part ID for OEM. 3. Request: CQ60291 - Add 4-part ID for OEM. 4. Request: CQ60293 - Add 4-part ID for OEM. Version 7.2.1.0 (Dec 5, 2011) ============================= Bug Fixes: ---------- 1. Problem: cq#60062 Running BASP in a teaming configuration with VMQ enabled may cause a break in bxnd60a!umq_set_request. Cause: A VMQ oid request could pend and be completed later. During this period, the driver is touching the Ndis request which could have been completed in a different thread. In the case the request is already completed, a page fault will occur. Fix: The code is rearranged so that Ndis request is not accessed when the request is pended by the bus driver. Enhancements ------------ 1. Request: CQ59918 - Add 4-part ID for OEM. 2. Request: CQ59827 - Change SSID for OEM. Version 7.2.0.0 (Nov 22, 2011) ============================== Enhancements ------------ 1. Initial T7.2 release. Version 7.0.11.3 (Nov 22, 2011) =============================== Enhancements ------------ 1. Request: CQ59194 - Add 4-part ID for OEM. 2. Request: CQ59195 - Add 4-part ID for OEM. 3. Request: CQ54414 - Add 4-part ID for OEM. Version 7.0.11.2 (Nov 21, 2011) =============================== Enhancements ------------ 1. Request: CQ59829 - Remove specific OEM device from INF. Version 7.0.11.1 (Nov 1, 2011) ============================== Bug Fixes: ---------- 1. Problem: cq#59433 OEM Branded 57810s Card has Incorrect Friendly Name. Fix: Fixed friendly name in inf file. Impact: 578xx specific oem design. 2. Problem: cq#59442 OEM friendly name change. Fix: Fixed friendly name in inf file. Impact: 578xx specific oem design. Enhancements ------------ 1. Request: CQ59337 - Add new devices to INF. Version 7.0.11.0 (Sept 29, 2011) ================================ Bug Fixes: ---------- 1. Problem: cq#58011 On upgrade the IPv6 TOE configuration is still present on BCM5706 and BCM5708. Fix: Added a delreg section to remove IPv6 TOE configuration on BCM5706 and BCM5708. Impact: This issue does not exist it previous gold drivers. Version 7.0.10.0 (Sept 27, 2011) ================================ Bug Fixes: ---------- 1. Problem: Removed a device that is not supported in this release from the INF file. Version 7.0.9.0 (Sept 22, 2011) =============================== Bug Fixes: ---------- 1. Problem: CQ58415 Remove 10MB support from specific oem design. Fix: Inf change. Impact: 578xx specific oem design. 2. Problem: cq#58773 The *WakeOnMagicPacket and *WakeOnPattern are missing the device's advanced property page. Cause: The INF section of adding *WakeOnMagicPacket and *WakeOnpattern keywords to the registry is not being referenced. Impact: This issue does not exist it previous gold drivers. Enhancements ------------ 1. Request: CQ58461 - INF changes for specific OEM designs. 2. Request: CQ58654 - Add new 4-part ID for OEM. Version 7.0.8.0 (Sept 8, 2011) ============================== Bug Fixes: ---------- 1. Problem: cq#52848 Downgrade from T6.x to pre-T6.x driver causes transmit stall. Cause: The default for *TransmitBuffers in the INF is set to "auto" which has the value of 0. A problem arise when the driver is downgraded to pre-T6.0 drivers which does not use "auto". These pre-T6.0 drivers will use the value of *TransmitBuffers as is and in this cause it will allocate zero transmit descriptor which causes all transmit to stall. Fix: Use the 250 as the default value for "Auto" in the INF file. The driver will treat values < 251 as "auto". Impact: This problem exists when downgrading to pre-T6.x drivers. 2. Problem: cq#58385 INF checker reported some failures. Enhancements ------------ 1. Request: CQ58307 - Add 4-part ID for new OEM platform. 2. Request: CQ58084 - Enable WoL Capability on missing OEM designs. 3. Request: CQ58188 CQ58186 - OEM New (additional) 4 part ID match for BCM57712 and 8727C designs. (Already fixed in version 6.2.9d applying to 7.0 as well). Version 7.0.7.0 (Sept 1, 2011) ============================== Bug Fixes: ---------- 1. Problem: cq#58011 Some devices have IPv6 Chimney configuration in the advanced properties page even though those devices do not support IPv6 Chimney. Fix: Removed the IPv6 Chimney configuration from the advanced properties page of those devices. Enhancements ------------ 1. cq#58253 - Disregard the MAC header size for the jumbo frame registry key for OEM specific platforms. Version 7.0.6.0 (July 14, 2011) =============================== Enhancements ------------ 1. Request: CQ56778 - Add 4part-ID Support in INF for OEM specific designs. Change: As requested. 2. Following adding *WakeOnMagicPacket and *WakeOnPattern configuration in the UI (version 7.0.5). Restrict this UI to BCM57xxx supported devices to be consistent with previous releases. Version 7.0.5.0 (July 11, 2011) =============================== Bug Fixes: ---------- 1. Problem: cq#55842 Ethernet_MPE test stalls with uncompleted sends. Cause: The miniport may not process pending transmit packets when the system is about to transition to low power state. 2. Problem: CQ56736- inf Does Not contain 4-part Support for Broadcom 57810s Device in NPAR Mode. Cause: Missing 4-part id for NPAR Mode. Impact: Relevance: 578xx. Enhancements ------------ 1. Request: CQ55991 (modified) - Change 57810S based customer friendly names in Windows 2k8 drivers. Change: As requested. Impact: As requested. 2. Changed *FlowControl options to be consistent with Microsoft's definition. 3. Added *WakeOnMagicPacket and *WakeOnPattern configuration in the UI. Version 7.0.4.0 (June 14, 2011) =============================== Bug Fixes: ---------- 1. Problem: CQ55322 (does not verify) missing 100MB speed capability.. Cause: 100MB speed capability was missing from inf. Impact: Relevance: 57840 ssid 1008. 2. Problem: CQ56186 NPAR pci_IDs for the 57800 are not present. Cause: NPAR pci IDs were missing from inf. Impact: Relevance: 57800 NPAR. Enhancements ------------ 1. Request: CQ56090 Add 4part-ID Support in INF for OEM specific designs. Change: As requested. Impact: As requested. 2. Request: CQ55991 Change 57810S based customer friendly names for OEM specific designs. Change: As requested. Impact: As requested. Version 7.0.3.0 (May 31, 2011) =======================-====== Bug Fixes: ---------- 1. Problem: The miniport is not able to load on Windows Server 2008. Cause: New Ndis routines used in the driver were not available in Windows Server 2008. Fix: Instead of statically linking these routines to the driver, the addresses of these new routines are dynamically determined in runtime. 2. Problem: Missing public symbols in the release folder. Cause: The build script did not copy the public symbols to the release folder. Version 7.0.2.0 (May 26, 2011) =======================-====== Enhancements ------------ 1. Request: CQ55307 Add 4part-ID Support in INF for OEM specific designs. Change: As requested. Impact: As requested. Version 7.0.1 (May 12, 2011) ============================ Bug Fixes: ---------- 1. Problem: CQ53997 - 57840: With Ndis v7.0.0 Speed&Duplex default parameter is blank when AUT is set to support 20G capability. Cause: Missing default_20G paramater declaration in inf. Fix: Fix inf to include default_20G parameter declaration. Impact: Introduced in release 7.0.0. 2. Problem: CQ55014 - Friendly name wording is inconsistent with VBD friendly name. Cause: Typo. Fix: Add missing text. Impact: T6.2. GUI change only. Enhancements ------------ 1. Request: CQ53761 Add to INF PNP Device ID's. Change: As requested. Impact: As requested. 2. Request: CQ55322 Add 4part-ID Support in INF for OEM specific designs. Change: As requested. Impact: As requested. Version 7.0.0 (Mar 14, 2011) ============================ Enhancements ------------ 1. Request: CQ50841 Add 4part-ID Support in INF for OEM specific designs. Change: As requested. Impact: As requested. 2. Request: Add Support in INF for 57800 evaluation boards two have different advanced setting capabilities per port. Change: As requested. Impact: Requires updated nvm configuration for 57800 board included in lediag/ediag 7.0.3. 3. Request: Add Support in INF for 57840 evaluation boards two have different advanced setting capabilities per flavor (2P or 4P). Change: As requested. Impact: Requires updated nvm configuration for 57840 board included in lediag/ediag 7.0.3. 4. Request: CQ53632 - Add 1Gbps speed option to BCM57712 PNP ID. Change: As requested. Impact: iBoot for BCM957712A1213G. 5. Request: CQ53450 CQ53451 Add to INF PNP Device ID's. Change: As requested. Impact: As requested. 6. Request: CQ53604 Add new 57810S based device id's to the driver INF file. Change: As requested. Impact: As requested. Version 6.4.11 (Mar 1, 2011) ============================ Bug Fixes: ---------- 1. Problem: CQ53387,CQ53385 - 57800: Most of the advanced configurations are missing on both 10Gb and 1Gb ports. Cause: Missing entry from inf for w2k8 R2 for 57800 board. Fix: Add missing entry. Impact: 57800 Only. 2. Problem: OS won't offload TCP connections after indicated RESUME_OFFLOAD event. Cause: When indicate the event, driver didn't specify the TCP connection offload capability in the event indication. Fix: Added TCP connection offload capability information in event indication. Impact: Newly introduced in T6.4. Enhancements ------------ 1. Request: CQ52559 CQ50501 Add to INF PNP Device ID's. Change: As requested. Impact: As requested. 2. Request: Add 4part-ID Support in INF for OEM specific designs (Part of CQ50840: 57810 boards). Change: As requested. Impact: As requested. Version 6.4.10 (Feb 24, 2011) ============================= Bug Fixes: ---------- 1. Problem: New advanced speed capability setting 20GB Full was displayed for several boards that don't support it. Cause: New advanced capabilites was added in common place instead of only to supporting boards. Fix: Add new advanced speed capability to supporting boards only. Impact: Introduced in release 6.4.0. 2. Problem: cq#53095 The machine breaks into the debugger in the init_um_packet_rx routine when running stress with jumbo frame enabled. Cause: The break occurs because the driver is not able to allocate memory for receive buffers. Memory allocate failure is not failing gracefully. Impacet: Same failure could occur in previous releases. Enhancements ------------ 1. Request: Add to INF PNP Device ID's (synced with 6.2). Change: As requested. Impact: As requested. Version 6.4.9 (Feb 7, 2011) =========================== Bug Fixes: ---------- 1. Problem: cq#52704 Sockdie stress test on 57712 NPAR could cause the system to crash on a transmit completion. Cause: When the transmit descriptors are depleted, the miniport may call the bus driver's send_packet multiple times to send packets from the same NetBufferList. At the same time, if there is a RSS indirection table update, the bus driver may place these packets in different transmit queues resulting in out of order transmit completion. Fix: Wait until transmit descriptors are replenish and all the packets in the NetBufferList are processed before calling the bus driver's send_packet routine. The call to send_packet routine must contain all the packets in the NetBufferList. Impact: Same problem could occur in the past releases. There are two possible ways that could lead to the miniport running out transmit descriptors: 1) The system is very fast in submitting send requests to the miniport. 2) The transmit is being throttled because of reduced link speed or flow control. 2. Problem: CQ#52051, CQ#52066, CQ#52291 Several 20G speed related issues. Cause: Speed capabilites weren't configured properly for 578xx devices in inf file. Fix: Configure speed capabilities properly. Impact: 578xx only. Version 6.4.8 (Feb 1, 2011) =========================== Enhancements ------------ 1. Added new emulation/FPGA devices for E3 B0 testing. Version 6.4.7 (Jan 11, 2011) ============================ Bug Fixes: ---------- 1. Problem: cq#51590 iSCSI reboot test causes a break in UM_OidRequest. Cause: There is a race condition between indicating an initial like after a driver load and unloading the device. The race condition causes a deadlock to occur. Impact: Newly introduced in this release. Enhancements ------------ 1. Request: Added device ids to inf file for 57810/57840 FPGA/EMUL devices. Impact: 57810/57840 EMUL / FPGA. Version 6.4.6 (Dec 16, 2010) ============================ Bug Fixes: ---------- 1. Problem: cq#51590 Nicstats does not show support for MSI-X even when it is enabled. Cause: The miniport does not set NDIS_RSS_CAPS_USING_MSI_X in the RSS capabilities flag even when the bus driver reports support for MSI-X capability. Impact: This problem is present in all the previous gold releases. 2. Problem: cq#51103 Intermittent driver crash during system hibernation. Cause: On transition to the pause state, the driver does not wait for the setting of the receive mask to complete. The pending request could cause a race condition with another set set request that occurs when the driver goes back to the running state. Fix: Wait for the set receive mask to complete before return from the MiniportPause routine. Impact: This problem does not exist in previous gold drivers. The problem is exposed in this release due to changes in the bus driver. Version 6.4.5 (Dec 14, 2010) ============================ Bug Fixes: ---------- 1. Problem: Duplicate device id in INF for msft brand (inbox driver) Cause: Typo. Fix: Fixed the typo. 2. Problem: CQ#51276 OS bug check when running driver load/unload on one port and chariot stress traffic on another port when driver verifier is enabled. Cause: When posting TX packets to VBD, the VBD driver places the TX packets to different queues according to the RSS table. It is possible that the packets associated to same net buffer list get places to different queues and resulted in out of order TX completions and causes the OS to free up the net buffer list pre-maturely. Fix: When posting TX packets to VBD, NDIS miniport must make sure it collects all TX packets that associated to the same net buffer list before proceed with the packet post so VBD places all the TX packets associated with the same net buffer list to the same TX queue. Impact: Problem exists in previous gold drivers. Version 6.4.4 (Dec 6, 2010) =========================== Enhancements ------------ 1. Made some minor changes in the inf file for E3 devices. Version 6.4.3 (Nov 22, 2010) ============================ Enhancements ------------ 1. Request: CQ51034 - Add OEM specific 4-part ID. 2. Request: more E3 device ids and speed capabilities. Version 6.4.2 (Nov 16, 2010) ============================ Bug Fixes: ---------- 1. Problem: cq#49174 Intermittent warning message in the event viewer indicating link down after a boot up. Cause: The driver logs the link down message to the event viewer after a three second time out. On some system this time out may be too short and thus it is increased to 10 seconds. Impact: The same problem could exists in past gold releases. 2. Problem: cq#50347 Older version of Windows (before Windows Server 2008 R2), Ndis does not respond to OID_GEN_RECEIVE_SCALE_CAPABILITIES query request. Fix: Added a workaround in the driver to respond to this query oid. Impact: This problem is newly introduced in T6.0. This query oid was taken out in T6.0 because according to the WDK, Ndis handles this request. Version 6.4.1 (Oct 27, 2010) ============================ Enhancements ------------ 1. Request: Added new E3 devices. Version 6.4.0 (Oct 20, 2010) ============================ Enhancements ------------ 1. Request: Make an initial release for T6.4. Version 6.2.X (MM DD, 2010) ============================ Enhancements ------------ 1. Request: cq#50654 cq#50656 cq#50657 - Change RSS default to disabled in INF file for OEM specific BCM57712 module. Change: As Requested. Impact: As Requested. Version 6.2.2 (Oct 15, 2010) ============================ Bug Fixes: ---------- 1. Problem: MaxXmitLinkSpeed is a 64-bit value. But it was assigned an overflowed 32-bit value. Version 6.2.1 (Sept 27, 2010) ============================= Bug Fixes: ---------- 1. Problem: cq#49018 There is a benign duplicate line in the inf file. Impact: This problem exists in the previous gold drivers. Enhancements ------------ 1. Request: CQ50005 - Add OEM specific 4-part ID. Change: As Requested. Impact: None. Version 6.2.0 (Sept 15, 2010) ============================= Enhancements ------------ 1. Request: Make an initial release for T6.2. Version 6.0.29 (Sept 2, 2010) ============================= Bug Fixes: ---------- 1. Problem: cq#46148, #49689 VM shutdown while passing network traffic causes a break in the UM_ReturnNbl routine. Cause: When a VMQ is freed, the miniport does not indicate the StateDmaStopped status to Ndis. As a result, Ndis may return receive packets to the miniport after a queue has been destroyed. Impact: Newly introduced in T6.0 release. Version 6.0.28 (Aug 24, 2010) ============================= Bug Fixes: ---------- 1. Problem: cq#49592 Break in l2nd_indicate_tx when running surprise removal test. Cause: The bus driver could fail a send request. The call to l2_indicate_tx to abort send requests had an incorrect queue group pointer. Impact: Newly introduced in T6.0 release. Version 6.0.27 (Aug 23, 2010) ============================= Bug Fixes: ---------- 1. Problem: cq#49592 Ethernet@wirespeed parameter is missing from the configuration UI. Cause: The addition of dual media configuration was inserted at the wrong place causing Ethernet@wirepseed to not show up in the UI. Enhancements ------------ 1. Request: Change the default value of vmq_l2_rx_desc_cnt so it is the same as the value for the normal receive queue. Version 6.0.26 (Aug 16, 2010) ============================= Bug Fixes: ---------- 1. Problem: cq#49496 Checked driver breaks in bucket_idx_to_qidx during a sockdie stress test. Cause: The TSS indirection table may have queue indices that are out of range. The problem arises because of a bug the code which RSS processor indirection table to tx queue indices. Impact: Newly introduced in T6.0 release. Version 6.0.25 (Aug 13, 2010) ============================= Bug Fixes: ---------- 1. Problem: cq#49343 CNIC stress test fails when TCP time stamp option is enabled. Cause: Nx2 1g devices does not expect catch up frames to contain vlan tag. Impact: This problem exists in the previous gold drivers. Version 6.0.24 (Aug 10, 2010) ============================= Enhancements ------------ 1. Request: Restore devices that were removed in v6.0.21. Version 6.0.23 (Aug 9, 2010) ============================ Bug Fixes: ---------- 1. Problem: cq#49274 Ndistest 6.0 1c_mini6rsssoids and 2c_mini6rsssendrecv fails. Cause: The driver does not return the number of bytes read if the bus driver pends the OID_GEN_RECEIVE_SCALE_PARAMETERS oid request. Impact: Newly introduced in T6.0 release. Version 6.0.22 (Aug 4, 2010) ============================ Bug Fixes: ---------- 1. Problem: The number of transmit and receive descriptors are not initialized when creating a VMQ queue group. Impact: Newly introduced in T6.0 release. 2. Problem: cq#47285 The driver could break accessing the create VMQ NDIS_OID_REQUEST structure that have been paged out or freed. Cause: A race condition exists during a create VMQ queue group call to the bus driver. It is possible that the bus driver returns a PENDING status code on the call and before it returns back to the miniport, the request is completed. As a result the miniport may still reference the NDIS_OID_REQUEST structure after it as been completed back to Ndis. The driver forgets to nullify the OID pointer before invoking completion routine when the bus driver returns non pending status. It causes the create queue OID being mistakenly completed in a synchronous call path. Impact: Newly introduced in T6.0 release. Version 6.0.21 (Aug 2, 2010) ============================ Bug Fixes: ---------- 1. Problem: The call to set the receive mask could return a pending status code. When it does, the Ndis receive mask is not saved. Impact: Newly introduced in T6.0 release. Enhancements ------------ 1. Request: CQ48999 - (Undo CQ#48871 CQ#48868 CQ#48861) Remove BRCM57712 PNP IDs from INF. Change: As Requested. Impact: None. Version 6.0.20 (July 27, 2010) ============================= Bug Fixes: ---------- 1. problem: CQ#48259 VMQ capabilities are not being advertised on Windows Server 2008 R2. Cause: The miniport was using the NIC switch capabilities from the bus driver to determine if the VMQ filter capabilities should be enabled or not. In this case NIC switch is not present for VMQ but filter capabilities are preset. Fix: Modify the code to report VMQ filter capabilities based on the filter capabilities reported by the bus driver. Impact: Newly introduced in T6.0 release. Enhancements ------------ 1. Request: Add vmq_l2_rx_desc_cnt registry parameter for configuring the number of receive buffers to allocate for a VMQ. Version 6.0.19 (July 26, 2010) ============================= Bug Fixes: ---------- 1. problem: CQ#48259 Chariot reports errors (CHR200) when running http scripts. Fix: Due to change for CQ#46187, it is possible the driver didn't completed the pending abortive disconnect request back the OS during RX posting. Impact: Newly introduced in T6.0 release. 2. Problem: CQ#48978 Windows 7 does not support VMQ thus VMQ capabilities should not be reported to Ndis. Cause: The miniport always report VMQ hardware filter capabilities even when the bus driver does not report any VMQ capabilities. Impact: Newly introduced in T6.0 release. 3. Problem: CQ#48929, #49001 Ndistest vmqpnptest failed because "received less than the expected percentage of packets sent". Cause: The miniport return from a reset request immediately instead of waiting for all transmit to complete and all receive indications to return. Impact: Newly introduced in T6.0 release. Enhancements ------------ 1. Request: Allow for asynchronous completion of setting of the receive mask that are initiated by the miniport as opposed by Ndis via the Ndis oid. 2. Request: CQ#48871 CQ#48868 CQ#48861 Add BRCM57712 PNP IDs to INF. Change: As Requested. Impact: None. Version 6.0.18 (July 6, 2010) ============================= Enhancements ------------ 1. Request: Add support for dual media. Version 6.0.17 (June 10, 2010) ============================== Bug Fixes: ---------- 1. Problem: cq#48256 Chimney configuration appears in the advanced property page on Windows 7. TOE is not supported on client operating systems. Fix: Created a Windows 7 section in the inf file. Impact: This is a new problem found only in the T6.0 source tree. Enhancements ------------ 1. Request: Add specific support for BCM57712 Nic partitioning mode in inf. Change: As requested. Impact: None. Version 6.0.16 (June 7, 2010) ============================= Bug Fixes: ---------- 1. Problem: cq#48115 VMQ setting is missing on Windows 2008 Server R2. Cause: The INF does not have a section to differentiate between Windows 2008 Server and R2. Version 6.0.15 (May 20, 2010) ============================= Bug Fixes: ---------- 1. Problem: CQ#47916 - VMQ: bxnd60a!smd_init+1c3 when starting several GOS at once. Windows may decide to give miniport more than one SGL entries for physically contiguous memory in virtual machine environment. This causes the checked build driver to assert. Fix: Remove the overly aggressive assert in the check build driver. Impact: This problem exists in all the previous gold drivers. Enhancements: ------------- 1. Request: CQ#47863 Add BRCM57712 PNP IDs to INF. Change: As Requested. Impact: None. Version 6.0.14 (May 20, 2010) ============================= Enhancements: ------------- 1. Request: CQ#47555 Remove not supported portion of 2.5G link on BCM957711A1102G. 2. Request: cq#47392 Remove VMQ configuration from the advanced property page on Windows Server 2008. The configuration is only valid for Windows Server 2008 R2. Version 6.0.13 (May 3, 2010) ============================ Enhancements: ------------- 1. Request: CQ#47421 Add BRCM57711 PNP IDs to INF. Change: As Requested. Impact: None. 2. Request: Change l2_indicate_link_t client routine to l2_indicate_event_t. The motivation for making this change is to make event indications (including link status) more generic. Version 6.0.12 (Apr 19, 2010) ============================= Bug Fixes: ---------- 1. Problem: The number of receive and transmit descriptors are not initialized prior to creating a queue group. As a result, the values are zero's when the queue group is created. Impact: This is a new problem found only in the T6.0 source tree. 2. Problem: cq#47091 Check driver asserts in um_tcp_post when running load/unload while passing traffic on VMs. Cause: The assert occurs because the miniport is trying to post addition buffer to the bus driver after a connection is being uploaded. Impact: This problem exists in all the previous gold drivers. But the assert is benign and only occurs if checked driver is used. 3. Problem: cq#46679 Driver crashed while running WLK 1.5 using an OEM inf file. Cause: The NdisTest modifies the value of *TransmitBuffer parameter in the registry to a very large number. The crash happens because the driver does not check for invalid value. Impact: This problem exists in all the previous gold drivers. Enhancements: ------------- 1. Request: Port to INF device id's which was added to T5.2 branch and not to T6.0 (CQ44968) 2. Request: Add 57712 device id's to msft folder. 3. Request: cq#47228 Add BRCM57712 PNP IDs to INF. Version 6.0.11 (Mar 29, 2010) ============================= Bug Fixes: ---------- 1. Problem: CQ#46187 Stress test causes a break in abort_queued_tcp_bufs with the checked driver. Cause: The break is caused by an unexpected completion number when the driver is aborting pending buffers due to a connection reset. There is a race condition between the code path that submits the buffers to the bus driver and the buffer abort code path. Impact: This problem exists in all the previous gold drivers. Version 6.0.10 (Mar 16, 2010) ============================= Bug Fixes: ---------- 1. Problem: CQ#46576 A break in rss_to_tss_ind_table routine when running the checked version of the driver. Cause: The assert in the driver is not completely valid. Impact: This is a new problem found only in the T6.0 source tree. 2. Problem: CQ#46595 The driver breaks in send_nbls_single_qgrp routine. Cause: The TSS indirection table could contain more processors than the number of transmit queues. This happens when the driver is running on Windows 2008 and older using RSSv1. The fix is to map the processors that have not been associated to a queue yet to the transmit queues. Impact: This is a new problem found only in the T6.0 source tree. Version 6.0.9 (Mar 15, 2010) ============================ Bug Fixes: ---------- 1. Problem: CQ#46462 After driver initialization, the Eventviewer shows two link messages. Cause: A link message is written once after driver initialization, and one more time when the bus driver indicates the true link status. Impact: This problem is present in pass gold drivers. 2. Problem: cq#46117 Checked driver breaks in set_multicast_addr_list while running continuous reboot test. Cause: The miniport asserts if the return code from the bus driver to set a multicast address is not pending or success. The assert is not completely valid as the bus driver could return a failure status code if its current state is shutdown. Impact: This is a new problem found only in the T6.0 source tree. Enhancements: ------------- 1. Request: cq#46009 Use RSS indirection table to assign traffic to TSS queues. Version 6.0.8 (Mar 4, 2010) =========================== Bug Fixes: ---------- 1. Problem: CQ46133 L2ND init always causes link flap. Fix: The force_reset member in structure l2_ioc_req_medium_t is not getting initialized and causing VBD to toggle link erroneously. Impact: This problem also happens with previous released gold drivers. 2. Problem: cq#46252 Checked driver assert in UM_OidRequest. Cause: The assert is to ensure vars.set_info is NULL. In this case it is not NULL due to a race condition in on the completion of the previous set. On completion pdev->vars.set_info is set to NULL after the completion call has been made. This variable should be set to NULL prior to completing the request. Impact: This is a new problem found only in the T6.0 source tree. Enhancements: ------------- 1. Request: cq#45846 When VMQ and TOE are both enabled in the registry, the driver will only enable TOE (and not enable VMQ). This is because the OS will only enable VMQ if both TOE and VMQ support are advertised to the OS, and enabling VMQ rather than TOE is the wrong priority. 2. Request: Move the *InterruptModeration parameter from the bus driver to the miniport. Version 6.0.7 (Feb 26, 2010) ============================ Bug Fixes: ---------- 1. Problem: Checked build driver would assert in queue clean-up code path under stress test. Fix: Change the driver to update the some queue variables before completing clear filter request from the OS. Impact: No. This is newly introduced. Enhancements: ------------- 1. Request: CQ#46114 Add BRCM57712 PNP IDs to INF. 2. Request: cq#46205 Add the instance number to the adapter description string in the eventviewer. 3. Request: cq#45419 Add "Auto" as an option in the *MaxRssProcessors, *TransmitBuffers, and *ReceiveBuffers configuration. Version 6.0.6 (Feb 21, 2010) ============================ Bug Fixes: ---------- 1. Problem: CQ#45684 Checked build driver assert on uni-proc system. Fix: Disable RSS and VMQ if system only has one CPU core. Impact: None. Enhancements: ------------- 1. Request: Change friendly name of certain BRCM57712 device IDs in INF. Change: As Requested. Impact: None. 2. Request: CQ#45775 - Request to remove TCP Offload configuration in Vista OS driver. Change: As requested. Impact: None. Version 6.0.5 (Feb 16, 2010) ============================ Bug fix: -------- 1. Problem: A bug is introduced in the send path that would cause excessive thread scheduling. Fix: Initialize the send loop counter correctly. 2. Request: Some default value such as flow control may not be initialized correctly. Fix: Re-arrange the registry key read such that key initial values are initialized correctly. Enhancements: ------------- 1. Request: Add additional BRCM57712 device IDs to INF. Change: As Requested. Impact: None. Version 6.0.4 (Jan 27, 2010) ============================ Bug fix: -------- 1. Problem: Put a workaround for bring-up. Enhancements: ------------- 1. Request: Add additional BRCM57712 device IDs to INF. Change: As Requested. Impact: None. Version 6.0.3 (Jan 25, 2010) ============================ Enhancements: ------------- 1. Request: Add BRCM57711/BRCM57712 PNP IDs to INF. Change: As Requested. Impact: None. Bug fix: -------- 1. Problem: L2 tx packets hash value may not be correctly initialized. Fix: Initialize the hash value for tx packets. Version 6.0.2 (Jan 21, 2010) ============================= Bug fixes: ---------- 1. Problem: Driver may mistakenly operate on a txq that has not been allocated in negative test scenario in NDIStest. Fix: Resolved a problem introduced in v6.0.1. 2. Problem: Driver does not load on w2k8. Fix: In v6.0.1, the memory allocation scheme was changed. Further change is made to be fully compatible with w2k8. Enhancement: ------------ 1. Request: CQ#45325 update copyright year to 2010. 2. Request: Removed unnecessary registry read. Version 6.0.1 (Jan 14, 2010) ============================= Bug fix: -------- 1. Problem: CQ#45257 - Assert in return NBL code path. Fix: This is introduced in the new code path for VMQ support. Changed the driver to correctly handle returning NBLs from different qidx for default queue. 2. Problem: VM packets may be transmitted on default queue. Fix: Changed the driver to select the correct send queue to transmit packets. Enhancements: 1. Requirement: Give more time for 10G devices to create default queue. 2. Requirement: Added hidden driver registry keys for troubleshooting. 3. Requirement: Improve the shared memory allocation routine. Version 6.0.0.0 (Jan 04, 2010) ============================= Bug fix: -------- 1. Problem: WLK 1.5 ChimneyOffload Sparta t30 failure for handling TTL of 0. Fix: Per discussion with MS, we our driver will do the following: 1. Fail the tcp update if driver detects the TTL is 0 so stack will upload the connection. 2. Fail the offload request upon detecting that the TTL is 0. Enhancements: ------------- 1. Request: Add 57712 and 57712E support. 2. Request: cq#42784 Add (flow control) "auto" option to advanced driver properties for boards that do not support auto negotiation 3. Request: CQ#41834 Added to the speed & duplex setting on boards A1023 and A1123G the options 1G forced and 10G forced. 4. Request: Integrated t5.2 and t5.0 bug fixes. 5. Request: Implemented Hype-V VMQ supports. Version 5.2.2.0 (xx xx, 2009) ============================= Bug fix: -------- 1. Problem: CQ41914 BSOD is seen passing any type of traffic to NX2/Everest device with NAV SEP installed. Fix: Ndis Miniport driver should attempt to parse the tcp_hdr_offset during LSO processing if the host applications didn't set the value in the corresponding OOB field. Enhancement: ----------- 1. Request: CQ#43091 Add 57711 support. Version 5.2.1.0 (Jul 30, 2009) ============================= Bug fix: -------- 1. Problem: CQ42876 Unable to get connections offloaded after enabling TOE chimney in Win7x64 b7229. Fix: Ndis miniport should use NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_PARAMETERS_REVISION_1 instead of sizeof(NDIS_TCP_CONNECTION_OFFLOAD_PARAMETERS) when build with DDK 7202.0.0. Enhancement: ----------- 1. Request: Use the Win7 RTM WDK 7600 to build the driver. Version 5.2.0.0 (Jul 29, 2009) ============================= Enhancement: ----------- 1. Request: Allowed RSS indirection table pass thru to bus driver unmodified. Version 5.0.12C (Jul 21, 2009) ============================= Enhancement: ----------- 1. Request: CQ#42233 Add 57711 support. Version 5.0.12B (Jul 16, 2009) ============================== Enhancement: ----------- 1. Request: CQ#42618 Add proc_num_to_txq to registry key. 2. Request: CQ#42605 Missing Transmit Buffers parameter on some devices. Version 5.0.12 (Jun 22, 2009) ============================= Enhancement: ----------- 1. Request: CQ#41931 Add 57711E support. Change: As Requested. Impact: None. 2. Request: CQ#41931 Default RSS to off for certain OEM platforms. Change: As Requested. Impact: None. Version 5.0.11 (Jun 10, 2009) ============================= Bug fix: -------- 1. Problem: Partial rx request was observed in 2nd post. Cause: In NDIS, we need to check for RX_TYPE for tcp buffer post, we were counting TX buffer post by mistake. Version 5.0.10 (Jun 04, 2009) ============================= Bug fix: -------- 1. Problem: Checked driver hit an assert in bxnd60a!determine_fragment_size_from_nb+0xea during a bi-dir sockdie stress test. Cause: The assert checks to make sure that the fragment size does not exceed the maximum value which is 60k. In this case the value does exceed the maximum due to a buf in determine_fragment_size_from_mdl. Version 5.0.9 (Jun 03, 2009) =========================== Bug fix: -------- 1. Problem: CQ#41131 - 2c_recvmulticast failure on WLK 1.4 Fix: Modified the miniport driver to clear multicast address list upon receiving null input. 2. Problem: cq#40766 Data transfer error could occur when a receive request consisting of long MDL chain is submitted to an offloaded connection. Cause: This problem occurs because of the long MDL chain and a bug in the operating system. These two issues causes the OS to use bounce buffers in the call to obtain the scatter gather list. As a result some incoming data are copied by the driver to the original application buffer while the chip DMA's other portion of the data directly to the bounce buffer. Fix: Added a workaround to shorten the MDL chain so that the operating system is prevented from using bounce buffers. Version 5.0.8 (Jun 1, 2009) =========================== Bug fix: -------- 1. Problem: CQ41622 Windows7x64 7127: SUT Encounters BSOD (0xD1) for Break at bxvbda!copy_gen_bufs+b1, under Bi-Directional SockdieStress Test Scenario Problem: CQ41620 - Windows7x64 Build 7127: Running Bi-Directional SockdieStress against Xinan Results in Breaks at bxvbda!indicate_rx_comp+70 Fix: Only partially filled rx request if it's a first post. Enhancement: ----------- 1. Request: CQ#41527 Remove speed/duplex configurable property through the MSFT UI for certain OEM platforms. 2. Request: CQ#40792 Remove Flow Control in Advance Property Tab for certain OEM platforms. Version 5.0.7 (May 20, 2009) =========================== Bug fix: -------- 1. Problem: (CQ37376,38375,41225,41226,41242) Win7 WOL doesn't work for both magic and pattern wake up. Fix: Implemented new PM interface for ndis6.20. 2. Problem: CQ41377 Some advanced settings to configure the driver parameters cannot be applied correctly. Fix: Change the step size for affected parameter to 1. Enhancement: ----------- 1. Request: CQ40051 Remove RSS setting for win2k3 ia64. Fix: As request. 2. Request: CQ41254 Add OEM 4 part ID support Fix: As request. Version 5.0.6 (May 20, 2009) ============================ Enhancement: ------------ 1. Request: CQ#41254 Add 57711 support. Change: As Requested. Impact: None. 2. Partial fill buffer support (CQ40989) (require corresponding changes in VBD and RV2P FW) Version 5.0.5 (May 13, 2009) ============================ Enhancement: ------------ 1. Changed to use ddk7100 to compile the driver. Bug fixes: ---------- 1. Problem: RSS V2 (ndis6.20) test may fail. Cause: The driver is using the RSS capabilities version define from older DDK which is inconsistent with the current OS implementation. Fix: Use the correct rss capabilities version define in Win7 RC ddk 7100. Version 5.0.4 (May 07, 2009) ============================ 1. Problem: cq#40454 RSS performance is worse than T4.6 driver on Win7. Cause: RSS v2 indirection table was not progress correctly. As a result all receive traffic are routed to the default queue. Fix: The indirection table is changed in RSS v2 to an array of PROCESSOR_NUMBER which is different than v1. In v1, the indirection table is an array of processor number. Version 5.0.3 (Apr 24, 2009) ============================ Bug fixes: ---------- 1. Problem: CQ#40752 BSOD occurs after loading NDIS driver 5.0.2. Cause: On some systems, the ndis driver doesn't configure txq correctly. Fix: Changed the driver to configure the txq correctly. Enhancements: ------------- 1. Request: Add 57711e support. Version 5.0.2 (Apr 21, 2009) ============================ Enhancements: ------------- 1. Request: CQ#40225, CQ#40226, CQ#40380 Add BRCM57711 PNP IDs to INF. Change: As Requested. Impact: None. Bug fixes: ---------- 1. Problem: CQ#37422 Assigned LAA does not get saved from Advanced Properties Fix: Changed the coinstaller to handle parameter change correctly. Version 5.0.1 (Apr 06, 2009) ============================ Enhancements: ------------- 1. Request: CQ#39765 Add OEM PNP IDs to INF Change: As Requested. Impact: None. 2. CQ#40371 change DUP version to 14.1.0 Bug fixes: ---------- 1. CQ#39935, CQ# 39849 Running Bi-Directional Sockdie Stress Results in Break at bxvbdx!post_dummy_buffers+0x8b or bxvbdx!copy_gen_bufs+0x2c4, when Running Combined Chariot/Sockdie Test Scenario Cause: On x86 systems, all PTE can be used up causing driver unable to copy generic buffer to application posted buffer. Fix: Change the driver to use special PTEs to handle the low PTE conditions. Version 5.0.0 (Mar 24, 2009) ============================ Fixes: ------ 1. Problem: cq#39809 Hardware IPv4 and IPv6 TOE capabilities are not correct. Cause: Hardware IPv4 and IPv6 TOE capabilities are reported back to Ndis as the current offload capabilities. 2. Problem: The driver reported 1Gb maximum link speed for Nx2 10Gb devices. Enhancements: ------------- 1. Request: CQ#39255-Initial RSS V2 support 2. CQ#39526 add min/max/default option for Tx + Rx buffers Version 4.8.5b (Feb 07, 2009) ============================ Enhancements: ------------- 1. Request: CQ#39496-Remove support for certain 4-part IDs. Version 4.8.5a (Feb 03, 2009) ============================ Enhancements: ------------- 1. Request: CQ#39448-Remove support for certain 4-part IDs. Version 4.8.5 (Jan 28, 2009) ============================ Fixes: ------ 1. Problem: BCM5716 devices have "Allow this device to wake the computer" check box grayed out. Cause: The driver is disabling WOL thinking that it was installed using Win7 basic inf. Fix: Took out the Win7 basic inf detection since Microsoft has moved away from basic and advanced inf requirement. 2. Problem: cq#37440, cq#39261 Checked driver asserts in l4nd_disconnect_done while running bi-directional sockdie test suite. Cause: The graceful disconnect request could be pended in the miniport until all tx buffers are posted to the vbd. While it is pending, the stack could submit an abortive request and this could cause the abortive request to be submitted to the vbd first. What we need to do is to complete the disconnect request with status aborted before submitting the abortive request. Enhancements: ------------- 1. Increase default number of TX/RX descriptors to improve performance on some test configurations. Version 4.8.4a (Jan 15, 2009) ============================ Enhancements: ------------- 1. Request: CQ#39231 Add OEM PNP IDs to INF Change: As Requested. Impact: None. Version 4.8.4 (Dec 23, 2008) ============================ Fixes: ------ 1. Problem: bcm57710/57711 failed NDIStester Offloadstress test with BSOD on IA64 systems. Cause: Some 57710/57711 specific routines does not handle data alignment correctly. Version 4.8.3 (Dec 5, 2008) =========================== Fixes: ------ 1. Problem: cq#38879 Check driver may assert in abort_queued_tcp_bufs while running sockdie stress. Cause: The transmit buffer list modification was not protected by a lock during connection reset or upload. This leads to inconsistency in the list. Enhancements: ------------- 1. Request: CQ38619 - Remove BCM957711T0191/BCM957711T0192 from INF Change: As Requested. Impact: None. Version 4.8.2 (Dec 3, 2008) =========================== Fixes: ------ 1. Problem: cq#38449 BSOD on certain blade when running Load/Unload on the 5706s LOM. Cause: When drop_vlan_pkt feature is enabled, the ndis may not return all the packet buffers back to VBD after rx indication. This will cause memory leak and un-predictable behavior. Fix: Driver will properly return all the buffers back to vbd driver. 2. Problem: cq#38608, #38646, #38643, #38608 Checked driver assert during sockdie stress when a connection gets uploaded. Cause: Receive buffer list becomes inconsistent when a connection gets uploaded. This is due to a locking issue where list modification in the submit_rx_tcp_buf routine was not protected by a lock. Enhancements: ------------- 1. Request: Add BCM957711T0191/BCM957711T0192 to INF Change: As Requested. Impact: None. 2. Request: cq#38534 Remove the assert that occurs when the driver is unable to get the buffer address from a MDL. This could happen when the system is running out of resource. Version 4.8.1 (Nov 19, 2008) ============================ Fixes: ------ 1. Problem: cq#38384 This may break in um_disconnect_tcp routine during a stress test. Cause: The bus driver could complete a disconnect request by calling l4nd_disconnect_tcp_done before the call to disconnect_tcp has returned. The break could occur because after returning from disconnect_tcp, the request structure is referenced which could have been freed in the l4nd_disconnect_tcp_done_routine. Fix: The driver cannot reference the disconnect request structure after returning from disconnect_tcp. 2. Problem: cq#38465 Running offloadstress could cause the checked driver to break in um_del_tcp_state. Cause: When an offload request fails due to low memory resource, the tcp_buf structure allocated for send unacked buffers are not released during unwinding. 3. Problem: cq#38520 Checked driver may assert in l4nd_indicate_tcp_rx_buf. Cause: The stack does not initialize bytes_accepted during buffered data indication when the buffer is not accepted and when it is running out of memory. Otherwise the return value for bytes_accepted is initialized to zero. 4. Problem: cq#38562 Running bi-directional sockdie stress may cause a break in um_del_tcp_state. Cause: When a connection gets uploaded, the tcp_bufs that are mapped but have not been submitted to the bus driver are not freed. Enhancements: ------------- 1. Add support for BCM5716S. Version 4.8.0 (Oct 29, 2008) ============================ Enhancements: ------------- 1. Request: Added 57711/57711E devices to INF. Change: As Requested. Impact: None. 2. Request: Enabled TOE for 57711/57711E devices in INF. Change: As Requested. Impact: None. 3. Request: cq#38197 Added TOE enable/disable configuration in the advanced property page. Version 4.6.14 (Oct 16, 2008) ============================= Enhancements: ------------- 1. CQ#37969 - Update inf parameters to disable TOE on certain devices. Version 4.6.13 (Oct 13, 2008) ============================= Enhancements: ------------- 1. CQ#37703 - Set the default value for "drop_vlan_packet" based on PCI device id. 2. CQ#37160 - Remove redundant devices from INF. Change: As Requested. Impact: None. 3. CQ#37418 - Added "Speed/Duplex" registry with no option for a vendor's SERDES devices. Version 4.6.12 (Oct 2, 2008) ============================ Fixes: ------ 1. Problem: CQ#37440 Checked driver asserts in l4nd_disconnect_done while running bi-directional sockdie test suite. Cause: The graceful disconnect request could be pended in the miniport until all tx buffers are posted to the vbd. While it is pending, the stack could submit an abortive request and this could cause the abortive request to be submitted to the vbd first. What we need to do is to complete the disconnect request with status aborted before submitting the abortive request. 2. Problem: CQ#37557 Driver asserts in get_interface routine when running BACS diagnostic. Cause: The bus driver could fail the interface query request during BACS diagnostic. Fix: Remove the assert. 3. Problem: CQ#37669 Unable to Load NDIS Client Driver in Rel T4.6. Cause: Broken line in .inf file. Fix: Fixed the broken line. Enhancements: ------------- 1. Added BCM957711A1111G to inf Version 4.6.11 (Sept 17, 2008) ============================== Fixes: ------ 1. Problem: CQ#37221 Ndistest 2c_mini6rsssendrecv.wsf script is failing. Cause: The recent performance enhancement was not done correctly. As a the NetBufferListHashInfo field of the OOB data was not initialized properly. 2. Problem: CQ#37397, CQ#36797 Unable to disable the driver after running offloadstress or sockdie stress in TOE mode. Cause: Transmit reference counting does not take the catch-up packets into account. This problem was recently introduced when global tx packets reference counting was removed. Enhancements: 1. cq#37256 - Default the INF file to enable Priority/VLAN. Version 4.6.10 (Sept 3, 2008) ============================= Fixes: ------ 1. Problem: CQ#37116 During hibernation, the driver could crash in everest_tx_init_cksum. Cause: This may be a bug in Ndis because coming out of hibernation, Ndis does not issue OID_OFFLOAD_ENCAPSULATION to enable offloads since the driver gets reloaded. The everest_tx_init_cksum routine depends on information from OID_OFFLAD_ENCAPSULATION to parse transmit packets. Fix: On driver load, the driver initializes the default values that are needed by evrest_tx_init_cksum. 2. Problem: CQ#35076 The miniport could submit a graceful disconnect request to the bus driver followed by additional transmit buffer post. Once disconnect request is submitted, no addition transmit buffer post is allowed. Cause: Transmit buffers could pend in the miniport due to resource constraint. In this situation, the disconnect request could get ahead of the buffer post. Fix: Delay the disconnect request until the transmit queue is empty. Version 4.6.9 (Aug 19, 2008) ============================ Fixes: ------ 1. Problem: CQ#36953 Running sockdie stress causes a break in UM_SendNbl. Cause: The driver uses a mask derived from the rss indirection table size to compute the index into the indirection table. RSS may not be enabled by the operating system and the table size is 0. As a result the mask value is incorrect. Version 4.6.8 (Aug 18, 2008) ============================ Fixes: ------ 1. Problem: CQ#36891 Checked driver asserts during chariot/sockdie stress test. Cause: The miniport no longer waits for reference count to go zero before unbinding from the bus driver. To ensure that all indications (L2 and L4) are returned back to the driver, a small delay is added before unbinding. Enhancements: ------------- 1. Add "drop_vlan_packet" registry configuration for dropping vlan packets when vlan is not enabled in the advanced property page. 2. Use RSS indirection table to map a transmit packet to a TSS queue. Version 4.6.7 (Aug 13, 2008) ============================ Fixes: ------ 1. Problem: CQ#36609 Wrong line speed value was indicated toward NDIS. Cause: Wrong 64 bit arithmetic caused error speed value to be calculate. Fix: Apply correct 64 bit casting. 2. Problem: Missing Mandatory OID's in BCM57711E in specific mode: OID_802_3_RCV_ERROR_ALIGNMENT, OID_802_3_XMIT_ONE_COLLISION, OID_802_3_XMIT_MORE_COLLISIONS Fix: Added missing support for the specific mode. 3. Problem: CQ#36724, #36728 Running chariot and disabling/enabling the driver causes a system crash. Cause: There are two problems related to the "pre_allocate_ndis_pkts" performance enhancement. 1) There is only one pre-allocated NetBufferList use for indicating packets with status resources. Multiple indications on different processors could map to the same receive queue. This could lead to NetBufferList corruption because it is being referenced by multiple processors. 2) The miniport_reserved field in l2packet_t structure does not reset to NULL when the miniport unbinds. This will prevent the miniport from restarting the association between NetBufferList to receive buffer. Fix: The fix for problem #1 is to allocate the NetBufferList that will be used to indicate with status resources from the NetBufferList pool. After the indication, the NetBufferList is freed back to the pool. the fix for problem #2 is to have the VBD re-initialize the miniport_reserved field in l2packet_t to NULL whenever the miniport unbinds. Version 4.6.6 (Jul 29, 2008) ============================ Enhancements: ------------- 1. BCM57711E CQ#36518 - Added support for additional devices in the inf file for driver submission. 2. Remove reference counting of receive packets. 3. Add TSS hashing. 4. Increase the number of transmit descriptors for 10Gb devices. 5. Eliminate allocating and freeing of NetBufferLists on every indication by associating a NetBufferList to a receive buffer once. Version 4.6.5 (Jun 23, 2008) ============================ Enhancements: ------------- 1. BCM57710 CQ#35973 - Add support for additional devices in the inf file. Version 4.6.4 (June 3, 2008) ============================ Enhancements: ------------- 1. BCM57711 - Add support for sequential speed values. 2. Fixed BCM957710A1021G SSID to 1f14 3. CQ#35563 - Add support for BCM5716. 4. BCM57710 - Add support for additional devices in the inf file. Version 4.6.3 (May 20, 2008) ============================ Enhancements: ------------- 1. Remove the INF defaults for disabling all the advanced feature in the basic INF file. The defaults are moved to the driver. 2. Default flow control to disabled in the advanced feature inf file. Version 4.6.2 (May 19, 2008) ============================ Fixes: ------ 1. Problem: CQ#35383 The system reports link status as not connected after enabling the device. Cause: Windows 7 does not query the initial link status. Fix: Modified the driver to indicate the initial link status. Version 4.6.1 (May 13, 2008) ============================ Enhancements: ------------- 1. BCM5771x - Remove "disable_toe" section for all OEM's folders. 2. CQ#34647 - Disable link status logging during driver initialization and only log the current link status after initialization completes. 3. Include bxndco v4.6.0. 4. Embed digital signature. bxndco v4.6.0 ============= 1. Problem: cq#35007 When the VBD is in a paging path, changing its parameter in the Ndis miniport's advanced property page does not cause the device manager to prompt for a reboot. Cause: The Ndis miniport's co-installer will restart the VBD whenever its parameter is changed in the advanced property page. In the case when it is in a paging path, the restart should fail and the device manage should display a message saying the change will take effect after a reboot. It appears that for a system class device, this message is not shown. Fix: This workaround is to force a restart on the Ndis device and to force the Ndis class installer to display the message. Version 4.6.0 (Apr 20, 2008) ============================ Fixes: ------ 1. Problem: CQ#34078 The device may not be able to get an IPv6 address from the DHCP server. Cause: The miniport is not setting the flag "NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE" in the NDIS_MINIPORT_ADAPTER_ATTRIBUTES structure. 2. Problem: CQ#34844 The flow control option for "Tx Enabled" and "Rx Enabled" are reversed. Fix: Swapped the values for "Tx Enabled" and "Rx Enabled". 3. Problem: Running offloadstress test could cause the driver to assert because it cannot allocate system. Cause: A memory leak occurs when an offload request for a connection with send_unack data or buffered data fails to offload successful. Enhancements: 1. BCM57710 CQ#34565 - Add support for additional devices in the inf file. 2. Add support for Win7. Version 4.4.7 (Mar 27, 2008) ============================ Fixes: ------ 1. Problem: BCM57710 CQ#34432 Remove non-existing adapter from OEM INF Fix: Wrong adapter removed. 2. Problem: BCM57710 CQ#34439 Reference to OEM's device in INF is incorrect. Fix: Fixed the Reference. 3. Problem: For BCM57710 "Ipv6 checksum offload" and "IPv6 Large Send offload" didn't appear in the advanced properties. Fix: Add support for these features for all BCM57710 board types in the inf file. Enhancements: ------------- 1. BCM57710 CQ#34436 - Add support for additional devices in the inf file. Version 4.4.6 (Mar 19, 2008) ============================ Fixes: ------ 1. Problem: When building ipv6 header for catch up packet, the payload len and the next header field are wrong. This cause ipv6 packet catch up to fail. Fix: Make sure to set next header field to 0x6 for tcp and subtract ipv6 header len when calculate payload len field. Enhancements: 1. CQ#33976 - Log a message to the eventviewer when the driver fails initialization because it cannot allocate memory. 2. Include bxndco.dll v4.4.1. 3. BCM57711/BCM57711E Statistics Changes with NDIS miniport interface - Added support for new L2_IOC - L2_IOC_GET_HW_INFO - Support partial statisitcs in if working in a specific mode 4. CQ#33989 - Change the following flow control strings in the INF file. - "Rx Pause" to "Tx Enabled". - "Tx Pause" to "Rx Enabled". - "Rx/Tx Pause" to "Rx & Tx Enabled". 5. CQ#34208 - Add support for additional devices in the inf file. 6. BCM57710 INF changes: 1. inf BCM957710T1001 to support only 1GB/10GB (instead all speeds) 2. inf BCM957711 (164f) to support all speeds 3. inf BCM957711E (1650) to support all speeds 4. inf BCM957710A1021G added 5. inf BCM957710A1030G added 6. inf BCM957710A1032G added 7. inf BCM957710A1015G (1115) added 8. Removed "OEM only" boards from Broadcom .INF Version 4.4.5 (Mar 6, 2008) =========================== Fixes: ------ 1. Problem: The driver is still reading an obsoleted "enable_vlan" registry parameter. 2. Problem: CQ33901 On LH64 and LH32, when IPv4 Checksum Offload is set to "None" on the 5709 adapter, TCP/IPv6 traffic does not run on the adapter. However, TCP/IPv4 traffic does. Fix: Prior to calling tx_init_cksum, the driver needs to not only check for ipv4 chksum offload capability but also needs to check for ipv6 chksum offload capability. 2. Problem: CQ#34098 Checked VBD driver asserts in comp_partial_rx_post when running sockdie test suite. Cause: The assert occurs because the bus driver is trying to abort all buffer posts but the entire application buffer has not been completely submitted. Fix: Changed the buffer posting logic to only submit the entire application buffer to the bus driver. Enhancements: 1. CQ#33989 - Per customer request, remove flow control "auto" configuration and set the default to "Rx/Tx PAUSE". Version 4.4.4 (Feb 28, 2008) ============================ Fixes: ------ 1. Problem: BCM57710 CQ#33801 NDISTest 6.5 AddressChange test script fails on A1022G Board. Fix: Reduce time before link up indication. Add Registry key to control the time value. Enhancements: 1. Changed BCM57710 164e14e4&subsys_171c103c to support Auto negotiation, 10G and 1G in "brcm" branding. 2. Removed the assert in UM_InitiateOffload if the request was received when the driver state is not RUNNING. 3. Allowed terminate offload request to go through even when the driver state is not RUNNING. 4. CQ33986: BCM57710 - Enable L4 for W2K3 and W2K8 5. Added support for BCM57711 and BCM57711E Version 4.4.2 (Feb 8, 2008) =========================== Fixes: ------ 1. Problem: CQ#33546 RSS configuration is missing in the advanced property page for BCM5709. Cause: The configuration was mistakenly taken out in the previous release. 2. Problem: CQ#33674 When priority and vlan setting is set to "priority" only, vlan tagging is still possible. Cause: The vlan was set when vlan was disable. Enhancements: 1. CQ#33771 - Limit VLAN ID to 4094. Version 4.4.1 (Jan 21, 2008) ============================ Enhancements: 1. Default RSS to enabled for BCM5709. 2. CQ#33516 - Enable "disable_toe" section for all versions of the INF files. Co-installer v4.4.0 =================== 1. CQ#32717/#33070 - Removed "GigE" from the product/file name. Version 4.4.0 (Jan 18, 2008) ============================ Enhancements: 1. Enable TOE support on Ndis6 for BCM5706/08/09. 2. Default RSS to enabled for BCM5709. Version 4.2.0 (Jan 16, 2008) ============================ Enhancements: 1. Add back the support for BCM57710 devices. Version 4.1.3 (Jan 10, 2008) ============================ Fixes: ------ 1. Problem: CQ#33274 BCM57710 Speed duplex should display "10G Auto" instead of "Auto". Fix: Fixed display string. Enhancements: 1. cq#33366 - Only include BCM5706/08/09 devices in this released. 2. Disable TOE on all devices for now. 3. Default RSS to disabled on BCM5709. Version 4.1.2 (Jan 3, 2008) =========================== Fixes: ------ 1. Fix: CQ#33244 Changed "Windows Server 2003" to "Windows Server 2008" in the INF file. Enhancements: 1. CQ#32227 - Enable TOE on BCM5706/08/09. Version 4.1.1 (Jan 2, 2008) =========================== Fixes: ------ 1. Problem: cq#30135 The WHQL test offloadchecksum passed the first time it was run but failed the second time it was run on BCM57710 device . Cause: In a certain function that checks if BCM57710 device can support llc-snap, a wrong value was stored in the global mtu parameter. This caused the miniport to declare that it supports mtu which was larger than it should and therefore packets were dropped on the other side. This function is called after the test has already queried what the mtu is, therefore, the test only failed the second time and not the first time. Fix: The driver stores the mtu correctly. 2. Typo in BCM57710 devices for Windows 2008. Enhancements: 1. BCM57710 devices CQ#32730 limit speed/duplex setting to 10Gbps for NIC's using Solarflare PHY change auto string to "10G Auto" Version 4.1.0 (Dec 19, 2007) ============================ Enhancements: 1. Add support for additional BCM57710 devices. 2. Add support for 16 RSS queues. 3. cq#32068 - Advertise support for NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB. Version 4.0.23 (Dec 5, 2007) ============================ Fixes: ------ 1. Problem: The driver may not properly enable Chimney when processing the OID_TCP_CONNECTION_OFFLOAD_PARAMETERS. Enhancements: 1. CQ#32717 - Removed "GigE" from the product name. Version 4.0.22 (Nov 28, 2007) ============================= Enhancements: 1. Added support for clearing the MMA list. 2. Removed "enable_chimney" registry keyword and added support for "*TCPConnectionOffloadIPv4" and "*TCPConnectionOffloadIPv6" standardized inf keywords. Version 4.0.21 (Nov 23, 2007) ============================= Enhancements: 1. Disable TSS by default as it could cause the stack/driver to put packets on the wire belonging to the same TCP stream out of order. 2. Enable TOE on BCM5709 devices. 3. Changed product version to 12.0. 4. Enable IPv4 RSS on BCM5709 devices. Version 4.0.20 (Nov 8, 2007) ============================ Enhancements: 1. Change version number to v4.0.20. Version 4.0.0 (Nov 8, 2007) =========================== Fixes: ------ 1. Problem: CQ#31141 No link in S1, S3, & S4 when set WakeUP capabilities to Magic Packet on 5708c B2 NIC Cause: Vista will not enable any wol if wol_cap is changed from "both" to "magic packet" when going to sleep. Fix: Workaround it by enabling wol for magic packet. Enhancements: 1. Add support for BCM57710 devices. 2. Disable TOE by default. Version 3.7.19 (Oct 4, 2007) ============================ Enhancements: ------------- 1. Sync up the VBD version number. 2. Add "max_toe_conn" registry parameter. Version 3.7.15 (Sept 7, 2007) ============================= Enhancements: ------------- 1. Remove BCM57710 device from the INF file. Version 3.7.14 (Aug 28, 2007) ============================= Fixes: ------ 1. Problem: CQ#31141 BCM5706S and BCM5708S cannot obtain link in a blade environment. Cause: The default speed/duplex setting is set to "auto" which means the device will only do auto negotiation to get link. In some blade environment the switch is set for 1Gb forced mode. Fix: The inf file needs to change the default speed/duplex to "Hardware Default" for BCM5706S and BCM5708S. This will tell the driver to pick up the link configuration from the nvram. Enhancements: ------------- 1. Request: CQ#31082 Default to chimney disabled for a BCM5709 device. Version 3.7.11 (Aug 10, 2007) ============================= Fixes: ------ 1. Problem: The driver needs to set TcpConnectionOffloadHardwareCapabilities and DefaultTcpConnectionOffloadConfiguration to NULL if it does not want to advertise TOE capabilities. Version 3.7.10 (July 31, 2007) ============================== Enhancements: ------------- 1. Request: CQ#29991 Add link configuration option for 1Gb Full Duplex auto negotiation. Co-installer v3.7.2 =================== Fixes: ------ 1. Problem: CQ#30540, #30208 The bus driver gets a yellow bang after changing the speed/duplex parameter a few times. Cause: This seems to be a timing related issue with Vista and Longhorn, since the same code works fine on Windows 2000 to Windows 2003. When the link setting is changed, the vbd is restarted by the Ndis co-installer. This process will also restart the Ndis miniport. For some reason, the device manager thinks the vbd is not unloaded even though it sends a remove device irp to the vbd. From the vbd's perspective it is unloaded. When the device manager tries to restart the vbd, it fails because it thinks the device is already loaded. The call to CM_Get_DevNode_Status returns CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD. Fix: Added a workaround in the co-installer to force enabling of vbd. Co-installer v3.7.1 =================== Enhancements: ------------- 1. CQ#29570 - Add support for migrating the link settings "req_medium" in T3.0 drivers to the link setting "*SpeedDuplex" during driver update. 2. CQ#14493 - Create VBD friendly name with instance number that is the same as the its Miniport friendly name instance number. 3. CQ#30509 - Change "Flow Control" to "Chassis SW Flow Control" and "Speed & Duplex" to "Chassis SW Speed & Duplex" when remote phy is enabled. Version 3.7.6 (July 2, 2007) ============================ Fixes: ------ 1. Problem: CQ#30143 The bus driver does not return a status code indicating a pattern is already present and the Miniport does not report back the correct status as expected by NdisTest v6.5. Fix: If the pattern is already present the bus driver will return LM_STATUS_EXISTING_OBJECT and Ndis miniport will return NDIS_STATUS_INVALID_DATA. 2. Problem: CQ#30119 Running sockdie -maxtput for an extended period causes the driver to hit the following assert. ( um_ofld.c, 2040): PANIC!!! if(tcp_state->invalidate_block_list) Cause: The stack was issuing an invalidate request on a neighbor state and while the request was still pending, it issued another invalidate request on the path state that was a dependent of the neighbor state. The driver was not expecting this scenario. Fix: The driver will complete the second invalid request synchronously. Version 3.7.4 (June 11, 2007) ============================= Fixes: ------ 1. Problem: CQ#29803 Running netperf for flow control test causes a crash when the iSCSI stack is enabled. Cause: When there are traffic flowing between the client devices (in this case the Ndis and iSCSI devices), the bus driver makes a call to the client device's copy_packet_buf routine to double copy a transmit buffer that is destined to the other device. There is a bug in the Ndis miniport's copy_packet_buf where it cannot copy from a NetBuffer if the NetBufferList is not in the packet structure. This situation could occur if the NetBufferList has multiple NetBuffers. Fix: There is no need to reference the NetBufferList when locating the buffer to copy. The buffer to copy is contained in the NetBuffer so use only use the NetBuffer to determine the location for copying. 2. Problem: CQ#29846 Running offloadstress with TOE enabling/disable TOE in the background causes the check driver to assert. PANIC!!! if(tcp_state->update_block_list) Cause: The driver will not issue an update request to the VBD if there is a dependent state that has not complete the offload. When this occurs, the update OffloadBlockList is saved in the dependent state for processing later when the offload completes. The assert is in place to ensure the stack does not issue an update request while there is one pending. This break occurs because the update was prematurely completed without and the update_block_list was never resent to NULL. Enhancements: ------------- 1. Request: CQ#29333 Add VlanID configuration in the driver property page. 2. Request: Include v3.7.0 co-installer. Version 3.7.2 (May 30, 2007) ============================ Fixes: ------ 1. Problem: CQ#29364, #29391 System may crash if the driver is disable while there is a connection offloaded. Cause: If there is a TCP or path upload in progress and the neighbor state is being invalidated or updated, the invalidate or update request will never be completed by the driver. This will cause the stack to eventually crash. 2. Problem: CQ#29692 Speed/Duplex setting appears twice in UI after a driver upgrade from T3.0 to T3.4. Cause: The old speed/duplex setting "req_medium" was changed to "*SpeedDuplex" in T3.4 driver, but the old registry key under ndi\params\req_medium was not removed. 3. Problem: CQ#29734 "1gb Full Duplex Auto" speed/duplex option is not present. Cause. This option was removed because Microsoft standardized INF keyword does not have an equivalent configuration. Fix: Added a new custom value for this option. 4. Problem: CQ#29572 5708s: "Hardware Default" and "Auto With 1Gb Fallback Full" should not be in the Speed & Duplex parameter Fix: remove them if it is not 5706s. Version 3.7.1 (May 18, 2007) ============================ Fixes: ------ 1. Problem: CQ#29555 BACS shows an empty Speed/Duplex setting if the Speed/Duplex setting is set to "Hardware Default" or "Auto w/ 1Gb Fallback". Cause: The co-installer uses the routine _itoa to convert an integer value to a decimal string which is written to the registry. Because the integer value is large, the decimal string is a negative number which has the minus precedes the value. BACS is not able to parse a decimal string with a minus sign in front of it. Fix: Modify the co-installer to use the _ultoa routine instead of the _itoa routine. Version 3.7.0 (Arp 27, 2007) ============================ Enhancements: ------------- 1. Request: Add support for BCM57710. Version 3.4.3 (Apr 5, 2007) =========================== Enhancements: ------------- 1. Request: Enable Chimney by default. Version 3.4.2 (Mar 30, 2007) ============================ Enhancements: ------------- 1. Request: Disable Chimney by default. Version 3.4.1 (Mar 30, 2007) ============================ Fixes: ------ 1. Problem: CQ#28940 Flow control is set to "disabled" by default in the INF file. Fix: Changed flow control setting in the INF file to be enabled by default. Version 3.4.0 (Mar 26, 2007) ============================ Fixes: ------ 1. Problem: CQ#28282 When the device is configured to only advertise MagicPacket WOL capability (using BACS) and the "Only allow management station to bring the computer out of standby" checkbox is not selected, the device will not wake-up from a magic packet. Cause: The miniport is configured to only advertise MagicPacket WOL capability, but the OS enables MagicPacket and Wake-up Frame WOL when it goes to a low power state. The driver fails the request because it does not expect the OS to set the device for Wake-up Frame WOL. Fix: Added a workaround to ignore the Wake-up Frame WOL instead of failing the request. Enhancements: ------------- 1. Request: CQ#28488 Change product version to 10.4. 2. Request: CQ#26642 VLAN support with iSCSI boot. Version 3.1.7 (Mar 19, 2007) ============================ Fixes: ------ 1. Problem: The inf uses group checksum but the driver does not report group checksum capabilities. Cause: The driver does not set the NDIS_OFFLOAD_FLAGS_GROUP_CHECKSUM_CAPABILITIES flag when reporting checksum capabilities. Enhancements: ------------- 1. Remove "compatible = 1" from Ndis60 INF files. Version 3.1.6 (Mar 9, 2007) =========================== Enhancements: ------------- 1. Version sync-up with VBD v3.1.6. Version 3.1.5 (Mar 2, 2007) =========================== Enhancements: ------------- 1. Add support for BCM5709 IPv6 TCP/UDP checksum offload. 2. Add support for BCM5709 IPv6 LSO. Version 3.1.4 (Feb 14, 2007) ============================ Fixes: ------ 1. Problem: CQ#28480 Ndistest v6.0 2c_priority script does not pass. Cause: The driver ignores the priority field of the NDIS_PACKET_8021Q_INFO structure. Enhancements: ------------- 1. Request: CQ#27806 Add support for the following counters: unicast_bytes_rcvd, multicast_bytes_rcvd, broadcast_bytes_rcvd, unicast_bytes_xmit, multicast_bytes_xmit, broadcast_bytes_xmit. Version 3.1.3 (Feb 7, 2007) =========================== Fixes: ------ 1. Problem: CQ#28277 Low Chariot throughput when running the HTP script. Cause: The bus driver disables RSS support by default when it is running on BCM5709. However, the miniport always enables RSS support on a multi-processors system. This situation could lead the miniport to free transmit packet descriptors to the wrong queue, eventually depleting certain queue of descriptors. Fix: Disable RSS support on BCM5709 at the miniport level until it is implemented in the firmware. Version 3.1.2 (Feb 6, 2007) =========================== Enhancements: ------------- 1. Request: Add support for standardized INF keywords. Version 3.1.1 (Feb 1, 2007) =========================== Fixes: ------ 1. Problem: CQ#27960 Connection times out when running OffloadStress with toggling chimney enable/disable in the background. Cause: During the processing of a LSO NetBufferList, the driver initializes the LsoV1TransmitComplete.TcpPayload field which over writes the LsoV1Transmit.MSS field. These two fields are union members. The problem occurs if the driver fails to process the NetBufferList due to resource availability. When the resource is freed up, the next time the NetBufferList is processed again, an incorrect MSS value is used. The chip locks up if the MSS value is too big. Fix: Driver was changed to initialize the LsoV1TransmitComplete.TcpPayload field on completion of the NetBufferList. Version 3.1.0 (Jan 23, 2007) ============================ Enhancements: ------------- 1. Request: Add support for BCM5709. Version 3.0.5 (Dec 22, 2006) ============================ Enhancements: ------------- 1. Request: CQ#27950 Modify the INF file to create a "product_version" key. Version 3.0.0 (Nov 15, 2006) ============================ Fixes: ------ 1. Problem: CQ#26397 OID_GEN_RECEIVE_SCALE_PARAMETERS does not return the sized need if the input buffer is NULL. Cause: Incorrect status is returned on the query and the size needed is not filled in. 2. Problem: CQ#26782 BSOD with Driver Verifier when Low Resources Simulation is enabled. Cause: The driver needed to allocate memory for building L2 frame header of a forwarded TCP segment. The status of the memory allocation was not checked for failure. Version 2.9.3 (Aug 15, 2006) ============================ Fixes: ------ 1. Problem: CQ#23060 Webbench shows lower performance when TCP offload is enabled. Cause: During this particular Webbench test, connections are offloaded for only a brief period of time. As a result, overhead associated with connection offload is more apparent. Change: 1) Wherever possible, lookaside list is used for memory allocation. 2) Wherever possible, memory allocations are combined. Instead of allocating multiple small blocks, one big block is allocated. Enhancements: ------------- 1. Request: Use WDK Build 5498 Version 2.9.1 (Aug 8, 2006) =========================== Fixes: ------ 1. Problem: CQ#26244 A crash will occur after installing the driver on Windows 2003 x64. Cause: The crash occurs because the NPAGED_LOOKASIDE_LIST structure isn't 16-byte aligned on x64/ia64 system. Change: Ensure the start of the main device structure is 16-byte aligned. Version 2.9.0 (Aug 7, 2006) =========================== Fixes: ------ 1. Problem: CQ#21499 Unable to use devcon.exe to continuously enable/disable the bus driver. After one iteration, the bus driver cannot be disabled causing devcon.exe to hang. Cause: The call to the bus driver to send a packet could fail if the bus driver is in a state that prevents it from accepting new requests. The miniport ignores the failure and the packet is lost and will never be completed. The pending transmit request prevent windows from tearing down the device stack. Version 2.8.13 (July 7, 2006) ============================= Fixes: ------ 1. Problem: CQ#22831, CQ#22833 Changing the speed/duplex setting in the device property page does not take effect. Cause: This problem is the same as CQ#24630. Because of a co-installer bug, only the VBD properties are displayed. When the speed/duplex setting is changed, the new setting only gets applied to the VBD. The miniport configuration remains the same. Fix: Modified the build script to use the new co-installer. 2. Problem: CQ#25373 NdisTest v6.5.1 ConfigCheck script reported a warning. Cause: The ConfigCheck script detected the device reporting NdisPhysicalMediumUnspecified media type when it should be reporting NdisPhysicalMedium802_3. Fix: Made the change in the INF file. Enhancements: ------------- 1. Request: CQ#24764 Include additional devices in the INF file. Version 2.8.5 (May 3, 2006) =========================== Enhancements: ------------- 1. Version sync-up with VBD v2.8.5. Version 2.6.14 (Apr 14, 2006) ============================= Fixes: ------ 1. Problem: Crash when system is sitting idle. Cause: Synchronous indication of receive packets were not indicated with the flag NDIS_RECEIVE_FLAGS_RESOURCES. Change: Call to NdisMIndicateReceiveNetBufferLists now has the right flag set. 2. Problem: CQ#22587 System crashes running sockdie and iSCSI at the same time in a low memory environment. Cause: When the driver fails to allocate a NetBufferList, it free up memory that was never allocated. Change: Before freeing the memory, the driver needs to make sure the point is valid (not NULL). Enhancements: ------------- 1. Request: Include additional devices in the INF file. 2. Request: Use WDK Build 5365 Version 2.6.0 (Dec 21, 2005) ============================ Enhancements: ------------- 1. Request: Incorporate the changes made to bdrv_if.h. Version 2.5.21 (Dec 9, 2005) ============================ Enhancements: ------------- 1. Request: Synchronize with the Ndis5.2 driver version number. Version 2.5.19 (Nov 22, 2005) ============================= Enhancements: ------------- 1. Request: Add support for OID_GEN_DIRECTED_BYTES_RCV and OID_GEN_DIRECTED_BYTES_XMIT statistics query. Version 2.5.18 (Nov 7, 2005) ============================ Fixes: ------ 1. Problem: When cable is not attached during driver load, a crash could result from processing of OID_GEN_LINK_SPEED query. Cause: The OID_GEN_LINK_SPEED query will pend for 4.5 seconds when the cable is not attached. This timeout period is too long and could cause Ndis to time out the request. Later when the driver try to complete the request, a crash may occur since the request is no longer valid. Change: Change the timeout period to 3.5 seconds. Enhancements: ------------- 1. Request: Change the display string for two adapters. Version 2.5.16 (Oct 22, 2005) ============================= Enhancements: ------------- 1. Request: Synchronize with the Ndis5.2 driver version number. Version 2.5.12 (Oct 15, 2005) ============================= Enhancements: ------------- 1. Request: Synchronize with the Ndis5.2 driver version number. Version 2.5.5 (Oct 5, 2005) =========================== Enhancements: ------------- 1. Request: CQ#1081 Provide an OID to reset L2 statistics. Impact: Statistics reset is implemented in the Ndis Miniport by taking a snapshot of the hardware statistics. Then subsequent statistics queries returned by the Ndis driver are relative to the snapshot. Statistics reset is global and will affect other applications that consumer them. It is not recommended to perform arithmetic computations based on the values since any application could issue a reset. 2. Request: Build IA64 drivers as part of the release. Version 2.5.4 (Sept 22, 2005) ============================= Enhancements: ------------- 1. Request: Include additional devices in the INF file. 2. Request: Enable Ethernet@Wirespeed as the default. 3. Request: Use Build 5233 DDK to build the driver. Version 2.5.3 (Sept 15, 2005) ============================= Enhancements: ------------- 1. Request: Add a co-installer which allows for jumbo frame configuration via the adapter property page. Version 2.5.2 (Sept 6, 2005) ============================ Fixes: ------ 1. Problem: System bugchecked when running 1c_faulthandling Ndistest. Cause: Timers were not cancelled when driver load fails. Change: Cancel all the initialized timers when driver load fails even when the timers have not been scheduled yet. Version 2.5.1 (Aug 29, 2005) ============================ Enhancements: ------------- 1. Request: Use the latest DDK (5216 Beta 2) to build the driver. Version 2.1.1 (June 20, 2005) ============================= Enhancements: ------------- 1. Request: Add support for multiple transmit chain. 2. Request: Use the latest DDK (5083) to build the driver. Version 2.1.0 (May 27, 2005) =========================== 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.