aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThibaut VARÈNE <hacks@slashdirt.org>2020-04-19 11:42:45 +0200
committerKoen Vandeputte <koen.vandeputte@ncentric.com>2020-05-08 15:17:17 +0200
commit1e24af5638f1c7263c10157afd7b25b9bf601c0c (patch)
tree4df7b3dd2a77e6ae15aeb9e5b0f3371372dd9099
parent301bc3290df394bd39373ffc081818b56092b05f (diff)
downloadupstream-1e24af5638f1c7263c10157afd7b25b9bf601c0c.tar.gz
upstream-1e24af5638f1c7263c10157afd7b25b9bf601c0c.tar.bz2
upstream-1e24af5638f1c7263c10157afd7b25b9bf601c0c.zip
ath79/mikrotik: use standard caldata functions
With the implementation of a sysfs interface to access WLAN data, this target no longer needs a special wrapper to extract caldata. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
-rw-r--r--target/linux/ath79/image/common-mikrotik.mk2
-rw-r--r--target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom8
-rw-r--r--target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata7
-rw-r--r--target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh26
4 files changed, 10 insertions, 33 deletions
diff --git a/target/linux/ath79/image/common-mikrotik.mk b/target/linux/ath79/image/common-mikrotik.mk
index 292237c76a..4cf0aa1cac 100644
--- a/target/linux/ath79/image/common-mikrotik.mk
+++ b/target/linux/ath79/image/common-mikrotik.mk
@@ -1,6 +1,6 @@
define Device/mikrotik
DEVICE_VENDOR := MikroTik
- DEVICE_PACKAGES := rbextract rbcfg
+ DEVICE_PACKAGES := rbcfg
LOADER_TYPE := elf
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel
diff --git a/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index 86995de890..884e150bbb 100644
--- a/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -3,7 +3,9 @@
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions/caldata.sh
-. /lib/functions/mikrotik-caldata.sh
+
+wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
+mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"
board=$(board_name)
@@ -11,8 +13,8 @@ case "$FIRMWARE" in
"ath9k-eeprom-ahb-18100000.wmac.bin")
case $board in
mikrotik,routerboard-wap-g-5hact2hnd)
- mikrotik_caldata_extract "hard_config" 0x1000 0x440
- ath9k_patch_mac $(macaddr_add $(mtd_get_mac_binary hard_config 0x10) +2)
+ caldata_from_file $wlan_data 0x1000 0x440
+ ath9k_patch_mac $(macaddr_add "$mac_base" +2)
;;
*)
caldata_die "board $board is not supported yet"
diff --git a/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 2521f0ad96..b486a5720d 100644
--- a/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -3,7 +3,8 @@
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions/caldata.sh
-. /lib/functions/mikrotik-caldata.sh
+
+wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
board=$(board_name)
@@ -11,14 +12,14 @@ case "$FIRMWARE" in
"ath10k/cal-pci-0000:00:00.0.bin")
case $board in
mikrotik,routerboard-wap-g-5hact2hnd)
- mikrotik_caldata_extract "hard_config" 0x5000 0x844
+ caldata_from_file $wlan_data 0x5000 0x844
;;
esac
;;
"ath10k/cal-pci-0000:01:00.0.bin")
case $board in
mikrotik,routerboard-922uags-5hpacd)
- mikrotik_caldata_extract "hard_config" 0x5000 0x844
+ caldata_from_file $wlan_data 0x5000 0x844
;;
esac
;;
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
deleted file mode 100644
index 71a1bf02f3..0000000000
--- a/target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-# 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="/tmp/erd.bin"
- local fwfile="/lib/firmware/${FIRMWARE}"
-
- [ -e $fwfile ] && exit 0
-
- mtd=$(find_mtd_chardev $part)
- [ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
-
- rbextract -e $mtd $erdfile
-
- dd if=$erdfile of=$fwfile iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
- caldata_die "failed to extract calibration data from $mtd"
-
- rm -f $erdfile
-}