问题标签 [usb-mass-storage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4108 浏览

android - Android 6.0 USB 大容量存储

USB 大容量存储现在由 Android 正式支持,专门通过存储访问框架。它似乎并没有以典型的方式安装存储,据我所知,访问数据的唯一方法是通过 Document API 和ContentResolver.

File1)通过SAF后是否不再有简单的方法来访问存储?

2)如果没有,如果我们无法访问路径,那么在 NDK 中与 USB 存储上的“文件”交互的最佳方式是什么。

0 投票
1 回答
482 浏览

linux - 嵌入式linux如何通过usb gadget & update files检测文件被修改

我有一个运行 USB 小工具内核模块的嵌入式 linux 设备,以使 mmc 可用于主机 PC(例如 Windows 或 Linux)。当我在 mmc 中更新文件时,它不会与主机 PC 同步,除非我再次 rmmod 和 insmod。有没有更好的方法来更新新文件?以及如何检测文件被主机 PC 修改?我在我的 linux 设备上使用 C 编程。谢谢。

0 投票
1 回答
778 浏览

linux - 如何定义设备标签名称,g_mass_storage 模块

在内核配置中包含 g_mass_storage 模块的嵌入式系统上工作,我想定义设备的名称。后者对于在插入主机时识别设备很有用。

我正在使用以下功能:

当设备连接到 Windows PC 时,设备定义为Local Disk(E:).

如何Local Disk通过特定名称进行交换,因为它是为我的 USB 密钥完成的SnPKey

编辑 1:

海量存储小工具

根据上一个链接中给出的信息,我尝试通过指定 USB 产品字符串iProduct但没有成功。

0 投票
1 回答
519 浏览

performance - SAMV71 USB 大容量存储主机极慢

我尝试了 atmel 的 ASF 在 USB 大容量存储主机上提供的示例,以将文件发送/读取到 USB 闪存设备。读取文件时,我获得了 1.7 MB/s 的速度,我尝试了很多解决方案,其中包括:

  • 确保它在高速模式下运行,并且板在 300 mhz 上运行
  • 尝试增加 F_read 函数的缓冲区大小,我设法将其增加到 2.2 MB/s
  • 我测试了它自己的文件系统,它是虚拟内存示例上的 FAT32,并在读取操作上获得了 30MB/s(不确定这是否有助于速度调试)
  • 我尝试使用相同的程序,除了从 SD 卡读取,它给了我 1 MB/s 的输出
  • 我还在全速模式下对其进行了测试,它给了我 0.66 MB/s 的输出。
  • 我测试的一个极端想法是运行两块板,一个在主机模式下,另一个在设备模式下,然后我测试了 USB 的传输速度,它在批量模式下给了我 1.66 MB/s 的输出。(在 HS 上运行)
  • 尝试了 Keil 示例,它给我的结果比 Atmel 的最差。

    有人可以提出解决方案吗?我已阅读 Atmel 和 Keil 提供的有关 USB 通信的所有文档。

0 投票
0 回答
104 浏览

windows - libusb 大容量存储连续工作

我正在 USB 闪存盘上写入和读取数据。尽管我释放了资源并调用了 libusb_exit,但 USB 磁盘的 LED 持续闪烁,一段时间后设备发热。

此外,即使我关闭了我的应用程序,也会发生这种情况。如果我分离并重新连接设备,它就会停止。

这怎么会发生,有什么想法吗?看来问题是基于驱动程序的。我用 Zadig 覆盖了大容量存储驱动程序。

谢谢。

0 投票
1 回答
156 浏览

android - 无法在 Android Marshmallow 上检测到具有 NTFS 文件系统的未分区 U 盘

最近我在我的板上移植了棉花糖。我在探索 USB 功能时发现了一个问题:如果我使用带有 NTFS 文件系统的未分区 USB 磁盘,它无法检测到它并显示通知为“损坏的 USB 磁盘”。

所以我尝试了其他场景,比如带有分区 USB 磁盘的 NTFS,非分区 USB 磁盘上的 FAT32,所有这些都工作正常。然后我尝试从 adb shell 手动挂载它:

它工作正常。

