【问题标题】:Linux: Send raw usb packets in kernel module [closed]Linux:在内核模块中发送原始 USB 数据包 [关闭]
【发布时间】:2020-12-27 10:10:24
【问题描述】:

我知道usb数据包有一个非常特殊的格式,但是我想自己写这些数据包,我知道usb_control_msg是一种控制数据包的接口,但是这个函数已经负责发送setup_token ,输入/输出令牌,并可能检查 ACKS。我怎样才能自己构建这些数据包然后发送它们?

【问题讨论】:

  • 这个问题必须解决,因为 USB 直通到 VM 有效。您应该能够执行与 VM 相同的操作,以从虚拟(用户空间)进程控制真实 USB 设备。

标签: linux-kernel usb kernel-module


【解决方案1】:

看来您想要的是编写自己的 USB 主机驱动程序。我建议您尝试分析现有的 USB 主机驱动程序 (ehci/xhci),然后尝试编写自己的驱动程序,但请注意,这并非易事。另请注意,对于给定的 USB 主机控制器 (ehci/xhci),不可能存在多个驱动程序。如果您真的想做这些事情,您需要完全了解:USB 协议和 ehci/xhci 规范,这可能需要很多时间。还需要编写 Linux 驱动程序的丰富经验。正如我所说,这不是一件容易的事。

【讨论】:

    猜你喜欢
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 2021-06-25
    • 1970-01-01
    • 2010-12-21
    • 2011-12-29
    • 2018-02-28
    相关资源
    最近更新 更多