惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
IT之家
IT之家
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
V
V2EX
Last Week in AI
Last Week in AI
H
Help Net Security
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
F
Fortinet All Blogs
I
InfoQ
宝玉的分享
宝玉的分享
A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
B
Blog

博客园 - 蓝天上的云℡

简洁低消耗字节内存池设计 ARM崩溃堆栈报错寄存器分析定位 ARM NEON&Thumb加速指令集 事件编程之eventfd 事件驱动编程模式之EventLoop syslog日志查看器GUI图形界面,支持Windows/Linux/Macos开箱即用 ERRNO链条分析 ARM AMBA总线之AXI系 Linux Kernel Init Bootstrap 内核初始化启动 RK芯片平台GPIO控制 Linux USB子系统之Gadget设备端驱动 远程调试桥接-网络-ADB-GDB 斐讯N1盒子安装飞牛FNOS NAS 安卓原生开发-Recovery使用minui绘制图形 蓝牙音频协议——安卓开发 RKxx系列的RK628摄像头配置影响HDMI出图 usb储存之BOT/UAS内核驱动 现代操作系统-音频处理技术1 Linux驱动底层 Linux驱动适配I2C/SPI例子 模块编译的pr_debug Linux内核/GKI内核主线更新-usb网卡名称变更引出的BUG 为Kernel代码生成VSCODE索引,快速跳转 安卓开机时间/性能优化 Linux/Golang/glibC系统调用 SGDMA与普通DMA Linux内核源码-存储驱动之 QSPI Flash golang数据转换技巧
安卓以太网链路检测
蓝天上的云℡ · 2025-12-03 · via 博客园 - 蓝天上的云℡

文章:
https://blog.csdn.net/IT_xiao_bai0516/article/details/122129925
image

SOC MAC驱动:
drivers/net/phy/phylink.c

PHY驱动:
厂商提供

SOC-RGMII-PHY方式,需要确认时钟

安卓层:
获取状态过程:

  • packages/modules/Connectivity/framework-t/src/android/net/EthernetManager.java

    • EthernetManager isAvailable 上层:提供给应用接口
  • packages/modules/Connectivity/service-t/src/com/android/server/ethernet/EthernetServiceImpl.java

    • EthernetService isAvailable 服务层
     mTracker.isTrackingInterface(iface);	
    
  • packages/modules/Connectivity/service-t/src/com/android/server/ethernet/EthernetTracker.java

    • isTrackingInterface return mFactory.hasInterface(iface);
  • packages/modules/Connectivity/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java

    • hasInterface return mTrackingInterfaces.containsKey(ifaceName);

更新状态过程:

  • packages/modules/Connectivity/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java
    • EthernetNetworkFactory updateInterfaceLinkState 最后会更新键值

原生Settings

packages/apps/Settings/src/com/android/settings/network/telephony/NetworkSelectSettings.java
控件

public boolean onPreferenceTreeClick(Preference preference) {