但是当我在未分区的 USB 磁盘上安装 NTFS 时,我仍然无法找到它无法自动挂载它的原因。到目前为止,我所遇到的是,我的 USB 磁盘在未分区时应该被检测为 DISK,但在 NTFS 文件系统的情况下,它会将其作为 PART 即分区磁盘并卡在某个地方。

任何建议或线索都会有很大帮助。提前致谢。

0 投票
0 回答
179 浏览

android - 访问三星 Galaxy S4 w 上的文件。来自 Python/Windows 10 的 Android Marshmallow

我正在尝试通过 Python 访问我的三星 Galaxy S4 的文件系统。显然有两种不同的方式来访问这些文件:

  1. 通过 MTP 使用 python-mtp 或 PyMTP
  2. 通过 USB 大容量存储模式

1) 不起作用,因为我无法让 libMTP 或 PyMTP 在我的 Windows PC 上编译/运行

2) 不起作用,因为我无法在我的 Galaxy S4 上启用 USB 大容量存储模式(没有这样做的选项,商店中的 FIX 应用程序似乎没有工作)

那么我还有哪些其他选项可以从文件系统中获取文件呢?

0 投票
0 回答
410 浏览

android - UsbInterface null 用于除 1 个设备

通过这种方式,我找到了识别连接设备是否为存储设备的解决方案。

我正在关注这篇论文以了解 USB 与存储设备的通信是如何完成的。但我面临的主要问题是,对于所有连接的设备,除了最后一个连接的设备,我没有得到 UsbInterface 以及相关的 UsbEndPoints。现在我如何识别所有其他连接的存储设备。

当连接 3 个设备时,我得到的日志是:

0 投票
1 回答
540 浏览

windows - 滥用 USB 大容量存储类进行无驱动 I/O

我正在开发用于 Windows 桌面系统的基于 USB 的外围设备,并且希望避免驱动程序安装步骤。部分原因是开发和签署自定义驱动程序所需的资源,部分原因是第三方驱动程序已被证明是用户的重大绊脚石。

这表明使用标准 USB 设备类。HID 简单而灵活,但由于 MCU 的特定限制而导致吞吐量不佳。相反,我正在评估一种模拟大容量存储设备的方案。

诀窍是报告包含隐藏设备 I/O 文件的 FAT 文件系统的元数据,然后接口应用程序使用原始文件无缓冲 I/O 进行通信。硬连线 I/O 文件扇区之外的所有数据在枚举时重新加载到 RAM 中并被忽略。

到目前为止,这工作出奇地顺利,通过快速 I/O 和枚举,在所有测试的系统上可能是经过良好优化的路径,并且没有特权提升。但是,这显然是对系统的滥用,并且如果 Windows 决定检测到 I/O 数据被不一致地读回、对集群链进行碎片整理、重新格式化为 exFAT 等,则可能会失败。

我的问题是这种情况是否已知会在实践中发生,或者可能在不久的将来发生?过去有没有尝试过这样的计划?大量不可靠的 USB 大容量存储设备能否有效屏蔽操作系统的花哨?

最后,是否有任何其他标准 USB 类或方法我可能会认为是更可靠的替代方案?Windows 10 终于添加了标准 CDC 支持,但支持早期版本将涉及绕过签名驱动程序安装(加上 BSOD、随机断开和枚举失败的历史让我对虚拟串行设备保持警惕。)

0 投票
0 回答
1032 浏览

ios - 使用 USB MSC 或 MTP(大容量存储或媒体传输协议)的 iOS 应用程序

目前我正在考虑像下面这样的iOS应用程序,

应用:使用闪电 USB3 相机适配器,通过 MSC(大容量存储类)或 MTP(媒体传输协议),从具有 USB 连接器的设备浏览和复制文件到 iPhone。

闪电 USB3 相机适配器

http://www.apple.com/jp/shop/product/MK0W2AM/A/lightning-usb-3カメラアダプタ

我用 TSI(技术支持事件)向 Apple 询问创建这样的 iOS 应用程序,他们说 iOS SDK 不支持 MSC / MTP。

通过使用 Apple 的 USB 主机适配器(Lightning USB3 相机适配器),有没有办法通过带有 MSC 或 MTP 的 USB 电缆创建应用程序来浏览连接设备中的文件?

如果您能回答问题或给我一些信息,我将不胜感激。

谢谢你。