diff --git a/6.1/target/linux/ipq40xx/base-files/etc/board.d/02_network b/6.1/target/linux/ipq40xx/base-files/etc/board.d/02_network index 7758b041..97fbb10e 100644 --- a/6.1/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/6.1/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -24,6 +24,9 @@ ipq40xx_setup_interfaces() p2w,r619ac-64m|\ p2w,r619ac-128m|\ pakedge,wr-1|\ + teltonika,rutx|\ + teltonika,rutx12|\ + teltonika,rutx50|\ zyxel,nbg6617) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" ;; diff --git a/6.1/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/6.1/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 88319423..ea90aab5 100644 --- a/6.1/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/6.1/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -51,8 +51,144 @@ board=$(board_name) ensure_correct_art case "$FIRMWARE" in -"ath10k/pre-cal-ahb-a000000.wifi.bin") +"ath10k/cal-pci-0000:01:00.0.bin") case "$board" in + meraki,mr33 |\ + meraki,mr74) + caldata_extract_ubi "ART" 0x9000 0x844 + caldata_valid "4408" || caldata_extract "ART" 0x9000 0x844 + ;; + esac + ;; +"ath10k/pre-cal-pci-0000:01:00.0.bin") + case "$board" in + asus,map-ac2200) + caldata_extract_ubi "Factory" 0x9000 0x2f20 + ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \ + /lib/firmware/ath10k/QCA9888/hw2.0/board.bin + ;; + asus,rt-ac42u) + caldata_extract_ubi "Factory" 0x9000 0x2f20 + ;; + avm,fritzrepeater-3000) + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") + ;; + linksys,ea8300 |\ + linksys,mr8300) + caldata_extract "ART" 0x9000 0x2f20 + # OEM assigns 4 sequential MACs + ath10k_patch_mac $(macaddr_setbit_la $(macaddr_add "$(cat /sys/class/net/eth0/address)" 4)) + ;; + netgear,rbr50|\ + netgear,rbs50|\ + netgear,srr60|\ + netgear,srs60) + caldata_extract_mmc "0:ART" 0x9000 0x2f20 + ath10k_patch_mac $(mmc_get_mac_binary ARTMTD 0x12) + ;; + esac + ;; +"ath10k/pre-cal-ahb-a800000.wifi.bin") + case "$board" in + qcom,ap-dk01.1-c1) + caldata_extract "ART" 0x1000 0x2f20 + ;; + asus,map-ac2200|\ + asus,rt-ac42u|\ + asus,rt-ac58u) + caldata_extract_ubi "Factory" 0x1000 0x2f20 + ;; + avm,fritzbox-4040) + /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config") + ;; + avm,fritzbox-7530 |\ + avm,fritzrepeater-1200 |\ + avm,fritzrepeater-3000) + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") + ;; + cellc,rtl30vw) + caldata_extract "0:ART" 0x1000 0x2f20 + ;; + devolo,magic-2-wifi-next) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii APPSBLENV WiFiMacAddress0) + ;; + dlink,dap-2610) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac) + ;; + engenius,emd1) + caldata_extract "0:ART" 0x1000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr) + ;; + engenius,emr3500) + caldata_extract "0:ART" 0x1000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) + ;; + engenius,ens620ext) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) + ;; + extreme-networks,ws-ap3915i) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii CFG1 RADIOADDR0) + ;; + linksys,ea8300 |\ + linksys,mr8300) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 2) + ;; + meraki,mr33 |\ + meraki,mr74) + caldata_extract_ubi "ART" 0x1000 0x2f20 + caldata_valid "202f" || caldata_extract "ART" 0x1000 0x2f20 + ;; + mikrotik,cap-ac |\ + mikrotik,hap-ac2 |\ + mikrotik,hap-ac3 |\ + mikrotik,hap-ac3-lte6-kit |\ + mikrotik,wap-ac |\ + mikrotik,wap-ac-lte |\ + mikrotik,wap-r-ac) + wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data" + ( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x0 0x2f20 ) || \ + ( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_0" 0x0 0x2f20 ) + ;; + netgear,rbr50|\ + netgear,rbs50|\ + netgear,srr60|\ + netgear,srs60) + caldata_extract_mmc "0:ART" 0x1000 0x2f20 + ath10k_patch_mac $(mmc_get_mac_binary ARTMTD 0x0) + ;; + pakedge,wr-1) + caldata_extract "0:ART" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(get_mac_label) 2) + ;; + teltonika,rutx10|\ + teltonika,rutx50) + caldata_extract "0:ART" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary "0:CONFIG" 0x0) 2) + ;; + sony,ncp-hg100-cellular) + caldata_extract_mmc "0:ART" 0x1000 0x2f20 + ;; + zyxel,nbg6617 |\ + zyxel,wre6606) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2) + ;; + teltonika,rutx12 |\ teltonika,rutx) ath10kcal_extract "0:ART" 4096 12064 ;; @@ -60,11 +196,136 @@ case "$FIRMWARE" in ;; "ath10k/pre-cal-ahb-a800000.wifi.bin") case "$board" in + qcom,ap-dk01.1-c1) + caldata_extract "ART" 0x5000 0x2f20 + ;; + asus,map-ac2200|\ + asus,rt-ac58u) + caldata_extract_ubi "Factory" 0x5000 0x2f20 + ;; + avm,fritzbox-4040) + /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config") + ;; + avm,fritzbox-7530 |\ + avm,fritzrepeater-1200 |\ + avm,fritzrepeater-3000) + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") + ;; + cellc,rtl30vw) + caldata_extract "0:ART" 0x5000 0x2f20 + ;; + devolo,magic-2-wifi-next) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii APPSBLENV WiFiMacAddress1) + ;; + dlink,dap-2610) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a) + ;; + engenius,emd1) + caldata_extract "0:ART" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr) 1) + ;; + engenius,emr3500) + caldata_extract "0:ART" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) 1) + ;; + engenius,ens620ext) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 3) + ;; + extreme-networks,ws-ap3915i) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii CFG1 RADIOADDR1) + ;; + linksys,ea8300 |\ + linksys,mr8300) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 3) + ;; + meraki,mr33 |\ + meraki,mr74) + caldata_extract_ubi "ART" 0x5000 0x2f20 + caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20 + ;; + mikrotik,cap-ac |\ + mikrotik,hap-ac2 |\ + mikrotik,hap-ac3 |\ + mikrotik,hap-ac3-lte6-kit |\ + mikrotik,sxtsq-5-ac |\ + mikrotik,wap-ac |\ + mikrotik,wap-ac-lte |\ + mikrotik,wap-r-ac) + wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data" + ( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x8000 0x2f20 ) || \ + ( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_2" 0x0 0x2f20 ) + ;; + netgear,rbr50|\ + netgear,rbs50|\ + netgear,srr60|\ + netgear,srs60) + caldata_extract_mmc "0:ART" 0x5000 0x2f20 + ath10k_patch_mac $(mmc_get_mac_binary ARTMTD 0xc) + ;; + pakedge,wr-1) + caldata_extract "0:ART" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(get_mac_label) 4) + ;; + teltonika,rutx10|\ + teltonika,rutx50) + caldata_extract "0:ART" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary "0:CONFIG" 0x0) 3) + ;; + sony,ncp-hg100-cellular) + caldata_extract_mmc "0:ART" 0x5000 0x2f20 + ;; + zyxel,nbg6617 |\ + zyxel,wre6606) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -1) + ;; + teltonika,rutx12 |\ teltonika,rutx) ath10kcal_extract "0:ART" 20480 12064 ;; esac ;; +"ath10k/QCA4019/hw1.0/board-ahb-a000000.wifi.bin") + case "$board" in + mikrotik,cap-ac |\ + mikrotik,hap-ac2 |\ + mikrotik,hap-ac3 |\ + mikrotik,hap-ac3-lte6-kit |\ + mikrotik,wap-ac |\ + mikrotik,wap-ac-lte |\ + mikrotik,wap-r-ac) + wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data" + ( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x2f20 0x2f20 ) || \ + ( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_0" 0x2f20 0x2f20 ) + ;; + esac + ;; +"ath10k/QCA4019/hw1.0/board-ahb-a800000.wifi.bin") + case "$board" in + mikrotik,cap-ac |\ + mikrotik,hap-ac2 |\ + mikrotik,hap-ac3 |\ + mikrotik,hap-ac3-lte6-kit |\ + mikrotik,sxtsq-5-ac |\ + mikrotik,wap-ac |\ + mikrotik,wap-ac-lte |\ + mikrotik,wap-r-ac) + wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data" + ( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0xaf20 0x2f20 ) || \ + ( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_2" 0x2f20 0x2f20 ) + ;; + esac + ;; *) exit 1 ;; diff --git a/6.1/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/6.1/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index a7fc337d..c2e675c6 100644 --- a/6.1/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/6.1/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -187,10 +187,16 @@ platform_do_upgrade() { PART_NAME="inactive" platform_do_upgrade_dualboot_datachk "$1" ;; + teltonika,rutx12 |\ teltonika,rutx) platform_do_upgrade_ipq "$1" ;; - zte,mf286d) + teltonika,rutx10 |\ + teltonika,rutx50 |\ + zte,mf18a |\ + zte,mf286d |\ + zte,mf287plus |\ + zte,mf289f) CI_UBIPART="rootfs" nand_do_upgrade "$1" ;;