Toybrick

标题: debian的mtp配置问题 [打印本页]

作者: touptek    时间: 2024-7-25 08:55
标题: debian的mtp配置问题
目前想实现在debian或buildroot环境下,配置类似android的MTP通讯PC进行文件交互的方案
就是debian通过type-C连接电脑PC,PC可以通过文件管理器实时访问到一个固定目录(例如android的sdcard)

尝试过buildroot、debian的官方固件均无法完整上述操作。
尝试编过了buildroot/package/mtp包,然后集成到buildroot固件里面,运行mtp-server会报错not opening /dev/mtp_usb.(如图一)
然后去查找对应的驱动文件,发现只有在kernel-4.4或更老的版本还有f_mtp.c文件,可以生成对应的设备节点。

移植到kernel-5.10 生成节点后,参考usbdevice里面ums模式修改变量的方式,把usbdevice.sh的export USB_FUNCS改成"mtp",调试调到最后报错变成invalid argument -22(如图二)

但是打印出来打开的fd值其实相同,参考了一下android的,android打开的是handle相关的。目前不知道后续如何修改了。
我有看到buildroot/package/mtp包里面的patch也有一直在更新的,逻辑上mtp配置应该是可用才对,想问一下是哪里没配置好的问题?


目前验证过ums模式是可以成功虚拟出U盘的,但是不能实时显示增删改的数据,达不到想要的效果。

主要就是想要到的跟android类似可以通过PC连接后实时查看对应目录下文件
增删改查的功能。像smb这种网络共享的暂时不考虑。


作者: touptek    时间: 2024-7-25 08:58
目前在debian上也试过jmtpfs这类包,都是把Linux作为PC,来识别接入的MTP设备。跟想要的效果相反了。
作者: touptek    时间: 2024-7-26 09:52
您好,请问有人能帮忙解答一下问题吗?我目前参考Android 也对比不出来什么差异。
作者: touptek    时间: 2024-7-26 10:15
目前,目的就是通过type-c连接访问磁盘内容,也想确认mtp是否是唯一途径?如果有其他的途径能否说明一下。
作者: touptek    时间: 2024-7-31 08:40
请问有人能解答我的上述问题吗?
作者: skyxiexin    时间: 2024-7-31 09:39
你需要修改目前的启动脚本,从默认的adb模式改到MTP
作者: touptek    时间: 2024-7-31 09:50
目前已经修改过启动脚本了,usbdevice.sh的export USB_FUNCS改成"mtp",没效果。usbdevice 脚本里面调用mtp-server进程报错 invalid argument -22。
您那边可以正常配置吗?方便贴一下配置?
作者: touptek    时间: 2024-7-31 09:55
还有点是 UMS模式下对于的vid pid有什么差异?我看网上有人的UMS模式是vid是0x0525 pid 0xa4a5 看着是走mass_storage。但是脚本是0x2207 0x0000




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3