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>
master
Adrian Schmutzler 2020-08-12 14:40:00 +02:00
parent 74438d5419
commit ef765ceb09
1 changed files with 13 additions and 8 deletions

View File

@ -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"