找回密码
 注册
关于网站域名变更的通知
查看: 305|回复: 1
打印 上一主题 下一主题

全志A40i网卡软件问题排查

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-7-28 11:21 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
01问题分析1 X, _9 C- s/ W" D
- }; H! V8 q, J
问题描述1——. n7 i' D: M3 h" T) r
8 e5 W- V* O+ R! S& z# T: c
以太网初始化报错 No phy found. y2 m# i( ]4 F& |

7 a+ t! v( e5 C# E在执行ifconfig eth0 up命令时,出现"No phy found"异常log。6 W% ?8 {1 {1 {3 F# d2 J. ?0 u
- |7 F/ R( a. R2 d5 B( g! T7 |
& G  ?4 w0 a* ?4 u3 T8 S1 H( e

5 X, }% e( h* i" V) y; Z

" j  ?+ A7 B- n/ q+ w3 C
  A# D  D3 D0 d) T
9 m5 w6 G+ C' |- j0 H

' D3 q8 T% R3 p) J9 H问题分析:
. P: q( }3 {; R( q3 C9 n

' N" A3 s2 P: I1 K6 M0 M出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接口也读不到phy的设备信息。
9 D9 Q% Q+ W5 d. ?1 _2 U5 x3 d

0 k  X* W; f9 D1 X" o# @
* D  V/ Z1 T! D: ^: ]# @5 E- D& E/ w! A& O( h* D; L7 P* i' R& F
; L- u0 D  f  o) A) S4 o% C0 z) M
或者MDIO引脚配置不正确或者phy地址不正确;再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确;再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。
3 N( x3 ]% D# _
1 B+ K# D- \: [
2 [  n5 h7 d- ^' ~  O. w, z
" f2 d2 O1 c( w( ^8 g
6 l2 S3 G2 \+ U. w5 p/ J: C

' K* r2 c. N: u# q; t# k; m5 `( z3 f- }3 t! L& L
% F& M( F$ z5 c- `& N- r
排查步骤:
7 b2 [& t" L3 y# T& X
% }9 _0 @0 Y3 D( y# C
(1) 检查phy供电是否正常;
( O0 Q: D1 v( g- M& |, F! q
/ [  W- p/ Y( C* u5 C
(2) 检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常;4 \( ]' u+ e1 K

; ]0 y$ L+ y% w(3) 检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii);
0 M& R" Y. T5 ?

, A/ y% Z; H* Y7 I# P(4) 检查MDIO是否有上拉电阻;
6 y0 B4 y1 P: t$ V, f$ L0 i4 ^0 k$ |

+ |7 k% P; m. H# `2 M" E  `(5) 检查MDIO引脚配置是否正确;8 Y4 j0 U% R- W5 e+ p, U
- `& i7 q$ s8 d2 W! x& o: A
(6) eMAC phy地址是否和硬件一致;0 g( [1 ?/ x1 M0 ^# v- O

  F5 L2 s9 L# o) X$ T5 Y(7) 检查复位上拉电阻是否和原理参考方案一致。9 l/ S# u: j# X. F) B! ~6 j: l+ V

  d; @+ H6 d( s* \( ]7 F6 P$ }# U# p4 |; U( g" M
) F" e) ~" e7 e1 \
1 H' u  X5 t+ e; `) P5 _
MDIO通讯正常验证:
8 }7 h% [3 j5 r" |

4 x$ N9 \- |* d3 G4 Y+ D使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。
* U& ?* S6 }& T* y2 y

, C, \" E& B) z9 ]* I- ^5 H& w% m$ f1 d1 }, S4 k9 v
# L) f% J4 q& M  D0 H( o3 a
9 y4 H& f: S2 m& _8 p: L% Z

* H( u; z4 E) J. `问题描述2——2 g9 p6 P& i. a4 T- D( Q. Z; E

" G  q" H: ^! G3 e2 I! F* x. H以太网初始化报错NO SUCN DEVICE
8 a  V3 Y* O8 k: l0 ~5 |

6 p$ g8 s& ]6 g. G5 R5 w2 S执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。/ _) w$ A0 U" J' M
4 s) E  w4 N* f/ ^  d

* A) s5 n( N3 g: q8 I3 \
' c/ P  p3 ^4 t( \, T
5 `1 I5 x6 J" \) M
9 R( c& b1 N7 G& n/ G3 X

! B  ?1 j7 `6 z3 o# z- G9 z问题分析:: u% ?( S2 ^* b) ]

5 |, C% l- j" w; P. V  P  s' g8 T以太网模块配置未生效或存在GPIO冲突。
7 h5 q9 B; P3 l6 X
- \4 N5 B3 O7 J8 b# F' Z. S9 M3 e
, _" Z5 n5 a' E/ B9 q" s
- Q0 r0 Z$ P$ b) c7 A* l  {
& r! u( F# R  u
排查步骤:
! \8 W8 u9 Y  T, `( F3 a& y( p( b

1 }7 F$ w$ _) J. ^& m) ?7 F步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;
, h; d* O8 e- `0 ^
6 V0 J% C- Z2 j
步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。
& Q$ K, o- y' R9 Z  b3 m* d- \

2 J' n( l' {9 ]0 P, N0 I5 U9 ~- z3 V" p
6 K# s, _/ d6 [' I! ?5 A1 ?! j3 q; O# j4 @5 b
+ D9 y, C. J- y. Z& |) u
解决方法:
. m. P; F" H4 t- m  Z

+ \8 P+ s+ K5 Y/ X& mGPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。
+ d! [* u6 k! }: @* W. x
4 ]% u, C7 Z* u3 r3 Y
查看以太网模块是否配置。
# y0 j7 x' h& I# h$ {

7 v: {4 z5 n6 i5 f7 @4 p, Z
* Y# n1 n7 C# ?  i3 W' F7 l0 H% q8 ]
" d+ M4 u9 m+ r/ O, ?
8 Y( I0 L( ]; `  l3 D
* s8 r7 X- o! L0 A
& T/ X8 W0 l4 T" f2 v

( P. o; K% h* l9 \7 l0 X
& f! q; b/ u9 Z
问题描述3——% _" u7 |  \9 \, O  u
. Q/ E: |3 k6 R% m4 I
以太网初始化报错Initialize hardware error
" ?/ f0 b- }8 f" o# P& e5 T" d
- e) d9 t' H: d3 N6 j/ `: X
执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。7 M! ?. E( I' ?7 S9 v

+ a' L/ V6 Z0 A. ?2 v: S# N问题分析:( ]% t* B/ _- z( ?

% v& c, X  f+ b! I4 M8 h# G出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。* q& g1 M1 g: m) T5 N1 W
1 w, Y5 Y, v3 L( l! i0 W# H

; V* q! _! h0 r( x  u4 J3 p8 [
+ e+ w9 y" f0 l. T, D
6 E  H6 W7 b! \4 \2 Y8 z
5 o8 W6 b. I# f+ V) w

( ?. w7 u6 J2 Q
, C# J0 h6 i/ _, ^
2 x% [- ]4 i3 `% h) {

6 \) y. X  Y; z6 \

/ ?) t5 G8 S# J* T; h

9 u5 A' T. H! z

! A; Z* x9 h2 V* M1 o3 B0 i4 P排查步骤:
6 p! P, [6 |4 r& M: C

. `' v' X8 _' Q用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。
) y; K# N) X1 A$ p

/ |7 c) }0 C  i5 ]. n
# U" Z& E3 O7 M8 A8 k/ \% K
9 l! g6 w' f+ u0 Z4 h. \

4 I4 f0 T# T4 V/ t+ M  H; K解决方法:. T! N9 H8 R4 U, e8 B7 l$ _

6 s( X! c  [. V! K9 M) u4 i6 F软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题:* F3 t) C9 K1 k- f

+ J! H* n3 N- M+ H
在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。$ }- ]4 E& h  {( ~
; r' r3 F* H* b, k8 F9 W

: j# H( o2 e6 r/ k3 Y6 d  Z6 W# R$ g

1 Q, ?# V" w4 e# c以上是我们在OKA40i-C开发板的使用过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考OKA40i-C开发板的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。
' \  S' s6 h6 U7 m" d) i% j
5 I/ k# a1 l3 b. [) N

+ ^1 ^: f% D' Q, Q/ m* ^
- @/ n& h$ c, g8 k4 j7 `6 J
1 k( g5 M0 f6 y
接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。+ Y/ h* E. j% c

: \4 J0 q% P" e' c5 d7 v
3 T6 R' m: J8 ~4 ?+ s3 e

4 n, S+ I( F5 Y5 {02排查手段" Q' h6 g4 a- C' }; D9 H. V
0 c7 U- C1 q7 P' @! i
这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。
: n6 P' k/ I+ a1 B" M

% Q6 }, J# `. p
$ q1 W- h& `3 u1 K8 F

/ x- o+ D6 c# a) g9 [( f(1) 检查menuconfig及dts以太网配置是否打开;% f  ?- @8 e9 j

1 v) k0 i8 }% }/ x! H(2) 检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等;- u1 O" E" _$ e* W. u( r0 `

* Q9 O# A" f( K3 {1 c2 ^(3) 检查GPIO配置是否正确,如IO复用功能、驱动能力等;
, Z8 I( e( q3 O0 D9 K

# A& i8 f% b7 W1 p( W: E(4) 使用phytool工具读取phy ID 验证MDIO是否正确。
2 O- q- A! ~! w

" r2 g% F  i2 B$ k
) R8 [* M) Q; h% r% g! E. Z' X

& R) s4 d% Z9 o6 E5 K* ~6 |; w% c如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。
0 U8 Q( D. r$ `" j# [3 }9 _- M
2 S) I, N$ t3 y' a2 k2 i; Y& e* [

, k& P9 K. n+ n! a* i- u

# d, y9 x* {5 Z# y$ s* l( y

5 q+ S! s( A4 ]$ T; p, B9 y使用phytool工具读取phy状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。# \; i+ m8 {1 o2 `6 r: f# p. [
" \/ z5 C" ?, Q( E1 c

* C( `+ P1 d( A) r; m) D( ]& G# _' q% X3 I' [/ A
! g! A3 m& A( e
! I0 }4 u  O5 T, c0 C! A  D6 X

该用户从未签到

2#
发表于 2023-7-28 11:37 | 只看该作者
这个网卡不知主流的" }" O% N$ {, r1 P3 k
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 13:45 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表