ath79: add support for ON Networks N150R
[openwrt/staging/jow.git] / target / linux / ath79 / base-files / etc / hotplug.d / firmware / 10-ath9k-eeprom
index fc15caea6f4e6101d442b5946a8b3e900722ecde..5b22b1544f8189e50f6bce3e95bcd4b5c9884749 100644 (file)
@@ -24,11 +24,39 @@ 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
+               ;;
+       "tplink,tl-wdr3600"|\
+       "tplink,tl-wdr4300")
+               ath9k_eeprom_extract "art" 20480 1088
+               ;;
+       "netgear,wnr612-v2"|\
+       "on,n150r"|\
+       "tplink,tl-wr740n-v2"|\
        "ubnt,unifi")
                ath9k_eeprom_extract "art" 4096 2048
                ;;