关闭。这个问题需要更多 focused .它目前不接受答案。
想改进这个问题?更新问题,使其仅关注一个问题 editing this post .
5年前关闭。
Improve this question
总结(我们做了什么,我们尝试了什么):
基本上,目的是使用 adb 源代码在两台 linux 计算机之间通过 usb 建立 adb 协议(protocol)。
环境是 Ubuntu 16.0.4。有安卓工具-adbd (adb 守护程序)包准备在池中使用,其源可用。
这个link上还有一个来源(adbd) 可使用 gcc 选项 -stc=c++14 编译,默认情况下在 16.0.4 中受支持(或 gcc 5.2 )。
我们可以通过使用 adb connect(依赖于 TCP/IP)从源代码构建包或成功使用已经构建的包。如果两台计算机连接到同一个网络,则通过 TCP/IP 进行 adb 连接没有问题。
不幸的是,我们无法使用 A 到 A(均为公头)电缆在两台计算机之间设置 USB 连接。 ADB 小工具不工作 并且没有一个设备可以识别另一个。除了 ADB gadget 之外,我们无法确定是否需要显式驱动程序。
问题是(需要回答的真正问题):
如何在两台linux计算机之间设置USB协议(protocol),以便可以通过USB进行adb通信?
有什么解决办法吗?
[---编辑---]
备注:
modprobe usb_f_fs
激活 ConfigFS 后, xdg-adbd
(可从源链接执行,adbd)工作正常,直到 if(...)
检测 udc 驱动程序。我们尝试运行 modprobe musb_hdrc
但在 /sys/class/udc
下没有看到明确的驱动程序名称. (27.09.2016)
最佳答案
首先,让我指出一些关于 the guide 的事情。你说你在关注:
了解USB ,这与尝试使用 A 到 A(均为公头)电缆在两台计算机之间设置 USB 连接相反
并期待它起作用。
表彰其在 ARM 平台上改进 Linux 的工作。指南只是做
不适用于基于 x86 的 PC。
除此之外,您需要了解
USB
是 USB Host
之间的非对称协议(protocol)(大师)和一个USB Device
(奴隶)。没有办法绕过这条规则。为了能够使用 USB
连接 2 个设备- 一台设备需要将 USB Controller 配置为 USB Host
另一个需要将 USB Controller 配置为 USB Device
.个人计算机中使用的硬件 USB Controller (独立或内置于 Intel PCH)的问题在于它们只能作为 USB Host
工作。 .没有软件可以改变这一点。您在问题中链接到的所有项目和资源试图证明您期望的结果是可能的,都是为不同于 PC 的平台开发的。
如果你坚持把PC当成
USB Device
- 市售 USB 适配器(主要是 USB Controller 评估板)很少,它们使用支持 UDC 的 USB Controller 芯片。但由于它们的稀有性,它们通常非常昂贵(我见过的售价约为 200 美元)。因此,如果您的初衷是通过切换到商品硬件来降低开发成本 - 此选项也无济于事。这是其中一个适配器的样子:
关于android - 如何在两台 PC 之间通过 USB 建立 adb 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39639931/