ath79: add mikrotik subtarget
[oweals/openwrt.git] / target / linux / ath79 / mikrotik / base-files / lib / functions / mikrotik-caldata.sh
diff --git a/target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh b/target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh
new file mode 100644 (file)
index 0000000..9c4016e
--- /dev/null
@@ -0,0 +1,21 @@
+# 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
+       local erdfile="/lib/firmware/erd.bin"
+
+       mtd=$(find_mtd_chardev $part)
+       [ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
+
+       rbextract -e $mtd $erdfile
+
+       dd if=$erdfile of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
+               caldata_die "failed to extract calibration data from $mtd"
+}