当前位置: 首页 > news >正文

实现usb的MTP功能

前言:最终结果根据用户自主选择可实现host和device功能的切换。
效果展示:
当插入usb时设备会弹窗
在这里插入图片描述
当用户选择设备模式时pc端就会出现mtp设备盘符
在这里插入图片描述

实现mtp设备

ubuntu架构根文件系统通过uMTP-Responder实现usb的MTP功能

添加服务

/home/flynn/firfly_rootfs/lib/systemd/system/adbd.service

#start
[Unit]
Description= Adbd for linux
Before=rockchip.service[Service]
Type=forking
ExecStart=/etc/init.d/adbd.sh start
ExecStop=/etc/init.d/adbd.sh stop
ExecReload=/etc/init.d/adbd.sh reload[Install]
WantedBy=multi-user.target
#end

链接文件:/etc/systemd/system/multi*.want/adbd.service

添加脚本

/home/flynn/firfly_rootfs/etc/init.d/adbd.sh

#!/bin/bash -e
# setup configfs for adbd, usb mass storage and MTP....
MTP_EN=offUSB_ATTRIBUTE=0x409
USB_GROUP=rockchip
USB_SKELETON=b.1CONFIGFS_DIR=/sys/kernel/config
USB_CONFIGFS_DIR=${CONFIGFS_DIR}/usb_gadget/${USB_GROUP}
USB_STRINGS_DIR=${USB_CONFIGFS_DIR}/strings/${USB_ATTRIBUTE}
USB_FUNCTIONS_DIR=${USB_CONFIGFS_DIR}/functions
USB_CONFIGS_DIR=${USB_CONFIGFS_DIR}/configs/${USB_SKELETON}parameter_init()
{while read linedocase "$line" inusb_mtp_en)MTP_EN=onmake_config_string mtp;;usb_rndis_en)RNDIS_EN=onmake_config_string rndis;;esacdone <<

http://www.mrgr.cn/news/97704.html

相关文章:

  • window上 docker使用ros2开发并usbip共享usb设备
  • Docker+Jenkins+Gitee自动化项目部署
  • 【Linux】系统进程管理
  • oracle 11g密码长度和复杂度查看与设置
  • 处理Excel的python库openpyxl、xlrd、xlwt、pandas有什么区别,搞懂它
  • python三大库之---pandas(二)
  • this指针 和 类的继承
  • Qt项目——记事本
  • HarmonyOS应用开发者高级-编程题-001
  • 构建一个最简单的UDP服务器和客户端并逐行解析
  • 新一代达梦官方管理工具SQLark:可视化建表操作指南
  • 【QT】QT编译链接 msql 数据库
  • 用PointNet++训练自己的数据集(语义分割模型semseg)
  • vscode调试vite项目断点(debugger)
  • linux开发环境
  • 如何高效生成达梦数据库测试数据?官方管理工具来了!
  • 实习技能记录【3】-----Git操作
  • 蓝桥杯——走迷宫(BFS)
  • Houdini20.5apex绑定模块入门学习笔记
  • verilog有符号数的乘法