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

全志A40i网卡软件问题排查

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
01问题分析
0 S: j. v$ k0 h$ R! R" d

2 m+ s( h8 \& K2 k0 Z1 F问题描述1——9 w$ t1 ~1 [% S8 J- f

+ Z9 i. I4 G4 E# p+ o以太网初始化报错 No phy found
4 ^) p) ]6 ~% y" p( l, x* Q
$ W2 o4 U, a, L2 k1 a& [# c# x
在执行ifconfig eth0 up命令时,出现"No phy found"异常log。
5 y; i  l) b' A+ F

, y; l7 @. P  U) \1 @. Y3 y, d5 O( d1 S1 N

- i1 j0 \/ M9 y# ]8 ?) i' o+ K) E
6 f# V% \3 }# O! k# F% {8 r  i1 k

' {# ^# w5 d( V5 \3 _0 x
8 X" j& U4 T! m  d' h, f9 ]; _

9 ^: w/ q" M0 U问题分析:
# c* j) _  H, Y' U

; L* r! l2 C' d1 |2 w出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接口也读不到phy的设备信息。- ~( g% `& V% v7 X

* q+ Y/ n& T4 q0 G7 F
( g" G8 j6 r: S# _9 i/ b
+ t* |& Z! K, I, |* c5 S) q. }
, z3 R1 P  u. A" @
或者MDIO引脚配置不正确或者phy地址不正确;再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确;再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。$ d& o" p6 z1 e) K* ^
) L- {4 u" q, ~8 f# q! ~  K) x
1 [$ D" G& }  F% b2 o

3 s$ z/ h& L& b8 C" z  ^- F( _
: e4 G+ |. T6 D2 @# P& [# H

& x9 Z: _" Y; l* [; Y% Y. p9 q) w" A5 S  r! w. y
- v3 `6 m4 v. G1 q/ |' s  A
排查步骤:
1 L8 A4 e1 @& T! D

0 M* [! B% V( w7 W+ T$ D$ N2 X(1) 检查phy供电是否正常;
% G" P9 N2 O1 q
2 n. ]2 K  z4 w3 d8 F4 f# k- Y* O+ C3 i
(2) 检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常;- C, N) G5 W8 H# ~# b

& D, I9 l; k- y8 v! l(3) 检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii);$ O: K1 ]% a( q7 j5 c! o
, v* ?3 [7 j7 E: h9 y  F; \" v
(4) 检查MDIO是否有上拉电阻;/ {2 }9 S, T8 d7 p+ W1 p
8 T& c" q; C- a5 F
(5) 检查MDIO引脚配置是否正确;; E- y- \; i1 ~  h
  n) q+ I$ L+ P
(6) eMAC phy地址是否和硬件一致;( t' d) \3 X, r5 R" b

8 g0 J, q, ^# x(7) 检查复位上拉电阻是否和原理参考方案一致。1 P+ r- Z9 g0 T0 M3 G+ e/ W6 g
' v: m/ }5 q; c- L6 u) j. L" h

. g  B4 o! }- A/ t7 I9 ], {' Q" c( i& i0 M+ D+ x

4 ?7 \- n- g. LMDIO通讯正常验证:
! n; m4 E% z7 m
# b) A8 G8 R) \- Z& y& a+ R; X2 |
使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。) Y& R5 Z1 C1 m' O. z+ y3 {5 j( ?
* j! }5 z* L: h

$ ?  x! K4 r" }4 X0 x# D1 r8 ^, _) J6 d8 h/ j( U5 G
9 i: g/ {7 t  E+ A
; d" F( B# t/ C7 E! M
问题描述2——* L- H; ]9 e- t  m1 {8 n

& c, A4 `. y* W! U以太网初始化报错NO SUCN DEVICE
/ G4 M) }; t/ P
, ~, M) j( a9 l
执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。
9 N3 H% `* w- H& t. }1 a& l
, |2 c  |( I: a# F( _' B% D2 G& m) Z
' [) U9 h4 V0 [# Z6 |; B$ k- _

: s* b. g# e9 ^8 N. B/ K

3 d1 b; ~3 ?5 W" y3 D' H+ T
( i' d1 }( B+ e/ d% ~6 `

1 Y3 t+ E, A# c- \问题分析:
1 ^2 q* A2 f+ q/ P+ b  v0 d6 k

2 W# w. }% F: y以太网模块配置未生效或存在GPIO冲突。* T8 {9 O9 ^  L: Q2 o+ w) A

' T2 t, u6 d" S* e9 k# n) T8 e: U7 c" T8 f- n
9 _: }) s6 P) G* h1 H9 U

9 J! q9 u5 t8 V3 `! n% ?" E排查步骤:! Z6 S# a9 W7 S. ]$ D. P8 l3 L

/ e' l& Z. T2 x3 w4 k* H" U步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;
4 c9 O3 ]7 Z: P
% [1 k% }$ P2 x& Y0 ~  P6 _
步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。
; h- _, i# s/ U; c. l

' ?# T, n7 C0 [7 Z6 q
3 B1 L2 l: A1 ^! @9 r6 S0 p  c0 @
. A& I4 r7 O) [: H' r+ F$ _
1 \: ]' }% N7 Y. f( Q1 f& A6 c
解决方法:/ Q1 Z, ?, P; i. c4 x' n

+ D* E! U+ ?- ~" l1 H2 ]: L: A1 {GPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。
/ P7 F8 a& C5 Y  k4 p
+ ?! s! ?% [9 u
查看以太网模块是否配置。
+ E6 h5 R9 \  @6 Q; ?/ C
% Q, w& }: K' o) u  o4 v
% t, D- v; x1 e" |- H$ s
, E- x4 D' L8 k0 ^
. F" n( z. ~0 Y  d, v
: ]1 P$ Y; I# L

( z* `" ~( P- ^' _
1 r0 f2 o: s$ L* B6 z5 A% ]
  u) j8 D: a' H7 o" C
