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.
 

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!