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

全志A40i网卡软件问题排查

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
01问题分析
* R7 W  [: V; W7 G/ y

# K9 |, U/ ]6 k1 ]  Y1 c问题描述1——; ~' B7 Z& }6 L" @: T5 ^: g+ D

8 L9 ?3 D  A" T) T' H* r3 A以太网初始化报错 No phy found4 ^0 B( B3 V5 }4 N6 V' D: l4 \( e
6 O- I5 ?/ `! ]  p
在执行ifconfig eth0 up命令时,出现"No phy found"异常log。0 N6 i4 c! K. l
9 c$ I( w4 z# P4 h! M

9 k$ k! T, h6 ]" d! ?* r
* T1 ]; c' H& [' c
5 h5 N- S7 h4 k* S' u

2 {+ x# W; J! b' F, m* V$ W( z3 `* k- H9 ^
' \! o; v$ l" N7 A2 L
问题分析:
* D+ j6 I9 B0 G4 |5 E0 r" m

) F0 z1 ~; {; `1 _" s- t5 \9 j1 |出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接口也读不到phy的设备信息。/ y- J- a# o, l3 \0 g- q
7 l/ t0 n: K+ A9 d. @. U  N1 m

# ?$ J8 h! f' ^" a- ^
. K5 U$ [/ }5 _4 u! D" O
  y: M9 S- g* w( u  c: \. D
或者MDIO引脚配置不正确或者phy地址不正确;再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确;再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。& Z' G5 I! c( Z/ D  Y6 s+ b. ^
6 e2 b7 h) J5 t$ y" S4 K" E% N

& P# x& k% n2 B; j2 T6 U3 ?8 u  X6 j1 ~! @& p7 Y4 L  ]' r
% k9 A. x* W7 s9 J" S# |7 x  v
* {; E& C% h# z% z
7 M. o& r, p' G+ |# f: ]
2 `6 t* M( M, A
排查步骤:
0 ?& R; _& e1 X8 }
* v4 x$ P! ~, D# ]
(1) 检查phy供电是否正常;) L9 O3 k+ q' _; D' ^

$ c2 M6 ?9 X' z* f9 _7 T# R- r2 I& o(2) 检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常;
7 d* N- H5 T2 `" P

, [5 O" @! m( G0 g(3) 检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii);
. Q4 ~+ _* S6 w' @( d- ~6 c$ ~

) z! ?: x- y) U6 W% s0 A2 u(4) 检查MDIO是否有上拉电阻;7 Z! |. R- d6 r/ [2 h

4 t- h6 V# Z# @% l(5) 检查MDIO引脚配置是否正确;
5 _3 N; @* d# j4 W- A8 y

0 i# I9 f1 \( |/ I(6) eMAC phy地址是否和硬件一致;* P$ B! l+ ^& }6 k
. k0 d3 E# A8 v4 Z3 `
(7) 检查复位上拉电阻是否和原理参考方案一致。3 i& m& W4 [) n' u* x, z- }  ?

! F2 o  f0 B' `) P6 M$ ?0 p$ d, w4 g4 a1 _* ?# E% S+ h

% L# ^1 E& H9 o' f& D" I2 K
# s  J5 [3 Y+ [8 @3 D* p) M
MDIO通讯正常验证:% D( [& j3 }6 V; w2 c
9 P9 M* t4 N4 J) @* K
使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。
8 \: T3 O; q) X% o4 g

