From 1e24af5638f1c7263c10157afd7b25b9bf601c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibaut=20VAR=C3=88NE?= Date: Sun, 19 Apr 2020 11:42:45 +0200 Subject: [PATCH] ath79/mikrotik: use standard caldata functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- target/linux/ath79/image/common-mikrotik.mk | 2 +- .../etc/hotplug.d/firmware/10-ath9k-eeprom | 8 +++--- .../etc/hotplug.d/firmware/11-ath10k-caldata | 7 ++--- .../lib/functions/mikrotik-caldata.sh | 26 ------------------- 4 files changed, 10 insertions(+), 33 deletions(-) delete mode 100644 target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh 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 -# Copyright (C) 2019 Roger Pueyo Centelles -# -# 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 -}