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

全志A40i网卡软件问题排查

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
01问题分析
5 D  F3 O% P' }# J. j

- I* r1 L( I' Q# Q1 d' I问题描述1——, b( V6 _- n# D! [3 _6 _" y

" z. n$ O0 x6 W7 b9 F3 N7 C以太网初始化报错 No phy found
/ x7 T+ W2 Y# s, W6 R7 o
$ f. @1 }4 k5 _
在执行ifconfig eth0 up命令时,出现"No phy found"异常log。1 W1 q$ f# z, x
( I; i: T- {( O% H6 N" \) C

- k' l* }! ]6 A3 a! {0 I+ |2 z4 J! Q% n8 Q
% O/ |7 Q' M: _8 l" y1 q5 y
, U7 w0 A. p1 W, w$ e
6 J% q8 d5 E; i) ]4 L
: |  s6 p  M- [/ o, X
问题分析:
( Z, e5 p, |9 ]) l9 J1 L1 K
* l# C9 @7 w: F0 s
出现"No phy found",常见原因是供给phy使用的25M时钟异常,导致phy工作不正常,gmac驱动通过mdio接口也读不到phy的设备信息。/ ^" b' o; u0 \) H% o3 Z

( c' i" F/ {; S6 ~( d! g2 g# w1 ^! Y* ]) W

; F- Q+ {" k" [' N6 v9 z; X6 j- L

" R- d3 r4 {6 n3 t4 ]或者MDIO引脚配置不正确或者phy地址不正确;再就是MDIO没做上拉电阻,GMAC读取不到phy设备信息,用示波器量一下MDIO波形是否正确;再或是phy芯片复位失败,需要更换phy芯片复位上拉电阻。, [9 p" O( y( t6 P( `

) R/ Z' z: F# E' u7 N1 ~7 N" G1 _* N4 w- o' P4 x
3 u- ]1 [" Y- v# w, ^' }! j
1 V& Q) _" `& [2 c. p3 W

+ n1 _+ N1 ^4 w1 ]8 |4 E, n2 U! m) t$ |, Y
. |/ U1 t# R# o2 _! R
排查步骤:
# v: R$ X8 N3 ^

; c% B! M$ X" v% b(1) 检查phy供电是否正常;
  w9 a/ b7 A% l% G, g% ]
( e1 T$ K: \- U4 I; a
(2) 检查phy使用的25M时钟(Soc ephy25M或外部晶振)是否正常;9 D8 ~. h  Y7 A+ n0 X
; T  }" v5 v$ I+ s; g" U) @( l
(3) 检查phy-mode是否按板级实际情况配置(mii/rmii/rgmii);6 G3 x$ I' i2 V3 H1 H% X
! i* \- n+ U0 j3 o, ?3 K  D% b$ }, m5 N
(4) 检查MDIO是否有上拉电阻;6 A. P( ]7 x8 B8 K& C5 Y$ F8 R
5 ?1 i+ M# `. }( x0 ^
(5) 检查MDIO引脚配置是否正确;! _) m; j/ f- O) `, ~
' N+ a/ I9 A- s# M2 o" _7 ]
(6) eMAC phy地址是否和硬件一致;) H$ `% ], V8 r: x
: D# z0 H  c' A
(7) 检查复位上拉电阻是否和原理参考方案一致。
0 T# T* l' J5 h. X7 k3 \
" w7 N4 g, E) q5 ~2 R
+ w1 |9 r+ x4 g' x

) v( {8 K0 n0 Y8 t8 Z* z
! `. P8 l+ M2 e
MDIO通讯正常验证:, H6 `8 o6 _; i8 ~! A
& x( k5 e& S4 }" r2 S
使用phytool工具读取0x02 0x03寄存器 是否正确读取PHY芯片ID,读取成功,代表MDIO通讯正常。- m# X9 C) S7 a+ O9 O0 H" Z6 D

& p$ d6 D  r( `! w
3 [) R4 l% j9 a, q: }- h7 X! X% w

# M0 ^3 c0 `; N6 v# |( a8 h" p  l$ T
$ e$ _8 n. v" v* _4 R
问题描述2——
" J4 o: j% J$ }; D* H  L- K

( l3 K3 \) a4 b) w7 e以太网初始化报错NO SUCN DEVICE
4 m0 P; g) h0 |: _! d! C

$ j" z% f; E* j% D执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备。9 u' m$ X" h* \4 a

! a+ y$ w- r9 Z+ A9 q) V" z" ~  p8 l

* \$ z# O8 c$ ?) Q+ S/ H) ?' P
3 z/ X, Q! j* X, u7 y( ]5 x

8 s& o# L- P4 U. f) R$ D9 S+ z

4 `+ y. P! o, i! f5 ?% F% U9 u% G- J问题分析:2 C2 Q! }; B" \$ T1 s

+ Z+ Z: M/ g" c: E以太网模块配置未生效或存在GPIO冲突。
' r( S/ @+ n3 D5 `. L! s; W" J
& S: T' r0 q- [% U6 _6 y
( ^1 M3 E; g- t

2 j. a' T% n0 K

% X( A  a2 o! q) ]2 Q" ]# a排查步骤:. L# S; M1 Y7 n! Q! H7 a- G
6 {+ m" r% ^! F4 g! ~1 R$ K) x/ [  A
步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;: k1 j2 E; h- d' e: z4 t

9 \! L6 v! G1 Y" ]) G步骤2:若内核启动log显示mac控制器probe失败,常见原因是GPIO资源冲突导致。
# u( ~0 Z9 j; G9 S/ _4 O4 o  I
2 T! e3 \! F1 |1 y) g( @1 O: ~

. e3 S* N9 i2 I& R, p! x& }' _/ l1 E# p* ^, d- y2 e# g- k
# L9 u/ s# ]5 l  V7 S6 O3 x
解决方法:
  b5 Z. v0 L/ \$ `) B5 t$ R
# l% S" K* k* J+ W
GPIO冲突会有报错信息,根据报错信息,查看GPIO冲突引脚。
0 O  g" c. f, o7 W- _0 }5 ~

: ~% Z1 D4 f0 S8 r3 ]查看以太网模块是否配置。0 N( ?  e$ F7 L. ?6 y

! t$ w5 N( S7 H/ @( b
8 T7 w0 g# X. e6 P% I  P# d
! D( T! T& r/ ^0 h6 U7 R7 n

( [" B! f0 T8 g$ ^! i# V. s
5 E1 K/ P! s, |) B
2 o) {. \" [! _  d+ Z

7 i( G2 R/ X3 O! `. O- D! |5 c% L
5 N9 d* V; _" @/ y0 u7 T
问题描述3——
1 Y9 u% z/ {$ K3 v! P
: w5 y& v1 k/ [
以太网初始化报错Initialize hardware error/ H& @, `" U- z

% y5 \4 V: ]" _1 C+ ^3 a! M执行ifconfig eth0 up命令,出现"Initialize hardware error"异常log。
3 d3 m1 ^3 u+ w

: m% ~, O" u2 Q问题分析:
7 R* p* `8 C& g* y& f
: B5 E( x: x' |) u- S5 H/ R/ j
出现"Initialize hardware error",一般是由于phy没有输出RX CLK至MAC控制器,导致MAC控制器内部soft reset失败,常见原因是phy供电异常或25M时钟异常;或者是检查数据引脚的时钟是否正确,RMILL RX CLK TX CLK 是否是正确时钟。* o3 p5 a2 o& _' q
. k$ P, D3 m: |( ?

$ g8 K: d* C5 S4 u9 V9 u  m( g, U" D

! a) s5 Q6 E0 p# c, C

$ }1 Q' b' s9 e* X2 D: R$ l' |/ g1 T! I

/ ?3 n/ ]# q- {/ `
) S. j' d- r" p5 d  o

+ W, e+ A) U: Y9 l5 b. x$ g

  C6 q* p- {4 ~, o) R3 @1 k

9 V5 O3 |4 |# l* [! C  w) F

2 K! m, g1 w& ~% b! A0 T排查步骤:
/ _6 _1 |9 z  z! f+ ^( a
  ?0 a' C. ?( N4 ^* U7 o
用示波器抓取rx_clk时钟波形,查看是否保持25M时钟稳定,如果出现25M/2.5M 来回跳动。即MAC与phy未link成功。
. `7 m* L' Q) ]5 O  \

6 {  r2 t) V: }( d; W* N% v' `% X% Q% q
: t& N/ Q+ K4 A: j; p
1 I6 P4 ^! d) D: A' `& L( j4 y( n  A
解决方法:
" f; C) z. e( \3 m& A

- m3 |4 x8 v, f5 {9 E' t0 L软件上可通过在phy复位之后,设置寄存器0 固定为100M全双工,可link成功。目前可这样解决问题:
/ u; ~( ?! J; u0 J0 ^7 r

6 N/ P0 M6 p! L
在drivers/net/ethernet/allwinner/sunxi-gmac.c 中 geth_phy_init函数中 phy_connect_direct 之前加入phy_write(phydev, 0x0, 0x2100)。, \) v% D, m' I/ y  M! v% f5 e
7 s# v* H& S5 }& b6 W  _

9 J) A. l% a6 p, d
/ }9 ~) T/ }. n3 i
以上是我们在OKA40i-C开发板的使用过程中常见网卡设计问题,有些可能是因为大家在参考方案时出现了配置问题,或者是因为芯片输出的信号不正常导致。大家在参考OKA40i-C开发板的双网口方案时,可以查看本文章整理的问题点,说不定就是您现在项目中遇见的bug。2 D( i) D7 h# i8 a% ~$ T8 G
- ?/ f" {/ n' e0 T' v. {& w
7 m" C" B5 Q2 x) N: F$ d8 _; e

