在 Android 上通过以太网 eth0 接口 Ping 和其他人

Ping and others over ethernet eth0 interface on Android

我有一个 Android 7.1.2 开发套件,带有一个用于 ADB 访问的 USB。对于我的项目,我需要在这个 USB 上连接一个以太网接口。

好的,我已经使用 USB/Ethernet 并设置了 init.rc 以在 eth0 上设置我的 IP。

当将套件中的 eth 直接连接到我的笔记本电脑,并通过 Wifi 访问 ADB shell 时,可能会执行来自 Android:

的命令

ping -I eth0 172.17.140.81
(其中 172.17.140.81 是笔记本电脑的 IP) 它有效! - 他们有 ping 响应

但在笔记本电脑shell中,制作相同的(显然是对套件IP),套件没有响应。 通过 Wifi IP 执行,它们都可以。

当尝试从笔记本电脑 ping 后,在 ADB 中执行 ifconfig shell,可能会看到 eth0 接口的 RX 数据包在增加,一些 TX 数据包也在增加。

它有一些配置、专有或服务可以让这个 eth0 像 wlan 接口一样工作?

最终目的是在以太网上获得 ADB/SSH 连接。

感谢您的帮助和最好的注册。

我确实通过支持和一些步骤解决了这个问题。

以前,我确实有 configure/compile 支持 SMSC Usb/Ethernet 的内核。

1 - 从模块制造商(在我的例子中是 Quectel)接收源代码更新包。他们确实向我发送了一些补丁文件以对 AOSP 源代码进行修改。因此,要应用它,必须从目录中删除所有 git 和 repo 文件,并在源的根目录上创建一个新的 git。然后使用 git am.

应用补丁

2 - 使用 ifconfig 命令在以太网上设置静态 IP,ping 和 ssh 仅在 wi-fi 关闭时有效。也就是说,这意味着某些以太网框架上的路由没有使用 ifconfig 命令正确配置(这是我在 init 调用的脚本中使用的命令。)rc.

要正确设置以太网 IP,并同时打开 wifi 和以太网,我需要在套件触摸屏显示器上的 UI 上设置它,通过 'configurations' 访问,以太网等..

也可以在文件中定义以太网上的默认 IP: packages/apps/Settings/src/com/android/settings/ethernet/EthernetDielog.java

使用像普通 Linux 终端一样的命令,我不知道该怎么做。我希望这对某人有用......总有一天...... rsrs.