zoukankan      html  css  js  c++  java
  • 《海思3521D

    相关命令使用:

      ifconfig -a  检查所有的网卡参数

      ifconfig eth0 up  启动eth0

      setenv  PHY_addr  2   在uboot模式下设置phy地址

      setenv mdio_intf rmii   在uboot模式下设置phy得接口

    问题:

      根据SDK里面的默认配置,编译出来的uImage中。

      # ifconfig  -a

      只看到lo,并没有看到eth0

      # ifconfig eth0 up

      ifconfig:SIOCGIFFLAGS:No such device

    硬件相关:

      现在核心板PHY芯片用的是:smsc 8710A81745-A2(使用的是mii)

      但是海思SDK默认的PHY芯片是:RTL8211EG

    海思网卡相关:

      海思网络部分物理上看一般是MAC连接PHY(就是8710)再连接网络变压器再到RJ45 从数据通路上看, MAC是海思芯片内部的模块,通过MDIO来设置PHY(读写PHY的寄存器), 通过MII/RMII/RGMII接口(3531都支持)来和PHY交换网络数据 通常情况下, 海思的linux网络驱动基本都是好的,要修改的一般就是PHY地址和使用MII/RMII/RGMII接口中的哪一种,这个在linux config时应该都可以选 另外, 要注意一下管脚复用, 一般uboot配网络时应该都把复用关系改好了,只要后面不要再改变就好了 3531有两个MAC, 两套PHY接口, 一套MDIO接口(有点像I2C, 可以读写多个PHY)。

      可以查看海思的官方手册外围设备驱动指南。里面有相关的一些网卡配置。

    修改步骤:

      Hi3516A 的GMAC 模块支持PHY 接口模式有rgmii、rmii 和mii,发布包中默认配置rgmii,若需配置成rmii 或mii,需要在boot 和kernel 下修改配置

      1. U-boot 下通过环境变量设置

      setenv mdio_intf mii 或者 setenv mdio_intf rmii

      setenv  PHY_addr  2

      或者直接修改源码:

    U-boot下可通过更改U-boot配置文件中宏定义HISFV_PHY_U的值来配置不同的PHY地址。Hi3516CV500的U-boot包含以下配置文件。
    include/configs/hi3516cv500.h(根据不同板卡不同头文件)

      2.Kernel 下通过menuconfig 配置

      Device Drivers

      [*] Network device support --->

      [*] Ethernet driver support --->

      <*> hieth gmac family network device support --->

      (6) hieth-gmac phy0 interface mode

      其中,1 代表mii,5 代表rmii,6 代表rgmii,若管脚复用有变化,请重新配置管脚复用关系。管脚复用也需要注意,这里没有出现管脚复用问题也就是rx和tx的管脚是否配置正确

      以上是查阅相关资料得到的信息。

      根据这些信息,我进入menuconfig中尝试修改,但是我的menuconfig中并没有hieth-gmac phy0 interface mode和修改地址的选项。

      因此cd arch/arm/boot/dts/hi3521d-demb.dts。

      将phy-mode =“rgmill”这边并没有修改,因为我手中得PHY本身就是支持千兆。

      &mdio{

        ethphy: ethernet-phy@1{

          reg = <1>;  

        };

      };

      修改成

      &mdio{

        ethphy: ethernet-phy@2{    //这个具体目前不知道修改什么,反正看到1,感觉就要改成2

          reg = <2>;  //修改phy的地址

        };

      };

      之后编译,启动内核。ifconfig -a就可以看到eth0

      ifconfig eth0 up

      ifconfig eth0 192.168.100.70

      ping 192.168.100.6

      就可以ping得通本地。

  • 相关阅读:
    html background 背景颜色美化 类似毛玻璃
    HTML
    export、exports、modules.exports 和 require 、import 的一些组合套路和坑
    C#实现监控网络流量
    PHP乱码问题,UTF-8(乱码)
    LitDB笔记
    LitDB文章
    NoSQL 35 个非主流数据库
    mysql中int转varchar
    CSS设置DIV背景色渐变显示
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/11698275.html
Copyright © 2011-2022 走看看