This is nerd stuff. Stop reading and wait for my next post if that’s not immediately interesting to you.
I’m writing this as a how-to for anyone else that has this problem. I know I’m not the first, but I might be the first to get it resolved.
For reference, I’m installing Hyper-V Server 2019 on an Asus ROG Crosshair VII Hero (WiFi) motherboard with an AMD Ryzen 2700x processor.
This past weekend was an adventure. I’ve been running a web server for decades now. It’s a personal playground for me to mess around with new technologies when I find the time. It’s always run on nearly obsolete hardware. Whenever I upgrade my desktop, the scraps go to the server.
In the past few weeks, I’ve been trying to use a Windows 10 VM on it and it’s been slow as molasses. When I ran the PC Health Check app to see if I could upgrade it to Windows 11, it didn’t even offer suggestions. It just did this:
So for the first time ever, I decided to upgrade my desktop while it’s still sort of current and finally give my server some modern guts.
It was supposed to be simple. Swap the parts in, install a fresh copy of Hyper-V server, fire up my VM’s, and call it done. An hour. Maybe two, tops.
I wasn’t expecting the built-in network card to be unsupported and not be able to connect to the network. Connecting to the network is important for it. That was a problem.
The first thing I looked for was how to install a device driver. I found this, which was very helpful:
https://www.cryer.co.uk/brian/windows/hyper-v-server/how_to_update_device_drivers.htm
After that, I went looking for the driver to install and found I had a bigger problem. There wasn’t one available.
Figuring out what to do next, I came across this guy from a few years back with the same problem:
https://community.spiceworks.com/topic/2132496-standalone-hyper-v-server-2016-no-active-network-adapter-found
He didn’t seem to resolve it, but pointed me to this guy, who got Intel drivers working for a different unsupported network adapter:
https://jayrbarrios.com/2014/11/19/intel-nuc-d54250wykh-installing-lan-driver-on-windows-hyper-v-server-2012-r2/
It took a bit of trial and error but I got the gist what he’d done enough to adapt it to my system.
I downloaded the Intel drivers from here:
https://www.intel.com/content/www/us/en/download/19372/intel-network-adapter-driver-for-windows-server-2019.html
Note that the I211-AT isn’t on the list there.
Going back to the first link, there’s a utility that lets you see devices similar to what the Device Manager shows on a regular Windows installation. You can get it here: http://www.nirsoft.net/utils/device_manager_view.html
Using that, I found my ethernet adapter listed and could see what the system saw it as. It was this:
The important bit is the Device Instance ID.
I searched through the pile of stuff in the Intel driver package and found an entry very similar in e1r65x64.inf in the [Intel.NTamd64.10.0.1] section.
%E1539NC.DeviceDesc% = E1539.10.0.1, PCI\VEN_8086&DEV_1539
Looking at what the guy with the NUC did, I added a line below it to match what mine showed up as:
%E1539NC.DeviceDesc% = E1539.10.0.1, PCI\VEN_8086&DEV_1539&SUBSYS_85F01043
I then copied both lines down to the next section as suggested. So at the bottom of the list for [Intel.NTamd64.10.0] I added these:
%E1539NC.DeviceDesc% = E1539.10.0.1, PCI\VEN_8086&DEV_1539
%E1539NC.DeviceDesc% = E1539.10.0.1, PCI\VEN_8086&DEV_1539&SUBSYS_85F01043
Here’s what it looks like. Note that I kept the 10.0.1 bit in the middle. On my first attempt I thought I was clever and removed it to match the rest of the lines in this section. It didn’t work.
Then I followed the rest of the instructions as follows:
I copied the whole NSID65 folder, with my modified inf file, to the server and ran the following commands:
bcdedit /set LOADOPTIONS DISABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING ON
bcdedit /set nointegritychecks ON
Then I rebooted the server.
shutdown /r /t 0
When it came back up, I installed the driver using this command:
pnputil –i –a C:\NDIS65\e1r65x64.inf
You’ll get a warning about it being potentially tampered with. Well… yeah. I just tampered with it.
Choose to install it anyway.
Hopefully it will be successful this time. It was for me.
Now run these commands to turn the driver enforcement back on.
bcdedit /set LOADOPTIONS ENABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING OFF
bcdedit /set nointegritychecks OFF
Now reboot again, and it should be good to go!
Drop a comment if this helped you. I hope at least someone is saved a lot of frustration with this.
Doesn’t help me in the least, but I’m glad you didn’t brick your server.
There’s still time. 😁
It’s been a bit unstable and I’m not sure why yet. I did some surgery on the power supply to ensure the issue isn’t that it’s not getting enough juice.
Next I’ll try to narrow down whether it’s memory usage or CPU load that’s causing it.
As long as it’s not working hard it’s been stable. As soon as I ramp up the load by starting another couple of VM’s though it crashes with Asus Q-Code 8 displayed on the motherboard.
Searching hasn’t narrowed it down. It seems like a somewhat generic error that could be caused by a number of things.