如果我执行一个lsusb -v
命令,我会得到一个名为的字段idProduct
和一个名为 的字段iProduct
。
对于许多设备,iProduct 设置为 0,但对于其他设备,它设置为产品名称。
为什么有两个产品条目,它们有何不同?
什么决定 iProduct 是 0 还是字符串?
如果我执行一个lsusb -v
命令,我会得到一个名为的字段idProduct
和一个名为 的字段iProduct
。
对于许多设备,iProduct 设置为 0,但对于其他设备,它设置为产品名称。
为什么有两个产品条目,它们有何不同?
什么决定 iProduct 是 0 还是字符串?
该
idProduct
值来自设备的操作系统标识,而iProduct
(接口产品)是设备自报的标识。如果供应商未设置iProduct
(或iSerial
/iManufacturer
)值,则它将为空白,您只会看到0
预期值所在的空白空间旁边的索引位置。您可以在以下帮助下更清楚地看到这一点grep
:这会给你类似的东西:
请注意,当 、 和 的值
iManufacturer
被iProduct
设置iSerial
时,会有一个非零数。这来自操作系统发现 USB 设备时通过设备标识标头提供的信息的顺序。没有强制顺序,因此1
,2
,3
值可以分配给任何iManufacturer
,iProduct
, 或iSerial
值。