标签:android adb linux-device-driver usb adb-drivers
总结(我们做了什么,我们尝试了什么):
基本上,目的是通过使用adb源代码在两台Linux计算机之间通过usb建立adb协议.
Envinronment是Ubuntu 16.0.4.有一个android-tools-adbd(adb守护程序)包准备在池中使用,其源可用.
此link(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通信?
它有什么解决方案吗?
[ – -编辑 – -]
笔记:
>日复一日,小问题离开了.对于那些想要参与的人;我们正在关注this guide.
>(内核版本4.4.0-38-通用)
>运行正确的udc(USB设备控制器)驱动程序时遇到问题.通过modprobe usb_f_fs激活ConfigFS后,xdg-adbd(来自源链接的可执行文件,adbd)正常工作,直到检测到udc驱动程序的if(…).我们尝试运行modprobe musb_hdrc但没有在/ sys / class / udc下看到显式的驱动程序名称.
(2016年9月27日)
解决方法:
首先,让我指出你刚才说的关于the guide的几件事情:
>它需要(在第一段中这样说)
了解USB,这与尝试在两台带有A到A(均为公头)电缆的计算机之间设置USB连接相反
并希望它能够发挥作用.
> Linaro(发布指南的组织)是众所周知的
因其在ARM平台上改进Linux的工作.指南就是这么做的
不适用于基于x86的PC.
除此之外,您需要了解USB是USB主机(主设备)和USB设备(从设备)之间的非对称协议.没有办法解决这条规则.为了能够使用USB连接2个设备 – 一个设备需要将USB控制器配置为USB主机,另一个设备需要将USB控制器配置为USB设备.个人计算机(独立或内置于英特尔PCH)中使用的硬件USB控制器的问题在于它们只能用作USB主机.没有软件可以改变这一点.
您在问题中链接到的所有项目和资源都试图证明您可以获得所需的结果,这些项目和资源是针对不同于PC的平台开发的.
如果您坚持使用PC作为USB设备 – 市面上很少有USB适配器(主要是USB控制器评估板),它们使用支持UDC的USB控制器芯片.但由于它们的稀有性,它们通常非常昂贵(我见过的那些售价约为200美元).因此,如果您的初衷是通过切换到商品硬件来降低开发成本 – 这个选项也不会对您有所帮助.
这就是其中一个这样的适配器的样子:
标签:android,adb,linux-device-driver,usb,adb-drivers 来源: https://codeday.me/bug/20191001/1840372.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。