如何欺骗 USB 设备的产品和供应商 ID?

如何欺骗 USB 设备的产品和供应商 ID?

问题背景

我有一台“Canoscan Lide 120”扫描仪,从各方面来看,它都是“Canoscan Lide 110”的一个小升级版(相同的芯片组、相同的规格等)。“Lide 120”的设备驱动程序尚未推出,而且 sane 后端还不支持该扫描仪。将“Lide 120”的产品和供应商 ID 添加到 sane 后端并不能帮助扫描仪应用程序检测扫描仪。

问题

有没有什么办法可以通过欺骗 USB 产品 ID 和供应商 ID 让我的计算机“感觉”好像连接到了“Lide 110”而不是“Lide 120”,以便我可以将“Lide 110”的驱动程序与“Lide 120”一起使用?

状况

  • 我在 ubuntu 12.04

  • 我不想重新编译相同的内核模块,而且我不是程序员。

那么各位,我们如何在 Ubuntu 中伪造 USB 供应商和产品 ID?

答案1

在这种情况下,为该 USB ID 添加 udev 规则可能会有所帮助:

  1. 使用 查找 USB 供应商和产品 ID lsusb

  2. /etc/udev/rules.d/40-libsane-canoscan-lide-120.rules添加包含以下内容的文件:

    ATTRS{idVendor}=="xxx", ATTRS{idProduct}=="xxx", ENV{libsane_matched}="yes"
    

    xxx用步骤 1 中的适当 ID替换。

  3. (重新)连接扫描仪。

来源:http://wiki.ubuntuusers.de/Scanner?rev=782618#Erkennungs-Probleme

相关内容