linux-device-driver - Linux上的罗技键盘,无法将配置设置为设备或资源繁忙
问题描述
我有一个用于 linux 的 Logitech G613 键盘。它工作正常,除了 G(1-6) 键默认映射到 F(1-6) 并且没有重新映射 F 键就无法重新映射它们。
所以,我在互联网上浏览了很多资源,找到了 g15daemon和libg15。不幸的是,libg15不支持 G613,但我找到了一种方法让库通过添加以下行来检测我的键盘
DEVICE("Logitech G613",0x46d,0xc53d,G15_KEYS),
现在唯一的问题是,libg15将内核驱动程序与设备分离usb_detach_kernel_driver_np()
,这是成功的。但在那之后,调用usb_set_configuration()
失败了
USB error: could not set config 1: Device or resource busy
hwinfo
分离内核驱动程序之前的输出
38: USB 00.0: 10800 Keyboard
[Created at usb.122]
Unique ID: ADDn.IsFhTXWBs20
Parent ID: k4bc.2DFUsyrieMD
SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0
SysFS BusID: 1-1:1.0
Hardware Class: keyboard
Model: "Logitech USB Receiver"
Hotplug: USB
Vendor: usb 0x046d "Logitech, Inc."
Device: usb 0xc53d "USB Receiver"
Revision: "43.00"
Driver: "usbhid"
Driver Modules: "usbhid"
Speed: 12 Mbps
Module Alias: "usb:v046DpC53Dd4300dc00dsc00dp00ic03isc01ip01in00"
Driver Info #0:
XkbRules: xfree86
XkbModel: pc104
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #37 (Hub)
并在分离内核驱动程序后
38: USB 00.0: 10800 Keyboard
[Created at usb.122]
Unique ID: ADDn.IsFhTXWBs20
Parent ID: k4bc.2DFUsyrieMD
SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0
SysFS BusID: 1-1:1.0
Hardware Class: keyboard
Model: "Logitech USB Receiver"
Hotplug: USB
Vendor: usb 0x046d "Logitech, Inc."
Device: usb 0xc53d "USB Receiver"
Revision: "43.00"
Speed: 12 Mbps
Module Alias: "usb:v046DpC53Dd4300dc00dsc00dp00ic03isc01ip01in00"
Driver Info #0:
XkbRules: xfree86
XkbModel: pc104
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #37 (Hub)
此外,一旦驱动程序被分离,键盘将停止工作。它必须重新连接才能正常工作。
谁能帮我理解为什么usb_set_configuration()
会失败?
解决方案
推荐阅读
- javascript - 无法读取 null 的属性“getSheetId”;不知道为什么会这样
- asp.net - 如何使用 axios 将文件上传 POST 到 ASP.NET 控制器?
- azure - 带有性能计数器的 Azure Service Fabric 上的 Azure Application Insights
- c++ - C++ ELF 目标文件符号表具有两次列出的函数
- ruby-on-rails - Puma MiniSSL SSLError 运行 rails 服务器时出现 OpenSSL 错误
- rxjs - withLatestFrom 意外行为
- python - Sharepoint 使用 shareplum 库插入
- javascript - 如何使临时画布瓷砖从中心开始绘制?
- html - XPath 中的“当前”节点是什么?
- javascript - 出现在 iframe 后面的菜单栏