如何为不同供应商的打印机编写通用USB主机驱动程序?

时间:2010-05-25 17:46:23

标签: usb driver printing device host

我想在嵌入式设备上开发USB主机,该主机将与各个供应商的打印机通信。供应商特定打印机的驱动程序将在PC上提供,最终与打印机通信,但我的设备正在促进此通信,并且需要执行打印机的基本握手/设置(即,它需要知道打印机何时连接,什么是需要为CTRL和DATA传输等打开的套接字ID。所有这些打印机都应符合IEEE 1284.4标准,但我发现它们中的许多都变得安静了。

我的一种方法是从每台打印机中取出USB握手痕迹并分别编写代码的各个部分(我知道,这听起来很荒谬!)。有没有通用的方法来做到这一点?有没有提到这些标准信息的论坛?例如:EPSON使用'EPSON-CTRL'和'EPSON-DATA'作为其控制和数据服务,需要提供这些服务以获取这些服务的套接字ID。我很确定惠普,佳能等也有自己的服务名称。根据标准,这应该在IANA中捕获,但我在那里看不到任何东西。任何有关这方面的帮助将不胜感激。

谢谢和问候, 乌拉斯

1 个答案:

答案 0 :(得分:0)

不,你不能这样做,因为EPSON和HP会以不同的方式实现他们的打印机,即使他们完全相同。您的“通用”驱动程序必须明确说明每种类型的打印机。

话虽这么说,理论上你可以在通用驱动程序套件中实现每种驱动程序类型,并让它确定打印机可用时使用哪种驱动程序。但是,这似乎有点过分,因为你可以在制造商的网站上免费获得驱动程序。