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

全志A40i网卡软件问题排查

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
01问题分析2 n3 n8 z! T% }6 [' M

2 a" S: t" d7 L0 m. K问题描述1——) |# r, c3 I! h  h1 S0 e+ I
& K. a; z" e) w2 L) x* C/ @% S  A
以太网初始化报错 No phy found' \# V' H$ w9 t/ w1 Y5 C

' w: L. t6 M) Q$ H% f+ G: y在执行ifconfig eth0 up命令时,出现"No phy found"异常log。
( {. ]0 p) R, e1 u: a* Q
* s* q' s. I, z; o1 u5 v' j% g
6 O" J6 U8 U' Z
- k+ S1 X7 }* l6 g  k! H% U
% b7 w5 [2 L5 ~
4 Y; I' c% D5 F/ c) x  d
$ t& H& A, u, r6 u! M- s

% F4 [2 u3 c7 P4 \9 Y问题分析:4 u0 J3 o' o& |0 c. \; B

# v1 u# y' h; Q$ b# I出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接口也读不到phy的设备信息。, A6 c$ g; y* a+ n
* n$ K6 D3 i& x7 T1 y- e: x

4 @9 [! }* v2 ]  B/ `# e( T7 H7 T% `
) O( Z. N, J7 e/ ?  D
或者MDIO引脚配置不正确或者phy地址不正确;再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确;再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。
- Q" J# Q2 G7 `- Q

: h* z) C6 ?6 d% v8 l) ]
& `; U8 ?$ ~; u7 g- s, C  N$ F3 S4 J- X+ ]# o5 }) B- j
0 q! s; X& r# \6 T
* B. Y  t, Y: W
! e: Y- b; F/ [; O

6 x2 w3 Y& W/ a$ o& C" p排查步骤:6 t6 W" Z2 _$ ]" y; I
2 n! y: p1 S/ B( k( Q8 t9 u6 V2 X
(1) 检查phy供电是否正常;6 W! k. ~4 d3 \1 ~9 s

  l$ O" W# e: w( ^(2) 检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常;
& Y! W6 }2 c  a4 x3 e

6 L$ j9 E9 r8 @! Y(3) 检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii);# u3 L; P5 p  {. T
( g  _9 c! G0 M
(4) 检查MDIO是否有上拉电阻;# I4 |2 {8 v1 ^8 V
4 d  O$ n3 A* p, P" ]+ s7 E+ U
(5) 检查MDIO引脚配置是否正确;. x6 S- ^% N8 Y5 I

4 j9 K5 N" x! A(6) eMAC phy地址是否和硬件一致;' A7 v8 n9 X; D5 J  ?/ w0 w
5 n( {& U  L; _
(7) 检查复位上拉电阻是否和原理参考方案一致。
8 x$ Z) U2 q0 q" a4 n+ f
6 t/ E8 ]0 j5 Z+ m6 E

6 ^( U: M6 _) }- ]$ }. i+ E' V- E' ]
& b4 z5 S" L2 R. q- j
MDIO通讯正常验证:+ W+ n! J2 s' ~9 Q. O, h: o" n, r3 }

$ ^# J( D9 `6 D: ]使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。; h  j* R9 C6 g8 `
0 j& @& |+ \( a: k+ [

+ x, p: u: C; x7 I  U3 u
( d( {# x' P" L- G; H6 Z

- R+ [- b0 V: O) p6 T: j& H2 w
0 @& Z! Z9 B# t" m, K" r+ d0 @5 _
问题描述2——2 j0 Q2 z7 c# q: L; Y. `# j& C

/ ^+ q1 Z0 F$ p/ C以太网初始化报错NO SUCN DEVICE: @0 |. Z5 s- k

