Linux如何确定设备类?

时间:2017-05-30 06:25:37

标签: linux unix linux-kernel linux-device-driver

Linux新手问题。

只是想知道Linux如何确定设备是哪个设备类?具体来说,当我插入条形码扫描仪时,它是如何知道它是一个ttyACM设备?我有一个可以与我的Linux操作系统一起使用的扫描仪,但新模型无法识别,所以我想知道我是否可以在系统中的某处更改文件,告诉它将扫描仪识别为ttyACM0并使用现有的驱动程序。

1 个答案:

答案 0 :(得分:1)

USB设备(我认为您的扫描仪是USB)由 vendorId productId (两个16位整数)标识,每个驱动程序填充一个数组,其中包含支持的供应商列表/ prods id(创建关系供应商:prod->驱动程序),我想在编译时,数组中的所有id都在一个列表中合并在一起,然后在插入设备时用于查找搜索。

通常,您可以在插入设备后使用dmesg命令查看所连接设备的供应商和产品ID(或使用lsusb)。

对于ttyACM,请参阅drivers/usb/class/cdc-acm.c

中的acm_ids[]

小心玩设备驱动程序,即使只是在接口tty->硬件实现不良的情况下ttyACM终端接口,某些命令也可能会破坏硬件。

也许这个问题应该在Unix & Linux stackexchange