PVE蓝牙直通
在家庭服务器部署过程中,蓝牙的直通问题困扰了不少时间,这边单独拿出了讲讲。
蓝牙直通的诉求来自于安装Pop!_OS
后,希望可以通过蓝牙鼠标和蓝牙键盘进行操作,而不是有线鼠标和键盘。
网上也搜索了很多资料,只知道蓝牙设备应该是走的USB总线,但lspci
和lsusb
都没有出现BlueTooth字样的设备,并没有针对GMK M6的蓝牙直通教程。最终只能请教全知全能的ChartGPT。
首先根据提示通过dmesg | grep -i bluetooth
命令发现系统启动时存在蓝牙相关的报错:
1
|
|
询问ChartGPT后,提示可能是缺少对应的文件,文件名为:BT_RAM_CODE_MT7922_1_1_hdr.bin
。
在以下网站搜索得到:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mediatek
然后,安装文档说明,将文件放置到/lib/firmware/mediatek
文件夹下,重启服务器。再次执行dmesg | grep -i bluetooth
命令,发现没有报错。
继续按照ChartGPT的提示,测试蓝牙是否可以正常工作,使用bluetoothctl
工具。
1
|
|
进入bluetoothctl交互模式。
在 bluetoothctl
中,确保蓝牙设备已经打开并设置为可发现状态:
1 2 3 4 |
|
power on
:开启蓝牙。agent on
:启动代理,用于处理配对请求。default-agent
:将代理设置为默认。scan on
:启动扫描,查找附近的蓝牙设备。
发现可以正常搜索到附近的蓝牙设备,说明蓝牙可以正常工作了。
此时,最初的问题还没解决,到底哪个设备是对应着蓝牙?经过上面的排查,隐约觉得蓝牙设备和WiFi好像是用的同一个芯片(即MT7922)。并且,在这些设备中,只有着一个设备生产厂商是MediaTek。于是抱着试试看的心态,将对应的USB设备添加到虚拟机中,如下图。最终测试成功。