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

全志A40i网卡软件问题排查

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
01问题分析
2 I% E, R0 m9 c3 I/ R
* ^, L$ X  }, A  r3 ^! a, E8 b
问题描述1——* d- T, {9 o5 v+ H9 I
5 D. b( b; H! Z. V
以太网初始化报错 No phy found" o: g7 ~2 w: _4 a7 Z& ~
# G: l/ w$ E0 y. U/ N
在执行ifconfig eth0 up命令时,出现"No phy found"异常log。7 Y8 ]# Q7 W; W8 r
* s) }- n- b+ n1 Q# M  }: f

( p$ z1 p2 M8 F2 P3 Z9 o& g) P* P% S! A/ n- J+ D( [
7 G) ]: |7 ?* m2 P$ P7 p

5 }8 p2 y' r( `- |6 T" y9 t, n' A! w  J
% k2 f1 `. q9 H; K% w& A
问题分析:) E$ z, j, r# c2 |  D- P

" g7 w$ y2 ^1 N6 F7 [出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接口也读不到phy的设备信息。
/ R9 E8 l( B# `0 ?" O4 S+ J: t) a

0 X9 {  _' w3 @! B6 I0 q2 Y0 `9 o2 M! H0 z
( I/ J# m5 M& [

9 f7 y2 I" Y- H) M$ y或者MDIO引脚配置不正确或者phy地址不正确;再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确;再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。% P! X: \8 D, T: D* t$ I
% j$ y: f0 E' g! b% d2 c

3 Y3 V- u/ q& v% S7 }6 |& e. T% q! S& b
4 O' b) @4 W# s6 h
& P* K) L4 h* X1 R! Z
( i/ ^* M" C, s; ~7 s1 v
9 \: q4 Y( h8 f# e6 X/ ]' s( U0 r
排查步骤:
. Y$ s% i, N, Y, S" ^1 |% A: E" x

* f  ]. F5 C/ W; D(1) 检查phy供电是否正常;
4 O& j7 _2 ?" K/ Z4 K8 \& A/ r* o
& ]& b6 s- H  f0 d9 p+ u
(2) 检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常;# L5 g9 y4 M; ?& g

7 @0 N$ I/ O* L  ~$ t4 L(3) 检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii);
& s5 Z5 ~) g8 q' K& n: X

* p, H. f- N- j1 m& w& n9 o: i(4) 检查MDIO是否有上拉电阻;
0 l% o+ Z& \' E1 T9 x+ U# L8 @
  @5 ~, Z1 Z, |
(5) 检查MDIO引脚配置是否正确;$ D1 ~2 x* ?; ~6 t; @3 G0 F

+ v: t- G7 f( u8 ?5 C(6) eMAC phy地址是否和硬件一致;1 N$ K% K  \0 C# w

+ ]/ L4 }! }6 F! y' s(7) 检查复位上拉电阻是否和原理参考方案一致。
- ~+ f8 A) N. W; z  j
/ |! a  W7 N: ^

# |/ w. i8 d6 Q" G1 _6 p8 u& y/ @" h% o8 R5 w' Y* Q

0 _/ {; k- a: b, F* s7 B8 B' m* E0 uMDIO通讯正常验证:
' F3 T" N$ e/ b0 f3 |7 _, |

6 t9 y6 m! d' ]# V- e# S, u使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。
& a- U0 {$ {- k2 L$ x, H/ [

! z. g/ D% f+ p5 N$ J% E
* V6 D8 ~, t( ]; G
# L  p& O) z/ L5 L8 O
! |2 p# ~% x4 f9 ~4 B3 w3 A$ f

' i# V8 r+ G9 C: ^& l问题描述2——9 V9 b! ]4 T$ z+ S6 H5 |
+ Q: O3 g/ O  T) z
以太网初始化报错NO SUCN DEVICE
6 m* q6 I: s! F9 L

, N; s0 x( W9 f' X( u1 }; B0 z5 r5 q* M执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。
( g* A, b- t8 a$ e" l( A% o$ b( ~7 x

% g. z# v, O( H  N! y) Y! _
; D" y+ a' r, m$ T4 d
5 Z, Q: G" w' y* B6 Y' v& g6 Z1 ~7 j

$ h: x4 G/ j" ^, T
! Y1 q- f- q9 ]; @8 }/ ^! k

, F- _  [, G6 e) {8 }问题分析:
% \' ]3 c1 {" I2 ]& u

- [3 r, W$ e5 e4 }以太网模块配置未生效或存在GPIO冲突。
) h, C( E8 e$ L& }  W% A
% W+ X6 F2 L; f3 _

! O9 D2 M( v+ O1 u3 i; p  A
2 j8 E7 O7 [# |- z

  R6 W- ]2 V% g7 B+ z2 k排查步骤:
* M/ q2 ?3 y. a+ W

7 {7 o- ?! e3 Y7 T. v4 ?) ^步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;
/ N. _7 W7 y! u
* V$ J" q# T' W7 P& D9 [" G
步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。. X) Z; ?  f/ z4 b  {
, ^4 F, b* K+ n- a+ K+ ]
4 l! \9 p# I( N5 M; n- @: y7 ^
1 d5 z) J: ]& C+ d
2 b2 s& f/ c: y8 e! P
解决方法:' {/ |! K2 v& a0 k* C

