aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
diff options
context:
space:
mode:
authorMathias Kresin <dev@kresin.me>2018-03-02 19:28:50 +0100
committerMathias Kresin <dev@kresin.me>2018-05-17 07:40:19 +0200
commit75ed56a08a4ce978323259a59a8f45ceed511584 (patch)
tree7fca1a4625212688cf2aefc9679d1bf39f7a5489 /target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
parentbc04cf780e95aa292695f064dfaeea08df8c9b84 (diff)
downloadupstream-75ed56a08a4ce978323259a59a8f45ceed511584.tar.gz
upstream-75ed56a08a4ce978323259a59a8f45ceed511584.tar.bz2
upstream-75ed56a08a4ce978323259a59a8f45ceed511584.zip
ath79: add AVM FRITZ!WLAN Repeater 300E
No known issues, everything works fine. Signed-off-by: Mathias Kresin <dev@kresin.me>
Diffstat (limited to 'target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom')
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom21
1 files changed, 21 insertions, 0 deletions
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index fc15caea6f..c2d87f58de 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -24,11 +24,32 @@ ath9k_eeprom_extract() {
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
+}
+
board=$(board_name)
case "$FIRMWARE" in
"ath9k-eeprom-pci-0000:00:00.0.bin")
case $board in
+ "avm,fritz300e")
+ ath9k_eeprom_extract_reverse "urloader" 5441 1088
+ ;;
"ubnt,unifi")
ath9k_eeprom_extract "art" 4096 2048
;;