diff --git a/scripts/download.pl b/scripts/download.pl index a3d03ff6fe..12e83325df 100755 --- a/scripts/download.pl +++ b/scripts/download.pl @@ -264,15 +264,14 @@ foreach my $mirror (@ARGV) { push @mirrors, "https://mirrors.tuna.tsinghua.edu.cn/apache/$1"; push @mirrors, "https://mirrors.ustc.edu.cn/apache/$1"; push @mirrors, "https://dlcdn.apache.org/$1"; - push @mirrors, "https://mirror.netcologne.de/apache.org/$1"; push @mirrors, "https://mirror.aarnet.edu.au/pub/apache/$1"; push @mirrors, "https://mirror.csclub.uwaterloo.ca/apache/$1"; push @mirrors, "https://archive.apache.org/dist/$1"; - push @mirrors, "http://mirror.cogentco.com/pub/apache/$1"; - push @mirrors, "http://mirror.navercorp.com/apache/$1"; - push @mirrors, "http://ftp.jaist.ac.jp/pub/apache/$1"; - push @mirrors, "ftp://apache.cs.utah.edu/apache.org/$1"; - push @mirrors, "ftp://apache.mirrors.ovh.net/ftp.apache.org/dist/$1"; + push @mirrors, "https://mirror.cogentco.com/pub/apache/$1"; + push @mirrors, "https://mirror.navercorp.com/apache/$1"; + push @mirrors, "https://ftp.jaist.ac.jp/pub/apache/$1"; + push @mirrors, "https://apache.cs.utah.edu/apache.org/$1"; + push @mirrors, "http://apache.mirrors.ovh.net/ftp.apache.org/dist/$1"; } elsif ($mirror =~ /^\@GITHUB\/(.+)$/) { my $dir = $1; my $i = 0; @@ -291,21 +290,17 @@ foreach my $mirror (@ARGV) { push @mirrors, "https://mirrors.ustc.edu.cn/gnu/$1"; push @mirrors, "https://mirror.csclub.uwaterloo.ca/gnu/$1"; push @mirrors, "https://mirror.netcologne.de/gnu/$1"; - push @mirrors, "http://ftp.kddilabs.jp/GNU/gnu/$1"; - push @mirrors, "http://www.nic.funet.fi/pub/gnu/gnu/$1"; - push @mirrors, "http://mirror.internode.on.net/pub/gnu/$1"; - push @mirrors, "http://mirror.navercorp.com/gnu/$1"; - push @mirrors, "ftp://mirrors.rit.edu/gnu/$1"; - push @mirrors, "ftp://download.xs4all.nl/pub/gnu/$1"; + push @mirrors, "https://ftp.kddilabs.jp/GNU/gnu/$1"; + push @mirrors, "https://www.nic.funet.fi/pub/gnu/gnu/$1"; + push @mirrors, "https://mirror.navercorp.com/gnu/$1"; + push @mirrors, "https://mirrors.rit.edu/gnu/$1"; push @mirrors, "https://ftp.gnu.org/gnu/$1"; } elsif ($mirror =~ /^\@SAVANNAH\/(.+)$/) { push @mirrors, "https://mirror.netcologne.de/savannah/$1"; push @mirrors, "https://mirror.csclub.uwaterloo.ca/nongnu/$1"; - push @mirrors, "http://ftp.acc.umu.se/mirror/gnu.org/savannah/$1"; - push @mirrors, "http://nongnu.uib.no/$1"; - push @mirrors, "http://ftp.igh.cnrs.fr/pub/nongnu/$1"; - push @mirrors, "ftp://cdimage.debian.org/mirror/gnu.org/savannah/$1"; - push @mirrors, "ftp://ftp.acc.umu.se/mirror/gnu.org/savannah/$1"; + push @mirrors, "https://ftp.acc.umu.se/mirror/gnu.org/savannah/$1"; + push @mirrors, "https://nongnu.uib.no/$1"; + push @mirrors, "https://cdimage.debian.org/mirror/gnu.org/savannah/$1"; } elsif ($mirror =~ /^\@KERNEL\/(.+)$/) { my @extra = ( $1 ); if ($filename =~ /linux-\d+\.\d+(?:\.\d+)?-rc/) { @@ -318,20 +313,18 @@ foreach my $mirror (@ARGV) { push @mirrors, "https://mirrors.ustc.edu.cn/kernel.org/$dir"; push @mirrors, "https://mirror.nju.edu.cn/kernel.org/$dir"; push @mirrors, "https://cdn.kernel.org/pub/$dir"; - push @mirrors, "https://ftp.jaist.ac.jp/pub/Linux/kernel.org/$dir"; - push @mirrors, "https://download.xs4all.nl/ftp.kernel.org/pub/$dir"; push @mirrors, "https://mirrors.mit.edu/kernel/$dir"; push @mirrors, "http://ftp.nara.wide.ad.jp/pub/kernel.org/$dir"; push @mirrors, "http://www.ring.gr.jp/archives/linux/kernel.org/$dir"; - push @mirrors, "ftp://ftp.riken.jp/Linux/kernel.org/$dir"; - push @mirrors, "ftp://www.mirrorservice.org/sites/ftp.kernel.org/pub/$dir"; + push @mirrors, "https://ftp.riken.jp/Linux/kernel.org/$dir"; + push @mirrors, "https://www.mirrorservice.org/sites/ftp.kernel.org/pub/$dir"; } } elsif ($mirror =~ /^\@GNOME\/(.+)$/) { push @mirrors, "https://mirrors.ustc.edu.cn/gnome/sources/$1"; push @mirrors, "https://mirror.nju.edu.cn/gnome/$1"; push @mirrors, "https://download.gnome.org/sources/$1"; push @mirrors, "https://mirror.csclub.uwaterloo.ca/gnome/sources/$1"; - push @mirrors, "http://ftp.acc.umu.se/pub/GNOME/sources/$1"; + push @mirrors, "https://ftp.acc.umu.se/pub/GNOME/sources/$1"; push @mirrors, "http://ftp.cse.buffalo.edu/pub/Gnome/sources/$1"; push @mirrors, "http://ftp.nara.wide.ad.jp/pub/X11/GNOME/sources/$1"; } else { diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi index e9bd05487c..c112b9a193 100644 --- a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi @@ -75,9 +75,3 @@ }; }; }; - -&wmac { - status = "okay"; - - qca,no-eeprom; -}; diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-750-r2.dts b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-750-r2.dts new file mode 100644 index 0000000000..b8fa9f2a70 --- /dev/null +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-750-r2.dts @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca9533_mikrotik_routerboard-16m.dtsi" + +/ { + compatible = "mikrotik,routerboard-750-r2", "qca,qca9533"; + model = "MikroTik RouterBOARD 750 r2 (hEX lite)"; + + aliases { + led-boot = &led_usr; + led-failsafe = &led_usr; + led-upgrade = &led_usr; + led-running = &led_usr; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + + led_usr: usr { + label = "green:usr"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + led1 { + label = "green:port1"; + gpios = <&ssr 0 GPIO_ACTIVE_LOW>; + }; + + led2 { + label = "green:port2"; + gpios = <&ssr 1 GPIO_ACTIVE_LOW>; + }; + + led3 { + label = "green:port3"; + gpios = <&ssr 2 GPIO_ACTIVE_LOW>; + }; + + led4 { + label = "green:port4"; + gpios = <&ssr 3 GPIO_ACTIVE_LOW>; + }; + + led5 { + label = "green:port5"; + gpios = <&ssr 4 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&pinmux { + pmx_spi_cs1: pinmux_spi_cs1 { + pinctrl-single,bits = <0x8 0x0a000000 0xff000000>; + }; +}; + +&spi { + pinctrl-names = "default"; + pinctrl-0 = <&pmx_spi_cs1>; + + cs-gpios = <0>, <&gpio 11 GPIO_ACTIVE_LOW>; + + ssr: ssr@1 { + compatible = "fairchild,74hc595"; + gpio-controller; + #gpio-cells = <2>; + registers-number = <1>; + reg = <1>; + spi-max-frequency = <10000000>; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy4>; +}; diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi index 79c9f44d32..4f6503f9ea 100644 --- a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi @@ -83,6 +83,12 @@ }; }; +&wmac { + status = "okay"; + + qca,no-eeprom; +}; + ð0 { status = "okay"; diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-lhg-hb.dtsi b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-lhg-hb.dtsi index a45365073b..aa5c57b278 100644 --- a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-lhg-hb.dtsi +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-lhg-hb.dtsi @@ -66,6 +66,12 @@ }; }; +&wmac { + status = "okay"; + + qca,no-eeprom; +}; + ð0 { status = "okay"; diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-map-2nd.dts b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-map-2nd.dts index 25971e6f43..062c3bd061 100644 --- a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-map-2nd.dts +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-map-2nd.dts @@ -93,6 +93,12 @@ }; }; +&wmac { + status = "okay"; + + qca,no-eeprom; +}; + ð0 { status = "okay"; diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-mapl-2nd.dts b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-mapl-2nd.dts index e2442f0095..e337bcc70d 100644 --- a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-mapl-2nd.dts +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-mapl-2nd.dts @@ -42,6 +42,12 @@ }; }; +&wmac { + status = "okay"; + + qca,no-eeprom; +}; + ð0 { status = "okay"; diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-wap-2nd.dts b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-wap-2nd.dts index 807941c608..d4d049920c 100644 --- a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-wap-2nd.dts +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-wap-2nd.dts @@ -36,6 +36,12 @@ }; }; +&wmac { + status = "okay"; + + qca,no-eeprom; +}; + ð0 { status = "okay"; diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-wapr-2nd.dts b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-wapr-2nd.dts index 49756f3336..19ada708d9 100644 --- a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-wapr-2nd.dts +++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-wapr-2nd.dts @@ -50,6 +50,12 @@ }; }; +&wmac { + status = "okay"; + + qca,no-eeprom; +}; + ð0 { status = "okay"; diff --git a/target/linux/ath79/image/mikrotik.mk b/target/linux/ath79/image/mikrotik.mk index 683e9a3330..d26420c7f5 100644 --- a/target/linux/ath79/image/mikrotik.mk +++ b/target/linux/ath79/image/mikrotik.mk @@ -9,6 +9,15 @@ define Device/mikrotik_routerboard-493g endef TARGET_DEVICES += mikrotik_routerboard-493g +define Device/mikrotik_routerboard-750-r2 + $(Device/mikrotik_nor) + SOC := qca9533 + DEVICE_MODEL := RouterBOARD 750 r2 (hEX lite) + IMAGE_SIZE := 16256k + SUPPORTED_DEVICES += rb-750-r2 +endef +TARGET_DEVICES += mikrotik_routerboard-750-r2 + define Device/mikrotik_routerboard-911-lite $(Device/mikrotik_nor) SOC := ar9344 diff --git a/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds b/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds index 31346ebdf5..66fa2ee6ac 100644 --- a/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds @@ -16,6 +16,7 @@ mikrotik,routerboard-lhg-5nd) ucidef_set_led_rssi "rssimediumhigh" "rssimediumhigh" "green:rssimediumhigh" "wlan0" "60" "100" ucidef_set_led_rssi "rssihigh" "rssihigh" "green:rssihigh" "wlan0" "80" "100" ;; +mikrotik,routerboard-750-r2|\ mikrotik,routerboard-951ui-2hnd|\ mikrotik,routerboard-951ui-2nd|\ mikrotik,routerboard-952ui-5ac2nd) diff --git a/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network b/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network index 68c8cfb96e..d45af6dbb3 100644 --- a/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network +++ b/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network @@ -14,6 +14,11 @@ ath79_setup_interfaces() ucidef_add_switch "switch1" \ "0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3" ;; + mikrotik,routerboard-750-r2) + ucidef_set_interface_wan "eth1" + ucidef_add_switch "switch0" \ + "0@eth0" "1:lan:4" "2:lan:1" "3:lan:3" "4:lan:2" + ;; mikrotik,routerboard-911-lite|\ mikrotik,routerboard-912uag-2hpnd|\ mikrotik,routerboard-lhg-2nd|\ diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index 951e0ad044..614afa8590 100644 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -88,6 +88,8 @@ ipq40xx_setup_interfaces() aruba,ap-303h|\ buffalo,wtr-m2133hp|\ ezviz,cs-w3-wd1200g-eup|\ + netgear,rbr40|\ + netgear,rbs40|\ netgear,rbr50|\ netgear,rbs50|\ netgear,srr60|\ diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index e77267bf42..7b72df86ef 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -40,6 +40,8 @@ case "$FIRMWARE" in # OEM assigns 4 sequential MACs ath10k_patch_mac $(macaddr_setbit_la $(macaddr_add "$(cat /sys/class/net/eth0/address)" 4)) ;; + netgear,rbr40|\ + netgear,rbs40|\ netgear,rbr50|\ netgear,rbs50|\ netgear,srr60|\ @@ -117,6 +119,8 @@ case "$FIRMWARE" in ( [ -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,rbr40|\ + netgear,rbs40|\ netgear,rbr50|\ netgear,rbs50|\ netgear,srr60|\ @@ -211,6 +215,8 @@ case "$FIRMWARE" in ( [ -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,rbr40|\ + netgear,rbs40|\ netgear,rbr50|\ netgear,rbs50|\ netgear,srr60|\ diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index 83aac330ca..d55bb71c8b 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -191,6 +191,8 @@ platform_do_upgrade() { mikrotik,hap-ac3) platform_do_upgrade_mikrotik_nand "$1" ;; + netgear,rbr40|\ + netgear,rbs40|\ netgear,rbr50 |\ netgear,rbs50 |\ netgear,srr60 |\ diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rbr40.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rbr40.dts new file mode 100644 index 0000000000..26e87b808c --- /dev/null +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rbr40.dts @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019-orbi.dtsi" + +/ { + model = "NETGEAR RBR40"; + compatible = "netgear,rbr40"; + + chosen { + bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_ALT)ro,256K(0:CDT)ro,256K(0:CDT_ALT)ro,256K(0:DDRPARAMS)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_ALT)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,1457651200(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait"; + }; +}; diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rbs40.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rbs40.dts new file mode 100644 index 0000000000..2dfa0c9654 --- /dev/null +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rbs40.dts @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qcom-ipq4019-orbi.dtsi" + +/ { + model = "NETGEAR RBS40"; + compatible = "netgear,rbs40"; + + chosen { + bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_ALT)ro,256K(0:CDT)ro,256K(0:CDT_ALT)ro,256K(0:DDRPARAMS)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_ALT)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,1457651200(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait"; + }; +}; diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk index 15f48a67b2..29778156df 100644 --- a/target/linux/ipq40xx/image/generic.mk +++ b/target/linux/ipq40xx/image/generic.mk @@ -826,6 +826,30 @@ define Device/netgear_orbi DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup endef +define Device/netgear_rbx40 + $(call Device/netgear_orbi) + NETGEAR_HW_ID := 29765515+0+4096+512+2x2+2x2+2x2 + KERNEL_SIZE := 3932160 + ROOTFS_SIZE := 32243712 + IMAGE_SIZE := 36175872 +endef + +define Device/netgear_rbr40 + $(call Device/netgear_rbx40) + DEVICE_MODEL := RBR40 + DEVICE_VARIANT := v1 + NETGEAR_BOARD_ID := RBR40 +endef +TARGET_DEVICES += netgear_rbr40 + +define Device/netgear_rbs40 + $(call Device/netgear_rbx40) + DEVICE_MODEL := RBS40 + DEVICE_VARIANT := v1 + NETGEAR_BOARD_ID := RBS40 +endef +TARGET_DEVICES += netgear_rbs40 + define Device/netgear_rbx50 $(call Device/netgear_orbi) NETGEAR_HW_ID := 29765352+0+4000+512+2x2+2x2+4x4