文章目录
一、OTG 网络接口分析1、OTG 有线网络连接2、不同手机厂商支持3、OTG 有线网络配置
二、使用 adb 进行 Android 网络配置1、ifconfig 查看网络配置2、wlan0 网络配置3、p2p0 网络配置4、rmnet_data2 网络配置5、rmnet_data2 网络配置
三、OTG 网络配置
一、OTG 网络接口分析
1、OTG 有线网络连接
OTG 有线网络连接 不是 Android 手机要求的必有功能 , 每个厂家的手机对 OTG 网卡支持不同 ;
Android 开源项目 ( AOSP ) 中包含了对 USB 外设的 管理模块 ( 如 : vold、netd ) , 并支持通过 usbnet 驱动加载 USB 网卡 ;
是否能在你的手机上使用 OTG 网线功能 , 主要取决于手机厂商的实现 :
厂商启用并优化 : 如 Google Pixel、三星 Galaxy、部分 小米 / 华为 高端机型 , 系统会自动识别 USB 网卡 , 甚至可通过设置启用 ;厂商支持但无图形界面 : 多数设备能识别网卡 , 如 : usb0 接口出现 , 但系统没有提供 " 有线网络设置 " 菜单 , 需借助第三方 App (如 OTG USB Network) 或 adb shell 命令行 配置 IP ;厂商屏蔽或移除支持 : 一些厂商为 省电、简化系统 或 节省成本 , 移除内核中的 USB 网络驱动 , 删除 /system/etc/vold.fstab 中的相关配置 , 禁用 5V 升压电路 , 导致外设供电不足 ;
2、不同手机厂商支持
华为手机 : 设置 → 无线和网络 → 以太网设置 → 可选择DHCP自动获取IP或手动配置静态IP , 需输入IP地址、子网掩码、网关、DNS ;
华为的旗舰机型 Mate系列(如Mate 20、Mate 30、Mate 40)、P系列(如P30、P40、P50 Pro)、nova系列目前 Harmony OS 4.2 采用的是 厂商支持但无图形界面 策略 , 没有找到上述设置 ;
小米手机 : MIUI系统支持OTG功能,需通过 第三方工具 或 ADB 命令 设置静态IP , 部分机型需Root权限 ;
需升级至 MIUI 13 以上系统,可在连接 OTG 网线后,进入网络设置界面,选择 “以太网” 选项,手动配置静态 IP 地址。小米的旗舰机型 小米数字系列 ( 小米 10 , 小米 13 )红米的旗舰机型 红米 K 系列 ( K40, K60 )
三星手机 : 设置 → 更多连接设置 → 以太网 → 直接配置静态 IP ;
三星 Galaxy S 系列(如S21、S22)、Note系列、Z Fold/Flip折叠屏系列
3、OTG 有线网络配置
大部分 Android 手机支持 OTG 有线网络功能 , 但是 Android 系统原生并不直接提供 有线网络 设置静态 IP 的图形界面 , 只能通过以下方式实现 :
使用第三方应用 配置 有线网络 : OTG USB Network 、Llama USB Tether 、 Termux + 命令行配置 , 注意 部分手机中 需要 ROOT 权限才能设置网络 ;使用 ADB 命令 配置 有线网络 : 可参考如下命令配置 有线网络 :
# 查看网络接口
adb shell ip addr show
# 假设检测到 usb0 接口
adb shell su -c 'ip addr add 192.168.1.100/24 dev usb0'
adb shell su -c 'ip link set usb0 up'
adb shell su -c 'ip route add default via 192.168.1.1 dev usb0'
二、使用 adb 进行 Android 网络配置
1、ifconfig 查看网络配置
在 Android 手机中 , 执行
adb shell
进入 adb 命令行模式 , 然后执行
ifconfig
查看网络设置 , 得到下面的结果 :
C:\Users\octop>adb shell
HWCTR-Q:/ $
HWCTR-Q:/ $ ifconfig
p2p0 Link encap:UNSPEC Driver icnss
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3000
RX bytes:0 TX bytes:0
lo Link encap:UNSPEC
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope: Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1211575 errors:0 dropped:0 overruns:0 frame:0
TX packets:1211575 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3564978190 TX bytes:3564978190
rmnet_data2 Link encap:UNSPEC
inet6 addr: fe80::b8f5:a057:a602:640a/64 Scope: Link
inet6 addr: 2408:8507:7910:ff8c:b8f5:a057:a602:640a/64 Scope: Global
UP RUNNING MTU:1400 Metric:1
RX packets:672992 errors:0 dropped:0 overruns:0 frame:0
TX packets:435421 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:566538918 TX bytes:130560256
rmnet_data0 Link encap:UNSPEC
inet6 addr: fe80::4655:511a:e705:9d0f/64 Scope: Link
UP RUNNING MTU:1500 Metric:1
RX packets:365 errors:0 dropped:0 overruns:0 frame:0
TX packets:229 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30191 TX bytes:19644
rmnet_ipa0 Link encap:UNSPEC
UP RUNNING MTU:9216 Metric:1
RX packets:2960184 errors:0 dropped:0 overruns:0 frame:0
TX packets:5065290 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5926935255 TX bytes:1306019055
dummy0 Link encap:UNSPEC
inet6 addr: fe80::2c35:15ff:fef8:7066/64 Scope: Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:860 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:63242
rmnet_data1 Link encap:UNSPEC
inet6 addr: fe80::3e44:bf70:f700:93fb/64 Scope: Link
inet6 addr: 240a:4282:f012:664:3e44:bf70:f700:93fb/64 Scope: Global
UP RUNNING MTU:1400 Metric:1
RX packets:1562186 errors:0 dropped:0 overruns:0 frame:0
TX packets:951777 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1490725704 TX bytes:248335977
wlan0 Link encap:UNSPEC Driver icnss
inet addr:192.168.0.121 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::b080:c5ff:fe9d:d9ec/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:86403084 errors:0 dropped:141217 overruns:0 frame:0
TX packets:49434361 errors:0 dropped:1043 overruns:0 carrier:0
collisions:0 txqueuelen:3000
RX bytes:102414377981 TX bytes:10916113167
HWCTR-Q:/ $
2、wlan0 网络配置
wlan0 表示这是 Wi-Fi 无线网卡接口 , wlan 是 Wireless Local Area Network 的缩写 , 如果有其它 无线网卡 则为 wlan1 , wlan2 ;
功能 : 通过路由器 , 连接 无线网络 的主要接口 , 用于访问互联网或局域网 ;链路封装格式 : Link encap:UNSPEC , UNSPEC 是 未指定 ;驱动 : Driver icnss , icnss 驱动 ( Integrated Connectivity and Network Subsystem ) 是 高通 Wi-Fi 驱动 , 与 p2p0 共享同一硬件模块 ;网络特征 : inet addr:192.168.0.121 Bcast:192.168.0.255 Mask:255.255.255.0 ;
IPv4 地址 : 192.168.0.121 , 局域网私有地址 ;广播地址 : 192.168.0.255 , 说明已连接到路由器 , 在局域网 , ,向该地址发送的数据包会被同一网段内的所有设备接收 ;子网掩码 : 255.255.255.0 , 结合 IP 地址 192.168.0.121 和 掩码 255.255.255.0 , 可确定设备所在的子网为 192.168.0.0 ;IPv6 地址 : fe80::b080:c5ff:fe9d:d9ec ; 网卡状态标志 : UP BROADCAST RUNNING MULTICAST 表示 Wi-Fi 正常连接且活跃,最大传输单元 : MTU:1500 , 最大传输单元为 1500 字节 ;路由度量值 : Metric:1 , 路由度量值 1 , 在多个网络接口 ( 如 : 同时连接 Wi-Fi 和移动数据 ) 时 , 决定优先使用哪个接口的路由 , 数值越小 , 优先级越高 ;RX/TX : 累计接受和发送的字节数 , 数据包量极大 ( 数十亿字节 ) , 说明当前主要通过 Wi-Fi 传输数据 ;
wlan0 Link encap:UNSPEC Driver icnss
inet addr:192.168.0.121 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::b080:c5ff:fe9d:d9ec/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:86403084 errors:0 dropped:141217 overruns:0 frame:0
TX packets:49434361 errors:0 dropped:1043 overruns:0 carrier:0
collisions:0 txqueuelen:3000
RX bytes:102414377981 TX bytes:10916113167
3、p2p0 网络配置
p2p0 网络配置 是 Wi-Fi Direct 点对点连接接口 , 用于 Wi-Fi Direct(点对点直连)通信,如文件传输、投屏等设备间直连功能 ;
下面是 p2p0 网络配置 的 关键状态:
UP : 接口已启用BROADCAST MULTICAST : 支持广播和多播零数据包传输 ( RX/TX packets:0 ) : 当前无活跃连接
p2p0 Link encap:UNSPEC Driver icnss
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3000
RX bytes:0 TX bytes:0
4、rmnet_data2 网络配置
rmnet_data2 是 蜂窝移动数据接口(主数据通道) , 用于 4G/5G 蜂窝网络数据通道(通常对应 SIM 卡 1) ;
IPv6 全局地址:2408:8507:7910:ff8c…/64(公网可达)IPv6 链路本地地址:fe80::b8f5…/64(本地网络通信)MTU:1400:因蜂窝网络隧道协议减小 MTU ;活跃流量(RX:566MB, TX:130MB):主要移动数据通道 ;
rmnet_data2 Link encap:UNSPEC
inet6 addr: fe80::b8f5:a057:a602:640a/64 Scope: Link
inet6 addr: 2408:8507:7910:ff8c:b8f5:a057:a602:640a/64 Scope: Global
UP RUNNING MTU:1400 Metric:1
RX packets:672992 errors:0 dropped:0 overruns:0 frame:0
TX packets:435421 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:566538918 TX bytes:130560256
5、rmnet_data2 网络配置
rmnet_data1 是 第二 SIM 卡数据接口 , 一般是 双卡设备的第二 SIM 卡数据通道 ;
IPv6 全局地址:240a:4282:f012:664…/64(第二张 SIM 卡的公网 IP)活跃流量(RX:1.49GB, TX:248MB):副卡数据通道 ;MTU:1400:同主蜂窝接口
rmnet_data1 Link encap:UNSPEC
inet6 addr: fe80::3e44:bf70:f700:93fb/64 Scope: Link
inet6 addr: 240a:4282:f012:664:3e44:bf70:f700:93fb/64 Scope: Global
UP RUNNING MTU:1400 Metric:1
RX packets:1562186 errors:0 dropped:0 overruns:0 frame:0
TX packets:951777 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1490725704 TX bytes:248335977
三、OTG 网络配置
如果 OTG 网卡连接成功 并且 驱动加载成功 ,
OTG 网卡 在 ifconfig 输出中 一般是 eth0 或 usb0 等接口 ,
可以在 adb shell 中 设置 该 eth0 或 usb0 网卡 的 静态 IP 地址 ;