proxmox

How to Set Up USB Passthrough in Proxmox

Plenty of homelab hardware only works properly when connected directly to a specific machine — a Zigbee USB stick for Home Assistant, a hardware security key, or a USB-connected UPS. Setting up USB passthrough in Proxmox lets a virtual machine access these devices directly, just as if they were physically plugged into that VM rather than the Proxmox host itself.

What Is USB Passthrough?

USB passthrough gives a virtual machine direct, exclusive access to a physical USB device connected to the Proxmox host. Unlike GPU passthrough, which requires IOMMU groups and kernel-level VFIO binding, USB passthrough is considerably simpler to configure, usually requiring just a few clicks in the Proxmox web interface.

Two Passthrough Methods

Proxmox supports two approaches to USB passthrough:

  • USB Port Passthrough – passes through a specific physical USB port, meaning whatever device is plugged into that exact port gets forwarded to the VM, regardless of which device it is
  • USB Device Passthrough – passes through a specific device based on its vendor and product ID, following that particular device even if it’s unplugged and reconnected to a different physical port

Device-based passthrough is generally more convenient for homelab use, since it doesn’t depend on remembering which physical port a device needs to stay plugged into.

Identifying Your USB Device

On the Proxmox host, list connected USB devices to find the one you want to pass through:

lsusb

This shows output like:

Bus 001 Device 004: ID 0451:16a8 Texas Instruments TUSB3410

The 0451:16a8 portion is the vendor and product ID needed for device-based passthrough.

Adding USB Passthrough via the Web UI

  1. Select the target VM in the Proxmox web interface.
  2. Go to the Hardware tab.
  3. Click Add → USB Device.
  4. Choose Use USB Vendor/Device ID and select your device from the dropdown list (Proxmox automatically detects connected devices and shows their identifiers).
  5. Click Add, then start (or restart) the VM.

Verifying Passthrough Inside the VM

Once the VM boots, confirm the device appears inside the guest operating system exactly as if it were physically connected — running lsusb inside a Linux VM, or checking Device Manager on a Windows VM, should show the passed-through device listed.

Common Use Cases in a Homelab

  • Zigbee/Z-Wave USB coordinators – passed through to a Home Assistant VM for smart home device communication
  • UPS USB monitoring cables – passed through to whichever VM runs your NUT server for power monitoring (covered in the earlier UPS guide)
  • Hardware security keys – passed through for services requiring physical 2FA authentication
  • USB-connected label printers or scanners – for home inventory or document management VMs

Handling Devices That Disconnect Unexpectedly

Some USB devices, particularly ones that reset or briefly disconnect during normal operation (certain Zigbee sticks are known for this), can occasionally lose their passthrough connection if the VM doesn’t handle a brief disconnect gracefully. If you experience this, device-based passthrough (rather than port-based) generally handles reconnection more reliably, since Proxmox continues watching for that specific device ID regardless of exactly when it reappears.

USB Passthrough vs Sharing a Device via Network

For some devices, an alternative to direct passthrough is running a USB-over-IP or vendor-specific network sharing tool, allowing multiple VMs or even multiple physical machines to access the same device without exclusive passthrough — though this adds complexity and isn’t necessary for the common single-VM use case most homelab users have.

Final Thoughts

Setting up USB passthrough in Proxmox is a quick, low-friction way to give a specific VM direct access to specialized hardware that has no useful purpose running on the Proxmox host itself. Whether it’s a smart home radio stick or a UPS monitoring cable, passthrough ensures that hardware-dependent VM gets exactly the direct access it needs.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *