2010-05-25 43 views
2

我想在嵌入式设备上开发一个USB主机,它将与来自不同供应商的打印机进行通信。供应商特定打印机的驱动程序可以在最终与打印机通信的个人电脑上使用,但我的设备正在促进此通信,并需要执行打印机的基本握手/设置(即,它需要知道打印机何时连接,是需要为CTRL和DATA传输等打开的套接字ID)。所有这些打印机都应该符合IEEE 1284.4标准,但我发现它们中的许多都有点不同。如何为各个供应商的打印机编写通用USB主机驱动程序?

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

感谢和问候, 乌拉斯

回答

0

不,你不能这样做,因为HP和EPSON会有所不同,即使他们做同样的事情落实他们的打印机。您的“通用”驱动程序必须明确说明每种类型的打印机。这就是说,理论上可以在通用驱动程序套件中实现每种驱动程序类型,并确定打印机可用时要使用哪个驱动程序。但是,这似乎有点矫枉过正,因为您可以在制造商的网站上免费在线获得驱动程序。

+0

即使我必须明确地做到这一点,获得这些信息的唯一方法就是通过握手握手来获取USB信息。 – Ullas 2010-05-25 17:52:53

+0

问题是我无法在我的嵌入式设备中安装这些驱动程序,这些驱动程序没有足够的内存来安装这些驱动程序。另外我的设备运行在专用RTOS上。 非常感谢您的建议,尽管 – Ullas 2010-05-25 18:15:00

相关问题