问题描述3——
6 l4 W3 T; y- }' h* U; v8 {

% F  W4 j% s9 t9 h" G+ z1 i以太网初始化报错Initialize hardware error
4 _# j2 a0 b& ], K) ^

$ v: ~, `7 f  ]( c. z; N执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。
: [! X: G6 ]% C* s$ \" d# a6 Y& I

+ Z, X/ a% j+ t4 j0 l问题分析:
' v$ \8 O* n+ y" C  b2 P

! c3 G- e- {0 [2 t# `出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。& O+ j: m' Y, J3 D: T( o
5 K: }4 R3 c0 D. e1 }& b% L, H
; H' t! O9 |( D: d- @8 G% r

! r1 e2 m2 o5 }% \8 F

& a3 |9 n% I/ b1 Q

0 l4 P  e6 N  B. D& }! ]) S; F+ u1 L# @$ N' z6 _( U
. h1 Q( l$ ~) k5 `

" X' n' Y2 U; V6 C/ O8 W

6 D+ y% _8 \4 y* f( I, A4 T* o4 t
9 ^) s7 X* q2 s1 e# f7 _
5 \( B7 J' f9 B$ Q
6 B/ b  G4 h4 e* Y
排查步骤:
+ Y/ e! `5 ?$ }' l5 z/ i
! {4 K' T0 A+ `2 `
用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。5 Y7 H, a, E- a" i+ b

3 ~8 o, Z" C+ c6 ]. {0 v* C  F8 K9 ?) z3 Q! X; l4 _& `' h5 p

+ J& J  g5 L0 ^* @: a/ B  b

3 v. G2 P3 {( B# O) q% @" M解决方法:
/ ^8 b* J7 w' j- |( ^
' Y3 Y2 N; _; i1 I. S, c7 A6 U( P. ?
软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题:; x4 F% M4 f6 |! i( c

) K# p8 {- [% _" T( Y' R- m% d7 Y
在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。
6 E8 }( f( M8 m3 v) k

. T1 j7 ?) C6 n1 C# a/ E1 g* _" t- X( b! y2 r" W, k

5 {. E5 b- ?9 U. |5 o以上是我们在OKA40i-C开发板的使用过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考OKA40i-C开发板的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。7 v; M; j/ l4 E9 l* m0 V  G

1 ~1 e1 y0 Q/ q, Z# ~' h0 j/ Y1 a, ^/ R! Y, k, U& r. `0 f
1 w- i- O2 B. v, d) x) |7 A" E5 S

) u# ?2 U% X7 u接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。
& f3 i$ v1 \% g6 J- x+ o: V# K
5 c" a5 k0 x7 F1 D
' y  _  X3 j+ h/ J9 r9 W8 p% C
5 ^! w) T% G1 X1 v" P
02排查手段
: z/ N% d% k7 Y4 t# I' T# Z: C

3 a9 U' Y+ K( R, s这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。+ k, N6 Z/ r4 D, i& v! ^

0 g0 {7 ]3 _! l9 Z/ ?/ f% q9 j! n/ @) K- h
3 d, |2 D* }3 L* t/ h2 O
(1) 检查menuconfig及dts以太网配置是否打开;' A4 v  E8 _4 o
. ~/ P# b2 @% w0 [/ u  f# B
(2) 检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等;  U3 U# ?5 i) U2 \  k$ I8 \! H

; R7 x" N& I6 t5 ^- Z# A3 a5 p(3) 检查GPIO配置是否正确,如IO复用功能、驱动能力等;
1 z1 _: G' q& W6 d  V
& R& w- Z2 t: X7 _
(4) 使用phytool工具读取phy ID 验证MDIO是否正确。
) s  a+ j% ^0 I, U" Q
  R  l* R) L1 b" v& |+ f9 e$ Y9 e: |

3 D8 ~2 b: N: i- z- H2 `; x1 G

. X8 C$ q% j' ?5 z如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。6 a: u8 f8 R2 o2 e4 c
" u" n1 M& y( Z4 W; {6 @  w8 w5 Z. r

7 q# u& P  h3 F, S0 E4 F" V

4 R2 X) M' [7 L9 l7 Z" I2 m
  Q/ n6 u5 D" g, i, ~
使用phytool工具读取phy状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。: D" ]) v  o% z; H0 b) @4 \
" v* I5 g1 ?1 p

5 o1 I9 l  \5 x9 n( H6 d. b! C& O+ f) S( M# X
% a4 j2 V6 F( m6 w& y8 I& J

0 W6 W; I: {: U: x

该用户从未签到

2#
发表于 2023-7-28 11:37 | 只看该作者
这个网卡不知主流的; H8 a0 s. l4 x6 ?- B0 w' N
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-28 09:26 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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