Merge pull request #22 from outis1one/claude/bios-vt-power-settings-mxjh0x

Claude/bios vt power settings mxjh0x
This commit is contained in:
Outis
2026-06-27 13:37:48 -04:00
committed by GitHub
+67 -10
View File
@@ -2302,6 +2302,41 @@ Click **Add**.
---
### Step 11.4b — Add USB 3.0 PCIe card to VM 100
Still in VM 100's **Hardware** tab. Click **Add****PCI Device**.
First, identify the card's PCI address on the Proxmox host:
```bash
lspci | grep -i usb
# Look for the PCIe card — e.g.:
# 82:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01)
```
In the dialog:
| Field | Value |
|-------|-------|
| Raw Device | selected |
| Device | 0000:82:00.0 (your address from lspci) |
| All Functions | checked |
| PCI-Express | checked |
| ROM-Bar | checked |
| Primary GPU | unchecked |
Click **Add**.
All ports on the USB card are now owned by VM 100. The Coral TPU for VM 101
(Frigate) uses one of the server's built-in rear USB ports instead — it only
needs USB 3.0 speed and works on any port.
> **VL805/VIA cards** are single-function (one PCI address), so All Functions
> has no effect but does no harm. ASMedia and other multi-function cards
> benefit from it more.
---
### Step 11.5 — Add Coral USB to VM 101
In the left panel, click **101****Hardware** tab.
@@ -2394,20 +2429,42 @@ qm set <vmid> -usb0 host=2-1 # bus-port notation from lsusb -t
**USB optical drives:**
Pass a USB optical drive to VM 100 (Services) for ripping with MakeMKV or
HandBrake. Use **Method B (by port)** rather than by vendor/device ID — some
optical drives briefly re-enumerate when a disc spins up, which can cause the
device to drop and reconnect if bound by ID.
Two USB optical drives connect to the VL805 PCIe card (already passed to VM 100
as a PCI device in Step 11.4b). The drives appear inside VM 100 as `/dev/sr0`
and `/dev/sr1` — but boot order can swap which is which.
**Fix: udev port-binding rules inside VM 100.**
Always plug drive 1 into the outermost port and drive 2 into the next port in.
Label the cables. Then create stable symlinks based on port path:
```bash
# Find the port your drive is on:
lsusb -t
# Then pass it to VM 100:
qm set 100 -usb2 host=<bus>-<port> # e.g. host=2-3
# Inside VM 100 — plug both drives in, then find their port paths
udevadm info /dev/sr0 | grep ID_PATH
udevadm info /dev/sr1 | grep ID_PATH
# Example output:
# E: ID_PATH=pci-0000:01:00.0-usb-0:1:1.0-scsi-0:0:0:0 ← outermost port
# E: ID_PATH=pci-0000:01:00.0-usb-0:2:1.0-scsi-0:0:0:0 ← next port in
# Create the udev rule (replace ID_PATH values with yours from above)
sudo tee /etc/udev/rules.d/99-optical.rules << 'EOF'
ENV{ID_PATH}=="pci-0000:01:00.0-usb-0:1:1.0*", SYMLINK+="optical-drive1"
ENV{ID_PATH}=="pci-0000:01:00.0-usb-0:2:1.0*", SYMLINK+="optical-drive2"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
# Verify
ls -la /dev/optical-drive*
# Should show: optical-drive1 -> sr0 and optical-drive2 -> sr1
```
Inside VM 100 the drive appears as `/dev/sr0`. MakeMKV and HandBrake will
find it automatically.
Use `/dev/optical-drive1` and `/dev/optical-drive2` in MakeMKV and HandBrake
instead of `/dev/sr0` — these names survive reboots and port re-enumeration.
> **Why not bind by vendor/device ID?** Identical drives share the same vendor
> and device ID so udev can't tell them apart. Port binding is the only reliable
> method for two identical drives.
---