如何向USB设备发送消息

炸土豆饼

我需要能够向USB设备发送一小段字节,但是不知道如何。
我知道供应商和产品的ID,以及消息字符串(但是我需要确定它是ASCII字符串还是十六进制字符串的帮助)。

有一个叫做usb_modeswitch的软件似乎可以做到这一点,但是它仅适用于linux。
我见过一个线程,那里有人用mingw编译它,但是没有提供二进制文件,我自己也不愿意尝试。

有人提到使用WinUSB,鉴于其固有的内含性,它是理想的选择,但我不知道该接口。
我确实有/可以得到Visual Studio,但是我需要帮助,以便从网上看到的东西中找出要使用的东西

一个很好的选择似乎是PyUSB的libusb-win32的(什么usb_modeswitch使用一个端口)。
可以像这样代替写而不是读来使用,但是我仍然需要知道是只发送一个字符串还是尝试从十六进制表示形式转换为字节,然后再调用write()

这是信息:

DefaultVendor=046d
DefaultProduct=c261
MessageEndpoint=01
ResponseEndpoint=01
TargetClass=0x03
MessageContent="0f00010142"

上下文
如果有帮助。

我的Logitech G920一直在运转,它拒绝被识别为机器上的设备。

设备和打印机屏幕截图

无需卸载驱动程序,尝试其他USB插槽,插入未通电的电源,删除LGS即可。但奇怪的是,它仍然可以在我的笔记本电脑和xbox本身上运行。

当我遇到此线程时,我处于放弃并重新格式化机器的边缘发布截图

果然:

设备管理器屏幕截图

那就是我找到这篇文章的地方一些聪明的人已经在Linux上为自己解决了这个问题,使用制造出来的软件要求那些USB调制解调器在其驱动程序安装闪存驱动器模式和互联网给调制解调器模式之间切换。
上面的信息来自那里,我不知道的重要性'%b/%k',我希望这不是特定于usb_modeswitch的事情。

现在,我只需要在Windows中运行它即可。
谢谢你的帮助。

炸土豆饼

是的!

我最终使用了pyusb,并且由于方向盘是HID设备,因此您需要使用Zadig(这libusb-win32是唯一起作用的设备)覆盖驱动程序在还获取了libusb-win32libusb1.0动态链接库供python使用(我不知道是哪个,我正在尝试很多事情)之后,这是起作用的代码:

import usb.core
import usb.util
import usb.backend.libusb1
import sys

VENDOR_ID = 0x046D
PRODUCT_ID = 0xC261

BACKEND = usb.backend.libusb1.get_backend(find_library=lambda x: "libusb-1.0.dll")


dev = usb.core.find(idVendor=VENDOR_ID, idProduct=PRODUCT_ID, backend=BACKEND)

if dev is None:
    raise ValueError('Device not found')

dev.write(1, '0f00010142'.decode("hex"))

成功

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用usb4java向USB设备发送消息-输入/输出错误

如何使用USB从Android向Windows发送消息

如何使用Android硬件USB API向USB设备连接发送/接收数据?

向设备发送串行消息,直到设备在线

如何使用 Java/Kotlin 套接字向本地网络上的设备发送消息?

如何在Node js中使用FCM向多个Android设备发送消息?

如何向包含 iOS 和 Android 设备的 Firebase 中的主题发送消息

如何使用 USB 调试向 Android 设备发送快速实时输入命令?

fCM 向主题发送消息的速率远低于向设备发送消息的速率

向设备组发送GCM优先级消息

向GCM设备发送消息的网址正确吗?

从Android Wear向主机设备发送消息

检查设备何时停止向IoT Central发送消息的规则

哪个系统调用提供了向设备发送消息的接口?

PUBNUB-向移动设备发送消息的后备机制

如何向 MainActivity 发送 FCM 消息

如何向Websocket用户发送AJAX消息

我将如何向Activemq发送消息

如何向Pykka actor发送RabbitMQ消息?

如何从.class向@ServerEndpoint发送消息

如何向闲置的Akka演员发送消息?

如何从网站向电报APP发送消息

如何向标记的频道发送消息?

如何从Android向主题发送Firebase消息

我们如何从PC的浏览器(都连接相同的网络)向Android设备发送消息

如何使用Firebase Cloud Messaging发送设备到设备消息?

无法向 Azure IoT 中心向设备 ID 中带有“:”的设备发送消息

是否可以从服务器(而不是通过移动设备)向 Google Home 设备发送消息?

向TApplication发送消息