LAN95XX NDIS Driver package v18.12.18.0 for Windows (x86, amd64, arm32, and arm64), and arm32) ============================================================================================== This file provides information about the Ndis drivers for Windows Operating Systems (32 bit x86, 64 bit amd64, 32 bit arm, and 64 bit arm) for the LAN95xx family of devices. Contents -------- A. Microchip Devices and Windows Operating systems Supported B. Pre-installation requirements B.i. x86/x64/arm64 based Computers/Devices (Desktop/Laptop/Notebook/Tablets/2in1s/etc) B.ii. Windows Embedded handheld / Windows RT (arm) and Windows 10 IOT (arm/arm64 and x86/x64 based) devices B.iii. Test Signing C. Automated Installer based instructions D. Installer Multi-language support E. INF based installation instructions E.i. x86/x64/arm64 based Computers/Devices (Desktop/Laptop/Notebook/Tablets) E.ii. Windows Embedded handheld / Windows RT (arm) and Windows 10 IOT (arm/arm64 and x86/x64 based) devices E.iii. INF Based Package Contents F. Driver Configurable Parameters G. Driver Configurable Parameters for Windows XP H. Testing I. Known issues J. Release History A. Microchip Devices and Windows Operating systems Supported ------------------------------------------------------------ This release is targeted for the following purposes (see section "H. Release Types" for details): Production (X) PreProduction (X) Engineering Testing ( ) | | | | | --> arm64 driver | --> all drivers except arm64 For Engineering Releases additional installation steps might be required, be sure to pay attention to "Pre-installation Requirements" under Section B. This distribution supports the following Microchip Devices: - LAN9500 - LAN9512 - LAN9513 - LAN9514 - LAN9500A - LAN9530 - LAN9730 - LAN89530 - LAN89730 This distribution contains drivers compliant to the NDIS 5.1 (Windows XP), NDIS 6.0 (Windows Vista), 6.20 (Windows 7), 6.30 (Windows 8.x) and 6.50 (Windows 10). Microsoft Certification (see Section H for Submission IDs/reports) - Windows 10 (32 bit x86) : v2.23.0.0 Yes - Windows 10 (64 bit x64) : v2.23.0.0 Yes - Windows 10 (32 bit arm) : v2.23.0.0 No (Not Available) - Windows 10 (64 bit arm64) : v2.23.0.1 No (Preview Release) - Windows 8.1 (32 bit x86) : v2.17.0.0 Yes - Windows 8.1 (64 bit x64) : v2.17.0.0 Yes - Windows 8.1 (32 bit arm) : v2.17.0.0 No (No longer Available) - Windows 8 (32 bit x86) : v2.17.0.0 Yes - Windows 8 (64 bit x64) : v2.17.0.0 Yes - Windows 8 (32 bit arm) : v2.17.0.0 No (No longer Available) - Windows 7 (32 bit) : v2.17.0.0 Yes - Windows 7 (64 bit) : v2.17.0.0 Yes - Windows Vista (32 bit) : v2.11.0.0 No (No longer Available) - Windows Vista (64 bit) : v2.11.0.0 No (No longer Available) - Windows XP (32 bit) : v2.6.5.0 No (No longer Available) - Windows XP (64 bit) : v2.6.5.0 No (No longer Available) B. Pre-installation Requirements -------------------------------- B.i x86/x64/arm64 based Computers and Devices (Desktop/Laptop/Notebook/Tablets/2in1s/etc) "Must-have" pre-installation requirements for both Production and Engineering releases: - Windows 7 x64 You must have windows update KB3033929 (Security Update for Windows 7 for x64-based Systems) installed. Without this update (available through Windows Update or from the download link https://www.microsoft.com/en-us/download/details.aspx?id=46148) the driver will not install properly since the OS will not be able to understand the new EV code signing certificates. - Vista: + You must have windows update KB3033929 (Update for Root Certificates [June 2011]) installed. Without this update (available through Windows Update or from the download link https://www.microsoft.com/en-us/download/details.aspx?id=26609) the Microchip code signing certificate (either SHA1 or SHA2) used to sign the drivers will not be recognized and the driver installation will fail. + It is highly recommended to install KB2763674 (You cannot run an application that is signed with a SHA-256 certificate on a computer that is running Windows Vista SP2 or Windows Server 2008 SP2). Without this update (available through Windows Update or from the download link https://support.microsoft.com/en-us/kb/2763674) the automated installer might not be able to run (INF based installation would still work though) "Must-have" pre-installation requirements only applicable to Engineering releases: For Windows 10, only drivers signed with Microsoft certificates can be installed in a standard Windows 10 installation. Microchip is currently only signing production (Logo) and PreProduction (Attestation) drivers with Microsoft certificates, so an engineering release will not install properly in a standard Windows 10 installation unless additional steps are followed to enable what is called "Test Signing" in the system. (See B.iii Test Signing) "Should-have" pre-installation requirements for All releases: - For all Windows Operating Systems it is strongly recommended that ALL Critical Windows Updates be installed. B.ii Windows Embedded handheld / Windows RT (ARM) and Windows 10 IOT (ARM and x86/x64 based) devices Currently Microchip is only signing drivers with standard Microchip EV code signing certificates widely used in the x86/x64 desktop OS signing process. Handheld and IoT versions of the Operating System have other signing requirements which Microchip does not currently have access to. While EV signed drivers are recognized by Windows RT, we have observed that Windows 8 Embedded handheld and Windows 10 IoT core will not consistently recognize them. However, various OEMs integrating our drivers into their applications have been able to re-sign our drivers with their own certificates appropriate for the target environment. If you are evaluating these drivers, do not yet have target specific signing capability (contact your Microsoft representative for guidance on how to obtain that) and are encountering problems loading your driver into your target device / OS the best course of action is to enable what is called "Test Signing" in the system. (See B.iii Test Signing) In systems without a full GUI, you may need to enable test-signing in a different way (i.e. Remote Powershell, telnet as administrator, etc). Consult the specific instructions for your environment. B.iii Test Signing The procedure is very simple, but we recommend it only be done in test machines since it relaxes the system protection against not only Microchip but any other third party signed driver. If you do not want to enable test signing, please use the latest production release instead of an engineering release. In order to enable test-signing in a system: 1. If "Secure boot" is enabled, disable it. This setting is available through your systems' BIOS settings and will require you to reboot your system to take effect. 2. Open an Administrative Command prompt (right click over the start button, select "Command Prompt (Admin)" and accept the User Account Control prompt by clicking 'Yes' 3. Type "bcdedit /set TESTSIGNING on" (without the quotes) and press ENTER. You should see the message "The operation completed successfully" 4. Reboot the system. 5. The system should now be TESTSIGNING enabled and an engineering release should install with no problems. C. Automated Installer based instructions ----------------------------------------- This section is only applicable to Intel Processor (x86/x64) based Computers and Devices (Desktop/Laptop/Notebook/Tablets). To install the driver double click on the LAN9500-WDF-vx.x.x.x.exe (where x.x.x.x is the version number of the installer). The dialogs will guide you through the installation. The driver package creates the control panel entry (Programs and Features). The driver can be uninstalled from the control panel (Programs and Features -> uninstall). Note: If the driver is uninstalled from the device manager the control panel entry will not be removed. Silent installation: To install the driver without the user interaction please execute below command on the windows command prompt. >LAN9500-WDF-vx.x.x.x.exe /exenoui /q Silent un-installation: To un-install the driver without the user interaction please execute below command on the windows command prompt. >LAN9500-WDF-vx.x.x.x.exe REMOVE=ALL /q D. Installer Multi-language support ----------------------------------- This section is only applicable to Intel Processor (x86/x64) based Computers and Devices (Desktop/Laptop/Notebook/Tablets). The installer LAN9500-WDF-vx.x.x.x.exe supports multiple languages. The installer detects the native OS language and display the dialogs in the respective language. The below languages are supported: 1. Arabic 2. Bulgarian 3. Chinese Traditional 4. Chinese Simplified 5. Czech 6. Danish 7. Dutch 8. English (US & UK) 9. Finnish 10. French 11. German 12. Hungarian 13. Italian 14. Japanese 15. Korean 16. Polish 17. Russian 18. Spanish 19. Swedish 20. Catalan (Spain) 21. Croatian (Croatia) 22. Norwegian 23. Portuguese (Portugal & Brazil) 24. Slovak (Slovakia) 25. Slovenian (Slovenia) 26. Ukrainian E. INF based installation instructions -------------------------------------- E.i x86/x64/arm64 based Computers and Devices (Desktop/Laptop/Notebook/Tablets/2in1s/etc) If you received this driver package as a zip file containing just sys, inf, cat, dll and this readme.txt file you need to do an "INF based" installation. 1. Plug the USB cable to the PC's USB host port and the other end to the USB connector. 2. Device will show up in "Device Manager" window as Unknown device. Right click on the device and select "update device driver" option. Follow the onscreen instructions answering the questions to instruct Windows NOT to search for drivers and that you will provide them yourself. Enter the path to the Drivers subdirectory of the root of this distribution (where the sys and inf driver files are located) and let Windows complete the installation process as usual for any network interface card. E.ii Windows Embedded handheld / Windows RT (ARM) and Windows 10 IOT (ARM and x86/x64 based) devices 1. Installation in Plug and Play capable version of Windows 8.x or Windows 10 (such as Windows RT tablets) is performed in the same was as explained in E.i section above. 2. Installation from a command prompt using devcon. The driver can be installed using the devcon install command in devices providing a local or remote administrative level command prompt and the devcon utility. After copying the driver files (inf, sys, and cat files) to the device run the following command from the folder holding the copied files: devcon install net9500-arm-n650f.inf "USB\VID_0424&PID_95xx" Use "devcon hwids USB*" to get the actual PID 3. Other Installation procedures Note that installation procedures may vary across platforms. In particular non plug and play platforms are likely not to support INF based installations as detailed above and instead require either manual or programmatic driver file copying as well as addition of VID/PID, services and/or other assorted key entries into the registry which are platform specific and outside of the scope of these generic PnP installation instructions. E.iii INF based package contents: \LAN9500-WDF-vx_x_x_x_Readme.txt - This file Windows XP ---------- ndis51\x86\net9500-x86-n51f.inf - NDIS 5.1 driver installation file for x86 ndis51\x86\lan9500-x86-n51f.cat - NDIS 5.1 catalog file for x86 ndis51\x86\lan9500-x86-n51f.sys - NDIS 5.1 driver file for x86 ndis51\x86\WdfCoInstaller01009.dll - MSFT's Wdf Coinstaller v1.9 for x86 ndis51\x64\net9500-x64-n51f.inf - NDIS 5.1 driver installation file for x64 ndis51\x64\lan9500-x64-n51f.cat - NDIS 5.1 catalog file for x64 ndis51\x64\lan9500-x64-n51f.sys - NDIS 5.1 driver file for x64 ndis51\x64\WdfCoInstaller01009.dll - MSFT's Wdf Coinstaller v1.9 for x64 Windows Vista ------------- ndis60\x86\net9500-x86-n60f.inf - NDIS 6.0 driver installation file for x86 ndis60\x86\lan9500-x86-n60f.cat - NDIS 6.0 driver catalog file for x86 ndis60\x86\lan9500-x86-n60f.sys - NDIS 6.0 driver file for x86 ndis60\x86\WdfCoInstaller01009.dll - MSFT's Wdf Coinstaller v1.9 for x86 ndis60\x64\net9500-x64-n60f.inf - NDIS 6.0 driver installation file for x64 ndis60\x64\lan9500-x64-n60f.cat - NDIS 6.0 driver catalog file for x64 ndis60\x64\lan9500-x64-n60f.sys - NDIS 6.0 driver file for x64 ndis60\x64\WdfCoInstaller01009.dll - MSFT's Wdf Coinstaller v1.9 for x64 Windows 7 --------- ndis620\x86\net9500-x86-n620f.inf - NDIS 6.20 driver installation file for x86 ndis620\x86\lan9500-x86-n620f.cat - NDIS 6.20 driver catalog file for x86 ndis620\x86\lan9500-x86-n620f.sys - NDIS 6.20 driver file for x86 ndis620\x86\WdfCoInstaller01009.dll - MSFT's Wdf Coinstaller v1.9 for x86 ndis620\x64\net9500-x64-n620f.inf - NDIS 6.20 driver installation file for x64 ndis620\x64\lan9500-x64-n620f.cat - NDIS 6.20 driver catalog file for x64 ndis620\x64\lan9500-x64-n620f.sys - NDIS 6.20 driver file for x64 ndis620\x64\WdfCoInstaller01009.dll - MSFT's Wdf Coinstaller v1.9 for x64 Windows 8, Windows 8.1 ---------------------- ndis630\x86\net9500-x86-n630f.inf - NDIS 6.30 driver installation file for x86 ndis630\x86\lan9500-x86-n630f.cat - NDIS 6.30 driver catalog file for x86 ndis630\x86\lan9500-x86-n630f.sys - NDIS 6.30 driver file for x86 ndis630\x86\WdfCoInstaller01011.dll - MSFT's Wdf Coinstaller v1.11 for x86 ndis630\x64\net9500-x64-n630f.inf - NDIS 6.30 driver installation file for x64 ndis630\x64\lan9500-x64-n630f.cat - NDIS 6.30 driver catalog file for x64 ndis630\x64\lan9500-x64-n630f.sys - NDIS 6.30 driver file for x64 ndis630\x64\WdfCoInstaller01011.dll - MSFT's Wdf Coinstaller v1.11 for x64 Windows 8.x Embedded Handheld and Windows RT -------------------------------------------- ndis630\arm32\net9500-arm-n630f.inf - NDIS 6.30 driver installation file for ARM 32 bit ndis630\arm32\lan9500-arm-n630f.cat - NDIS 6.30 driver catalog file for ARM 32 bit ndis630\arm32\lan9500-arm-n630f.sys - NDIS 6.30 driver file for ARM 32 bit Windows 10 ---------- ndis650\x86\net9500-x86-n650f.inf - NDIS 6.50 driver installation file for x86 ndis650\x86\lan9500-x86-n650f.cat - NDIS 6.50 driver catalog file for x86 ndis650\x86\lan9500-x86-n650f.sys - NDIS 6.50 driver file for x86 ndis650\x64\net9500-x64-n650f.inf - NDIS 6.50 driver installation file for x64 ndis650\x64\lan9500-x64-n650f.cat - NDIS 6.50 driver catalog file for x64 ndis650\x64\lan9500-x64-n650f.sys - NDIS 6.50 driver file for x64 ndis650\arm64\net9500-x64-n650f.inf - NDIS 6.50 driver installation file for arm64 ndis650\arm64\lan9500-x64-n650f.cat - NDIS 6.50 driver catalog file for arm64 ndis650\arm64\lan9500-x64-n650f.sys - NDIS 6.50 driver file for arm64 Windows 10 IoT -------------- ndis650\x86\net9500-x86-n650f.inf - NDIS 6.50 driver installation file for x86 ndis650\x86\lan9500-x86-n650f.cat - NDIS 6.50 driver catalog file for x86 ndis650\x86\lan9500-x86-n650f.sys - NDIS 6.50 driver file for x86 ndis650\x64\net9500-x64-n650f.inf - NDIS 6.50 driver installation file for x64 ndis650\x64\lan9500-x64-n650f.cat - NDIS 6.50 driver catalog file for x64 ndis650\x64\lan9500-x64-n650f.sys - NDIS 6.50 driver file for x64 ndis650\arm32\net9500-arm-n650f.inf - NDIS 6.50 driver installation file for ARM 32 bit ndis650\arm32\lan9500-arm-n650f.cat - NDIS 6.50 driver catalog file for ARM 32 bit ndis650\arm32\lan9500-arm-n650f.sys - NDIS 6.50 driver file for ARM 32 bit F. Driver Configurable Parameters (for all operating systems except Windows XP) ------------------------------------------------------------------------------- The following parameters are configurable thru the LAN95000 Advanced properties page: 1. Speed & Duplex: Selection of one of the following enumerated values -10 Mbps Full Duplex: Forces 10FD without autonegotiating -10 Mbps Half Duplex: Forces 10HD without autonegotiating -100 Mbps Full Duplex: Forces 100FD without autonegotiating -100 Mbps Half Duplex: Forces 100HD without autonegotiating -Auto Negotiation Advertises support for 10/100 and HD/FD 2. Flow Control: Configure flow control advertised capabilities -Disabled -Rx & Tx Enabled -Rx Enabled -Tx Enabled 3. Network Address (optional): Allows overriding the MAC address of the device 4. Priority & VLAN: Enable or Disable support for VLAN tagging. - Priority & VLAN Disabled - Priority & VLAN Enabled 5. VLANID: If "Priority & VLAN" are enabled this value selects the VLANID to insert on transmits and to filter upon on receives. 6. USB Bandwidth Usage Mode: Selects how the driver uses USB bandwidth - Maximum Throughput: Uses as much USB bandwidth as it needs to maximize the LAN9500's device networking performance. - Sharing Friendly: While providing adequate networking performance, in this mode the driver is conservative with USB bandwidth usage for a better experience of other devices with which it shared USB bandwidth. - Automatic: Sets itself to Sharing for High speed, and to Maximum Throughput for full speed. 7. Auto Mdix: Control whether the feature is enabled or disabled - OFF & Straight: Disabled. Device cabling behaves like legacy Ethernet device with no support for automdix (TPO = output, TPI = input). - OFF & Crossed: Disabled. Device has cabling reversed with respect to an Ethernet legacy device with no support for automdix. (TPO = input, TPI = output) - ON: Enabled - HW Controlled: AUTOMDIX_EN strap or pin controls whether automdix is enabled Default is HW controlled 8. Wake on pattern match: Enable or disable wake on pattern match (Ndis 6.20/Win7 or later) 9. Wake on magic packet: Enable or disable wake on magic packet (Ndis 6.20/Win7 or later) The following parameters are only for LAN9500A/LAN9530/LAN9730/LAN89530: 10. Energy Detect Power Down: Controls whether the PHY is powered down when the Ethernet link is down. - Disabled: PHY remains active - Enabled: PHY is placed in Energy Detect Power Down (EDPD) Default is enabled. 11. NetDetach: Controls operation of the NetDetach feature (device is disconnected from the USB when Ethernet link is down, and reconnected to the USB when Ethernet link is up. (Only for XP/Vista/Win7). - Disabled: Always OFF. - Enabled: Always ON. - Automatic: Enabled when system operating under battery power, disabled if system operating under AC power. Default is automatic. 12. Selective Suspend: Selective suspend capability (Ndis 6.30/Win8 or later) - Disabled: Enabled selective suspend (default) - Enabled: Disables selective suspend 13. Selective suspend Idle Timeout : NDIS considers the network adapter to be idle if it has been inactive for longer than selective suspend idle timeout. If idle device will be placed to suspend. This value specified in seconds (defalt 10). (Ndis 6.30/Win8 or later) G. Driver Configurable Parameters for Windows XP ------------------------------------------------- The following parameters are configurable thru the LAN95000 Advanced properties page: 1. Media Type: Selection of one of the following enumerated values -All Modes Autodetect: Advertises support for 4 combos of 10/100 and HD/FD -Autodetect 10HD: Restricts capabilities to 10HD and autonegotiates -Autodetect 10FD: Restricts capabilities to 10FD and autonegotiates -Autodetect 100HD: Restricts capabilities to 100HD and autonegotiates -Autodetect 100FD: Restricts capabilities to 100FD and autonegotiates -Autodetect Custom: Advertises Capabilities according to Custom Capabilities -Force 10HD: Forces 10HD without autonegotiating -Force 10FD: Forces 10FD without autonegotiating -Force 100HD: Forces 100HD without autonegotiating -Force 100FD: Forces 100FD without autonegotiating 2. Media Type Custom Capabilities (hex): - 16bit hex value that specifies the contents of the Autonegotiation advertisement register of the MII Phy. - Only meaningful if MediaType = Autodetect Custom. 3. Flow Control: Configure flow control advertised capabilities -Disabled -Generate and Respond -Generate only -Respond only 4. Network Address (optional): Allows overriding the MAC address of the device 5. Priority & VLAN: Enable or Disable support for VLAN tagging. - Priority & VLAN Enabled - Priority & VLAN Disabled 6. VLANID: If "Priority & VLAN" are enabled this value selects the VLANID to insert on transmits and to filter upon on receives. 7. USB Bandwidth Usage Mode: Selects how the driver uses USB bandwidth - Maximum Throughput: Uses as much USB bandwidth as it needs to maximize the LAN9500's device networking performance. - Sharing Friendly: While providing adequate networking performance, in this mode the driver is conservative with USB bandwidth usage for a better experience of other devices with which it shared USB bandwidth. - Automatic: Sets itself to Sharing for High speed, and to Maximum Throughput for full speed. 8. Auto Mdix: Control whether the feature is enabled or disabled - OFF & Straight: Disabled. Device cabling behaves like legacy Ethernet device with no support for automdix (TPO = output, TPI = input). - OFF & Crossed: Disabled. Device has cabling reversed with respect to an Ethernet legacy device with no support for automdix. (TPO = input, TPI = output) - ON: Enabled - HW Controlled: AUTOMDIX_EN strap or pin controls whether automdix is enabled Default is HW controlled The following parameters are only for LAN9500A/LAN9530/LAN9730/LAN89530: 9. Energy Detect Power Down: Controls whether the PHY is powered down when the Ethernet link is down. - Disabled: PHY remains active - Enabled: PHY is placed in Energy Detect Power Down (EDPD) Default is enabled. 10. NetDetach: Controls operation of the NetDetach feature (device is disconnected from the USB when Ethernet link is down, and reconnected to the USB when Ethernet link is up. (Only for XP/Vista/Win7). - Disabled: Always OFF. - Enabled: Always ON. - Automatic: Enabled when system operating under battery power, disabled if system operating under AC power. Default is automatic. H: Release Types ---------------- As marked in section A, this release contains drivers of three possible types: a. Production: The release has undergone full internal Microship testing and external Microsoft HLK certification testing ("MSFT Logo"). Drivers are all "Microsoft Hardware Quality Labs signed". There should be no Windows Security Pops for the user to accept during the driver installation. b. PreProduction: The release has undergone internal Microchip testing and deemed to be a Production Candidate but has not yet undergone external Microsoft HLK certification testing ("MSFT Logo"). Drivers for Windows 7 and Windows 8.x have been signed with Microchip certificates and drivers for Windows 10 have been "attestation" signed with Microsoft certificates (but not HLK/"Logo" certified). During installation there will likely be Windows security pop-ups for the user to accept driver software installation / trust software from Microchip Technologies c. Engineering: The release is produced to provide a quick turnaround fix and request confirmation of it for a previously reported problem. It has been either testsigned, or only signed with Microchip certificates and will most likely require testsigning to be enabled in the test system (as explained in section Bii) in order for the driver to start. There will also be Windows security pop-ups for the user to accept driver software and/or trust software from Microchip Technologies during installation. Note that even if the current software release you have received is not Production Type, the LAN95XX hardware and software has been has been previously fully Microsoft HLK logo certified as of software release 2.23.0.0 for x86 and x64 and those versions of the x86 x64 and arm drivers have also been inboxed on Windows 10 v1803 (RS4). The certification reports for those releases can be downloaded from the following locations: For 2.23.0.0 Win10 x86/x64 submission ID 1152921504627774524: https://partner.microsoft.com/en-us/dashboard/hardware/Driver/DownloadCertificationReport/30039700/13807776919818302/1152921504627774524 For 2.17.0.0 Win8.x x86/x64 submission ID 1152921504626504863: https://partner.microsoft.com/en-us/dashboard/hardware/Driver/DownloadCertificationReport/30039700/13530869118229487/1152921504626504863 For 2.17.0.0 Win7 x86/x64 submission ID 1152921504626508192: https://partner.microsoft.com/en-us/dashboard/hardware/Driver/DownloadCertificationReport/30039700/13804383241648254/1152921504626508192 I: Testing ---------- Production releases have been Microsoft Logo certified for Windows 7 and higher for x86 and amd64 Operating Systems architectures. It should be possible to install the same x86 and x64 driver binaries used in the Desktop/Laptop/Notebook/Tablet Computer that were mentioned in the previous paragraph, but in Windows 10 IoT for those architectures using devices such as MinnowBoard Max or Intel Joule. Microchip has NOT yet tested these drivers in those environments as of this release. For the ARM driver the following testing information is applicable a. Ndis 6.30 driver: This driver is derived from a LAN7500 driver that was originally developed for the Windows RT operating system (now discontinued) that was launched during the Windows 8 timeframe. It was a closed platform and official certification could only be done (and was) for the LAN7500 device. Therefore, while available certification tests were run and any pertinent issues observed were fixed in preceding driver versions, neither this driver or it's preceding versions has undergone formal official Microsoft Logo certification. In addition to informally running certification tests in a preceding version, this driver has also been tested as follows: - basic network connectivity on a Raspberry Pi 2 running Windows 10 IoT v1803 Preceding versions of this driver have been integrated successfully and thoroughly vetted by various OEMs in Production ready Windows Embedded Handheld 8 / 8.1 applications. b. Ndis 6.50 driver: This driver is derived from a previous LAN9500 driver that was originally developed for the Windows 10 IoT operating system that was launched during the Windows 10 timeframe. The LAN9500 driver has been part of the official Windows 10 IoT Raspberry Pi image distributed by Microsoft since the LAN9514 device is onboard the Raspberry Pi 3B or earlier. While no official certification program exists for IoT and (unlike Windows RT for the Ndis6.30 drivers) no framework is currently available to even be able to run the tests, the LAN9500 driver has undergone significant vetting by Microsoft and has been in use by millions of users with the Raspberry Pi. This LAN9500 driver has been tested as follows: - basic internet connectivity and file transfers on a Raspberry Pi device. Additionally this LAN7800 driver has been provided to Microsoft for inboxing into Windows 10 IoT v1903 for the Raspberry 3B and earlier c. Common certified Source Code These drivers are compiled from the exact same source code used in the x86 and x64 Ndis 6.30 and Ndis 6.50 drivers that are officially MSFT WHQL certified for Windows 8/8.1/10 as per Section H. I: Known Issues --------------- On Windows 7, confirm that you have windows update KB3033929. If you have not updated from Windows Update since March 15, 2015, go to Windows Update and install KB3033929. The driver will not install experiencing signing problems otherwise. On Windows Vista confirm that you have KB3033929 & KB2763674. The driver will not install experiencing signing problems otherwise. On Windows 10, Engineering Releases will not install unless the system has had Test Signing enabled. See Section B, "Pre-installation Requirements" above for additional information. See Section B, "Pre-installation Requirements" above for additional information on all of these three issues. J. Release History ----------------- ** v18.12.18.0 ** 12/18/18 2.23.0.1 - Added preview build of ARM64 driver 2.23.0.0 - VS2017 build environment and make Win 10 x86 and x64 targets Universal. Fixed code analysis warnings - Fix bugs where Flow Control advertisement could be left on on some PHYs when it was indended to be off based on the regkey. - Added features for external phy operation + autodetect unmanaged PHY operation (default to 100FD in that case) - Added fix to MPCancelSendNetBufferLists - Bugzilla 33553 - Fixed SendCompleteFlags in NdisMSendNetBufferListsComplete - Fixes for BSODs in some systems during sleep and Halt operations - Preserve ETH_LED_GPIO_CFG_LED_SEL if EEPROM present - Bugzilla 33081 - EnableFlowControlGuard as per Win10 RS3 inboxing requirements - Ensure statistics are ok / accessed atomically - Bugzilla 32545 - Return NDIS_STATUS_SEND_ABORTED in MPCancelSendNetBufferLists - Bugzilla 32867 ** v17.05.08.0 ** 05/08/17 2.17.0.0 - Resolved BSOD due to surprise removal during sleep (Bugzilla 32749) - Fixed Count bug in NICRequestWorkItemCallback (Bugzilla 31675) - Fixed problem with reset after sleep - Added timeouts to WDF calls. ** v16.08.19.0 ** 08/19/16 2.11.0.0 - Changes to handling of surprise removal and reset. - Enhanced event log reporting. ** v16.03.01.1 ** 03/01/16 - Update Caphyon Advanced Installer to latest version for proper Windows 10 OS detection. - Removed Miniport CheckForHang handler which is not allowed for AOAC systems, use NdisMResetMiniport as needed instead (NDIS630) - Added check for reset in NICPeriodicCheck (NDIS630) - Check for surprise removal and appropriate handling during OID_PNP_SET_POWER. - Fixed issue where transmission could have got stuck in some corner case conditions. - Improve Ndis versioning support so that later Ndis driver only report use of the portion of the structure they use during OID set, and only return structures of the size they filled up during OID queries. This future proofs drivers. - Fix 78W-125: HLK test DF-HyperVisor Code Integrity Readiness fails on Win10: + Use NonPagedPoolNx instead of NonPagedPool. + Use MdlMappingNoExecute in the call to MmGetSystemAddressForMdlSafe This insures that our driver is "Device Guard" compliant for Win10. - If we fail to reset the USB port in OID_PNP_SET_POWER, save an internal request state in the Driver to maximize recovery opportunities - NICSetPower changes: + Allow re-entering code that sets up the power state even if the driver “thinks” we already were in that state. This could happen if we fail a previous request to set power "mid-flight". + Trigger Reset invocation it we already had the pending reset request state set, rather than letting the periodic timer eventually take care of it. + Return failure to this function if we have a pending failure status or pending reset request state on exit. - Improve stability of driver upon failed control transfers - Several other responsiveness, stability and debugging support improvements. ** v15.06.19.0 ** 06/19/15 - Certified for Windows 10 ** v15.4.23.0 ** 04/23/2015 - Fix bug that resulted in a spurious event log entry about a failure possibly due to a hardware malfunction after removal of device. - Added support to pass all receive packets to the OS (including VLAN mismatched) when in Promiscuous mode. - Fixed bug that could lead to incorrect flow control (back pressure) setup when operating in half duplex. - Fixed bug that could lead to incorrect statistics when rolling over 32 bits. - Disable SelectiveSuspend if remote wake up is disabled in the USB device descriptor. - Reject usage of multicast addresses as a permanent node address. - Fix condition that could lead to the receive path being unable to receive due to lack of USB Bulk in transactions being queued by the driver on the USB bus. - Allow manual selection of Mdi or Mdix mode when Autonegotiation is disabled - Several responsiveness, stability and debugging support improvements. ** v14.8.20.0 ** 08/20/2014 2.6.5.0 All drivers: - If permanent node address is read from descriptor RAM write it back to to NetworkAddress regkey. Vista and higher drivers: - Handle link renegotiation initiated by OID_GEN_LINK_PARAMS set. - Use multiple NBL indications rather than one per indication - General stability improvements (better timeouts, queue cleanup on pause, etc) - Friendly (power consumption conscious even if losing connectivity) behavior in AOAC (Connected Standby / Instant On) systems. ** v14.06.13.0 ** 06/13/2014 - Fixed issue with PmCapabilities on systems that do not support remote wakeup. ** v14.04.25.0 ** 04/25/2014 - Support for MDIO-less operation. ** v13.11.15.0 ** 11/15/2013 - Maintenance release. ** v13.08.08.0 ** 08/08/2013 - Added Win8.1 driver to installer. ** v13.05.14.0 ** 05/14/2013 - Fixed compatibility problem with AMD Quick Stream Technology filter driver. ** v12.12.06.0 ** 12/06/2012 - Fixed BSOD during suspend/resume/restart in Windows 8. - Driver package/installer version change. See the drivers in this package under the section "A. Supported Windows Operating Systems". ** v2.6.0.7 ** 11/05/2012 - Fixed BSOD when connected to specific hub (Fujitsu hub) - Added ability to work with EEPROM tool ** v2.6.0.4 ** 06/27/2012 - Driver package for XP/Vista/Win7/Win8 - Resolves the issue when connected through PPPoE ** v2.6.0.1 ** 06/07/2012 - Win8 only driver package ** v2.5.4.0 ** Package Updated 04/26/2011 - Workwaroud for force link mode EDPD - Added registry key "EnableEEE" to manually enable/disable EEE - Added interface for IOCTL to set link mode. ** v2.5.3.0 ** Package Updated 03/16/2011 - Added support for LAN9530/LAN9730/LAN89530 ** v2.5.2.0 ** Package Updated 02/17/2011 - Fix BSOD issue during NetDetach and unplug ** v2.4.8.0 ** Package Updated 06/10/2010 - "Unidriver Model" package certified with WHQL logo for Windows 7, Windows Vista and Windows Xp -> replaced *.CAT files with new ones received from MSFT WHQL. - No changes in driver binary (sys) files ** v2.4.8.0 ** 05/12/2010 (Cumulative changes since 2.03.0004.0000) - Add support for all new LAN9500A device features (i.e. Netdetach). - Add Advanced properties to control automdix configuration. - Add improvements to detection of device unplug to minimize unload time which should alleviate failures to Ndis request to reset the device that end up in device yellow banged in Device manager. - Fix NDIS DDI non compliances (holding spinlocks during some NDIS calls). - Fix problem when removing device while system was in standby - Fix failure to unload if device unplugged with specific timing during initialization - Fix issue that caused intermittent failures in NDistest 6.0/2c_recvmulti tests due to inability to clear the multicats table. - Fix bug in forced link mode that prevented from achieving link when automdix is disabled - Update to Windows 7 WDK build environment and use WDF 1.9 redistributables - Fix issues when dispatching install.exe from different directory where it is located. ** v2.04.0001.0000 thru 2.4.7.0 ** Internal releases. ** v2.03.0004.0000 ** Package Updated 5/16/2009 - "Unidriver Model" package certified with WHQL logo for Windows 7, Windows Vista and Windows Xp -> replaced *.CAT files with new ones received from MSFT WHQL. - INFs' DriverVer date changed from 2/06/09 to 5/06/09 for Win7 WHQL logo submission since Win7 requires a DriverVer dated post 4/21/2009 (Win7 RC 7100 release date). - No changes in driver binary (sys) files ** v2.03.0004.0000 ** Package Updated 4/08/2009 - \AppData\Eula409.txt updated as per latest SMSC agreement authorizing end user distribution. - No changes in driver packages ** v2.03.0004.0000 ** Original Package 2/16/2009 (Cumulative changes since 2.02.0000.0000) - Specify device as Safely surprise removable, so it dissappears from the "Safe Remove hardware" app - Added support for new SKUs, and boards that use separate Link and activity LEDs. - Fixed some statistic counter bugs. - Pruning system event log messages that were indicating nonfunctioning device even if the driver had successfully recovered from the error condition. - Fix bug where the system becomes unresponsive if unplug device while stressful traffic (i.e. smartbits NIC test) ongoing - Add USB Bandwidth Mode advanced properties parameter, defaults to USB bandwidth sharing friendly. - Fixes in Vista to allow the device to consume power level as low as in Xp when it is disabled. - Improvements to synchronization mechanisms in both transmit and receive using less locking. - Additions to IOCTL interface for LAN9500Utility support. Synchronize IOCTL PHY access with driver internal PHY access. - Multiple stability fixes as per guidelines from DDC2008, code reviews and other sources. - Improvements to Tx path for better pipelining. - Improvements on Rx for better USB bandwidth usage. - Add VLAN support - Fix for issue where an oversized ethernet packet caused a USB babble error when the driver operates in single packet receive mode. - Error recovery fixes: + Do proper TXE recovery via LRST since flushing the Tx path is not enough + Fix Tx & Rx disable sequence. + Fix bug that was causing triple pipe reset when only one was needed. + Invoke reset recovery on Tx underun / Tx overrun. - Initial rev of Win32 DPInst Dispatcher application (install.exe) included - Upgraded DPInst to WDK 6001.18002's shipping version (2.1.1) ** v2.02.0001.0000 thru 2.03.03.0005 ** Internal releases. ** v2.02.0000.0000 ** - Initial WDF release WHQL certified for Windows Xp and Windows Vista.