博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用configfs配置usb mass storage设备
阅读量:3558 次
发布时间:2019-05-20

本文共 1304 字,大约阅读时间需要 4 分钟。

前面使用configfs配置了一个usb虚拟网卡设备. (cdc ecm)

 

这里使用configfs配置一个 mass storage设备

1. 准备文件系统, 

     可以使用实际的本地磁盘分区, 如/dev/mmcblk0p1,

     也可以使用自己制作的loop回环块设备。 前提是有做过格式化, 且文件系统主机端能识别。 比如fat格式。

 

     回环块设备制作方式简单如下:

     dd if=/dev/zero of=/mnt/mass_stor.img bs=1M count=20

     losetup -f /mnt/mass_stor.img   (分配可用的loop设备)

     mount /dev/loop0 /mnt/media

 

2. 利用configfs制作gadget mass storage设备

cd /sys/kernel/configmkdir g_massecho "0x200" > bcdUDBecho "0x100" > bcdDeviceecho "0x1234" > idVendorecho "0x5678" > idProductmkdir configs/c1.1mkdir functions/mass_storage.0echo /dev/loop0 > functions/mass_storage.0/lun.0/filemkdir strings/0x409echo "0123456789ABCDEF" > serialnumberecho "river" > manufacturerecho "river_msc" > productmkdir configs/c1.1/strings/0x409echo "abc" > configs/c1.1/strings/0x409/configurationln -s functions/mass_storage.0 configs/c1.1ls /sys/class/udcfe200000.dwc3echo "fe200000.dwc3" > UDC

 

3. ok, mass_storage 设备制作成功

 

* 注:

利用configfs无法制作多功能的复合设备, 

故echo "fe200000.dwc3" > UDC时, 可能会报以下错误:

root@xxx:/sys/kernel/config/usb_gadget/g_ecm# echo "fe200000.dwc3" > UDC [ 9880.063594] driver->udc_name: fe200000.dwc3[ 9880.067787] begin to find udc(fe200000.dwc3)[ 9880.072050] ret = 0-sh: echo: write error: Device or resource busy

此时, 需要将之前绑定的gadget驱动卸载后才能加载新的驱动。

如何卸载之前的设备,

echo "" > UDC

 

4. 主机端,

msc驱动为常见驱动,一般Linux和Windows都默认支持, 故不再赘述。

转载地址:http://oicrj.baihongyu.com/

你可能感兴趣的文章
【干货】用tensorRT加速yolov5全记录,包含加速前后的数据对比
查看>>
INT8量化原理理解
查看>>
(转载+整理)超详细的cmake教程
查看>>
安装dlib gpu版本记录(解决遇到的Error: The --yes options to dlib‘s setup.py don‘t do anything……)
查看>>
(转载)yolov5理论学习笔记
查看>>
(转载)池化层的反向传播是怎么实现的
查看>>
【论文笔记】:LLA: Loss-aware Label Assignment for Dense Pedestrian Detection
查看>>
梯度下降:BGD、SGD、mini-batch GD介绍及其优缺点
查看>>
【论文笔记】:Learning from Noisy Anchors for One-stage Object Detection
查看>>
Ubuntu18.04下opencv3.4.3编译与安装,及常见问题记录
查看>>
【论文笔记】:PSS(NMS-free)
查看>>
2022届春招实习面经(CV岗)——凉经
查看>>
2022届春招实习面经(CV岗)——offer经
查看>>
【论文笔记】:PP-YOLO、PP-YOLOv2、PP-YOLO Tiny
查看>>
【论文笔记】:Swin transformer(转载)
查看>>
(转载)注意力机制中的Q、K和V的意义
查看>>
安装Anaconda3遇到的几个问题
查看>>
Linux设置anaconda3的环境变量
查看>>
COCO数据集标注格式详解----object instances
查看>>
【论文整理】:R-CNN、fast R-CNN、faster R-CNN三者的整理
查看>>