| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 全志A40i网卡软件问题怎么办 -> 正文阅读 |
|
[嵌入式]全志A40i网卡软件问题怎么办 |
OKA40i-C开发板的底板虽然只有一个网口,但A40i本身是有两个网络控制器的,因此在飞凌嵌入式发布的资料中有双网口方案。有的工程师小伙伴在开发过程中会遇见一些网卡的设计问题,今天小编来为大家分析3种常见的网卡软件问题以及排查思路。 1 问题分析 问题描述1: 以太网初始化报错 No phy found 在执行ifconfig eth0 up命令时,出现"No phy found"异常log。 图片上传失败 ?重试 问题分析: 出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接口也读不到phy的设备信息。 或者MDIO引脚配置不正确或者phy地址不正确,再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确。 再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。 ? 排查步骤: (1)检查phy供电是否正常; (2)检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常; (3)检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii); (4)检查MDIO是否有上拉电阻; (5)检查MDIO引脚配置是否正确; (6) eMAC phy地址是否和硬件一致; (7) 检查复位上拉电阻是否和原理参考方案一致。 MDIO通讯正常验证: 使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。 问题描述2: 以太网初始化报错NO SUCN DEVICE 执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。 ? 问题分析: 以太网模块配置未生效或存在GPIO冲突。 排查步骤: 步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功; 步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。 解决方法: GPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。 查看以太网模块是否配置。 问题描述3: 以太网初始化报错Initialize hardware error 执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。 问题分析: 出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。 ? ? 排查步骤: 用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。 解决方法: 软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题: 在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。 以上是我们在A40i开发过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考飞凌A40i的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。 接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。 2 排查手段 (1)检查menuconfig及dts以太网配置是否打开; (2)检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等; (3)检查GPIO配置是否正确,如IO复用功能、驱动能力等; (4)使用phytool工具读取phy ID 验证MDIO是否正确。 如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。 ? 使用phytool工具读取phy 状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。 ? 以上就是小编为大家整理的关于A40i双网口方案的网卡软件问题分析以及排查方向。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:28:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |