Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    【FAQ】全志R329以太网模块初始化失败如何解决?

    其它全志芯片讨论区
    r329 faq 技术支持 网络
    1
    1
    1520
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 9 last edited by q1215200171

      1.【问题现象】
      执行ifconfig -a/ifconfig eth0/ifconfig eth0 up命令,找不到eth0设备,有如下类似打印:

      root@TinaLinux:/# ifconfig -a
      lo        Link encap:Local Loopback  
                inet addr:127.0.0.1  Mask:255.0.0.0
                inet6 addr: ::1/128 Scope:Host
                UP LOOPBACK RUNNING  MTU:65536  Metric:1
                RX packets:6480 errors:0 dropped:0 overruns:0 frame:0
                TX packets:6480 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1 
                RX bytes:505440 (493.5 KiB)  TX bytes:505440 (493.5 KiB)
      
      root@TinaLinux:/# 
      root@TinaLinux:/# ifconfig eth0
      ifconfig: eth0: error fetching interface information: Device not found
      root@TinaLinux:/# 
      root@TinaLinux:/# ifconfig eth0 up
      ifconfig: SIOCGIFFLAGS: No such device
      

      2.【问题分析】

      以太网模块配置未生效或存在GPIO冲突

      3.【排查步骤】

      步骤1:抓取内核启动log,搜索"gmac"关键字段,检查gmac驱动是否probe成功;

      步骤2:若内核启动log显示probe失败,常见原因是GPIO资源冲突导致,有如下类似打印:

      sun50iw10p1-pinctrl pio: pin PH0 already requested by twi0; cannot claim for gmac0
      sun50iw10p1-pinctrl pio: pin-224 (gmac0) status -22
      sun50iw10p1-pinctrl pio: could not request pin 224 (PH0) from group PH0  on device pio
      sunxi-gmac gmac0: Error applying setting, reverse things back
      sunxi-gmac: probe of gmac0 failed with error -22
      

      步骤3:若内核启动log无gmac相关打印,则需要确认以太网配置是否生效。

      4.【解决办法】

      4.1 GPIO冲突

      (1) 首先,结合内核启动log定位与哪个模块存在GPIO冲突,有如下类似打印:

      sun50iw10p1-pinctrl pio: pin PH0 already requested by twi0; cannot claim for gmac0
      

      (2) 然后,确认该模块GPIO配置是否有误或者是否可以关闭该模块。

      4.2 以太网配置未生效

      (1) 首先,确认内核menuconfig以太网模块配置是否打开,路径及截图如下:
      menuconfig -> Device Drivers -> Network device support -> Ethernet driver support

      3dcc7d980e5444a7974c067edefb4933.jfif

      (2) 然后,确认board.dts/sys_config.fex中GMAC模块是否打开,board.dts配置示例如下:

      gmac0: eth@05020000{
          phy-mode = "rgmii";
          use_ephy25m = <1>;
          tx-delay = <7>;
          rx-delay = <0>;
          status = "okay";
      };
      

      注:

      • status = “okay"代表打开该模块,status = “disabled"代表关闭该模块;
      • 确保PHY与GMAC之间物理接口与软件配置相匹配,对于RGMII接口phy-mode配置为"rgmii”,RMII接口phy-mode配置为"rmii”;
      • use_ephy25m=1代表PHY使用SOC内部EPHY_25M时钟,use_ephy25m=0或者不配置该参数,代表PHY不使用SOC内部EPHY_25M时钟,
        需外挂25M晶振为PHY提供时钟;

      附件:FlameGraph.tar.xz

      1 Reply Last reply Reply Quote Share 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策