android - 如何在两台 PC 之间通过 USB 建立 adb 连接

标签 android usb adb linux-device-driver adb-drivers

关闭。这个问题需要更多 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通信?

有什么解决办法吗?

[---编辑---]

备注:

  • 一天比一天更进一步,小问题就留下了。对于那些想要参与的人;我们关注 this guide .
  • (内核版本 4.4.0-38-generic)
  • 运行正确的 时遇到问题udc (USB 设备 Controller )驱动程序。通过 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 连接相反
    并期待它起作用。
  • Linaro(出版指南的组织)是众所周知的
    表彰其在 ARM 平台上改进 Linux 的工作。指南只是做
    不适用于基于 x86 的 PC。

  • 除此之外,您需要了解 USBUSB 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 美元)。因此,如果您的初衷是通过切换到商品硬件来降低开发成本 - 此选项也无济于事。

    这是其中一个适配器的样子:
    NET2280EVB

    关于android - 如何在两台 PC 之间通过 USB 建立 adb 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39639931/

    相关文章:

    android - Umano SlidingUpPanel 上滑后顶部面板消失

    android - 选项卡指示器颜色

    android - 当用户从商店更新 Android 应用程序时,Realm 数据库会发生什么变化?

    java - Maven Android 失败 : The POM for com. google.android.gms :google-play-services:jar:13. 0.0 丢失,没有可用的依赖信息

    android - 使用 ADB 命令获取 IMEI 号 Android 12

    android - 在 Android 和 Node.js 之间传输大文件

    不允许 python 操作(graphtecprint)

    linux - 为什么我不能从/dev/snd/midi*读取数据?

    android - adb安装进度条

    localization - 通过 Robotium 更改 Android Apk 语言环境