gpt4 book ai didi

android - 主线 Linux 内核中的 USB MTP 小工具驱动程序发生了什么变化?

转载 作者:太空狗 更新时间:2023-10-29 13:15:26 35 4
gpt4 key购买 nike

我正在尝试使用 USB 小工具驱动程序使嵌入式设备作为 MTP 设备工作。

我知道 Android 从大容量存储设备切换到 MTP 设备已经有一段时间了,并且找到了 source code for MTP gadget driver在一些 Android 存储库中。

然而在mainline kernel code我没有找到该特定文件,也没有找到等效文件。

但我确实找到了patches for MTP gadget driver 2010年提交RFC。

问题:

为什么主线内核不接受这个补丁,也不提供任何其他 MTP gadget 的实现,而 Android 内核却提供了?

这是因为技术难度还是其他原因,比如有更好的方法吗?

如果我想在我的设备上启用 USB MTP 小工具(一个使用 TI OMAP3730 SoC 运行 2.6.37 内核,另一个使用 NXP/Freescale IMX6 SoC,运行 3.14 内核),我应该使用哪个版本的 MTP 小工具进行反向移植?

最佳答案

Why mainline kernel does not accept this patch, and doesn't provide any other implementation of MTP gadget, either, but Android kernel provides it?

它在 this 中提到过MTP 响应器应该作为用户空间守护进程而不是内核 USB 小工具来实现的线程。并提到了一些实现。

在 PC 上,MTP 启动器已经通过用户空间实现工作。至于今天,我的 Debian 上有内核 4.3,但它仍然缺少 MTP 小工具。但我还是设法在我的 PC 和手机之间运行了 MTP,使用了一些用户空间工具(可能基于 libmtp,但这不是重点)。

众所周知,Android 内核有一些有争议的技术决策(从主线内核开发人员的角度来看),因为 Android 是一个快速发展的项目,应该快速实现。当然,有人尝试将尽可能多的东西上游。但 MTP 小工具似乎是那些甚至无法进入 drivers/staging 的东西之一。可能每个人都同意 MTP 必须在用户空间中实现。

If I want to enable USB MTP gadget on my devices(one with TI OMAP3730 SoC running 2.6.37 kernel and another with NXP/Freescale IMX6 SoC, running 3.14 kernel), which version of the MTP gadget shall I use for backport?

如果您真的需要在内核中使用它(可能只有 Android 需要),您应该寻找尽可能接近您的 Android 内核版本。无论您使用哪种 SoC,MTP 实现对于所有平台都是通用的,因此只需查找内核版本即可。

例如,看看这些存储库:

关于android - 主线 Linux 内核中的 USB MTP 小工具驱动程序发生了什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35234347/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com