aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/mikrotik
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-12 14:40:00 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-13 12:47:45 +0200
commitef765ceb0924134658876512132af5184c4dd947 (patch)
tree5165fa61851106c5dba79ed862510eaeb9b2c636 /target/linux/ath79/mikrotik
parent74438d54198d928d68c695da15b35aebfbecf27b (diff)
downloadupstream-ef765ceb0924134658876512132af5184c4dd947.tar.gz
upstream-ef765ceb0924134658876512132af5184c4dd947.tar.bz2
upstream-ef765ceb0924134658876512132af5184c4dd947.zip
ath79/mikrotik: add function for loading ath9k caldata
The commands to read ath9k caldata on mikrotik subtarget are mostly repetitive, so let's put them into a function to make writing and reading them easier. This function will only be required when patching the MAC address. For cases where it is put correctly into the calibration data by the vendor, caldata_sysfsload_from_file can be used directly as done for ath10k at the moment. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/ath79/mikrotik')
-rw-r--r--target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom21
1 files changed, 13 insertions, 8 deletions
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 30a7759ef2..f2cb1f774f 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
@@ -4,6 +4,17 @@
. /lib/functions/caldata.sh
+caldata_mikrotik_ath9k() {
+ local offset=$(($1))
+ local count=$(($2))
+ local macaddr=$3
+
+ caldata_from_file $wlan_data $offset $count /tmp/$FIRMWARE
+ ath9k_patch_mac "$macaddr" /tmp/$FIRMWARE
+ caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 $count
+ rm -f /tmp/$FIRMWARE
+}
+
wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"
@@ -14,16 +25,10 @@ case "$FIRMWARE" in
case $board in
mikrotik,routerboard-lhg-2nd|\
mikrotik,routerboard-sxt-5nd-r2)
- caldata_from_file $wlan_data 0x1000 0x440 /tmp/$FIRMWARE
- ath9k_patch_mac $(macaddr_add "$mac_base" +1) /tmp/$FIRMWARE
- caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 0x440
- rm -f /tmp/$FIRMWARE
+ caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" +1)
;;
mikrotik,routerboard-wap-g-5hact2hnd)
- caldata_from_file $wlan_data 0x1000 0x440 /tmp/$FIRMWARE
- ath9k_patch_mac $(macaddr_add "$mac_base" +2) /tmp/$FIRMWARE
- caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 0x440
- rm -f /tmp/$FIRMWARE
+ caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" +2)
;;
*)
caldata_die "board $board is not supported yet"