05.OpenWrt-写入mac地址

05.OpenWrt-写入mac地址

一般连接网络设备都有mac地址,电脑连接到路由器网络,只要网络环境不改变,电脑的ip地址就不会变化.这是因为路由器识别到这台电脑的mac地址,会把同一个ip再次分配给这台电脑.比如在使用vmware安装ubuntu虚拟机的时候,在桥接模式下,每次开机ip地址都会改变,这是由于虚拟机的mac地址每次开机都随机生成.网络上有很多方法固定虚拟机的ip地址,但是没有从本质上了解ip变化的原因,只要给虚拟机设置一个固定的mac地址,ip地址每次都变化的问题就迎刃而解.

5.1 factory分区

   root@Togetek:/# cat /proc/mtd
   dev:    size   erasesize  name
   mtd0: 00030000 00010000 "u-boot"
   mtd1: 00010000 00010000 "u-boot-env"
   mtd2: 00010000 00010000 "factory"
   mtd3: 00fb0000 00010000 "firmware"
   mtd4: 0021f407 00010000 "kernel"
   mtd5: 00d90bf9 00010000 "rootfs"
   mtd6: 00800000 00010000 "rootfs_data"

在OpenWrt系统中会把mac地址和wifi校准参数等写在flash的factory分区中,这样在批量烧录的时候可以将系统固件和mac地址单独烧录,通过编程器批量烧录方法会在后面介绍到,这里是在进入系统后通过命令的方式写入mac地址.

5.2 系统中写入mac地址

   # 拷贝出factory分区
   dd if=/dev/mtd2 of=/tmp/factory.bin
   # WAN口地址修改命令
   echo -e -n "\xAC\xDB\xDA\x5B\x6F\x08" |dd of=/tmp/factory.bin  bs=1 count=6 conv=notrunc bs=1 count=6 seek=40
   # 刷新art分区命令
   mtd write /tmp/factory.bin factory
偏移地址 名称
0x04 WIIF MAC
0x28 LAN MAC
0x2E WAN MAC

mac地址的偏移地址不是一成不变,系统读取mac地址位置与写入的mac地址位置一致即可.

你可能感兴趣的:(网络,linux,嵌入式硬件)