2019-11-28 11:53:01 +00:00
|
|
|
# Copyright (C) 2019 Robert Marko <robimarko@gmail.com>
|
|
|
|
# Copyright (C) 2019 Roger Pueyo Centelles <roger.pueyo@guifi.net>
|
|
|
|
#
|
|
|
|
# Helper function to extract MAC addresses and calibration data for MikroTik
|
|
|
|
#
|
|
|
|
|
|
|
|
mikrotik_caldata_extract() {
|
|
|
|
local part=$1
|
|
|
|
local offset=$(($2))
|
|
|
|
local count=$(($3))
|
|
|
|
local mtd
|
2020-03-18 09:35:26 +00:00
|
|
|
local erdfile="/tmp/erd.bin"
|
|
|
|
local fwfile="/lib/firmware/${FIRMWARE}"
|
|
|
|
|
|
|
|
[ -e $fwfile ] && exit 0
|
2019-11-28 11:53:01 +00:00
|
|
|
|
|
|
|
mtd=$(find_mtd_chardev $part)
|
|
|
|
[ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
|
|
|
|
|
|
|
|
rbextract -e $mtd $erdfile
|
|
|
|
|
2020-03-18 09:35:26 +00:00
|
|
|
dd if=$erdfile of=$fwfile iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
|
2019-11-28 11:53:01 +00:00
|
|
|
caldata_die "failed to extract calibration data from $mtd"
|
2020-03-18 09:35:26 +00:00
|
|
|
|
|
|
|
rm -f $erdfile
|
2019-11-28 11:53:01 +00:00
|
|
|
}
|