mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-26 22:29:33 +00:00
e9de6e5203
Older busybox versions allowed using the local keyword outside of functions, whereas 1.25.0 (which was introduced in 06fa1c46fc32) do not allow this anymore (leading to the following error when executing the script: "file: local: line nn: not in a function"). Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
52 lines
1.1 KiB
Bash
52 lines
1.1 KiB
Bash
#!/bin/sh
|
|
# Based on ar71xx 11-ath10k-caldata and 10-rt2x00-eeprom
|
|
|
|
ath10k_caldata_die() {
|
|
echo "ath10k caldata: " "$*"
|
|
exit 1
|
|
}
|
|
|
|
ath10k_caldata_extract() {
|
|
local part=$1
|
|
local offset=$2
|
|
local mtd
|
|
|
|
. /lib/functions.sh
|
|
|
|
mtd=$(find_mtd_part $part)
|
|
[ -n "$mtd" ] || \
|
|
ath10k_caldata_die "no mtd device found for partition $part"
|
|
|
|
dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=2116 || \
|
|
ath10k_caldata_die "failed to extract from $mtd"
|
|
}
|
|
|
|
ath10k_caldata_set_macaddr() {
|
|
local macaddr=$1
|
|
|
|
macaddr_2bin $macaddr | dd of=/lib/firmware/$FIRMWARE \
|
|
conv=notrunc bs=1 seek=6 count=6
|
|
}
|
|
|
|
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
|
. /lib/functions.sh
|
|
. /lib/functions/system.sh
|
|
. /lib/functions/lantiq.sh
|
|
|
|
case "$FIRMWARE" in
|
|
"ath10k/cal-pci-0000:02:00.0.bin")
|
|
board=$(lantiq_board_name)
|
|
case $board in
|
|
BTHOMEHUBV5A)
|
|
lan_mac=$(mtd_get_mac_binary caldata 4364)
|
|
wifi_mac=$(macaddr_add "$lan_mac" 3)
|
|
ath10k_caldata_extract "caldata" 20480
|
|
ath10k_caldata_set_macaddr $wifi_mac
|
|
;;
|
|
*)
|
|
ath10k_caldata_die "board $board is not supported yet"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|