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

推荐订阅源

博客园 - 三生石上(FineUI控件)
博客园 - 叶小钗
博客园 - 聂微东
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Google DeepMind News
Google DeepMind News
Recent Announcements
Recent Announcements
IT之家
IT之家
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
I
InfoQ
爱范儿
爱范儿
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
U
Unit 42
酷 壳 – CoolShell
酷 壳 – CoolShell
腾讯CDC
F
Fortinet All Blogs
V
Visual Studio 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) {