[SOLVED] Extremely slow upload speed (1Mbps) in Windows VM


New Member
Aug 22, 2023

I have a Gigabit NIC plugged into a PCI-E slot on my Proxmox server. I also have a Gigabit internet subscription. I created a Windows 11 VM on the Proxmox host and passed the NIC to the Windows VM. The VM can recognize the NIC without any problem. By running Google's internet speed test, I do get the desired download speed from the NIC with about 900Mbps. But I only get 1Mbps of upload speed. I also tried other speed test websites and they all gave similar results. the speedtest.net even gave 0 upload speed. I tried to upload a large file to my Google Drive and it took forever. When I did these tests, I disabled the virtual network bridge from Proxmox. So all the network traffic was handled by this NIC.
Screenshot from 2023-08-23 14-55-03.png
When passing through this NIC, I tried to enable or disable the "All function" checkbox and the "PCI-Express" checkbox. But they didn't make any difference.

One thing I noticed was that this NIC does provide Gigabit bandwidth within my local network. I ran the `iperf` test between this Windows VM and my physical Ubuntu desktop. This Windows VM can send and receive data with 950Mbps. So I guess this shouldn't be the driver problem. In fact, the Windows VM does recognize this network connection as "Link speed (Receive/Transmit): 1000/1000 (Mbps)".
Screenshot from 2023-08-23 14-34-20.png

I thought this might be a firewall problem. So I tried a lot of firewall settings, I even tried to completely turn off the firewall. But I still get basically zero upload speed. I also checked my router settings but nothing was specially set for this interface.

I'm sure this NIC works fine. To test the NIC, I tried to pass it to another Ubuntu desktop VM where I indeed got the expected speed:
Screenshot from 2023-08-23 15-30-30.png

Now I run out of my mind. I really need this NIC to run properly in my Windows VM. Any help or advice will be appreciated.

You didn't showed us any VM configs. Do you use the default E1000 or the "windows 11 best practice" recommended virtio NIC?
You didn't showed us any VM configs. Do you use the default E1000 or the "windows 11 best practice" recommended virtio NIC?
Oops, I forgot to attach my VM config. Apologize. Please see the output of qm config <my_vm_id> below:
agent: 1,freeze-fs-on-backup=0
bios: ovmf
boot: order=scsi0;ide2
cores: 8
cpu: host,flags=+aes
efidisk0: local-lvm:vm-102-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:09:00,pcie=1
hostpci1: 0000:07:00,pcie=1
ide2: local:iso/virtio-win-0.1.229.iso,media=cdrom,size=522284K
machine: pc-q35-8.0
memory: 16384
meta: creation-qemu=8.0.2,ctime=1692154571
name: Windows11
net0: virtio=9E:4D:B1:05:10:BF,bridge=vmbr0
numa: 1
ostype: win11
scsi0: local-lvm:vm-102-disk-1,cache=writeback,discard=on,iothread=1,size=256G
scsihw: virtio-scsi-single
smbios1: uuid=0f6726b9-c918-4849-abd7-cd0cc0925f1d
sockets: 1
tpmstate0: local-lvm:vm-102-disk-2,size=4M,version=v2.0
vga: none
vmgenid: 201e6891-e946-4776-a039-6b8a6b52a177

I am following the Windows best practice shown here and using VirtIO as my network device, but it is not relevant to this question. I'm talking about a physical NIC that I plugged into a PCI-E slot and added to my VM using PCI passthrough. When testing this physical NIC, I disabled the VirtIO network interface that comes from the proxmox network bridge.
NVM, I found a workaround. Instead of adding the NIC to my VM using PCI-E passthrough, I added a new bridge in proxmox on the NIC and added that bridge to the VM. Now I get full upload and download speed.


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!