No Network Adapter in fresh Windows Server after Upgrade to Proxmox 7

Cross posting this same update from both the GitHub thread for the virtio drives (https://github.com/virtio-win/kvm-guest-drivers-windows/issues/750#issuecomment-1814759725) and the GitLab thread for the qemu project (https://gitlab.com/qemu-project/qemu/-/issues/774)

We just ran into this in our KVM/QEMU based platform with a qemu 6.2 based platform. Everything was a-ok running qemu 4.2 prior, but as soon as the upgrade to 6.2 happened, we started hitting this problem on german windows as all these threads describe.

Looking through the git history on qemu `hw/i386/acpi-build.c` there isn't a crazy amount of churn between 6.2 and 7.2, so we can narrow the windows pretty quickly.

- <6.2 upstream cutoff> 211afe5c69 hw/i386/acpi-build: Deny control on PCIe Native Hot-plug in _OSC
- 2914fc61d5 pci: Export pci_for_each_device_under_bus*()
- 36efa250a4 hw/i386/pc: Allow instantiating a virtio-iommu device
- 867e9c9f4c hw/i386/pc: Remove x86_iommu_get_type()

Based on what the GitLab thread here says for git bisect windows: https://gitlab.com/qemu-project/qemu/-/issues/774#note_1178918198

DEPENDENCY 1
hw/i386/acpi-build: Avoid 'sun' identifier - https://github.com/qemu/qemu/commit/9c2d83f5a0ef558f8882998af6cb800101243655

DEPENDENCY 2
acpi: x86: refactor PDSM method to reduce nesting - https://github.com/qemu/qemu/commit/a12cf6923ce121633d877cf3ec53b2bcc85763ca

FIXES THE ISSUE
x86: acpi: _DSM: use Package to pass parameters - https://github.com/qemu/qemu/commit/467d099a2985c1e1bd41b234529d7f2262fd2e27

We tested this out on both pc and q35 VM's with these patches applied, and the issue was immediately fixed

Now, there is some talk in these threads about 8.1 not working again.

I haven't tested this, but if I had to take a wild guess, I'd guess that this commit breaks it again
x86: acpi: workaround Windows not handling name references in Package properly - https://github.com/qemu/qemu/commit/44d975ef340e2f21f236f9520c53e1b30d2213a4
 
  • Like
Reactions: fiona and RolandK
Hi,
thank you for the report!

Now, there is some talk in these threads about 8.1 not working again.
Yes, we can confirm it's broken again in pve-qemu-kvm >= 8.1.2-1.

I haven't tested this, but if I had to take a wild guess, I'd guess that this commit breaks it again
x86: acpi: workaround Windows not handling name references in Package properly - https://github.com/qemu/qemu/commit/44d975ef340e2f21f236f9520c53e1b30d2213a4
This is indeed the culprit. Since that commit was only fixing a cosmetic issue, pve-qemu-kvm >= 8.1.2-2 will include a revert to avoid the breakage until there is a proper fix.
 
Great! Happy to help. We're all in same boat here, so we're happy to collaborate on making sure this is smooth for all QEMU based folks. Oddball bugs like this are never fun.

Good thing is that I think we've at least got this bug cornered, so now its just a matter of "who dun it?" in between what QEMU fixups can be made vs what Microsoft might need to engage on to fixup their side.
 
Hello,
after diging around with the same issue and testing many ideas from the forum and the www, here is what worked for me.
  1. Install Windows and start it up as usual
  2. Mount the VirtIO Drivers Disc
  3. Install Virtio-Win-Gt
  4. Install Virtio-Win-Guest Tools
  5. Open the Device-Manager and Deinstall the ReHat Virtio Ethernet Adapter (Select Delete Driver Files)
    1725339972194.png
  6. Seach for changed hardware
    1725340052812.png
  7. Ethernet-Controller will appear
  8. Right click, install drivers and select the mounted disc as source for drivers (Make sure to include subfolders)
    1725340124399.png
  9. Windows will install the drivers from the disc and the eth-adpater should be usable :)
 
The issues disappear when using the q35 hardware model. Everything is working fine now.
The issues disappear when using the q35 hardware model. Everything is working fine now.
So I tried to test this. First, I stopped the machine > changed the machine type (OS Type in the hardware settings) from q35 to the default i440fix. That didn't seem to help. I also tried creating a new machine with the correct settings, and that fixed it!!!

Thanks!
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!