DP83815/816 (MacPhyter) NDIS 5.0/4.0 Miniport Driver Release Notes Inf Update only. Version 5.0.140.2 Windows XP, Windows 2000 Windows ME, Windows 98 Second Edition Version 4.0.140.2 Windows NT 4.0, Windows 98 July 15, 2003 Developer - Rod Girod Validation - ----------------------------------------------------------------------------- PRODUCT INFORMATION ----------------------------------------------------------------------------- The Windows family of drivers for the DP83815 MacPhyter3v and DP83816 MacPhyterII consist of a serialized NDIS 4.0, a serialized NDIS 5.0 and a deserialized NDIS 5.0 that are produced from the same code base using a series of conditional compiles. DP83815X.sys Version 4.0.140.2 is intended for use with Windows 98, and Windows NT 4.0 SP3. DP83815X.sys Version 5.0.140.2 is intended for use with Windows 98 Second Edition and Windows ME. DP83815.sys Version 5.0.140.2 is intended for use with Windows 2000 and Windows XP. ----------------------------------------------------------------------------- INSTALLATION INSTRUCTIONS ----------------------------------------------------------------------------- Windows XP is shipped with a Netgear FA312 driver which will automatically install itself when a DP83815/816 based adapter is installed in an XP system. This driver can be updated via the Device Manager, however inf changes for the DP83815.sys may not apply properly when the update driver option is used. A preferred method is to delete the netfa312.inf and netfa312.pnf files from the Windows\inf directory, remove the dp83815 adapters using the device manager and then reboot, or scan for hardware changes. This will allow plug- n-play installation to proceed as a newly supported device. All versions of Windows prior to Windows XP ship without a driver for the DP83815/816. All that is required in this case is to insert the adapter into the system, turn on the system and point Windows to the location of the DP83815/816 driver when asked. Windows will complete the driver installation. Further configuration of the network is site/system specific. ----------------------------------------------------------------------------- BUILD INSTRUCTIONS ----------------------------------------------------------------------------- Refer to the README.TXT file located with the source code for detailed information regarding how to build the driver set. ----------------------------------------------------------------------------- UNIT TEST ----------------------------------------------------------------------------- Testing: Full Validation for Windows 2000, Windows XP, Windows 98SE, Windows NT Results: PASS (see 140.2 test report for details) ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 07/15/2004 Version 5.0.140.2 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Corrected the cause of a Blue Screen of Death under Windows 2000 that occured during DriverInit. The new LinkUpTimeout routine attempted to complete a pending OID that did not yet exist. Windows 2000 SP4 appears to have slowed Windows startup to the point where this bug was revealed. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- EUPHYTER.C 1) Prevented LinkUpTimeout from attempting to complete a pending OID that did not yet exist. EUPHYTER.R5N EUPHYTER.RC4 EUPHYTER.RC5 1) Updated DriverVersion to 140.2 Win98t4\DP83815x.sys Win98t4\DP83815x.pdb Win98t4\Checked Binaries\DP83815x.sys Win98t4\Checked Binaries\DP83815x.pdb Win98seME2kXP\DP83815.sys Win98seME2kXP\DP83815.pdb Win98seME2kXP\DP83815x.sys Win98seME2kXP\DP83815x.pdb Win98seME2kXP\Checked Binaries\DP83815.sys Win98seME2kXP\Checked Binaries\DP83815.pdb Win98seME2kXP\Checked Binaries\DP83815x.sys Win98seME2kXP\Checked Binaries\DP83815x.pdb 1) Updated binaries/symbols Win98nt4\NET83815.INF Win98seME2kXP\NET83815.INF 1) Updated DriverVer ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- 1) A Blue Screen of Death that occured with 140.1 under Windows 2000 when disconnected or configured for less than optimum link speeds. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- ISSUE # 63 - 08/16/02 - MacPhyter Driver 4.00.135.21 causes blue screen in Windows 95 OSR 2.5 ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 05/03/2004 Version 5.0.140.1 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Replaced the supplemental, and confusing, WakeOnLan option with the ability to completely override Windows Wake Settings and to individually control wake conditions. Added five new configuration options: Override Windows Wake Settings Enabled or Disabled Wake On Magic Packet Reception Enabled or Disabled Wake On Link Up Enabled or Disabled Wake On Unicast Reception Enabled or Disabled Wake On ARP for our IP Address Enabled or Disabled NOTE: The Windows NT 4.0 oemsetup.inf does not currently support these new options. 2) Updated driver initialization handling of no link startup. In prior version, we would report a disconnect upon the first Query, Set or Send request when link was not present. This mode of operation did not perform well with the XP 11.2 HCT's. Now if link is not present at the completion of EuphyterInitialize, we will initialize and set a three second timer. If a request for link speed, or connect status, is received within three seconds of initialization and link is down, the request will be pended until link is dectected, or the timer expires. This mode of operation "IS" compatible with the XP 11.2 HCT's. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- EUPHINIT.C 1) Deleted the wakeOnLanStr and added OverrideWindowsStr, wakeOnMagicPacketStr, wakeOnLinkDetectStr, wakeOnUnicastStr and wakeOnARPStr. 2) Changed the wakeOnLan variable from a BOOLEAN to a UINT32 so that it may now contain bit flags rather than just TRUE/FALSE. 3) Replaced wakeOnLan processing with OverrideWindows, wakeOnMagicPacket, wakeOnLinkDetect, wakeOnUnicast and wakeOnARP processing 4) Added Win2k/WinXP initialization and set of the connectTimer if link is down at the completion of EuphyterInitialize. 5) Added conditional cancellation of the connectTimer to ReturnResources. EUPHYINT.C 1) Added timerCancelled BOOLEAN to EuphyterHandleInterrupt locals. 2) Added code to PHY interrupt link up processing to cancel the connectTimer and complete any pending link speed/connect status requests. EUPHYTER.C 1) Removed link down notification from EuphyterSendPackets, EuphyterSetInformation and EuphyterQueryInformation. 2) Replaced wake enable code in EuphyterSetInformation( OID_PNP_SET_POWER to D1, D2 or D3 ) with a call to new common routine SetupWakeConditions. 3) Modified EuphyterQueryInformation ( OID_GEN_LINK_SPEED and OID_GEN_MEDIA_CONNECT_STATUS ) to pend the response if link is down and the connectTimer is running. 4) Replaced wake enable code in EuphyterShutdown with a call to new common routine SetupWakeConditions. 5) Moved the code from SetupPatternMatch into the new common wake enable routine "SetupWakeConditions". 6) Added a new LinkUpTimeout routine to complete a pending link speed, or connect status, query request and to issue a disconnect status if the link is down. EUPHYTER.R5N EUPHYTER.RC4 EUPHYTER.RC5 1) Updated DriverVersion to 140.1 EUPHYTSW.H 1) Added definition of WAKE_ON_MAGIC_PACKET, WAKE_ON_LINK_DETECT, WAKE_ON_UNICAST, WAKE_ON_ARP and OVERRIDE_WINDOWS_WAKE for new wake control. 2) Changed wakeOnLan variable from BOOLEAN to UINT32 so that it may contain the values defined in #1. 3) Added connectTimerCreated, connectTimerRunning, connectTimer, oid, pInformationBuffer, informationBufferLength, pBytesWritten and pBytesNeeded variables to EUPHYTER_ADAPTER to support the connect Timer and pended Query requests. 4) Deleted the SetupPatternMatch definition and added definitions for SetupWakeConditions and LinkUpTimeout. Win98t4\DP83815x.sys Win98t4\DP83815x.pdb Win98t4\Checked Binaries\DP83815x.sys Win98t4\Checked Binaries\DP83815x.pdb Win98seME2kXP\DP83815.sys Win98seME2kXP\DP83815.pdb Win98seME2kXP\DP83815x.sys Win98seME2kXP\DP83815x.pdb Win98seME2kXP\Checked Binaries\DP83815.sys Win98seME2kXP\Checked Binaries\DP83815.pdb Win98seME2kXP\Checked Binaries\DP83815x.sys Win98seME2kXP\Checked Binaries\DP83815x.pdb 1) Updated binaries/symbols Win98nt4\NET83815.INF Win98seME2kXP\NET83815.INF 1) Updated DriverVer 2) Replaced Wake On Lan option with Override Windows Wake Settings, Wake On Magic Packet Reception, Wake On Link Up, Wake On Unicast Reception and Wake On ARP for our IP Address ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 11/04/2003 Version 5.0.138.0 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Changed from hardware padding of runt packets to software padding to insure a zero filled packet now looked for by XP HCT's. This is accomplished through the use of an additional descriptor that points to an all zero buffer. It requires additional bus time, but does not allow any old data bytes to be sent again. 2) Implemented addtional Wake On Lan changes for NDIS 4.0 to address issues seen in an NDIS 4.0 Point of Sale application. 3) Added an Auto-Neg 100 Mbps Full Duplex/Half Duplex configuration option for Taiwan. 4) Corrected packet filter and multicast address list handling in MiniportReset. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- EUPHINIT.C 1) Modified phyConfigData entries to add Pause to the Force 100 Full Duplex and Force 10 Full Duplex entries - per Taiwan 2) Added a phyConfigData entry for AutoNeg 100 Mb Half/Full Duplex - per Taiwan 3) Modified phyConfigData handling for additional entry - per Taiwan. 4) Made ShutdownHandler registration "wakeOnLan" conditional for NDIS 4.0 - for POS application. 5) Allocated a shared memory area for zero filled runt packet padding. 6) Modified ReturnResources to release the packet padding memory. EUPHYTER.C 1) Modified SendNdisPacket to pad packets less that 60 bytes with zeroes. 2) Removed NDIS 5.0 conditional compilation of OID_PNP_ADD_WAKE_UP_PATTERN, OID_PNP_ENABLE_WAKE_UP, OID_PNP_REMOVE_WAKE_UP_PATTERN, OID_PNP_SET_POWER, OID_PNP_CAPABILITIES, OID_PNP_ENABLE_WAKEUP and OID_PNP_QUERY_POWER and added wakeOnLan conditional execution for NDIS 4.0 - for POS applications. 3) Modified EuphyterReset to retain packet filters and multicast address list and to return pAddressingReset = FALSE for NDIS 5.0 applications. EUPHYTER.R5N EUPHYTER.RC4 EUPHYTER.RC5 1) Updated DriverVersion to 138.0 EUPHYTSW.H 1) Added pPacketPad and padPhysAddress variables to track runt packet padding memory allocation. Win98t4\DP83815x.sys Win98t4\DP83815x.pdb Win98t4\Checked Binaries\DP83815x.sys Win98t4\Checked Binaries\DP83815x.pdb Win98seME2kXP\DP83815.sys Win98seME2kXP\DP83815.pdb Win98seME2kXP\DP83815x.sys Win98seME2kXP\DP83815x.pdb Win98seME2kXP\Checked Binaries\DP83815.sys Win98seME2kXP\Checked Binaries\DP83815.pdb Win98seME2kXP\Checked Binaries\DP83815x.sys Win98seME2kXP\Checked Binaries\DP83815x.pdb 1) Updated binaries/symbols Win98nt4\NET83815.INF Win98seME2kXP\NET83815.INF 1) Updated DriverVer 2) Added Auto Neg 100 Mb HD/FD selection Win98nt4\OEMSETUP.INF 1) Added Auto Neg 100 Mb HD/FD selection ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- MiniPortReset did not correctly maintain the packet filter and multicast address list and relied upon the upper layer defaulting to addressingReset being TRUE. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- The Forced Full Duplex configuration entries now contain pause enable bits, however, as auto-neg is not used, this information is not likely to be communicated to the partner and pause operation is questionable. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 05/01/2003 Version 5.0.137.3 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Changed Media selection to allow forcing of all speeds and duplexes. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- EUPHINIT.C 1) Modified the phyConfigData elements to allow forcing of all speeds and duplexes. EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N 1) Updated FILEVERSION, FileVersion and ProductVersion to 137.3 Win98t4\DP83815x.sys Win98t4\DP83815x.pdb Win98t4\Checked Binaries\DP83815x.sys Win98t4\Checked Binaries\DP83815x.pdb Win98seME2kXP\DP83815.sys Win98seME2kXP\DP83815.pdb Win98seME2kXP\DP83815x.sys Win98seME2kXP\DP83815x.pdb Win98seME2kXP\Checked Binaries\DP83815.sys Win98seME2kXP\Checked Binaries\DP83815.pdb Win98seME2kXP\Checked Binaries\DP83815x.sys Win98seME2kXP\Checked Binaries\DP83815x.pdb 1) Updated binaries/symbols Win98nt4\NET83815.INF Win98seME2kXP\NET83815.INF 1) Updated DriverVer 2) Modified Media displays to reflect forced configurations. Win98nt4\OEMSETUP.INF 1) Modified Media displays to reflect forced configurations. 2) Added Auto Neg 10 Mb HD/FD selection ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 03/25/2003 Version 5.0.137.2 Inf update only. ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- None ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- 1) Updated binaries/symbols Win98seME2kXP\NET83815.INF 1) Updated DriverVer 2) Added SVIDs and SSIDs for the following Uniwill SV 1584 SS 9010 Mitac SV 1071 SS 0109 SS 0103 SV 1631 SS E006 SS E007 Quanta SV 152D SS 0701 PC Partner SV 174B SS A000 ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- None ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 02/13/2003 Version 5.0.137.2 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) In NDIS 4.0 and non NT versions of NDIS 5.0, wait up to 3 seconds for link before completing EuphyterInitialize. This is to reduce the number of link down/up indications during system initialization. 2) Reduce the frequency of resetting the phy during EuphyterInitialize to only when a better speed/duplex match can be expected. 3) Turn on recognition of Pause frames. 4) Apply the short cable phy adjustments to A4 MacPhyterII's. 5) Add additional vendor/device id's to the inf. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- EUPHINIT.C 1) Added comments to the phyConfigData elements so as to clarify their purpose and intent. The Force 10 FD entry has been being altered in the field without regard to the Netgear SW108 and other 10Mb switches that do not support auto negotiation. 2) Implemented conditional code for Win98 and WinME to identify when a NetworkAddress parameter is actually valid by looking at the contents of the "Ndi\params\NetworkAddress\(Default) subkey. 3) Added a conditional wait of up to 3 seconds, following a phy reset, for link detection and completion of auto negotiation for all versions prior to NT5. This is an attempt to solve a blue screen on link up reporting that has been seen in Win98. 4) Corrected the BestLink function to better identify when a phy reset was required during startup. This results in a greatly reduced need to reset the phy during driver startup providing for quicker startups with less link up/down indications. This also corrected the speed change problems QA reported in 137.1 EUPHYINT.C 1) Added configuration of the Pause Control/Status Register to enable recognition of Pause frames when a full duplex connection is established. EUPHYTER.C 1) Added configuration of the Pause Control/Status Register to enable recognition of Pause frames when operating in full duplex mode. 2) No longer set link speed to 0 if the cable is disconnected. This was reported as causing a problem with Win98 suspend/resume. 3) Allowed the short cable fix in CheckPhyCoefficient to be applied to the MacPhyterII (DP83816) Rev A4. Rev A4 was only for evaluation purposes, but it is now addressed here. 4) Modified EuphyterShutdown to allow wake on receipt of a packet to our unicast address. This is identical in function to a wake pattern set by WinXP. 5) Removed the WOL MAC Address pattern from SetupPatternMatch as it was a duplication of the WKUCP function. 6) Corrected the usage of =, instead of ==, in the IP packet type comparison in FindIpAddress. EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N 1) Updated FILEVERSION, FileVersion and ProductVersion to 137.2 Win98t4\DP83815x.sys Win98t4\DP83815x.pdb Win98t4\CheckedBinaries\DP83815x.sys Win98t4\CheckedBinaries\DP83815x.pdb Win98seME2kXP\DP83815.sys Win98seME2kXP\DP83815.pdb Win98seME2kXP\DP83815x.sys Win98seME2kXP\DP83815x.pdb Win98seME2kXP\CheckedBinaries\DP83815.sys Win98seME2kXP\CheckedBinaries\DP83815.pdb Win98seME2kXP\CheckedBinaries\DP83815x.sys Win98seME2kXP\CheckedBinaries\DP83815x.pdb 1) Updated binaries/symbols Win98nt4\NET83815.INF Win98seME2kXP\NET83815.INF 1) Updated DriverVer 2) Added PCI\VEN_100B&DEV_0020&SUBSYS_68161071 and PCI\VEN_100B&DEV_0020&SUBSYS_2201152D&REV_00 to the device list ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- 1) Corrected continued use of an override MAC address after not present selected under Win98 and WinMe. 2) Corrected speed configuration problems seen with 137.1 ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 01/10/2003 Version 5.0.137.1 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Implemented Scatter/Gather for Windows 2000 and Windows XP. 2) Reduced startup latencies by only requesting a phy reset if the phy is not already linked at the highest and best speed allowed by the configuration and possible with the current partner. 3) Implemented default wake patterns to be used when WakeOnLan has been configured and Windows has not set any patterns. Pattern 1 will match any packet sent to our specific MAC Address. Pattern 2 will match any ARP sent to the last IP address associated with our MAC Address. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- BUILDALL.CMD 1) Add copy of pdb files EUPHINIT.C 1) Implement new phy reset determination routine, BestLink(), which greatly reduces unnecessary phy resets during driver startup. 2) Implement conditional (Win2k and WinXP) Scatter/Gather and discontinue allocation/use of Map Registers when using Scatter/Gather. 3) Implement ATAN phy attenuation adjustments if link not established at startup. EUPHYINT.C 1) Reset phy attenuation to normal after link detection. 2) Apply ATAN phy attenuation adjustments after loss of link. 3) Make the call to NdisMCompleteBufferPhysicalMapping conditional for non Scatter/Gather implementations. EUPHYTER.C 1) Implement Scatter/Gather in SendNdisPacket for Win2k and WinXP. 2) Corrected Tx packet coalesce selection. 3) Reduced the wcsr, rfcr configurations to only that required by the current WakeOnLan requirements. 4) Implement new function, AtanAdjust(), to reduce phy attentuation during auto negotiation. 5) Implement default wake patterns to be used if Windows has not set a pattern and WakeOnLan has been configured. Pattern 1 is any packet sent to our specific MAC Address. Pattern 2 is an ARP for our last known IP Address. 6) Implement new function, FindIpAddress(), to extract last IP Address used to communicate with our specific MAC address. EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N 1) Adjust version number EUPHYTSW.H 1) Defined new structure, IP_PACKET, for use when snooping IP packets. 2) Added ipAddress, arpPatternSize and arpPattern elements to the Adapter data structure. 3) Added BestLink(), AtanAdjust() and FindIpAddress() prototypes. Win98seME2kXP\NET83815.INF 1) Set DriverVer to proper values. ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 12/12/2002 Version 5.0.137.0 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Transmit Coalescing has been implemented to permanently resolve the too many fragments issue. This version, is an alpha version, and coalesces all transmit packets. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- euphinit.c 1) Modify EuphyterInitialize and ReturnResources to allocate, initialize and return MAX_TRANSMITS/2 Transmit Coalesce buffers for use when a packet is composed of more fragments than we have descriptors. 2) Increase the number of NDIS_BUFFERs allocated so that we can use them with the Transmit Coalesce buffers and their NdisFlushBuffer. 3) Correct the call to return the NdisPacketPool. Was originally NdisFreeBufferPool and was changed to NdisFreePacketPool. euphyint.c 1) Modify ReclaimTransmitDescriptors to clear the pNdisBuffer element after the NdisBuffer has been unmapped. 2) Modify ReclaimTransmitDescriptors to look into a coalesce buffer when available, rather than an NdisBuffer, to identify the destination address type. 3) Modify ReclaimTransmitDescriptors to return a coalesce buffer to the available queue upon completion. euphyter.c 1) Modify SendNdisPacket to: a) Remove the code to abort a send packet that is composed of too many fragments. b) Disable the map/unmap packet construction by requiring a packet to be composed of less than 1 buffer. c) Coalesce all packets composed of one or more buffers into a driver owned coalesce buffer that requires only a single descriptor. 2) Modify EuphyterReset to initialize the Tx Descriptor pCoalesceBuffer element to NULL. euphyter.rc4 euphyter.rc5 euphyter.r5n 1) Update the version from 136.0 to 137.0 euphythw.h 1) Change MAX_DESCRIPTORS_PER_TRANSMIT from 32 to 8 to lower the total Tx Descriptors from 256 to 64. 2) Add pCoalesceBuffer to the EUPHYTER_TX_DESCRIPTOR. 3) Increase the size of EUPHYTER_TX_DESCRIPTOR and EUPHYTER_RX_DESCRIPTOR to 64 bytes to better align with P4 Xeon cache boundaries. euphytsw.h 1) Define a new FULL_COALESCE_BUFFER structure to contain coalesce packet info. 2) Add numberOfAvailableCoalesceBuffers, pNextTxCoalesceBuffer, txCoalesceSize, pTxCoalesceBuffer and txCoalescePhysAddress to the EUPHYER_ADAPTER structure to control Tx coalesce buffers. Win98nt4\dp83815x.sys New Binary (4.0.137.0) Win98seME2kXP\dp83815.sys Win98seME2kXP\dp83815x.sys New Binary (5.0.137.0) Win98seME2kXP\net83815.inf Update driver date (12/12/02) and version (5.0.137.0) ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- 1) Excessively fragmented transmit packets are no coalesced into a driver owned transmit buffer which only requires one tx descriptor. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- All tx packets are being coalesced. This will be resolved in 137.1 ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 08/18/2002 Version 5.0.135.21 through 5.0.135.18 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) The minimum number of receive buffers setting was changed from 40 to 16 to help in testing recent bug fixes. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- All source files were modified except RESOURCE.H. ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- 1) A work around was implemented to properly recover and handle a condition which can occur under very heavy loads. When this occurs, corrupt receive packets are passed by the adapter to the host driver. The workaround detects this condition and resets the MAC receive logic. An erratta is available which fully describes this issue. 2) An incompatibility with a third party Java video streaming applet was fixed. It was found that the applet was sending packets with more then 128 data fragments. The maximum supported by the driver was 128. This would cause the driver's transmit engine to stop functioning. The maximum number of send fragments the driver supports was increased to 256. 3) The transmit logic was enhanced to better handle send packets which contain more then 256 fragments. The packets are now returned with an error, and will not affect future transmit requests. 4) Fixed an issue when the cable is disconnected during OS bootup. In this case, if the cable was left unplugged, it was impossible to subsequently shutdown, standby or hibernate the machine. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- Support for Windows 95 OSR2 has been discontinued. The 1.35.21 driver will not function with Windows 95 OSR2. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 07/18/2002 Version 5.0.135.17 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Remove the RxORN and RxSOVR processing from EuphyterIsr. 2) Restore max receive indications per isr to 128. 3) Let Windows reenable interrupts upon completion EuphyterHandleInterrupt in Windows 2000/XP. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N EUPHYTER.C EUPHYINT.C EUPHYTHW.H ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 07/17/2002 Version 5.0.135.16 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Modify EuphyterIsr to always queue the DPC if we were a source of the interrupt. 2) Remove the recent addition of Wake on unicast from the S4/S5 WOL setup. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N EUPHYTER.C EUPHYINT.C EUPHYTHW.H ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- System would not suspend/hibernate/shutdown with wkucp ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 07/17/2002 Version 5.0.135.15 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Modify EuphyterIsr to add processing of RxORN and RxSOVR events at ISR time. 2) Reduce number of receive buffers that may be indicated during a single execution of EuphyterHandleInterrupt. 3) Call EuphyterEnableInterrupt immediately before exiting EuphyterHandleInterrupt for all OS's. 4) Modify the interrupt mask so as to allow processing of the RxORN and RxSOVR events 5) Define new MAX_RX_INDICATIONS to 16. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N EUPHYTER.C EUPHYINT.C EUPHYTHW.H ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Attempt to correct receive packet corruption by early handling of Rx overrun events ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 07/16/2002 Version 5.0.135.14 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Allow the shutdown handler in Windows 98 Second Edition and Millenium 2) Return connect notification to phy interrupt processing for all OS's. 3) Wait 100 us between writing dspcfg and reading tdata. 4) Enable wake from S4/S5 on receipt of a unicast packet. 5) Remove volatile definition of EuphPhyterRegs definition and remove casting of NdisWriteRegisterUlong parameters. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N EUPHYTER.C EUPHINIT.C EUPHYINT.C EUPHYTER.H ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ??? - clarification required from Taiwan ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 07/11/2002 Version 5.0.135.13 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Define the EuphPhyterRegs structure as volatile to prevent XP DDK compiler from optimizing out register reads and writes. 2) Add parameter casting to all NdisWriteRegisterUlong calls to compensate for the volatile definition. 3) Modify CheckPhyCoefficient so that it does not attempt to apply the short cable fix to the 83816. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N EUPHYTER.C EUPHINIT.C EUPHYINT.C EUPHYTER.H ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- The Windows XP DDK compiler/build environment is reported to handle register access differently that previous versions. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 06/13/2002 Version 5.0.135.12 - FOR INTERNAL TESTING ONLY ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Implemented preliminary short cable fix that had been used for early testing. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N EUPHYTER.C EUPHINIT.C EUPHYINT.C EUPHYTHW.H EUPHYTSW.H ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Implement short cable fix - FOR INTERNAL TESTING ONLY ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 06/13/2002 Version 5.0.135.11 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Created version specific euphyter.rc4, euphyter.rc5 and euphyter.r5n to replace generic euphyter.rc. 2) Created sources.nt4 to create an NDIS 4.0 miniport with the NT 4.0 DDK. 3) Created b4.bat for building NDIS 4.0 Miniport. 4) Modified b5.bat and b5nt.bat to use proper .rc files. 5) Change conditional definition of UINT32 for use with NT 4.0 DDK (SOURCES.NT4) This corrects errors attempting to build an NDIS 4.0 Miniport using the Windows 2000 DDK. 6) Add Timer Initialization, Setup and Cleanup for Short Cable Adaptation. 7) Modify Phy setup for version 4.xx and 5.xx 8) Add CheckPhyCoefficient Timer routine to check for and correct short cable maladaption of the phy. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- B4.BAT B5.BAT B5NT.BAT SOURCES.NT4 SOURCES.40 NET83815.INF EUPHYTER.RC4 EUPHYTER.RC5 EUPHYTER.R5N EUPHYTER.C EUPHINIT.C EUPHYINT.C EUPHYTHW.H EUPHYTSW.H ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Implement NDIS 4.0 build Implement short cable fix per UIN. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 06/10/2002 Version 5.0.135.10 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Modify EuphyterReset to initialize a link speed for Win98SE/WinME if a link has not been established upon exit. 2) Remove Connect Indication for Win98SE/WinME 3) Remove Initial Disconnect Indication for Win98SE/WinME. NetBeui under Win98SE does not like a disconnect during system startup. 4) The call to NdisMSendComplete in EuphyterSendPackets is not necessary under Win98SE/WinME. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC EUPHYTER.C EUPHINIT.C EUPHYINT.C ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Restore compatibility with Windows 98 Second Edition NetBeui under Windows 98 Second Edition does not start up properly if a disconnect is reported during its startup. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 06/03/2002 Version 5.0.135.9 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Replaced b.bat with b5.bat to build serialized NDIS 5.0 for Windows 98 Second Edition and Windows Millenium and b5nt.bat to build a deserialized NDIS 5.0 for Windows 2000 and Windows XP. 2) Make Deserialized attribute conditional for Win2k/WinXP only. 3) Make registration of shutdown handler conditional for Win2k/WinXP only. 4) Call EuphyterEnableInterrupt at conclusion of EuphyterHandleInterrupt in non Win2k/WinXP versions. 5) Use NdisQueryBuffer in non Win2k/WinXP versions and NdisQueryBufferSafe in Win2k/WinXP versions. 6) Modify EphyterSendPackets so that non Win2k/WinXP versions do not queue send packets if the link is down, but complete them immediately with NDIS_STATUS_SUCCESS. 7) Make the wait for EuphyterHandleInterrupt and SendNdisPackets to complete conditional for Win2k/WinXP in EuphyterShutdown and EuphyterReset. 8) Apply signature file to Win2k/WinXP only. 9) Select between Win98SE/WinME (DP83815x.sys) and Win2k/WinXP (DP83815.sys) binaries at installation. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- B5.BAT B5NT.BAT SOURCES.50 SOURCES.5NT NET83815.INF EUPHYTER.RC EUPHYTER.C EUPHINIT.C EUPHYINT.C ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Restore compatibility with Windows 98 Second Edition ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 05/20/2002 Version 5.0.135.8 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Corrected while loop in EuphyterSetInformation OID_PNP_SET_POWER processing that would hang a system on return to full power if the phy did not obtain a valid link. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC EUPHYTER.C ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- 135.7 would hang on wake if link was not detected by the adapter. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 03/28/2002 Version 5.0.135.7 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Restored initial setting of Tx packet status (NDIS_STATUS_PENDING) in EuphyterSendPackets as some earlier versions of NDIS do not assume a pending status. 2) Eanabled wake from a reconnected cable (link restoration) in EuphyterShutdown/EuphyterHalt. 3) Restored enable of wake from Pattern Match in EuphyterShutdown/ EuphyterHalt. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC EUPHYTER.C ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 03/26/2002 Version 5.0.135.6 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Removed enable of Pattern Match and Link Change wake from EuphyterShutdown /EuphyterHalt ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC EUPHYTER.C ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Systems with 135.5 were waking from Shutdown/Hibernation when not desired. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 03/20/2002 Version 5.0.135.5 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Added Accept All Broadcast to the receive filter (RFCR) when preparing for WOL during EuphyterShutdown/EuphyterHalt so as to wake from an AMD "Broadcast" Magic Packet. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC EUPHYTER.C ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Magic packets broadcast from the AMD Magic Packet program were unable to wake a system from shutdown because the "broadcast" packet did make it past the first level receive filter. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 03/13/2002 Version 5.0.135.4 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Restore support for OID_GEN_PROTOCOL_OPTIONS for Windows 2000 HCT's. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC EUPHYTER.C ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- The Windows 2000 9.5.02 HCT's fail if NDIS_STATUS_INVALID_OID is returned instead of NDIS_STATUS_NOT_SUPPORTED for the OID_GEN_PROTOCOL_OPTIONS. ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 02/25/2002 Version 5.0.135.3 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) If WakeOnLan is enabled by the INF (it is the default), always enable wake on Magic Packet and Pattern match even if not specified by Windows. 2) If WakeOnLan is enabled by the INF, load wake patterns and enable wake in EuphyterShutdown and EuphyterHalt. 3) Create SetupPatternMatch function for use by EuphyterShutdown, EuphyterHalt and EuphyterSetInformation. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTSW.H EUPHYTER.C EUPHYTER.RC ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Enable Wake on Magic Packet, or Pattern Match, on entry to Standby, Hibernate and Shutdown even if not specifically requested by Windows if Wake On Lan enabled by INF (Enabled is the default). ----------------------------------------------------------------------------- KNOWN ERRATA ----------------------------------------------------------------------------- An NdisPacket composed of more than 127 physical fragments will never be removed from the transmit queue as there will never be enough transmit descriptors to describe the packet. This will disable the drivers transmit function. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 02/22/2002 Version 5.0.135.2 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- Fixed the return of queued transmit packets in EuphyterReset. pSendPacketTail was not being cleared in EuphyterReset and as a result, Transmit functions stopped because the head was cleared, but the tail was not. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.C EUPHYTER.RC ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- If MiniportReset was called with transmit packets waiting on the send queue (i.e. pSendPacketTail != NULL), EuphyterReset did not clear pSendPacketTail upon completion of emptying the queue and further transmit functions did not occur as pSendPacketHead = NULL, but pSendPacketTail was not. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 02/21/2002 Version 5.0.135.1 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- Corrected earlier modifications to EuphyterShutdown and EuphyterHalt so as to not hang the system waiting for RxReset to complete when a Reset was issued instead of the desired RxReset. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.C EUPHYTER.RC ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- System would not complete shutdown. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 02/20/2002 Version 5.0.135.0 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Reorder euphyterSupportedOids so they are in numerical order as per DDK. 2) Change ( UINT32 ) cast to ( PUCHAR ) for pointer arithmatic so as to be compatible with 64 bit Windows 3) Return NDIS_STATUS_NOT_SUPPORTED for valid OID's that are not supported instead of NDIS_STATUS_INVALID_OID. 4) Answer connect status query with info maintained by the DPC instead of real-time data. 5) Continue adjustment of connect/disconnect reporting. 6) Restore NdisQueryBuffer call for NDIS 4.0. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTSW.H EUPHYINT.C EUPHYTER.C EUPHYTER.RC ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- Windows XP 10.0 HCT's QFE5 failed when NDIS_STATUS_INVALID_OID was reported in response to OID_PNP_WAKE_UP_PATTERN_LIST. ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 02/19/2002 Version 5.0.134.1 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Require EuphyterShutdown and EuphyterHalt to wait for an in progress SendNdisPacket or EuphyterHandleInterrupt to complete before resetting the MAC. This should prevent a system crash due to a send or isr trying to access a mac that is no longer in the expected state. 2) Do not report a connect on a link up if the disconnect has not yet been reported. 3) Change the use of NdisQueryBuffer to NdisQueryBufferSafe and only gather tx frame/byte statistics if the buffer address was returned successfully. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYINT.C EUPHYTER.C EUPHYTER.RC ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 02/12/2002 Version 5.0.134.0 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Move clearing of linkDownNotReported to before the status indication instead of after to prevent multiple indications. 2) Add link down reporting to EuphyterSetInformation and EuphyterQueryInformation to shorten time between detection and reporting. 3) If WakeOnLan is enabled, enable wake of Magic Packet and Pattern match if Windows does not specify wake parameters. 4) Enable Original/Earlier Backoff Algorithm via bit 18 of txcfg in an attempt to reduce excessive collisions being reported with rev D. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTSW.H EUPHINIT.C EUPHYINT.C EUPHYTER.C EUPHYTER.RC ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 02/12/2002 Version 5.0.133.0 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- 1) Modified the Tx Descriptor list from a list terminated by a zero link to a Ring terminated by an empty/unavailable descriptor. 2) Changed the Rx Descriptor list terminator from a zero link to an empty/ unavailable descriptor. 3) Modified EuphyterInitialize to initialize/reset the phy only when it has "not" already established link at the highest and best speed allowed by the specificed configuration parameter. 4) Delelted txDescriptorSpinLock, pAvailableTxDescriptorTail and pInProgressTxDescriptorTail as they are not needed with Tx Descriptor ring. 5) Rewrote EuphyterSendPackets to reduce the time required to hold the txSpinLock. 6) Modified the operation of EuphyterSendPackets so that packets are queued, instead of completed, if link is not present. 7) Modified SendNdisPacket so that the appropriate spin lock routine is passed as a parameter, rather than determined by an if statement at run time. 8) Discontinued the use of the physicalBufferCount returned by NdisQueryPacket for allocating tx Descriptors as it is not always correct. 9) Added code to deal with an NdisBuffer that mapped to a zero length physical array. 10) Removed the call to NdisAdjustBufferLength when a Receive buffer is returned. 11) Modified the set D0 power of EuphyterSetInformation to reset and reprogram the phy and to then wait up to 4 seconds for link to be re-established before allowing restart to continue. 12) Modified EuphyterReset to not change from initialize state to reset. 13) Added code to EuphyterReset to report completion of any packets waiting on the Tx queue. 14) Modified the EuphyterReset initialization of the new Tx Descriptor Ring and modified Rx Descriptor List. 15) Removed the phy reset and programming/adjustment from EuphyterReset. 16) Created EuphyterPhyReset and EuphyterPhyAdjust to provide common phy reset and configuration routines. 17) Increased the number of receive packets indicated per ISR from 20 to 128. 18) Modified EuphyterHandleInterrupt to wait for a stable link indication (5 milleseconds) before looking for completion of Auto-Neg. 19) Limited wait for Auto-Neg completion to 1 second. 20) Moved restoration of default attenuation to EuphyterPhyAdjust. 21) Reset and reconfigure the phy upon loss of link, not EuphyterInitialize and EuphyterReset. 22) Moved Tx Completion processing before Rx Completion. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTSW.H EUPHINIT.C EUPHYINT.C EUPHYTER.C EUPHYTER.RC ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- REVISION HISTORY ----------------------------------------------------------------------------- 11/02/2001 Version 5.0.132.0 ----------------------------------------------------------------------------- FUNCTIONAL CHANGES ----------------------------------------------------------------------------- First attempt at Deserialized. ----------------------------------------------------------------------------- FILE CHANGES ----------------------------------------------------------------------------- NET83815.INF EUPHYTER.RC ----------------------------------------------------------------------------- DEFECTS CORRECTED ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- VALIDATION NOTES ----------------------------------------------------------------------------- * Validation Issues/Errata * Issue Details