Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2023-11-20 14:22:43 +08:00
commit 017a243526
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
14 changed files with 372 additions and 22 deletions

View File

@ -34,19 +34,19 @@ function compl32(v) {
BEGIN {
slpos=index(ARGV[1],"/")
if (slpos == 0) {
ipaddr=ip2int(ARGV[1])
dotpos=index(ARGV[2],".")
if (dotpos == 0)
netmask=compl32(2**(32-int(ARGV[2]))-1)
else
netmask=ip2int(ARGV[2])
} else {
ipaddr=ip2int(substr(ARGV[1],0,slpos-1))
netmask=compl32(2**(32-int(substr(ARGV[1],slpos+1)))-1)
if (slpos != 0) {
# rearrange arguments to not use compound notation
ARGV[4]=ARGV[3]
ARGV[3]=ARGV[2]
ARGV[2]=substr(ARGV[1],slpos+1)
ARGV[1]=substr(ARGV[1],0,slpos-1)
}
ipaddr=ip2int(ARGV[1])
dotpos=index(ARGV[2],".")
if (dotpos == 0)
netmask=compl32(2**(32-int(ARGV[2]))-1)
else
netmask=ip2int(ARGV[2])
network=and(ipaddr,netmask)
prefix=32-bitcount(compl32(netmask))

View File

@ -870,7 +870,7 @@
+ubi_init_emmc_install=run sdmmc_read_emmc_install && run ubi_write_emmc_install
+ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
+ubi_remove_rootfs=ubi check rootfs_data && ubi remove rootfs_data
+ubi_write_emmc_install=ubi check emmc_install && ubi remote emmc_install ; ubi create emmc_install 0x800000 dynamic ; ubi write $loadaddr emmc_install 0x800000
+ubi_write_emmc_install=ubi check emmc_install && ubi remove emmc_install ; ubi create emmc_install 0x800000 dynamic ; ubi write $loadaddr emmc_install 0x800000
+ubi_write_production=ubi check fit && ubi remove fit ; run ubi_remove_rootfs ; ubi create fit $filesize dynamic 2 && ubi write $loadaddr fit $filesize
+ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic 3 && ubi write $loadaddr recovery $filesize
+_init_env=setenv _init_env ; setenv _create_env ; saveenv ; saveenv

View File

@ -278,12 +278,12 @@ function iface_reload_config(phydev, config, old_config)
return false;
let iface = hostapd.interfaces[phy];
let iface_name = old_config.bss[0].ifname;
if (!iface) {
hostapd.printf(`Could not find previous interface ${iface_name}`);
return false;
}
let iface_name = old_config.bss[0].ifname;
let first_bss = hostapd.bss[iface_name];
if (!first_bss) {
hostapd.printf(`Could not find bss of previous interface ${iface_name}`);

View File

@ -4,7 +4,7 @@
*/
/dts-v1/;
#include "mt7981-jcg-q30.dts"
#include "mt7981b-jcg-q30.dts"
/ {
model = "JCG Q30 (custom U-Boot layout)";

View File

@ -0,0 +1,186 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,covr-x1860-a1", "mediatek,mt7621-soc";
model = "D-Link COVR-X1860 A1";
aliases {
led-boot = &status_orange;
led-failsafe = &status_red;
led-running = &status_white;
led-upgrade = &status_red;
};
chosen {
bootargs = "console=ttyS0,115200";
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
status_white: power {
label = "white:status";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
status_orange: status_orange {
label = "orange:status";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
default-state = "on";
};
status_red: status_red {
label = "red:status";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
};
virtual_flash {
compatible = "mtd-concat";
devices = <&fwconcat0 &fwconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "ubi";
reg = <0x0 0x0>;
};
};
};
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "bootloader";
reg = <0x0 0x80000>;
read-only;
};
partition@80000 {
label = "config";
reg = <0x80000 0x80000>;
read-only;
};
factory: partition@100000 {
label = "factory";
reg = <0x100000 0x80000>;
read-only;
};
partition@180000 {
label = "config2";
reg = <0x180000 0x40000>;
read-only;
};
partition@1c0000 {
label = "kernel";
reg = <0x1c0000 0x800000>;
};
fwconcat0: partition@9c0000 {
label = "fwconcat0";
reg = <0x9c0000 0x2000000>;
};
partition@29c0000 {
label = "kernel2";
reg = <0x29c0000 0x800000>;
read-only;
};
fwconcat1: partition@31c0000 {
label = "fwconcat1";
reg = <0x31c0000 0x2a00000>;
};
partition@5bc0000 {
label = "private";
reg = <0x5bc0000 0x1400000>;
read-only;
};
partition@6fc0000 {
label = "mydlink";
reg = <0x6fc0000 0x600000>;
read-only;
};
partition@75c0000 {
label = "myconfig";
reg = <0x75c0000 0xa00000>;
read-only;
};
};
};
&pcie {
status = "okay";
};
&pcie1 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0>;
mediatek,disable-radar-background;
};
};
&gmac1 {
status = "okay";
phy-handle = <&ethphy4>;
};
&mdio {
ethphy4: ethernet-phy@4 {
reg = <4>;
};
};
&switch0 {
ports {
port@0 {
status = "okay";
label = "internet";
};
port@2 {
status = "okay";
label = "ethernet";
};
};
};

