The HP Compaq NC6320 is a laptop with integrated Broadcom Netlink™ BCM5788-A3 gigabit ethernet network card. Installation of a Windows 10 1909 ISO fails on this system with a “System Thread Exeption Not Handled” bluescreen error. I will explain how I fixed this.
As it would be insane to throw this machine in the bin over a faulty Windows install, it should be fixed. But how? As the ISO won’t install, you cannot boot into safe mode, because the installation procedure of Windows is not complete. If you try to boot in safe mode (for removing the driver) you are greeted by this error:
But you cannot restart, as it immediately shut’s down with a BSOD. So how to proceed?
After a long and tedious process of thinking, I decided to try an older version of Windows 10, namely 1809. This ISO worked and the system worked fine. However, Microsoft decided that 1809 is phased out in may 2020. So updating to at least 1903 or preferably 1909 was needed. On updating to 1903, the system booted with the above bluescreen, rolling back all the update files and going back to 1809. It’s quite strange that 1809 works and 1903 does not.
Identifying the problem with SetupDiag
The silly Broadcom driver which was the culprit of installation failure was easily identified by SetupDiag a diagnose utility from Microsoft that fetches errors such as failed driver installations on Windows Update. The driver, b57nd60a.sys was giving: Error: Found a device installation hang during device install phase, device information follows: Device Installation Hang detected!. This initiated the rollback procedure wasting hours and hours of installation time.
Broadcom’s newest driver is automatically installed 🙁
All this is because of Windows 10 updating all of it’s drivers on a new feature pack update. Windows decides that the new Broadcom 188.8.131.52 driver should be used for this ethernet card, which is way too new for this system. Unfortunately the device cannot be disabled in the HP bios, which would have saved a lot of time. Manually selecting a driver inside the driver selection window did not give the correct driver, even when the “show compatible hardware” was deselected.
Working towards a fix: Group policy editor
This machine works best with Windows 10 Pro, as it has the group policy editor, avoiding other difficult registry hacks. Group Policy Editor is what can enable or disable several settings when managing the system. One of the settings is “Disabling automatic driver updates on Windows Update”.
However, this did not work. The installation of the update to 1903 fails again. Only after deliberately setting PCI\VEN_14E4&DEV_169C in the Group Policy Editor on devices that should NOT be installed AND disabling the device in device manager, Windows can install the major software update fine after some hours of waiting.
Another option was staying on Windows 10 version 1809 and choosing the LTSC branch, but that is not what I preferred. I wanted to go to 1903 and then to 1909 or immediately to 1909.
The driver that works
A lot of people on the internet say the Broadcom driver that works (for them) is version 184.108.40.206 OR version 17.2.x.x. They both do not work on this system, giving a “Code 10a, device cannot be started” error. So I had to try a lot of other 64 bit drivers to find one which works. The driver that works on this system is not the b57nd60a.sys but it is the k57nd60a.sys. Driver version is 220.127.116.11. The 64 bit and 32 bit examples are uploaded by me here to download. The driver is from 2013 but works fine on this system. Part of this fix is also referenced here and here.
When Windows 10 is updated to 1909 and the group policy settings are manually reverted to default after the driver has been succesfully installed, the bluescreen mentioned above returns immediately and the system is rebooted 🙁
This can be mitigated by booting into SAFE mode, removing the 18.104.22.168 driver again and installing manually the 22.214.171.124 driver. After a reboot the system works fine BUT the group policy settings are destroyed and not accesibly anymore via GPEDIT.msc. The famous read-only permission fix on the directory C:\Windows\System32\GroupPolicy\ and it’s subdirectories did not work. However the Group Policy Editor can be fixed by opening an Explorer window, going to C:\Windows\System32\GroupPolicy\ and renaming the Machine folder to Machine.old and then re-opening GPEDIT.MSC so the directory is regenerated. All previous group policy settings are now gone and reverted to default, so be careful if you made other fixes, you have to set them again.
Broadcom Advanced Control Suite
Also the Broadcom Advanced Control Suite 3 software is also working fine. This software can view additional information when connected to a network.
In the future
The problem is fixed, however I am afraid that for every large feature update this hassle of a manual driver update in safe mode is needed. This can be prevented by Microsoft if they choose not to update drivers on new or feature pack installs.