【问题标题】:A Linux USB driver for a generic 2-way comm device用于通用 2 路通信设备的 Linux USB 驱动程序
【发布时间】:2011-05-25 20:22:17
【问题描述】:

对于需要双向通信(自定义协议)的通用设备,最好的现有 Linux 设备驱动程序是什么?最好是批量传输,因为需要传输相当大的块。

我考虑过使用大容量存储,但我不确定它是否需要文件系统处理?

我也考虑过调制解调器,但我似乎找不到太多关于它的信息(大多数询问的人只是被告知“这不是你连接到 Internet 的方式”。因为我不打算连接对于任何“互联网”,这对我来说都没有帮助)。如果有人可以向我指出有关这方面的一些更详细的信息,最好是 C 或 C++ 示例,我将不胜感激。

Linux 似乎也有一个通用的串行通信驱动程序,虽然它似乎没有批量传输?我也不确定它是否提供其他驱动程序的速度,因为它显然是针对 USB->串行转换器的?

【问题讨论】:

  • 刚刚意识到 stackoverflow 可能不是问这个问题的最佳场所......

标签: usb linux-device-driver


【解决方案1】:

批量传输是“以设备/PC 可以处理的最快速度”进行大型传输的正确选择。

可以只使用 CDC ACM 配置文件。但这有一些问题:您需要用户选择正确的串行设备/dev/ttyACMx

如果您只需要与您的应用程序对话,我建议您使用libusb。这样您就不需要内核驱动程序,并且可以与设备的各个批量端点通信。

【讨论】:

  • 让用户选择正确的串口设备不是问题,这是一个非常具体和封闭的系统。不过,我会进一步研究 libusb。谢谢
  • 只是想说我们最终使用了 USB-> 串行端口驱动程序。用户不必选择设备,我们会自动检测它,然后进行一些握手以确保它是正确的。
猜你喜欢
  • 2013-03-13
  • 2015-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-17
相关资源
最近更新 更多