Firefly开源社区

标题: Linux架构下的mtp配置 [打印本页]

作者: 岁月如故    时间: 2024-7-22 16:06
标题: Linux架构下的mtp配置
目前想在Linux架构下配置类似android 文件交互的MTP通讯。
尝试过buildroot、debian的官方固件均无法操作。
自编过了buildroot/package/mtp包,并运行mtp-server会报错not opening /dev/mtp_usb.


查看过kernel的usb目录下大部分的驱动文件,并没有看到生成 /dev/mtp_usb节点的驱动。

也试了debian的usbdevice,配置成mtp模式,报错并没有mtp.gs0这个目录。


但是我看buildroot/package/mtp包 也有一直在更新的,逻辑上应该是可用才对。
想问一下究竟是我哪里的配置问题?是mtp包有异常,还是kernel配置异常?
目前试过usbdevice配置ums模式也是可以正常使用的。偏向是kernel有驱动没开,但是没找到。
希望有人能帮忙解答一下这个问题,谢谢!

作者: 岁月如故    时间: 2024-7-23 10:19
mtp.gs0这个目录的问题是解决,对标了一下安卓实际上目录应该是ffs.mtp才对。
但是最终还是会卡到not opening /dev/mtp_usb ,没有这个节点。我也看了安卓,安卓也没这个节点的。
想问一下各位大佬到底是如何操作的?
作者: 岁月如故    时间: 2024-7-26 10:18
目前这个节点,通过移植kernel 4.4的f_mtp.c 可以解决,但是会报错 变成invalid argument -22(如图)。
排查过了open的fd问题,fd没有差异都是统一个,想问一下还有什么排查方向,对照过了Android流程,Android用的是handle有差异。


目前,主要目的就是通过type-c连接访问磁盘内容,也想确认mtp是否是唯一途径?如果有其他的方式能否说明一下。





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1