@@ -2,80 +2,7 @@
[ -e /lib/firmware/$FIRMWARE ] && exit 0
-. /lib/functions.sh
-. /lib/functions/system.sh
-
-ath9k_eeprom_die() {
- echo "ath9k eeprom: " "$*"
- exit 1
-}
-
-ath9k_eeprom_extract() {
- local part=$1
- local offset=$(($2))
- local count=$(($3))
- local mtd
-
- mtd=$(find_mtd_chardev $part)
- [ -n "$mtd" ] || \
- ath9k_eeprom_die "no mtd device found for partition $part"
-
- dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
- ath9k_eeprom_die "failed to extract from $mtd"
-}
-
-ath9k_eeprom_extract_reverse() {
- local part=$1
- local offset=$2
- local count=$(($3))
- local mtd
- local reversed
- local caldata
-
- mtd=$(find_mtd_chardev "$part")
- reversed=$(hexdump -v -s $offset -n $count -e '/1 "%02x "' $mtd)
-
- for byte in $reversed; do
- caldata="\x${byte}${caldata}"
- done
-
- printf "%b" "$caldata" > /lib/firmware/$FIRMWARE
-}
-
-ath9k_patch_fw_mac() {
- local mac=$1
- local mac_offset=$(($2))
- local chksum_offset=$(($3))
- local xor_mac
- local xor_fw_mac
- local xor_fw_chksum
-
- [ -z "$mac" -o -z "$mac_offset" ] && return
-
- [ -n "$chksum_offset" ] && {
- xor_mac=${mac//:/}
- xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
-
- xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
- xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
-
- xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
- xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
-
- printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
- dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
- }
-
- macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1
-}
-
-ath9k_patch_fw_mac_crc() {
- local mac=$1
- local mac_offset=$2
- local chksum_offset=$((mac_offset - 10))
-
- ath9k_patch_fw_mac "${mac}" "${mac_offset}" "${chksum_offset}"
-}
+. /lib/functions/ath-caldata.sh
board=$(board_name)
@@ -83,11 +10,11 @@ case "$FIRMWARE" in
"ath9k-eeprom-ahb-18100000.wmac.bin")
case $board in
avm,fritz4020)
- ath9k_eeprom_extract_reverse "urlader" 0x1541 0x440
+ ath_caldata_extract_reverse "urlader" 0x1541 0x440
;;
dlink,dir-825-c1|\
dlink,dir-835-a1)
- ath9k_eeprom_extract "art" 0x1000 0x440
+ ath_caldata_extract "art" 0x1000 0x440
ath9k_patch_fw_mac_crc $(mtd_get_mac_text "mac" 0x4) 0x2
;;
dlink,dir-842-c1|\
@@ -96,11 +23,11 @@ case "$FIRMWARE" in
dlink,dir-859-a1|\
nec,wg1200cr|\
wd,mynet-n750)
- ath9k_eeprom_extract "art" 0x1000 0x440
+ ath_caldata_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan24mac") 0x2
;;
engenius,ecb1750)
- ath9k_eeprom_extract "art" 0x1000 0x440
+ ath_caldata_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env "athaddr") +1) 0x2
;;
engenius,epg5000|\
@@ -108,39 +35,39 @@ case "$FIRMWARE" in
iodata,wn-ac1600dgr|\
iodata,wn-ac1600dgr2|\
iodata,wn-ag300dgr)
- ath9k_eeprom_extract "art" 0x1000 0x440
+ ath_caldata_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_ascii u-boot-env ethaddr) 0x2
;;
nec,wg800hp)
- ath9k_eeprom_extract "art" 0x1000 0x440
+ ath_caldata_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_text board_data 0x680) 0x2
;;
qihoo,c301)
- ath9k_eeprom_extract "radiocfg" 0x1000 0x440
+ ath_caldata_extract "radiocfg" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan24mac") 0x2
;;
*)
- ath9k_eeprom_die "board $board is not supported yet"
+ ath_caldata_die "board $board is not supported yet"
;;
esac
;;
"ath9k-eeprom-pci-0000:00:00.0.bin")
case $board in
avm,fritz300e)
- ath9k_eeprom_extract_reverse "urloader" 0x1541 0x440
+ ath_caldata_extract_reverse "urloader" 0x1541 0x440
;;
buffalo,whr-g301n|\
buffalo,wzr-hp-g302h-a1a0|\
tplink,tl-wr841-v5|\
tplink,tl-wr941-v4)
- ath9k_eeprom_extract "art" 0x1000 0xeb8
+ ath_caldata_extract "art" 0x1000 0xeb8
;;
buffalo,wzr-hp-g450h)
- ath9k_eeprom_extract "art" 0x1000 0x440
+ ath_caldata_extract "art" 0x1000 0x440
;;
dlink,dir-825-c1|\
dlink,dir-835-a1)
- ath9k_eeprom_extract "art" 0x5000 0x440
+ ath_caldata_extract "art" 0x5000 0x440
ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_text "mac" 0x18) 1) 0x2
;;
ocedo,raccoon|\
@@ -149,7 +76,7 @@ case "$FIRMWARE" in
tplink,tl-wdr4300-v1|\
tplink,tl-wdr4900-v2|\
winchannel,wb2000)
- ath9k_eeprom_extract "art" 0x5000 0x440
+ ath_caldata_extract "art" 0x5000 0x440
;;
netgear,wnr612-v2|\
on,n150r|\
@@ -167,24 +94,24 @@ case "$FIRMWARE" in
ubnt,bullet-m|\
ubnt,nano-m|\
ubnt,rocket-m)
- ath9k_eeprom_extract "art" 0x1000 0x1000
+ ath_caldata_extract "art" 0x1000 0x1000
;;
pqi,air-pen)
- ath9k_eeprom_extract "art" 0x1000 0x7d2
+ ath_caldata_extract "art" 0x1000 0x7d2
;;
ubnt,unifi)
- ath9k_eeprom_extract "art" 0x1000 0x800
+ ath_caldata_extract "art" 0x1000 0x800
;;
wd,mynet-n750)
- ath9k_eeprom_extract "art" 0x5000 0x440
+ ath_caldata_extract "art" 0x5000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan5mac") 0x2
;;
wd,mynet-wifi-rangeextender)
- ath9k_eeprom_extract "art" 0x1000 0x1000
+ ath_caldata_extract "art" 0x1000 0x1000
ath9k_patch_fw_mac_crc $(nvram get wl0_hwaddr) "$mac" 0x2
;;
*)
- ath9k_eeprom_die "board $board is not supported yet"
+ ath_caldata_die "board $board is not supported yet"
;;
esac
;;
@@ -194,14 +121,14 @@ case "$FIRMWARE" in
netgear,wndr3700|\
netgear,wndr3700v2|\
netgear,wndr3800)
- ath9k_eeprom_extract "art" 0x1000 0xeb8
+ ath_caldata_extract "art" 0x1000 0xeb8
;;
dlink,dir-825-b1)
- ath9k_eeprom_extract "caldata" 0x1000 0xeb8
+ ath_caldata_extract "caldata" 0x1000 0xeb8
ath9k_patch_fw_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c
;;
*)
- ath9k_eeprom_die "board $board is not supported yet"
+ ath_caldata_die "board $board is not supported yet"
;;
esac
;;
@@ -211,14 +138,14 @@ case "$FIRMWARE" in
netgear,wndr3700|\
netgear,wndr3700v2|\
netgear,wndr3800)
- ath9k_eeprom_extract "art" 0x5000 0xeb8
+ ath_caldata_extract "art" 0x5000 0xeb8
;;
dlink,dir-825-b1)
- ath9k_eeprom_extract "caldata" 0x5000 0xeb8
+ ath_caldata_extract "caldata" 0x5000 0xeb8
ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c
;;
*)
- ath9k_eeprom_die "board $board is not supported yet"
+ ath_caldata_die "board $board is not supported yet"
;;
esac
;;
@@ -1,70 +1,9 @@
#!/bin/sh
-. /lib/functions.sh
-. /lib/functions/k2t.sh
-
-ath10kcal_die() {
- echo "ath10cal: " "$*"
- exit 1
-}
-
-ath10kcal_from_file() {
- local source=$1
- local offset=$(($2))
- local count=$(($3))
-
- dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
- ath10kcal_die "failed to extract calibration data from $source"
-}
-
-ath10kcal_extract() {
- local part=$1
- local offset=$(($2))
- local count=$(($3))
- local mtd
-
- mtd=$(find_mtd_chardev $part)
- [ -n "$mtd" ] || \
- ath10kcal_die "no mtd device found for partition $part"
-
- dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
- ath10kcal_die "failed to extract calibration data from $mtd"
-}
-
-ath10kcal_patch_mac() {
- local mac=$1
-
- [ -z "$mac" ] && return
-
- macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=6 count=1
-}
-
-ath10kcal_patch_mac_crc() {
- local mac=$1
- local mac_offset=6
- local chksum_offset=2
- local xor_mac
- local xor_fw_mac
- local xor_fw_chksum
-
- xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
- xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
-
- ath10kcal_patch_mac "$mac" && {
- xor_mac=${mac//:/}
- xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
-
- xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
- xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
-
- printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
- dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
- }
-}
-
[ -e /lib/firmware/$FIRMWARE ] && exit 0
-. /lib/functions/system.sh
+. /lib/functions/ath-caldata.sh
+. /lib/functions/k2t.sh
board=$(board_name)
@@ -74,7 +13,7 @@ case "$FIRMWARE" in
comfast,cf-wr650ac-v1|\
comfast,cf-wr650ac-v2|\
yuncore,a770)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
;;
devolo,dvl1200e|\
devolo,dvl1200i|\
@@ -82,54 +21,54 @@ case "$FIRMWARE" in
devolo,dvl1750e|\
devolo,dvl1750i|\
devolo,dvl1750x)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary art 0x0) -1)
;;
dlink,dir-859-a1)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
;;
elecom,wrc-1750ghbk2-i)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
;;
engenius,ecb1750)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(mtd_get_mac_ascii u-boot-env athaddr)
;;
engenius,epg5000|\
iodata,wn-ac1167dgr|\
iodata,wn-ac1600dgr2)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +1)
;;
engenius,ews511ap)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
;;
glinet,gl-ar750|\
glinet,gl-ar750s)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +1)
;;
glinet,gl-x750)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +2)
;;
nec,wg800hp)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac_crc $(mtd_get_mac_text board_data 0x880)
;;
ocedo,koala|\
ocedo,ursus)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(mtd_get_mac_binary art 0xc)
;;
openmesh,om5p-ac-v2)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
;;
qihoo,c301)
- ath10kcal_extract "radiocfg" 0x5000 0x844
+ ath_caldata_extract "radiocfg" 0x5000 0x844
ath10kcal_patch_mac_crc $(mtd_get_mac_ascii devdata wlan5mac)
;;
tplink,archer-a7-v5|\
@@ -137,29 +76,29 @@ case "$FIRMWARE" in
tplink,archer-c7-v4|\
tplink,archer-c7-v5|\
tplink,archer-c25-v1)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
;;
tplink,archer-c5-v1|\
tplink,archer-c7-v2)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1)
;;
tplink,archer-d50-v1)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary romfile 0xf100) +2)
;;
tplink,re350k-v1)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary config 0x10008) +2)
;;
tplink,re355-v1|\
tplink,re450-v1)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
;;
tplink,re450-v2)
- ath10kcal_extract "art" 0x5000 0x844
+ ath_caldata_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) +1)
;;
ubnt,unifiac-lite|\
@@ -170,7 +109,7 @@ case "$FIRMWARE" in
ubnt,nanostation-ac|\
ubnt,nanostation-ac-loco|\
ubnt,unifiac-pro)
- ath10kcal_extract "EEPROM" 0x5000 0x844
+ ath_caldata_extract "EEPROM" 0x5000 0x844
;;
esac
;;
@@ -180,18 +119,18 @@ case "$FIRMWARE" in
dlink,dir-842-c2|\
dlink,dir-842-c3|\
nec,wg1200cr)
- ath10kcal_extract "art" 0x5000 0x2f20
+ ath_caldata_extract "art" 0x5000 0x2f20
ath10kcal_patch_mac_crc $(mtd_get_mac_ascii devdata wlan5mac)
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
;;
netgear,ex6400|\
netgear,ex7300)
- ath10kcal_extract "caldata" 0x5000 0x2f20
+ ath_caldata_extract "caldata" 0x5000 0x2f20
ath10kcal_patch_mac $(mtd_get_mac_binary caldata 0xc)
;;
phicomm,k2t)
- ath10kcal_extract "art" 0x5000 0x2f20
+ ath_caldata_extract "art" 0x5000 0x2f20
ath10kcal_patch_mac_crc $(k2t_get_mac "5g_mac")
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
@@ -201,7 +140,7 @@ case "$FIRMWARE" in
tplink,archer-c60-v1|\
tplink,archer-c60-v2|\
tplink,archer-c6-v2)
- ath10kcal_extract "art" 0x5000 0x2f20
+ ath_caldata_extract "art" 0x5000 0x2f20
ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary mac 0x8) -1)
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
new file mode 100755
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+. /lib/functions.sh
+. /lib/functions/system.sh
+
+ath_caldata_die() {
+ echo "ath9k/10k caldata: " "$*"
+ exit 1
+}
+
+ath_caldata_extract() {
+ local part=$1
+ local offset=$(($2))
+ local count=$(($3))
+ local mtd
+
+ mtd=$(find_mtd_chardev $part)
+ [ -n "$mtd" ] || \
+ ath_caldata_die "no mtd device found for partition $part"
+
+ dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
+ ath_caldata_die "failed to extract calibration data from $mtd"
+}
+
+ath_caldata_extract_reverse() {
+ local part=$1
+ local offset=$2
+ local count=$(($3))
+ local mtd
+ local reversed
+ local caldata
+
+ mtd=$(find_mtd_chardev "$part")
+ reversed=$(hexdump -v -s $offset -n $count -e '/1 "%02x "' $mtd)
+
+ for byte in $reversed; do
+ caldata="\x${byte}${caldata}"
+ done
+
+ printf "%b" "$caldata" > /lib/firmware/$FIRMWARE
+}
+
+ath_caldata_from_file() {
+ local source=$1
+ local offset=$(($2))
+ local count=$(($3))
+
+ dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
+ ath_caldata_die "failed to extract calibration data from $source"
+}
+
+ath9k_patch_fw_mac() {
+ local mac=$1
+ local mac_offset=$(($2))
+ local chksum_offset=$(($3))
+ local xor_mac
+ local xor_fw_mac
+ local xor_fw_chksum
+
+ [ -z "$mac" -o -z "$mac_offset" ] && return
+
+ [ -n "$chksum_offset" ] && {
+ xor_mac=${mac//:/}
+ xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
+
+ xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
+ xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
+
+ xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
+ xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
+
+ printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
+ dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
+ }
+
+ macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1
+}
+
+ath9k_patch_fw_mac_crc() {
+ local mac=$1
+ local mac_offset=$2
+ local chksum_offset=$((mac_offset - 10))
+
+ ath9k_patch_fw_mac "${mac}" "${mac_offset}" "${chksum_offset}"
+}
+
+ath10kcal_patch_mac() {
+ local mac=$1
+
+ [ -z "$mac" ] && return
+
+ macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=6 count=1
+}
+
+ath10kcal_patch_mac_crc() {
+ local mac=$1
+ local mac_offset=6
+ local chksum_offset=2
+ local xor_mac
+ local xor_fw_mac
+ local xor_fw_chksum
+
+ xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
+ xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
+
+ ath10kcal_patch_mac "$mac" && {
+ xor_mac=${mac//:/}
+ xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
+
+ xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
+ xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
+
+ printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
+ dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
+ }
+}
Both ath9k and ath10k caldata extraction use similar functions, which in several cases only differ by their name. This patch moves functions to a shared library script and merges ath9k and ath10k variants there. MAC address patch functions are moved, but not merged, as they are considerably different from each other. Having the functions in a library file will also help to reuse them after the nand subtarget has been reworked. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> --- This has not been device-tested yet. --- .../etc/hotplug.d/firmware/10-ath9k-eeprom | 125 ++++-------------- .../etc/hotplug.d/firmware/11-ath10k-caldata | 113 ++++------------ .../base-files/lib/functions/ath-caldata.sh | 116 ++++++++++++++++ 3 files changed, 168 insertions(+), 186 deletions(-) create mode 100755 target/linux/ath79/base-files/lib/functions/ath-caldata.sh