2.6 KiB
2.6 KiB
sidebar_position
| sidebar_position |
|---|
| 4 |
更改MAC网卡地址
支持手动更改默认的固件 MAC 地址 00:11:22:33:44:55
原理
:::caution
注意:本章节仅仅适合海思芯片CPU的机顶盒设备。
如果你不清楚,请勿试用!直到你完全理解什么叫做芯片为止!
:::
机顶盒的mac地址由启动阶段的 bootargs.bin 进行传递。
作者为了便利用户更改,制作了mkbootargs的程序提供在线制作bootargs.bin文件。
制作生成
-
原始文档:(每个系统都是单独对应的数值,请务必使用当前系统下的文档)
/etc/bootargs_input.txtroot@hi3798mv200:~# cat /etc/bootargs_input.txt baudrate=115200 ethaddr=00:11:22:33:44:55 ipaddr=192.168.1.10 netmask=255.255.255.0 gatewayip=192.168.1.1 serverip=192.168.1.1 bootcmd=mmc read 0 0x1FFFFC0 0x7000 0x14000;bootm 0x1FFFFC0 bootargs_512M=mem=512M mmz=ddr,0,0,48M vmalloc=500M bootargs_1G=mem=1G mmz=ddr,0,0,48M vmalloc=500M bootargs_2G=mem=2G mmz=ddr,0,0,48M vmalloc=500M bootargs_768M=mem=768M mmz=ddr,0,0,48M vmalloc=500M bootargs_1536M=mem=1536M mmz=ddr,0,0,48M vmalloc=500M bootargs_3840M=mem=3840M mmz=ddr,0,0,48M vmalloc=500M bootargs=model=mv200 console=ttyAMA0,115200 root=/dev/mmcblk0p9 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),1M(bootargs),4M(baseparam),4M(pqparam),4M(logo),40M(kernel),64M(busybox),512M(backup),-(ubuntu) bootdelay=0 stdin=serial stdout=serial stderr=serial自行修改第2行的
ethaddr=00:11:22:33:44:55例如为ethaddr=00:11:22:33:44:66注意:这个mac地址必须是16进制的数字或字母,强烈建议你看机顶盒背后的标签来写。
-
制作生成:
mkbootargs -s 64 -r /etc/bootargs_input.txt -o bootargs.bin -
刷入第二分区:
将上一步生成的
bootargs.bin刷入第2分区dd if=bootargs.bin of=/dev/mmcblk0p2 bs=1024 count=1024 -
重启生效
自动脚本
作者也做了一个自动脚本直接完成上面的操作,
http://192.168.xx.xx/macedit.php
:::caution
以下内容适合几乎所有机型!
:::
软改mac
上面的方法是硬改mac,这里也阐述一下软改的办法:
vi /etc/netplan/10-dhcp-all-interfaces.yaml
添加你的 mac 地址
network:
version: 2
renderer: networkd
ethernets:
all-eth-interfaces:
match:
name: "e*"
dhcp4: yes
dhcp6: yes
ipv6-privacy: yes
# 添加固定MAC地址配置
macaddress: "00:11:22:33:44:66"