您尚未登录。

楼主 # 2021-10-15 11:03:50

ttasd
会员
注册时间: 2020-04-01
已发帖子: 22
积分: 16

全志v3s MAC地址不固定的问题

项目中用了mac地址MD5后的字符做设备的唯一标识符。
目前发现小批量试产200套的设备中大概有20多台,发现其MAC地址每次开机都会变化,随机生成的一个mac地址,但是其它100多台的mac地址是固定不会变化的,看起来也是唯一mac地址。(uboot kernel rootfs等一切程序都是完全一样的)

uboot跟kernel用的是荔枝派的
uboot版本是U-Boot 2017.01-rc2-00057-g32ab1804cd-dirty (Apr 16 2021 - 20:14:05 +0800) Allwinner Technology
kernel版本是Linux version 4.14.14-59834-gcda44c146b9b-dirty (kupeiot@kupeiot-server) (gcc version 4.9.4 (Linaro GCC 4.9-2017.01)) #6 SMP Wed Jun 23 09:03:57 UTC 2021


在此求助大佬们,请教下这种现象是什么情况。为什么同固件会有不同的现象,还有就是如何获取CPU ID?  想用CPU ID去设置mac地址。

离线

#1 2021-10-15 11:38:16

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,387
积分: 1902
个人网站

Re: 全志v3s MAC地址不固定的问题

用sunxi-fel 读出来的sid是 v3s的id, 还是芯片的id?
https://whycan.com/t_324.html#p2445


全志v3s 运行主线linux 4.13-y 以太网口的 MAC地址是不是固定的 我每次重启 MAC地址都会变化,  应该如何固定?
https://whycan.com/t_427.html#p1093


两个帖子一起看,然后做一个启动脚本: /etc/init.d/S91initmac

#解析 /proc/cpuinfo serial 
#设置 mac 地址




离线

#2 2021-10-17 22:21:48

benlypan
会员
注册时间: 2021-07-08
已发帖子: 49
积分: 133.5

Re: 全志v3s MAC地址不固定的问题

u-boot 会根据芯片 id 生成 mac 地址(实现代码在 board/sunxi/board.c 中的 setup_environment 函数里),并传递给 Linux 内核(实现代码在 common/fdt_support.c 中的 fdt_fixup_ethernet 函数里)。前提是 dts 要配置。
在 u-boot 的 dts 中的 aliases 里加上 ethernet0 = &emac; 这样 u-boot 就会自动生成 ethaddr 环境变量。在 Linux 的 dts 中除了加上 aliases 的那句,还要在 emac 里加上 mac-address = [ 00 00 00 00 00 00 ]; 这么一个占位符,那么 u-boot 在启动 Linux 内核的时候,会将环境变量里的 ethaddr 环境变量里的内容覆盖写入 Linux 的 dts 里,这样 Linux 就能得到由芯片 id 生成的 mac 地址了。
所以检查一下 dts 的相关配置

离线

楼主 #3 2021-10-28 14:54:45

ttasd
会员
注册时间: 2020-04-01
已发帖子: 22
积分: 16

Re: 全志v3s MAC地址不固定的问题

@benlypan

您好,因为这个问题是很小一批出现,刚开始出现这个问题我都是让他们直接更换v3s芯片,然后它就好了,mac地址也是固定的了。。。。
我的设备树中的确加了eth的相关信息
aliases {
                serial0 = &uart0;
                ethernet0 = &emac;
        };
&emac {
    phy-handle = <&int_mii_phy>;
    phy-mode = "mii";
    allwinner,leds-active-low;
    status = "okay";
};

但是为什么只有部分芯片才会这样  我还是没搞清楚

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn