问题标签 [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 回答
4082 浏览

android - 如何从 Android 中的 USB OTG Pen Drive 读取数据?

我正在开发一个使用 OTG 笔式驱动器的应用程序,所以像从 OTG 笔式驱动器读取数据但所有用户可能不是同一个设备的概念。

我已经在 5-6 台设备上进行了测试,这些设备给了我不同的 USB OTG 路径。即使在同一设备上,我也移除了笔式驱动器并再次插入,它显示了不同的路径文件夹名称。所以我无法找到所有用户的确切路径。所以,我的问题是:

  1. 如何以编程方式获取设备是否支持 OTG?
  2. 如何以编程方式为支持 OTG 的所有设备找到 USB Pen Drive OTG 的确切路径?
  3. 如果用户多次插入/删除,它会响应相同的路径吗?如果用户也可以格式化笔式驱动器?
0 投票
1 回答
1588 浏览

embedded-linux - 如何在 Linux 复合 USB 小工具中热交换大容量存储 LUN 支持文件?

切入正题

Linux 复合 USB 小工具海量存储功能是否支持其 LUN 媒体备份文件的热插拔?如果是这样,有没有人让它工作?

背景

Linux USB 复合小工具包括一个海量存储功能,可以支持多个逻辑单元,每个逻辑单元映射到一个驱动器映像文件(如 FAT 或 ISO)。据我所知,大容量存储功能似乎从以前的独立g_mass_storage 小工具继承了部分或全部配置接口

该文档暗示您可以将存储映像挂载为大容量存储 LUN,然后以类似于物理 CD/DVD 驱动器的工作方式将其卸载并重新挂载新的存储映像。我正在尝试访问的正是此功能。

我试过的

我正在使用 insmod/modprobe 和 rmmod 来挂载和卸载映射到 ISO 映像的单个 LUN。modprobe 参数是 Edison 配置的修改版本,用于公开其“固件更新”驱动器映像。

USB 从属设备是英特尔 Edison 开发板,运行略微修改的 Yocto 版本,主机是 OS X 10.10.2:

我试图找到一种在软件控制下重置 OTG 设备端口的方法。这可能是最终的解决方案。

还没有(还)尝试使用 configfs 接口来构建和配置设备。这也可能是一种选择,但我仍在研究相关文档。

谢谢!

0 投票
0 回答
1597 浏览

android - 如何以编程方式将 android 设备切换到 MTP 模式?

我有 android 设备,连接到 PC/Mac USB 时显示“已连接为安装程序”。我可以在 android 设置中手动将其切换到“MTP”。我需要我的应用程序在连接时以编程方式将其切换为 MTP(不是 USB 大容量存储),我该怎么做?

0 投票
1 回答
365 浏览

android - CMD:我的 Android 设备使用哪个驱动器号?

我有一个批处理脚本,我将文件复制到我的 Android 手机的 SD 卡。我打开了大容量存储,所以我只是使用cp命令而不是adb push...

问题是如果我同时插入闪存驱动器,驱动器号会更改。此外,如果我转移到具有不同驱动器设置的计算机上,我将处于同一个泡菜中......

如何检测我的手机使用的驱动器号?

0 投票
1 回答
3640 浏览

java - Transfer Files USB Mass Storage OTG

I have an external mass storage device connected to an Android device. There are several .BIN files in the root directory that I need to read into my app. I am able to connect to the device and receive usb permission using UsbDeviceConnection.

Once I'm connected I am able to see that I have one Mass Storage interface with 2 Bulk Transfer endpoints (one in, one out).

When using usbConnection.bulkTransfer I receive -1 back and an empty buffer. So, I'm having trouble receiving data. Once past that hurdle, what will the data look like? How do I continue to pull all of the files from the device? Is there a way to transfer the data file by file to my app? Is there an all together better way of approaching this?

0 投票
1 回答
180 浏览

keil - Keil uVision5 的海量存储 USB 包

我正在使用 Keil uVision5 的 USB 设备 - 大容量存储模板,但是当我运行它(板载)时,我无法访问 SD 卡,PC 只是检测到设备已连接到 USB。我评论了 check_media功能。(因为我的板上有 SD 卡检测引脚)。我的微控制器是 NXP LPC1768。怎么了?

0 投票
1 回答
729 浏览

linux - Pass param to USB ioctl

I have a problem for read/write data to USB mass storage device, with 'Device or resource busy' error for below command:

So i need to release interface before. But i don't know How can i pass interface_num correctly to this command:

If it's not defined, is there any function to found this interface number. Please help me! Thanks.

0 投票
1 回答
4893 浏览

linux - BeagleBone Black 如何用作大容量存储设备?

是否可以将 BB 用作大容量存储设备?

我希望它连接到一个音频播放器,该播放器可以从 USB 连接(例如 USB 闪存驱动器)读取文件并充当包含文件系统中的一个特定文件夹(及其子文件夹)的数据存储设备(如果可能,在连接到电路板的闪存驱动器。)。

正如设备规格所说,它具有以下连接性:

  • 用于电源和通信的 USB 客户端
  • USB主机

操作系统可能是 Ubuntu,但可以更改。

为了实现这一点,需要完成哪些驱动程序或配置?

0 投票
1 回答
724 浏览

linux - usb-skeleton.c 不起作用

我正在尝试在 Linux 中编写一个基本的设备驱动程序来在 USB 大容量存储设备上执行 IO。我正在使用 2.6.34 内核。我使用内核附带的 usb-skeleton.c 来了解 USB 内核 API 的正确工作。我编译它,插入它为我的 USB 闪存驱动器生成 /dev/skel0 设备。

http://lxr.free-electrons.com/source/drivers/usb/usb-skeleton.c?v=2.6.34

我在设备上写了 1 个 1024 字节的数据包,但令我惊讶的是,写入失败并出现Input/Output error

当我写入数据时,骨架驱动程序的写入函数甚至写入回调都被调用,但 IO 仍然失败。

由于 usb-skeleton.c 带有 Linux 内核,我相信它会经过严格测试并且完美无缺。我一定是做错了什么,并且是设备驱动程序编程的新手,我无法意识到错误。我将不胜感激在这件事上的任何帮助。

谢谢你。

0 投票
0 回答
1458 浏览

android - Android - USB 大容量存储 - 在 Windows 中创建自动运行文件,如 autorun.inf

是否可以为 Android USB 大容量存储设备(密钥上的磁盘)创建自动运行文件,将其(自动运行文件)放在设备上,当我将其插入 android 设备时,它将运行。我不想创建自动运行文件,该文件将在密钥上从磁盘打开文件。

谢谢 :-)