View File

@ -0,0 +1,100 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7628an_tplink_8m-split-uboot.dtsi"
/ {
compatible = "tplink,archer-c50-v6", "mediatek,mt7628an-soc";
model = "TP-Link Archer C50 v6 (CA/EU/RU)";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "green:power";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
wlan2 {
label = "green:wlan2g";
gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
};
wlan5 {
label = "green:wlan5g";
gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
};
lan {
label = "green:lan";
gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
};
wan {
label = "green:wan";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
};
wan_orange {
label = "orange:wan";
gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
};
};
};
&ehci {
status = "disabled";
};
&ohci {
status = "disabled";
};
&state_default {
gpio {
groups = "i2c", "p0led_an", "p1led_an", "p2led_an",
"p3led_an", "p4led_an", "wdt", "wled_an";
function = "gpio";
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
ieee80211-freq-limit = <5000000 6000000>;
nvmem-cells = <&eeprom_radio_8000>, <&macaddr_rom_f100>;
nvmem-cell-names = "eeprom", "mac-address";
mac-address-increment = <(-1)>;
};
};
&eeprom_radio_8000 {
/* V2 has different eeprom size '0x4da8' for MT7613 */
reg = <0x8000 0x4da8>;
};

View File

@ -9,6 +9,14 @@ DEFAULT_SOC := mt7621
DEVICE_VARS += ELECOM_HWNAME LINKSYS_HWNAME DLINK_HWID
define Build/append-dlink-covr-metadata
echo -ne '{"supported_devices": "$(1)", "firmware": "' > $@metadata.tmp
$(MKHASH) md5 "$@" | head -c32 >> $@metadata.tmp
echo '"}' >> $@metadata.tmp
fwtool -I $@metadata.tmp $@
rm $@metadata.tmp
endef
define Build/arcadyan-trx
echo -ne "hsqs" > $@.hsqs
$(eval trx_magic=$(word 1,$(1)))
@ -642,16 +650,39 @@ define Device/cudy_x6-v2
endef
TARGET_DEVICES += cudy_x6-v2
define Device/dlink_covr-x1860-a1
$(Device/dsa-migration)
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE := 8192k
IMAGE_SIZE := 40960k
DEVICE_VENDOR := D-Link
DEVICE_MODEL := COVR-X1860
DEVICE_VARIANT := A1
DEVICE_PACKAGES := kmod-mt7915-firmware
UBINIZE_OPTS := -E 5
KERNEL_LOADADDR := 0x82000000
KERNEL := kernel-bin | relocate-kernel 0x80001000 | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | \
append-squashfs4-fakeroot
IMAGES += factory.bin recovery.bin
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
IMAGE/recovery.bin := append-kernel | pad-to $$(KERNEL_SIZE) | \
append-ubi | check-size
IMAGE/factory.bin := $$(IMAGE/recovery.bin) | \
append-dlink-covr-metadata $$(DEVICE_MODEL) | \
dlink-sge-image $$(DEVICE_MODEL)
endef
TARGET_DEVICES += dlink_covr-x1860-a1
define Device/dlink_dxx-1xx0-x1
DEVICE_VENDOR := D-Link
DEVICE_PACKAGES := kmod-mt7615-firmware rssileds
DEVICE_PACKAGES := kmod-mt7615-firmware rssileds -uboot-envtools
IMAGE_SIZE := 16064k
IMAGES += factory.bin
IMAGE/factory.bin := $$(sysupgrade_bin) | \
check-size 11009992 | pad-to 11009992 | \
append-md5sum-ascii-salted ffff | \
append-string $$(DLINK_HWID) | \
check-size
IMAGE/factory.bin := append-kernel | append-rootfs | \
pad-rootfs -x 60 | append-md5sum-ascii-salted ffff | \
append-string $$$$(DLINK_HWID) | check-size
endef
define Device/dlink_dap-1620-b1

