我有一个USB设备,我想向它发送一些字节。
lsusb
Bus 001 Device 005: ID 04b4:0a0a Cypress Semiconductor Corp.使用Wireshark和usbmon,我认为,某个字节序列会导致所需的行为(它会解锁物理锁)。现在我想把这个复印一下,然后自己寄出去。因此,我尝试创建一个二进制文件,并将其写入总线,如下所示:
cat byteFile > /dev/bus/usb/001/005但我得到以下错误:
cat: write error: Invalid argument现在,似乎不可能在“原始”USB设备上写入字节,但我没有找到正确的(或通用的)方法来做到这一点。如何将字节序列从文件发送到USB设备?如果可能的话,我很乐意让它在python/java或bash中运行。这样我以后就可以在我的程序中使用它了。->无图形用户界面应用程序;-)
发布于 2018-01-30 02:52:33
您不能将原始字节发送到USB设备。向USB端点发送URB (即USB请求块)。
使用usbmon,您可以发现该端点以及URB的参数和有效负载,然后使用libusb从您的程序中复制该端点。
但是libusb是一个用于访问原始USB设备的C库,但我不知道有什么方法可以直接从命令行使用它。我的建议是编写一个简单的C程序,将您想要的数据发送到适当的端点,然后从脚本中调用它。
https://stackoverflow.com/questions/48502300
复制相似问题