Bur*_*Day 14 usb android linux-device-driver adb adb-drivers
总结(我们做了什么,我们尝试了什么):
基本上,目的是通过使用adb源代码在两台Linux计算机之间通过usb建立adb协议.
Envinronment是Ubuntu 16.0.4.有一个android-tools-adbd(adb守护程序)包准备在池中使用,其源可用.
此链接上的源(adbd)可与gcc选项-stc = c ++ 14兼容,默认情况下(或gcc 5.2)在16.0.4中受支持.
我们可以使用adb connect(依赖于TCP/IP)从源代码构建软件包或使用已构建的软件包成功构建软件包.如果两台计算机连接到同一网络,则通过TCP/IP进行adb连接没有问题.
不幸的是,我们无法使用A到A(两个都是)电缆在两台计算机之间设置USB连接.ADB小工具无法正常工作,并且所有设备都无法识别其他设备.除了ADB小工具之外,我们无法确定是否需要显式驱动程序.
问题是(真正的问题需要回答):
如何在两台Linux计算机之间设置USB协议,以便通过USB完成adb通信?
它有什么解决方案吗?
[ - -编辑 - -]
笔记:
日复一日,小问题离开了.对于那些想要参与的人; 我们正在遵循本指南.
(内核版本4.4.0-38-通用)
运行正确的udc(USB设备控制器)驱动程序时遇到问题.激活ConfigFS后modprobe usb_f_fs,xdg-adbd (可从源链接执行,adbd)正常工作,直到if(...)检测到udc驱动程序.我们尝试了运行,modprobe musb_hdrc但没有看到明确的驱动程序名称/sys/class/udc.
(2016年9月27日)
首先,让我指出一下你说你所遵循的指南的几个方面:
它需要(在第一段中这样说)你要 理解USB,这与尝试在两台计算机之间使用A到A(两个都是)电缆设置USB连接 并期望它工作相反.
Linaro(发布该指南的组织)因其在ARM平台上改进Linux的工作而闻名.该指南不适用于基于x86的PC.
除此之外,您需要了解这USB是USB Host(主)和USB Device(从)之间的非对称协议.没有办法解决这条规则.为了能够连接2个设备USB- 一个设备需要配置USB控制器USB Host,另一个设备需要配置USB控制器USB Device.个人计算机(独立或内置于英特尔PCH)中使用的硬件USB控制器的问题在于它们只能用作USB Host.没有软件可以改变这一点.
您在问题中链接到的所有项目和资源都试图证明您可以获得所需的结果,这些项目和资源是针对不同于PC的平台开发的.
如果你坚持使用PC作为USB Device- 很少有商用USB适配器(主要是USB控制器评估板),它们使用支持UDC的USB控制器芯片.但由于它们的稀有性,它们通常非常昂贵(我见过的那些售价约为200美元).因此,如果您的初衷是通过切换到商品硬件来降低开发成本 - 这个选项也不会对您有所帮助.
这就是其中一个这样的适配器的样子:

| 归档时间: |
|
| 查看次数: |
1326 次 |
| 最近记录: |