我有一个 USB RFID 阅读器,我在 Linux 上找到的主要软件可以通过 /dev/ttyUSB0
设备使用它
当我将它连接到笔记本电脑上时,我可以看到它并lsusb
返回命令:
Bus 001 Device 012: ID ffff:0035
或sudo lsinput
返回:
/dev/input/event16
bustype : BUS_USB
vendor : 0xffff
product : 0x35
version : 272
name : "Sycreader USB Reader"
phys : "usb-0000:00:14.0-1/input0"
uniq : "08FF20150112"
bits ev : (null) (null) (null) (null) (null)
我已经配置了规则
more /etc/udev/rules.d/20-rwrfid.rules
# Chinese RFID RW
ATTR{idVendor}=="ffff", ATTR{idProduct}=="0035", MODE="664", GROUP="plugdev"
我错过了什么 ?
答案1
该设备未将自身显示为 USB 串行端口设备,因此它不会获取设备/dev/ttyUSB*
。它显然是作为一个 USB 输入设备出现的。
您将无法/dev/bus/usb/001/012
像设备一样使用/dev/ttyUSB*
:使用这些设备需要使用libusb,希达皮或者直接使用Linux内核的USB API。
谷歌搜索“Sycreader USB Reader”,我发现至少有一些 Sycreader 产品假装它们是 USB 输入设备。
这个Python脚本据称可以与某些 Sycreader 设备配合使用:它也可能适用于您的设备。
答案2
您只能为文件系统挂载块设备。
如果您想将其用作 /dev/ttyUSB0,则需要一个驱动程序将其呈现为串行设备。如果该设备有驱动程序,它就会加载。
供应商 ID 0xffff 很奇怪。也许您的读卡器与其他 USB 设备兼容。如果是这样,您必须找出哪个驱动程序适用于您的设备并加载该驱动程序。此外,您还必须说服司机接受您的设备。有关详细信息取决于驱动程序。
编辑:
跑步
lsusb -d ffff:0035 -v
并查找单词“Class”。这应该会告诉您哪种驱动程序可能适用于您的 USB 设备。