网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

A40i网卡常见软件问题怎么破?这篇文章告诉你

时间:2022-08-01 11:36

人气:

作者:admin

标签: Linux  嵌入式  ARM  全志A40i 

导读:OKA40i-C开发板的底板虽然只有一个网口,但A40i本身是有两个网络控制器的,因此在飞凌嵌入式发布的资料中有双网口方案。本文将常见的问题以及具体解决思路进行了整理。...

OKA40i-C开发板的底板虽然只有一个网口,但A40i本身是有两个网络控制器的,因此在飞凌嵌入式发布的资料中有双网口方案。有的工程师小伙伴在开发过程中会遇见一些网卡的设计问题,今天小编来为大家分析3种常见的网卡软件问题以及排查思路。

1 问题分析

问题描述1:以太网初始化报错 No phy found

在执行ifconfig eth0 up命令时,出现"No phy found"异常log。

bfb6c8ef6f4b488698269e66c07b2c60~noop.image?_iz=58558&from=article.pc_detail&x-expires=1659929390&x-signature=nCIsLWIRw6dK2fOKEi0GuJ05nX4%3D

问题分析:

出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接口也读不到phy的设备信息。

或者MDIO引脚配置不正确或者phy地址不正确,再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确。

再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。

855911391e764ba5bfbef00b7ca66388~noop.image?_iz=58558&from=article.pc_detail&x-expires=1659929390&x-signature=JkspCEmFpZceyft11SyTXPd0TPA%3D

排查步骤:

(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设备。

7cddb943a62746a1a0a39b1349d2c239~noop.image?_iz=58558&from=article.pc_detail&x-expires=1659929390&x-signature=5Sl%2BGLkbwPzSgpnOh1d9xCQgq0Q%3D

问题分析:

以太网模块配置未生效或存在GPIO冲突。

排查步骤:

步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;

步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。

解决方法:

GPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。

查看以太网模块是否配置。

22e73414d4a4481197a9744896d3436d~noop.image?_iz=58558&from=article.pc_detail&x-expires=1659929390&x-signature=AbEtRp1jOH6MnGCRlhfGJ22YBxQ%3D

问题描述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 是否是正确时钟。

962ac154637b4f2b960a05b253197460~noop.image?_iz=58558&from=article.pc_detail&x-expires=1659929390&x-signature=gQrKQc4OrnGrD%2FMnV8gU%2B22SMko%3D

cc4f9be55b1f4d10b1c94c5818471fa7~noop.image?_iz=58558&from=article.pc_detail&x-expires=1659929390&x-signature=FuP5YoK%2BiU5WKxQH9ii3jG9WkXA%3D

排查步骤:

用示波器抓取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通讯正常。

13f94db6f0cb4ed5b92e92a1aeb60ef1~noop.image?_iz=58558&from=article.pc_detail&x-expires=1659929390&x-signature=DaGhdLCmnLFkG6B5I%2FcLSOMRekA%3D

使用phytool工具读取phy 状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。

ae9367bcfa224cf2b6c58d8f65a88532~noop.image?_iz=58558&from=article.pc_detail&x-expires=1659929390&x-signature=PlZDDmOMzEqaBv2LnYEb%2FQOLrCI%3D


以上就是小编为大家整理的关于A40i双网口方案的网卡软件问题分析以及排查方向。如您遇到其他网卡问题,可以拨打技服专线0312-3119192联系飞凌的技术支持工程师。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信