diff options
Diffstat (limited to 'target/linux/ath79/generic')
6 files changed, 33 insertions, 3 deletions
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 0bae9dc384..15f2e18e0c 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -21,6 +21,7 @@ ath79_setup_interfaces() dlink,dir-505|\ engenius,ecb1750|\ glinet,gl-ar300m-lite|\ + mikrotik,routerboard-wap-g-5hact2hnd|\ netgear,ex6400|\ netgear,ex7300|\ ocedo,koala|\ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 4158116256..7a813b0db1 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -3,6 +3,7 @@ [ -e /lib/firmware/$FIRMWARE ] && exit 0 . /lib/functions/caldata.sh +. /lib/functions/mikrotik-caldata.sh board=$(board_name) @@ -40,6 +41,10 @@ case "$FIRMWARE" in caldata_extract "art" 0x1000 0x440 ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env ethaddr) ;; + mikrotik,routerboard-wap-g-5hact2hnd) + mikrotik_caldata_extract "art" 0x1000 0x440 + ath9k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x10) +2) + ;; nec,wg800hp) caldata_extract "art" 0x1000 0x440 ath9k_patch_mac $(mtd_get_mac_text board_data 0x680) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index c24e062b5c..3be2d337b9 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -4,6 +4,7 @@ . /lib/functions/caldata.sh . /lib/functions/k2t.sh +. /lib/functions/mikrotik-caldata.sh board=$(board_name) @@ -64,6 +65,9 @@ case "$FIRMWARE" in caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +2) ;; + mikrotik,routerboard-wap-g-5hact2hnd) + mikrotik_caldata_extract "art" 0x5000 0x844 + ;; nec,wg800hp) caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(mtd_get_mac_text board_data 0x880) diff --git a/target/linux/ath79/generic/base-files/lib/functions/mikrotik-caldata.sh b/target/linux/ath79/generic/base-files/lib/functions/mikrotik-caldata.sh new file mode 100644 index 0000000000..9c4016ee5d --- /dev/null +++ b/target/linux/ath79/generic/base-files/lib/functions/mikrotik-caldata.sh @@ -0,0 +1,21 @@ +# Copyright (C) 2019 Robert Marko <robimarko@gmail.com> +# Copyright (C) 2019 Roger Pueyo Centelles <roger.pueyo@guifi.net> +# +# Helper function to extract MAC addresses and calibration data for MikroTik +# + +mikrotik_caldata_extract() { + local part=$1 + local offset=$(($2)) + local count=$(($3)) + local mtd + local erdfile="/lib/firmware/erd.bin" + + mtd=$(find_mtd_chardev $part) + [ -n "$mtd" ] || caldata_die "no mtd device found for partition $part" + + rbextract -e $mtd $erdfile + + dd if=$erdfile of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \ + caldata_die "failed to extract calibration data from $mtd" +} diff --git a/target/linux/ath79/generic/config-default b/target/linux/ath79/generic/config-default index 20da0b8ba1..2d8f7f20c2 100644 --- a/target/linux/ath79/generic/config-default +++ b/target/linux/ath79/generic/config-default @@ -9,6 +9,7 @@ CONFIG_MICREL_PHY=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-3 CONFIG_MTD_SPLIT_EVA_FW=y +CONFIG_MTD_SPLIT_MINOR_FW=y CONFIG_PHY_AR7100_USB=y CONFIG_PHY_AR7200_USB=y CONFIG_REGULATOR=y diff --git a/target/linux/ath79/generic/target.mk b/target/linux/ath79/generic/target.mk index 0a26110d27..488aa6df16 100644 --- a/target/linux/ath79/generic/target.mk +++ b/target/linux/ath79/generic/target.mk @@ -1,10 +1,8 @@ BOARDNAME:=Generic -FEATURES += squashfs +FEATURES += minor squashfs DEFAULT_PACKAGES += wpad-basic define Target/Description Build firmware images for generic Atheros AR71xx/AR913x/AR934x based boards. endef - - |