【Android】Android 手机通过 OTG 接口进行有线网络连接 ( OTG 网络接口分析 | 使用 adb 进行 Android 网络配置 | 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 地址 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值