lede/target/linux/ramips/base-files/sbin/setmac
2024-12-16 11:21:10 +08:00

23 lines
665 B
Bash
Executable File

#!/bin/sh
. /lib/functions/caldata.sh
if [ -e "/dev/mtd0" ]; then
part="$(find_mtd_part factory)"
elif [ -e "/dev/mmcblk0" ]; then
part="$(find_mmc_part factory)"
fi
[ -n "$part" ] || { echo "Partition 'Factory' not found!"; exit 1; }
mac="$1"
validate_data macaddr "$mac" >"/dev/null" 2>&1 || { echo "Please specify a correct MAC address!"; exit 1; }
dd if="$part" of="/tmp/Factory.backup" 2>"/dev/null"
caldata_patch_mac "$mac" "0x4" "" "/tmp/Factory.backup" 2>"/dev/null"
if [ -e "/dev/mtd0" ]; then
mtd -qq write "/tmp/Factory.backup" "factory"
else
dd if="/tmp/Factory.backup" of="$part" bs=512 conv=fsync 2>"/dev/null"
fi
rm -rf "/tmp/Factory.backup"