View File

@ -596,6 +596,19 @@ define Device/tplink_archer-c50-v4
endef
TARGET_DEVICES += tplink_archer-c50-v4
define Device/tplink_archer-c50-v6
$(Device/tplink-v2)
IMAGE_SIZE := 7616k
DEVICE_MODEL := Archer C50
DEVICE_VARIANT := v6 (CA/EU/RU)
TPLINK_FLASHLAYOUT := 8MSUmtk
TPLINK_HWID := 0x0C500006
TPLINK_HWREVADD := 0x6
DEVICE_PACKAGES := kmod-mt7615e kmod-mt7663-firmware-ap
IMAGES := sysupgrade.bin
endef
TARGET_DEVICES += tplink_archer-c50-v6
define Device/tplink_re200-v2
$(Device/tplink-safeloader)
IMAGE_SIZE := 7808k

View File

@ -100,6 +100,9 @@ ramips_setup_interfaces()
zyxel,nr7101)
ucidef_set_interfaces_lan_wan "lan" "wan"
;;
dlink,covr-x1860-a1)
ucidef_set_interfaces_lan_wan "ethernet" "internet"
;;
gnubee,gb-pc1)
ucidef_set_interface_lan "ethblack ethblue"
;;
@ -221,6 +224,11 @@ ramips_setup_macs()
label_mac=$lan_mac
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
dlink,covr-x1860-a1)
label_mac=$(mtd_get_mac_ascii config2 factory_mac)
wan_mac=$(macaddr_add "$label_mac" 3)
lan_mac=$label_mac
;;
dlink,dir-860l-b1)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
wan_mac=$(mtd_get_mac_ascii factory wanmac)

View File

@ -46,6 +46,13 @@ case "$board" in
[ "$PHYNBR" = "1" ] && \
macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
;;
dlink,covr-x1860-a1)
label_mac=$(mtd_get_mac_ascii config2 factory_mac)
[ "$PHYNBR" = "0" ] && \
macaddr_add $label_mac 1 > /sys${DEVPATH}/macaddress
[ "$PHYNBR" = "1" ] && \
macaddr_add $label_mac 2 > /sys${DEVPATH}/macaddress
;;
dlink,dap-x1860-a1)
hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
[ "$PHYNBR" = "0" ] && \

View File

@ -63,6 +63,7 @@ platform_do_upgrade() {
beeline,smartbox-turbo|\
beeline,smartbox-turbo-plus|\
belkin,rt1800|\
dlink,covr-x1860-a1|\
dlink,dap-x1860-a1|\
dlink,dir-1960-a1|\
dlink,dir-2640-a1|\

View File

@ -76,7 +76,8 @@ tplink,tl-wr850n-v2)
ucidef_set_led_switch "wan" "wan" "green:wan" "switch0" "0x01"
;;
tplink,archer-c50-v3|\
tplink,archer-c50-v4)
tplink,archer-c50-v4|\
tplink,archer-c50-v6)
ucidef_set_led_switch "lan" "lan" "green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "green:wan" "switch0" "0x01"
ucidef_set_led_wlan "wlan2g" "wlan2g" "green:wlan2g" "phy0tpt"

View File

@ -46,6 +46,7 @@ ramips_setup_interfaces()
tplink,archer-c20-v5|\
tplink,archer-c50-v3|\
tplink,archer-c50-v4|\
tplink,archer-c50-v6|\
tplink,tl-mr3420-v5|\
tplink,tl-wr840n-v4|\
tplink,tl-wr840n-v5|\
@ -294,7 +295,8 @@ ramips_setup_macs()
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xf100)" 1)
;;
tplink,archer-c20-v5|\
tplink,archer-c50-v4)
tplink,archer-c50-v4|\
tplink,archer-c50-v6)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1)
;;
wavlink,wl-wn570ha1|\

View File

@ -29,7 +29,8 @@ platform_do_upgrade() {
default_do_upgrade "$1"
;;
tplink,archer-c20-v5|\
tplink,archer-c50-v4)
tplink,archer-c50-v4|\
tplink,archer-c50-v6)
MTD_ARGS="-t romfile"
default_do_upgrade "$1"
;;