X-Git-Url: https://git.archive.openwrt.org/?p=15.05%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Fbase-files%2Fetc%2Fhotplug.d%2Ffirmware%2F11-ath10k-caldata;fp=target%2Flinux%2Far71xx%2Fbase-files%2Fetc%2Fhotplug.d%2Ffirmware%2F11-ath10k-caldata;h=164d3abd39436a2c80e51226effee17aa17ec34f;hp=0000000000000000000000000000000000000000;hb=271d4d3ff8a70bf2541d6fe6f6e173c6181fb34e;hpb=a84098ee4975f0e01af5339efe22d78b7d9d3937 diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata new file mode 100644 index 0000000000..164d3abd39 --- /dev/null +++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -0,0 +1,45 @@ +#!/bin/sh + +ath10kcal_die() { + echo "ath10cal: " "$*" + exit 1 +} + +ath10kcal_from_file() { + local source=$1 + local offset=$2 + local target=$3 + + dd if=$source of=$target bs=1 skip=$offset count=2116 2>/dev/null || \ + ath10kcal_die "failed to extract calibration data from $source" +} + +[ -e /lib/firmware/$FIRMWARE ] && exit 0 + +. /lib/ar71xx.sh +. /lib/functions.sh +. /lib/functions/system.sh + +ath10kcal_mac="" +ath10kcal_tmp="/tmp/ath10k-caldata.bin" + +board=$(ar71xx_board_name) + +case "$FIRMWARE" in +"ath10k/cal-pci-0000:01:00.0.bin") + case $board in + rb-911g-5hpacd) + ath10kcal_from_file "/sys/firmware/routerboot/ext_wlan_data" 20480 $ath10kcal_tmp + ;; + esac + ;; + +*) + exit 1 + ;; +esac + +[ -f $ath10kcal_tmp ] && { + cp $ath10kcal_tmp /lib/firmware/$FIRMWARE + rm -f $ath10kcal_tmp +}