【问题标题】:Is it possible to transfer a file to USB device using libusb?是否可以使用 libusb 将文件传输到 USB 设备?
【发布时间】:2024-01-11 12:49:01
【问题描述】:

我正在尝试通过 libusb 将文件传输到 USB 设备(pendrive)。我在 libusb-1.0.6 包中看到了 submit_bulk_transfer 函数。如果有办法传输文件,那么你能建议我吗?我想传输文件而不是原始数据。

【问题讨论】:

    标签: file-transfer libusb


    【解决方案1】:

    这是可能的,但您需要实现大容量存储、SCSI 和设备上使用的文件系统才能做到这一点,这是一项大量工作,而且所有桌面(和许多其他)操作系统的 USB 和 FS 驱动程序已经完成。

    libusb FAQ

    顺便说一句,submit_bulk_transfer 是 USB 的一个非常低级的功能,与许多设备类相关,而不仅仅是海量存储。

    【讨论】:

    • 我正在使用带有 linux 内核的 0x86 机器。在这里,我已经有了类驱动程序、scsi 和文件系统。那么借助已有的功能,我可以实现文件传输吗?
    • 嗨,极客。是的,Linux 内核拥有一切,但是在使用 libusb 时,您将忽略所有内核支持:要使用 submit_bulk_transfer,您需要分离(禁用)内核 USB 驱动程序,因此您可以拥有一个或另一个。