惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
有赞技术团队
有赞技术团队
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
The Cloudflare Blog
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
Vercel News
Vercel News
IT之家
IT之家
MyScale Blog
MyScale Blog
博客园_首页
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
罗磊的独立博客

Jiajun的技术笔记

你好,2026! TiDB 源码阅读(六):TiDB Coprocessor 源码解析 性能优化的核心思想 TiDB 源码阅读(五):索引 TiDB 源码阅读(四):AST、逻辑计划、物理计划 CockroachDB Serverless Architecture podman 无故退出 Cursor Control-L (CTRL-L) Keyboard Shortcuts in Terminal Replace docker with podman Using xmonad with xfce4 A RC script for freebsd frpc 自己动手写一个k8s controller AI 会取代你的(编程)岗位吗? 自建DERP服务器提升Tailscale连接速度(使用Nginx转发) 自动升级Docker容器 再读《程序员修炼之道-从小工到专家》 让浏览器下载文件 再读《软件随想录》/《黑客与画家》/《软技能》 HTTP 压力测试中的 Coordinated Omission 2的补码 编程语言中的 context 是什么? flutter macOS 构建出错 Flatpak 使用小记 Golang CAS 操作是怎么实现的 PostgreSQL 当MQ来使用 Clash 结合 工作VPN 的网络设计 使用 PostgreSQL 搭建 JuiceFS PostgreSQL 配置优化和日志分析 有GitHub Copilot?那就可以搭建你的ChatGPT4服务 窗口函数的使用(以PG为例)
KVM 穿透板载蓝牙和无线网卡
Jiajun Huang · 2025-05-05 · via Jiajun的技术笔记

我的Host一直是Linux,但是偶尔会打游戏,因此有一台 Windows 虚拟机,最近想要把板载蓝牙和无线网卡穿透进去,但是都遇到了一些 小困难需要解决,因此记录成文。

穿透无线网卡

无线网卡穿透起来和穿透显卡等硬件是一样的,由于无线网卡在一个单独的IOMMU组,直接加到 /etc/modprobe.d/vfio.conf 中即可,此外,我发现我本地的无线网卡总是被 igb 驱动优先占用导致 vfio-pci 无法占用网卡,我在 /etc/modprobe.d/vfio.conf 中加上:

softdep igb pre: vfio-pci
options vfio-pci ids=...无线网卡的硬件ID

然后重启以后,就可以穿透了。

穿透蓝牙

一开始我以为蓝牙是和无线网卡在一起的,后来发现蓝牙是和USB控制器在一起的,在 virt-manager 中,点击 Add Hardware - USB Host Device, 选择带 Intl...Bluetooth 的那个,穿透进去以后,如果直接开机的话,会发现这样的现象:

  • Windows 可以发现蓝牙硬件,但是无法使用,安装驱动以后,点开 “我的电脑” 查看硬件详情,驱动里报错 “code: 10”

经过搜索发现,这是 libvirt 的一个改动导致的问题,要解决这个问题,还需要编辑XML:

$ sudo virsh edit --domain windows

</domain> 上面加上 <qemu:capabilities> 这一节:

<domain>
    <devices>
        ...
    </devices>

    <qemu:capabilities>
        <qemu:del capability="usb-host.hostdevice"/>
    </qemu:capabilities>

...
</domain>

此时如果保存你会发现无法通过xml校验,还需要跳到顶部,在 <domain type='kvm'> 改成

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

然后保存,然后重启以后,就可以穿透蓝牙了。


参考文档: