OpenWrt19.07设置mac地址为芯片内置出厂地址

本文介绍了如何在OpenWRT 19.07系统中,针对MT7628芯片固定MAC地址的问题。通过查阅手册和源码分析,发现MAC地址在恢复出厂设置或重刷固件后会随机变化。解决方法是修改openwrt源码,从e2prom的特定偏移量读取芯片内置MAC,并在系统初始化时使用。修改了`/etc/board.d/02_network`文件,确保启动时使用正确的MAC地址。经验证,修改后MAC地址与预期一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近发现所使用的openwrt19.07系统在htlk7628核心板上运行时,一旦恢复出厂设置或者重刷固件后对应的mac地址就会改变,猜测系统生成mac地址方式并非使用了芯片内部的mac地址,而是随机生成,而我需要固定mac地址,最好是使用芯片内部的mac地址,那么7628芯片的mac地址在哪里呢?

7628芯片的mac地址

查看MT7628_EEPROM_Guideline_v2_00.pdf手册,得知mac地址在e2prom中的偏移位置

20221231112350337

在这里插入图片描述
在这里插入图片描述

lan和wan的偏移量0x28和0x2E

openwrt系统中中执行命令验证查看

hexdump -v -s 0x28 -n 6 -e '2/1 "%02x:"' /dev/mtd2
hexdump -v -s 0x2e -n 6 -e '2/1 "%02x:"' /dev/mtd2

在这里插入图片描述

openwrt源码修改

openwrt系统初始化启动时生成写入/etc/config/network文件来确定实际使用的mac地址,那么我们需要在源码中中岛生成mac地址随机数的位置,将随机数替换为上一步获取芯片mac地址的方式。

修改文件:

/home/luke/openwrt/openwrt_19.07/target/linux/ramips/base-files/etc/board.d/02_network

如下:
在这里插入图片描述

e2prom存储区对应系统的facory分区

该函数是设置板子的mac地址的函数,找到对应板子的处理分支,读取factory中的mac地址然后放置到待生成的mac地址中。

其他板子的修改方式也类似,找到对应板子的case,修改即可。

验证

编译下载测试,查看系统启动后的mac地址,与上一步读取的一致,说明修改有效。
在这里插入图片描述

查阅资料发现除利用hexdump方式还可以使用 mtd_get_mac_binary命令,暂未测试。

    lan_mac=$(mtd_get_mac_binary factory 40)
    wan_mac=$(mtd_get_mac_binary factory 46)
  • 40和46对应的十六进制数就是lan和wan的偏移量0x28和0x2E,

关联问题

随机地址在何处生成

通过源码也可得知原先lan mac地址是从sys/class/net/eth0/address 文件中获取的,wan在此基础上加1.

sys/class/net/eth0/address文件内容是在系统初始化启动是随机生成的,可查看内核日志得知。

在这里插入图片描述
在这里插入图片描述

两者一致。

mac地址生成时机

02_network 是在什么时候执行的呢?待续

IVMS-4200用户手册云盘是指将IVMS-4200软件用户手册存储在云盘上的一种方式。IVMS-4200是海康威视(Hikvision)公司开发的一款视频监控管理软件,用户手册是为了帮助用户更好地了解和使用该软件而编写的说明书。 云盘是指通过网络将数据存储在云服务器上,用户可以通过网络访问、传输和管理云盘中的数据。将IVMS-4200用户手册存储在云盘上有以下几个优点: 首先,便捷性。用户无需下载和安装软件,只需通过浏览器登录云盘账号,就可以随时随地查阅用户手册。无论在何地、何时,只要有网络连接,就能方便地获取手册内容。 其次,共享性。云盘是一个共享的平台,多个用户可以同时访问同一个云盘上的用户手册。这就方便了团队协作和知识共享,不同用户之间可以互相学习和交流使用经验。 再次,实时更新。云盘上存储的用户手册可以随时进行更新和替换。开发者可以在云盘上上传新版本的手册,用户只需刷新页面即可查看最新的内容,减少了传统的纸质手册印刷、分发和更新的时间和成本。 最后,安全性。云盘通常具有安全机制,如账号密码验证、数据加密等,确保用户手册的安全性和隐私性。即使用户的电脑或移动设备丢失或损坏,手册仍然安全保存在云盘上,用户不会丢失使用说明。 综上所述,将IVMS-4200用户手册存储在云盘上,可以提高使用者的便捷性、共享性、实时更新性和安全性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值