After being graced with the latest Windows 10 feature update, Build 18362, both network adapters on my ASRock X370 Taichi motherboard went missing. This was not a simple case of the drivers for the network cards, the Intel Wireless-AC 9260 and Intel I211, not being installed, device manager did not even have a “unknown device” placeholder for either NIC.
Luckily, this was not a hardware issue (failure). Both devices worked once again after rolling back the build 18362 update. However, this is not a long-term solution as Windows 10 is very persistent on nagging users to install feature updates.
As the hardware had not failed, it was on to looking for something missing in the PCIe tree. Unfortunately, Windows 10 does not ship something like lspci
as most Linux distributions do. However, there is the Device Management PowerShell utility. With it installed, the following command can be used to collect the PCI tree:
Get-device | where {$_.LocationInfo -like 'PCI bus*'} | select Name, LocationInfo, UINumber > pci_tree.txt
Comparing the PCI tree from before and after the build 18362 update revealed that the “PCI Downstream Switch Ports” on PCI bus 38 and the “PCI Upstream Switch” port on PCI bus 13 were missing (along with the two Intel NICs). On the ASRock X370 Taichi, only the CPU and the chipset contain PCIe switches. Given that NICs are traditionally attached to the chipset, it was time to look at the chipset driver.
Attempting to re-install the latest AMD X370 chipset driver revealed that Windows had downgraded the driver in the feature update—breaking the PCI bus in the process. Fixing the issue was as simple as re-installing the AMD 19.10.0429 chipset driver. After a reboot, both NICs were working one again.