取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
Highlighted
403 次查看
注册日期: ‎05-22-2019

zynq-7000 内核驱动读取网口MAC物理地址异常

跳至解决方案

大家好!

   芯片是zynq-7020 clg484  。

   软件设置MAC地址会导致每台机的MAC地址都相同,多机子和上位机Modbus通信就会出现问题。

   所以必须要获取硬件独一固定的MAC物理地址。

 

   但是通过读取硬件的MAC的地址就有问题,读取读出的值都是0。内核源码linux-xlnx-xilinx-v2015.1、linux-xlnx-xilinx-v2018.2都试过了,读出的值都是0。所以就会对用自动生成随机的MAC地址,不满足要求(独一固定)

无标题1.png

 

设备树如下

ethernet@e000b000 {
    compatible = "cdns,gem";
    reg = <0xe000b000 0x1000>;
    status = "okay";
    interrupts = <0x0 0x16 0x4>;
    clocks = <0x1 0x1e 0x1 0x1e 0x1 0xd>;
    clock-names = "pclk", "hclk", "tx_clk";
    xlnx,has-mdio = <0x1>;
    #address-cells = <0x1>;
    #size-cells = <0x0>;
    phy-mode = "rgmii-id";
    phy-handle = <0x4>;    phy@0 {
        compatible = "atheros,ar8035";
        device_type = "ethernet-phy";
        reg = <0x0>;
        linux,phandle = <0x4>;
        phandle = <0x4>;
    };
};

0 项奖励
1 解答

已接受的解答
Highlighted
224 次查看
注册日期: ‎05-22-2019
在linux 驱动 读取qspi-flash唯一的ID  后3个字节赋给MAC的后3位地址。 这样就解决MAC地址唯一问题了。

在原帖中查看解决方案

0 项奖励
5 回复数
Highlighted
348 次查看
注册日期: ‎05-22-2019

查看了ug585技术手册  原来读的是该寄存器的复位值 所以都是0

gem1.png

 

gem2.png

 为什么会读到的是复位值  MAC地址不是出厂芯片就固定唯一地址吗

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
295 次查看
注册日期: ‎09-14-2018

hi 1993833617@qq.com 

 

https://www.xilinx.com/support/answers/53476.html

https://www.xilinx.com/support/answers/70176.html

参考下这两个AR设置每个板子不同的MAC地址。

----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

 

225 次查看
注册日期: ‎05-22-2019

谢谢!我在linux 驱动 读取qspi-flash唯一的ID  后3个字节赋给MAC的后3位地址。

这样就解决MAC地址唯一问题了。

0 项奖励
Highlighted
225 次查看
注册日期: ‎05-22-2019
在linux 驱动 读取qspi-flash唯一的ID  后3个字节赋给MAC的后3位地址。 这样就解决MAC地址唯一问题了。

在原帖中查看解决方案

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
130 次查看
注册日期: ‎09-14-2018

如已解决,建议标记下解决方案,也可把自己的回答标记为解决方案。谢谢。

0 项奖励