3 @2 Q1 I5 ]* c$ B) R( K0 l
. T& m4 L" F4 @( A8 l
接下来,小编将给大家介绍一些常用的网卡软件问题对应的排查手段。+ h- P, K& b4 k9 S) B. s2 n1 _+ e

  k+ D+ R9 Q* y6 F/ g2 q) b: c7 W
% }6 m2 l! [! \2 _/ ]# R
8 u# J5 [  F% F( J4 ?; c; s3 t
02排查手段
) s8 N9 `4 Z' X8 S) t7 J( q/ }

2 x" o/ C+ K$ E* F) k, W8 Q4 l这些排查手段可以帮助您在调试phy时有一个基本的调试思路,提到的一些工具可以帮助您快速定位并且解决网卡问题。. L& ]) j$ }5 A- E$ [

3 L8 s% L7 i* {1 |0 R4 p- S( G% g: H" F, S& k
$ K1 u: {! @/ E) c! ]" |8 E" H
(1) 检查menuconfig及dts以太网配置是否打开;# X2 E; h" y1 g, W) ]. X% D; S4 Y- ^
$ ^& R5 K+ [- X3 i, ]
(2) 检查phy-mode配置是否与PHY和GMAC之间的物理接口匹配,如rgmii、rmii等;
" r: u7 k3 K( n! G

; {) L+ o, u0 b% Y: o) I% d  C* {(3) 检查GPIO配置是否正确,如IO复用功能、驱动能力等;2 V7 Y3 ]% r/ j, ~( Y0 N
2 z9 F, h' v$ v' e+ {
(4) 使用phytool工具读取phy ID 验证MDIO是否正确。- X/ Z% x, ?6 B0 S6 A

6 V' |1 E& a! }0 \1 M; R
; V2 K) e% a& r6 `# F
# x# [* F# [5 L: E4 j
如下图示例,能够正常读取JL11x1的phy ID则代表MDIO通讯正常。- n+ U$ ^8 a  t9 C% W/ N( s9 C
+ N* B# X* |" Y+ s% c. k0 s
. i% K& p2 r6 a; I+ q7 L

4 O! R: g% V  S4 q. g1 c8 @

6 A1 n! d. B9 N7 d使用phytool工具读取phy状态寄存器,查看phy芯片状态。以JL11x1为例,如0x01状态寄存器读取值为0x786d,说明link成功并且工作正常。
7 d* B4 z& e+ }( s

7 U' V  f6 D: ~6 f& K" b1 W/ O) {! b+ x. S) a( g8 l& U5 C) S  v

7 _& f6 A: n2 F  r0 }# }% ?2 {* k) A; r4 V

9 ?& d7 Y& C6 I2 E2 x0 `
- v4 _$ S7 P# Z$ |; \- p

该用户从未签到

2#
发表于 2023-7-28 11:37 | 只看该作者
这个网卡不知主流的
; w. ?) O" D) i; E% G
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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