0 p& C2 |% F% L) z  j( `- I- B8 Y5 ~
. T# s: H1 s9 F3 v3 A4 g7 u
- e. J9 y* L7 o9 M1 x9 Q

5 c' K+ k) ^3 D
' b% K! U( f# o' ^8 e; q) D9 J
问题描述2——
0 H4 T) H' w) ^
0 D3 Z! `$ S. O
以太网初始化报错NO SUCN DEVICE$ ^( p" K2 L* l' [, R5 E: Q
$ [( j5 b4 Z4 d5 V+ C
执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。
% p2 l# f" q# o& Q. Z# D/ C1 u

& K+ Y# c' _& Y9 L; t/ {
4 `# H& c. D" i9 V0 E- f( j# o) w# n7 M
: v" }5 P+ F- C3 }  R8 R' A; H
: p  i/ U: M3 ~' `3 O
. ]" D% x8 Z+ u5 a2 P+ h
问题分析:
5 ~" d* N8 p% n0 k- `2 F
& \5 x6 Y. b  ]6 Q! {% R' @9 A
以太网模块配置未生效或存在GPIO冲突。; N0 C2 f- ~1 r2 [& B  _7 W5 J+ {

- M7 U* h( L, e6 a" ]7 Y
0 x% {# P0 F; `
( @& V) w! j) ?  C  s
3 w, U2 t& r" x# \  z9 s
排查步骤:
. {( e. U% Z  M2 ^( `8 @8 w

' Y& u: P  N* t# g2 f3 i, N- O步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;
# n! Y3 t# X( y  n! j/ X! x2 z
! g2 w- D( x* R8 G* l6 G
步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。- [5 R9 ?# @! A) [) Y- M9 t

$ X6 ^; |, R# I5 y% F7 S" g/ l1 m' |: I; J
/ k# J/ N) h8 }! j$ u* f
. S- j4 E' k0 O4 T" d' b
解决方法:
! a% F( b- J! y. t7 K5 I1 Y  L
+ P1 \) w: s4 b1 {8 t/ n1 l
GPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。
( t+ K, G. k- s, Q; V

4 _3 o7 j8 F! y; v6 H查看以太网模块是否配置。
/ l/ \. v2 \8 q- _! B

# s: C5 ], A% {. m* W
  d0 z9 o7 O) U' q9 w- u. m; l$ C( K! B9 j  g
' k3 d2 a& [  A
" t( Y6 r. Z  a5 [  f* v

, ]' m" s. B3 ]8 q7 O& \; g' T2 T, X5 A+ ^6 K2 Q

1 t! h5 g2 `" y) k, P, z/ [问题描述3——6 s2 C# [7 R2 s  h% H
; w, R" A8 b3 S5 y* h( x
以太网初始化报错Initialize hardware error
( p2 i% V, M& b* y1 K" Z9 _
& U  R0 x; e5 O" i
执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。
# |; M! q- G% G, d" L% `/ C

# R5 I( Z9 ~/ q" a7 R问题分析:
& s2 D. k, a' S; Z3 ]- m' g
7 d0 W+ H; h9 `1 J# J
出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。
) n: _1 z" Z! U- H7 \* D

- _* x% t  H: z) N4 R" Q# ?# }. m" L9 N' g+ a8 `' r  l* F9 S
5 O, F% M  k- I( j: w" m
( J0 f7 h) g, g" _8 C

: Q- b3 e% a3 J1 ]+ K$ k/ Y, w2 D9 O
! h% ~  N/ u. z  b* L  p9 t% _" p* e& `# ~
6 {; A& L' w' L! }
0 Z! P3 M" [' H; Z* n

$ ?( J$ J! \. r% T' c+ A
/ K7 w! v! I9 V9 V/ v/ E/ D
6 a- j+ u( |# T0 ]' q
排查步骤:+ ]* t7 @' u& l  n7 c- [( m. K

; e9 u* Q; J- Z" |用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。. w1 ]" A) M/ s! ]6 i- l  }

' y, r$ n2 b# y0 M. H2 X) [6 S
! v3 @" d. N9 h& ~4 A  }
# m) ?- m3 Q3 S! ~; r* X- |9 \' g
% A' @+ u1 F( Z
解决方法:$ P' L# q% z  @& X) I

) W. @; c8 W0 @4 _) I软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题:) U6 _! v0 i0 k+ f

* S+ p5 U' t) I1 O0 K# D- I
在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。7 o' t% K2 P7 J. e+ _

/ U/ m# B  m6 i' m& Z8 j
: c/ Z  b$ E+ V8 C) m4 k# w3 {: q
; `* B& G4 y: w& C0 Y7 @
以上是我们在OKA40i-C开发板的使用过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考OKA40i-C开发板的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。5 H7 {1 K4 n2 U- N7 S8 j+ r5 ^) z
7 O; ]1 c6 Y1 c, n) ~+ e

9 i3 {! x: O  c' A* h5 w# A6 ?0 R% }% T4 e# Y' F# `
6 U6 `: Z7 I1 {5 {  A+ C
接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。' O8 d# o$ a( B" O

5 s) \$ \- g/ t3 a; O2 n1 D
2 J: a2 a5 D: [' U) N2 m2 \6 s
% }# E: m/ u. b0 i! r
02排查手段
* t4 g; W2 ?* s+ U
2 @+ ^$ ?- T. q/ O* u
这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。
8 F% E# u+ ^! t: f6 n. g( {
6 i; {7 Y: ?9 C, V% Z3 Q* u4 [
3 S2 e4 u% @! |1 v: j

+ b- H8 L1 [8 ]. O(1) 检查menuconfig及dts以太网配置是否打开;
' ?% o( ~# T: ^7 [+ p
& G. S/ z5 ^, b3 [
(2) 检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等;
$ U2 V1 F  p- l  f% P$ `7 A
; a! C/ h; i/ W4 E  G
(3) 检查GPIO配置是否正确,如IO复用功能、驱动能力等;
8 m4 T( t8 _) F& [0 n* p

) ]( t- J5 H" @3 m7 B- ](4) 使用phytool工具读取phy ID 验证MDIO是否正确。" J8 o# m) p: d6 S# x
; [* j4 `- L' R" W' z+ y) k

2 m" j# B, k4 N( e
+ p0 \7 F9 c% M
如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。
4 q( G/ [3 g( J# o% n

9 a% E; `4 l2 ~5 H* H
, ~1 M$ O( D) S- n
( |! n  o  X4 z" `9 e% Z! P1 u

8 C# }9 v! W9 {* p( [; c/ t1 O使用phytool工具读取phy状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。
" u, |1 P, q' N3 Y

* ^, d* \8 W2 E0 G2 H1 [
' l; J9 D  W6 b0 i/ v
1 U! T% A& e1 U% b# r7 `4 m, C2 }

3 j9 x- U& c4 K3 K* j+ F  N3 R4 A

, o; z: g; O* N* ?- s

该用户从未签到

2#
发表于 2023-7-28 11:37 | 只看该作者
这个网卡不知主流的# |: ~; `  i" \3 X! N, Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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