#!/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"
