9c4016ee5d556176ec60a98667ec300649a8318d
[openwrt/staging/chunkeey.git] / target / linux / ath79 / base-files / lib / functions / mikrotik-caldata.sh
1 # Copyright (C) 2019 Robert Marko <robimarko@gmail.com>
2 # Copyright (C) 2019 Roger Pueyo Centelles <roger.pueyo@guifi.net>
3 #
4 # Helper function to extract MAC addresses and calibration data for MikroTik
5 #
6
7 mikrotik_caldata_extract() {
8 local part=$1
9 local offset=$(($2))
10 local count=$(($3))
11 local mtd
12 local erdfile="/lib/firmware/erd.bin"
13
14 mtd=$(find_mtd_chardev $part)
15 [ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
16
17 rbextract -e $mtd $erdfile
18
19 dd if=$erdfile of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
20 caldata_die "failed to extract calibration data from $mtd"
21 }