-
-
Notifications
You must be signed in to change notification settings - Fork 213
Open
Labels
BUGSomething isn't workingSomething isn't working
Description
Bug 反馈
问题描述
被控端为HP ProBook,安装windows11系统,并开启bitlocker,每月微软推送系统包更新后会自动重启,在进入系统前的bitlocker解锁画面,无法使用键盘来输入解锁码
复现步骤
具体步骤如下:
- 控制端为ubuntu24,使用 CH9329 作为虚拟 HID,USB的HDMI采集卡连接被控端
- 被控端进入BIOS/UEFI,One-KVM能显示图像,WebUI鼠标键盘为在线状态,但均无法正常工作,键盘表现为完全无响应,鼠标则在横向移动操作时,实际表现为上下垂直瞬移(左右坐标无变化)
- 进入windows系统后,鼠标和键盘操作一切正常,连接其他品牌被控端设备时BIOS操作正常
日志信息
- Docker 镜像: 没有关于键盘鼠标操作时的日志输出
系统环境
- 运行方式: Docker
- 镜像版本: latest-20251127-094300
- 操作系统: Ubuntu 24.04
尝试过的解决方法
- 尝试修改被控端BIOS/UEFI上关于虚拟化和USB设备的设置
- override.yaml关闭msd为type: disabled
- override.yaml尝试修改hid的speed波特率为115200后,WebUI的鼠标键盘变成离线状态
补充信息
发现过去jetkvm,NanoKVM等项目也报告过类似问题,
jetkvm#79
NanoKVM#183
jetkvm项目具体原因描述为:
- USB HID Boot Protocol支持缺失:BIOS/UEFI环境通常只支持最基本的HID启动协议,而完整操作系统可以处理更复杂的HID描述符。
- 多设备枚举问题:JetKVM同时模拟键盘、鼠标和存储设备,部分BIOS实现对此支持不佳。
- 接口子类设置不当:原始代码中将bInterfaceSubClass设置为0(未知),而非标准的1(启动接口子类)。
jetkvm的解决方案为:
- 修改USB描述符:将HID接口的子类从0改为1,明确声明支持启动协议。
- 简化设备枚举:在BIOS环境下暂时禁用非必要设备(如虚拟存储)以降低复杂度。
另外估计是CH9329模拟HID的原因,pikvm文档提到的 kvmd-otgconf 命令无法执行
https://docs.pikvm.org/usb/#dynamic-configuration
Metadata
Metadata
Assignees
Labels
BUGSomething isn't workingSomething isn't working