在 Proxmox VE (PVE) 中直通 Intel AC3165 无线网卡的 **蓝牙模块**(通常属于 USB 设备,而非 PCIe 设备)需要特殊处理,因为它的蓝牙部分通常通过 USB 连接,而 Wi-Fi 部分才是 PCIe 设备。以下是详细步骤:
---
## **1. 确认设备信息**
### **(1)查看 PCIe Wi-Fi 和 USB 蓝牙**
- **Wi-Fi(PCIe 设备)**:
```bash
lspci | grep -i wireless
```
示例输出:
```
03:00.0 Network controller: Intel Corporation Wireless 3165 (rev 81)
```
- **蓝牙(USB 设备)**:
```bash
lsusb | grep -i bluetooth
```
示例输出:
```
Bus 001 Device 003: ID 8087:0a2a Intel Corp. Bluetooth wireless interface
```
---
## **2. 直通蓝牙(USB 设备直通)**
由于蓝牙模块通常是 **USB 设备**,不能直接 PCI 直通,但可以通过 **USB Passthrough(USB 直通)** 方式传递给虚拟机。
### **(1)找到蓝牙的 USB 设备 ID**
```bash
lsusb
```
找到类似:
```
Bus 001 Device 003: ID 8087:0a2a Intel Corp. Bluetooth
```
记录 `ID 8087:0a2a`(厂商ID:设备ID)。
### **(2)编辑虚拟机配置文件**
假设虚拟机 ID 是 `100`:
```bash
nano /etc/pve/qemu-server/100.conf
```
在文件末尾添加:
```
usb0: host=8087:0a2a
```
- `8087:0a2a` 替换为你的蓝牙 USB 设备 ID。
### **(3)重启虚拟机**
```bash
qm stop 100 && qm start 100
```
---
## **3. 直通 Wi-Fi(PCIe 直通,可选)**
如果你也需要直通 Wi-Fi(PCIe 设备),需额外步骤:
### **(1)启用 IOMMU**
确保 BIOS 开启 **IOMMU**(AMD CPU 需在 `/etc/default/grub` 添加 `amd_iommu=on`)。
### **(2)检查设备是否可直通**
```bash
lspci -nn | grep 3165
```
输出示例:
```
03:00.0 Network controller [0280]: Intel Corporation Wireless 3165 [8086:3165] (rev 81)
```
- 记录 `8086:3165`(厂商:设备 ID)。
### **(3)绑定 Wi-Fi 卡到 `vfio-pci`**
```bash
echo "options vfio-pci ids=8086:3165" > /etc/modprobe.d/vfio.conf
update-initramfs -u -k all
reboot
```
### **(4)添加 PCI 设备到虚拟机**
```bash
qm set 100 -hostpci0 03:00.0
```
- `03:00.0` 替换为你的 Wi-Fi PCI 设备地址。
---
## **4. 验证直通是否成功**
- **蓝牙**:
- 在虚拟机中运行 `lsusb`,检查是否出现 `8087:0a2a`。
- 在 Windows 虚拟机中,设备管理器应显示 **蓝牙适配器**。
- **Wi-Fi(如果直通)**:
- 在虚拟机中运行 `lspci`,检查是否出现 `Intel Wireless 3165`。
---
## **5. 常见问题**
### **(1)蓝牙无法识别?**
- 检查 USB 设备是否被 PVE 占用:
```bash
dmesg | grep bluetooth
```
- 尝试在 PVE 主机卸载相关驱动:
```bash
modprobe -r btusb
```
### **(2)Wi-Fi 直通后无法使用?**
- Intel Wi-Fi 卡在 Linux 虚拟机中可能需要额外驱动。
- 在 Windows 虚拟机中,需手动安装 Intel 驱动。
### **(3)PVE 8 兼容性问题?**
- 确保使用最新 PVE 8 和内核:
```bash
apt update && apt upgrade
```
---
## **总结**
| 设备 | 直通方式 | 关键命令 |
|------|----------|----------|
| **蓝牙(USB)** | USB Passthrough | `qm set VMID -usb0 host=8087:0a2a` |
| **Wi-Fi(PCIe)** | PCIe 直通 | `qm set VMID -hostpci0 03:00.0` |
如果你的 **AC3165 蓝牙无法识别**,可能是 USB 设备被 PVE 占用,尝试卸载 `btusb` 驱动后再直通。
折腾了几个小时终于通了