6 h% h1 ~5 E) q6 i1 NGPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。
7 \. Q: F& r" [8 v7 ?

9 a' L$ c+ v; g' D0 }查看以太网模块是否配置。! P1 P6 d$ \3 R

, f4 f9 W2 t6 m* T" Y0 k' H* U' |: V; q- I

% O+ z3 q$ f# a3 k/ ?
; F4 y% I- ]% T# \

" H; u# x/ r+ i3 s

! k* @" j& r- t7 ?1 M5 s' w1 X( \
3 P6 r8 k- O- [" p; |
问题描述3——' Q' }! \7 W/ M+ P6 p

0 T6 n4 Q0 K8 N: @: C8 r以太网初始化报错Initialize hardware error! S& P7 D6 e( z! F$ H' t
, W6 y2 l. F5 Z7 M  ?& _
执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。; {, i/ O' K& A5 Z! }& D

* b3 B$ {0 S) e/ y2 P问题分析:) L( D3 y) k% v0 _
, M1 h- W1 U  d( B' U; o8 S
出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。# j3 V5 J6 o% E, L, m" u0 f
2 }$ @7 K& c. e: \: y4 W

2 V& V- B2 ?( e2 t3 _
0 u1 d/ F0 Z$ O& f6 J2 e8 d3 p6 `

. d/ G! d1 c2 u  D; Q3 }

! f/ g" f7 e% B! X  y6 q% n/ i4 Q; h' C% q
: s) u7 |8 U+ B# s
: P. D9 T' r( @1 ?; t
& L/ D& d1 W8 ]4 _
4 O* ?% @' s) E  T, P9 N' }

. C; B" d6 V$ z; P6 y
$ s( C. ^7 u/ O
排查步骤:) c6 {% Z4 _' k; m) C$ r
, `+ c& p- m; v! B4 m
用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。
5 R' G* A5 d( p( F# W; y) v" v9 _7 c
. W* E) f' g. J6 e1 P  U
$ Y* w- v7 v7 ?7 h7 ~9 [$ j0 y
' K5 |6 Y4 D5 `" D. |  p4 o( c6 B9 T2 j0 W
( J% `3 e/ i0 S4 p! g% I2 a- a; \. C" U
解决方法:
5 ]6 P2 g. K! n7 C

: w/ h& W- v- V! }) U, `软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题:
2 G/ B3 z5 }$ z# n% N2 ^

1 n1 c7 `( z+ @/ I$ J/ f$ z4 E1 Z9 e
在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。# e( G+ w1 n! p8 o3 |: v# P
$ l/ c% [( f5 y. V5 X, F

& ^) |' ]7 ]5 n4 _. L
7 A- n1 Y7 _  K- B8 d! y
以上是我们在OKA40i-C开发板的使用过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考OKA40i-C开发板的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。
# ~+ C" U1 w* S. Y# K
. a! R( i( O2 ~# X! C, M
1 M% l0 c. Q2 ]; r, Q
! P" P8 g- n+ ^
8 `6 S2 j% y& d5 J, B) c
接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。/ n. @0 s: K4 L( `" y9 x

5 b% i! a3 A) z, p+ P. {4 R7 S4 j% R, b  u9 ^; i/ b3 A

! c# j- |' Y; d/ _02排查手段
# @" ~% M8 ^+ F- S9 H2 ~7 ?2 N

% t2 Z6 Z% ~8 n% n! @' h# r这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。) |9 v- ]+ n0 v! `
" e5 @  Z% F" v  m4 I5 X
6 n1 g$ f. l$ n' a4 F& S

- j5 ^7 M8 {& o(1) 检查menuconfig及dts以太网配置是否打开;
2 L( B4 r2 e; T. j; i0 M. \* D2 i

4 w' c& K8 y# }! F8 g(2) 检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等;
0 f% C7 [0 ?" |: U1 W4 m7 m

4 \: m( X- t( }0 A* p9 @' R(3) 检查GPIO配置是否正确,如IO复用功能、驱动能力等;
- }+ \- ]( x( z- ]% z$ v

/ `* `7 o9 ~) s7 }, j+ e- F; u4 _(4) 使用phytool工具读取phy ID 验证MDIO是否正确。; A! Q/ f, x8 h1 Q& m3 p, N5 ]9 l

7 B, _5 X' |3 `/ a* ^+ l# j& o: H1 s5 r
* U0 X9 l( x+ X: z7 p/ t0 N3 Q
如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。) X2 {+ d- d3 S4 ~, ?
; \2 q; q  t0 J
6 o% v& b) b9 Q$ j  C

( Y9 a7 P$ \# P$ S9 P
0 `& R) s0 O4 J" D! r
使用phytool工具读取phy状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。
. @0 g* G& b8 u2 b6 |4 Q' s
( K' r# b; |- S, ?* n- }

- R& s, }; k2 P6 {! s5 P
! `6 I" N/ p7 N) |9 C0 Y

4 ]/ G* s: B8 z* c/ P" ?
5 y1 y% T2 O4 m; P0 ]

该用户从未签到

2#
发表于 2023-7-28 11:37 | 只看该作者
这个网卡不知主流的% O3 H5 G% j' k, J0 k0 B
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-9-3 17:13 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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