0 E- n( R0 N. X( k. s执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。
$ f" f4 V9 d4 o8 D4 c% j

' k+ f; f" a8 }. `
( u! K$ E) m( z+ k
+ m+ J  A0 E$ _1 f5 t/ l
: E; D4 N( \' l8 u, b

$ r; Z  C  `. V" r

+ s8 _- n4 f* k. k问题分析:0 y2 U4 G- K0 Q$ G0 q: n

# |6 _8 [, F: [+ i( y以太网模块配置未生效或存在GPIO冲突。
' _+ C  y- p; c3 }, ]; ~7 G$ T. S

1 a; e( R4 N. r# ]7 g( ?& ?8 s8 @8 x# z* G* d: m4 X' U) w" f

. e# ^9 v& o7 l. A5 \
7 q4 g6 c5 G; e( z" v3 W
排查步骤:
; Z1 G8 Y+ N8 V- K/ C1 b1 B

3 y% [& L: ^! z, S步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;
( }# V* s) A4 g: Y* v" y( [& V

' D  y- w/ X: R2 u0 H( L步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。) F) f+ R0 W& b$ u/ b/ J8 }

$ V# r( R; ?9 z: F$ `& M. y0 y1 A. r8 i

, R5 O9 i" Z6 {
5 @9 ~. I/ g( f% I, D: C2 i
解决方法:
2 n" b2 w7 e4 `* }4 e1 z8 t

$ ~+ E- Q+ f/ p  G' ]GPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。
6 r( Y% X2 y0 G( E. K& ~

' X2 a) r2 o: B) F( X查看以太网模块是否配置。- g, L. W) |! _

/ I# c" _9 G5 H( f! d" ?5 K8 M$ I
0 u& q( _' y- f4 V, N
% G% w5 n/ H8 _
8 V' d3 T' f* P+ x% O/ X; Z% K* x  p
0 n+ H8 D, {  D! y% b! c

' U: n, f+ J, p9 V' e7 N
% O) ?5 O! f8 l% u7 u2 a9 \$ b6 `

, a! G6 Q% O  s0 u4 r问题描述3——
8 A  _8 l. x% S

! F( g8 l- b8 v, R; S以太网初始化报错Initialize hardware error; e$ {( v+ F$ r8 r6 F

" u/ ~4 P6 S: S* S9 K执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。7 R* g, \5 L1 a0 l/ z/ f

9 z3 V7 o# k* S7 K; i0 L问题分析:
8 i7 N8 P" k7 m

( r; c6 ^$ ^& ~# Q9 ~出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。
# G+ Z- I5 K* P& Q
4 _+ I. M( y8 i% S7 J$ {
! p9 |, H1 J+ v2 j% k

% G# {$ [! _5 c# y
3 O3 j  h+ o0 c$ m

+ F6 P( G" X2 t3 y: n% {5 o, ?. Y0 G3 Z+ c& \

- N; d* Q; l4 O- a1 A0 l/ N% A1 _, W- p. r5 ?5 M
6 m. X; N! ~% p
5 m" I- o) ]0 T' O
9 c9 g. ]# z/ T

* w5 r2 P0 l9 t/ r排查步骤:
0 w  G& l$ M5 o5 L2 y! m

* ]  i  v# x% |' m9 }0 n用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。
; x. o& F( G/ H- p

* \4 P1 C+ b6 O& p! [( r3 x4 |/ Q  x- O/ w' [9 J

9 `5 ~2 n- k& `" y( r

1 o# {/ ]# H: u! R6 s0 t解决方法:
+ o( G& i. V1 K& w
0 a+ V9 e/ _  U/ F4 O
软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题:
$ f* l% \8 P, I& u1 s
2 m* y4 `7 N7 ~& y8 Z* z2 N
在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。
( O$ g& N- P/ V0 Z1 C6 q
5 s) c/ T" L5 q! X3 q5 ?

: q* ?' c4 N. |- v1 U( y/ l

1 I6 B$ Q+ c, k& ^) Q! t- w2 }以上是我们在OKA40i-C开发板的使用过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考OKA40i-C开发板的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。
( F) E% }' f, M

  P; V3 F' B. B$ j' T# f
  {. p  ^8 `; F2 J0 h+ J! u! u+ F0 F" p" o+ e: m1 t

/ e! Z4 z4 D2 d4 ~( j8 P4 I接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。8 V" R* N' J; F1 Z$ _

" Q3 @* H1 W- a2 A2 @$ j; ^
) d, p& O  R# x7 U
# \2 g4 t% C- S8 d9 L9 s2 p
02排查手段
1 G6 w7 t9 z. Z. f( t. C

5 c, v! l5 q# V( u! u' m: N" c3 {这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。
  D7 l, j( \+ O# w) a

* p1 Y3 [& V! `  e- a& _. K. C8 H' j9 B9 i
6 H1 H/ J  s' A
(1) 检查menuconfig及dts以太网配置是否打开;6 L( n, C8 E/ k6 r0 ^$ y

) X0 ^( c% A" r4 \% J0 }5 R(2) 检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等;
9 H! Z+ P1 L4 W, y- o

4 ?6 p) A7 L7 h4 b1 @; H  D(3) 检查GPIO配置是否正确,如IO复用功能、驱动能力等;
% \  k4 P9 s: K) ~$ h4 ?+ r" a! }

6 E8 }+ C5 \- Z: R) I6 N9 G7 S( q(4) 使用phytool工具读取phy ID 验证MDIO是否正确。
" A7 P) ^6 O, e' q& b; g. e
4 ]0 J6 `8 z9 N3 B4 s0 f

& ?5 _7 S; X% R! N, y9 Z

' Z7 p5 d8 E* _# S如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。$ e5 q# z9 I! H+ f
8 Z& h" u# p7 ^: [
' M4 z% ^: n; ^  f5 o, C# j* z

- \8 B6 G9 m" Y$ G# T
8 |; h7 o6 j2 h9 Z2 N
使用phytool工具读取phy状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。9 W6 l+ K" W  \$ T
. H" i* K$ ^6 U; Z2 ~7 L
/ D" p  A; z$ [' a1 S# P7 x

& [1 h% ]/ T( f* V
! q0 }) @( J% k! M9 E

. n4 B. E( z% _$ [4 t

该用户从未签到

2#
发表于 2023-7-28 11:37 | 只看该作者
这个网卡不知主流的# {* h+ m1 M& M1 j' R7 P# L7 G* Q4 Q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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