在Linux上读取USB输入流

9

我正在处理一个嵌入式Linux设备,并尝试读取USB设备的输入流,但由于某些原因,在我的/dev目录中找不到任何类似的东西。 我会认为它应该是类似于/dev/ttyUSB01或/dev/input/usb之类的东西,但它并不存在。 dmesg返回以下内容:

[ 195.863911] input: GIT GIT USB READER as /class/input/input2
[ 195.864259] generic-usb 0003:1234:5678.0001: input: USB HID v1.00 Keyboard [GIT GIT USB READER] on usb-0000:00:0f.4-1/input0

我已经扫描了/sys/class/input/input2,但我不确定我要找什么。也许有人可以指引我正确的方向?

3个回答

8

几天前我也遇到了同样的问题,我们发现了以下解决方法。

您可以在终端中执行以下命令:

cat /proc/bus/input/devices

这将列出您连接的设备列表,而您的设备应该在列表中。例如,对我来说,其中一项是这样显示的:
I: Bus=0011 Vendor=0002 Product=000a Version=0000
N: Name="TPPS/2 IBM TrackPoint"
P: Phys=synaptics-pt/serio0/input0
S: Sysfs=/devices/platform/i8042/serio4/serio5/input/input15
U: Uniq=
H: Handlers=mouse1 event15 
B: PROP=0
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3

在Handlers下,您会注意到出现了event15。在我的情况下,您可以通过引用/dev/input/event15来访问数据流。您需要弄清楚在您的情况下是什么。

2

你尝试过使用mdev吗?它是udev的轻量级替代品,可以填充/dev。如果未启用热插拔,则可能需要手动运行它。

要扫描/sys并创建设备,请尝试:

mdev -s

2

请查看/dev/input/by-path目录,找到您的usb-0000:00:0f.4-1设备。在我的Ubuntu电脑上,这是指向该设备的符号链接。


我与那无关。我 /dev/input 目录中唯一的东西是“mice”。 - Dalton Conley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接