kiddin9 2 ani în urmă
părinte
comite
3184c94291

+ 1 - 11
devices/ipq50xx_arm/diy.sh

@@ -4,14 +4,4 @@ shopt -s extglob
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
-rm -rf package/feeds/kiddin9/rtl* feeds/kiddin9/{shortcut-fe,fullconenat-nft,dnsmasq,fibocom_QMI_WWAN} package/kernel/mt76 package/kernel/exfat package/feeds/packages/{fuse*,gl-mifi-mcu,jool,siit,libpfring,xr_usb_serial_common,xtables-addons} package/feeds/luci/ucode-mod-html package/feeds/luci/rpcd-mod-luci package/kernel/nat46 package/kernel/ath10k-ct package/devel/perf
-
-rm -rf devices/common/patches/{fix.patch,iptables.patch,kernel-defaults.patch,targets.patch}
-
-rm -rf toolchain/musl package/utils/e2fsprogs package/libs/libselinux package/feeds/packages/acl
-
-svn co https://github.com/openwrt/openwrt/branches/openwrt-23.05/toolchain/musl toolchain/musl
-svn co https://github.com/openwrt/openwrt/branches/openwrt-23.05/package/utils/e2fsprogs package/utils/e2fsprogs
-svn co https://github.com/openwrt/openwrt/branches/openwrt-23.05/package/libs/libselinux package/libs/libselinux
-svn co https://github.com/openwrt/openwrt/branches/openwrt-23.05/package/utils/ucode package/utils/ucode
-#ln -sf $(pwd)/feeds/luci/modules/luci-base package/feeds/kiddin9/
+sed -i "s/PKG_SOURCE_DATE:=.*/PKG_SOURCE_DATE:=2024-12-06/" package/network/config/netifd/Makefile

+ 0 - 4
devices/ipq50xx_arm/feeds.conf

@@ -1,4 +0,0 @@
-src-git packages https://git.openwrt.org/feed/packages.git;openwrt-21.02
-src-git luci https://github.com/openwrt/luci.git;openwrt-23.05
-src-git routing https://git.openwrt.org/feed/routing.git;openwrt-21.02
-src-git kiddin9 https://github.com/kiddin9/openwrt-packages.git;master

+ 0 - 41
devices/ipq50xx_arm/patches/fix.patch

@@ -1,41 +0,0 @@
---- a/include/image.mk
-+++ b/include/image.mk
-@@ -609,6 +609,7 @@ define Device/Build/image
- 	IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
- 	IMAGE_FILESYSTEM="$(1)" \
- 	IMAGE_PREFIX="$(IMAGE_PREFIX)" \
-+	KERNEL_INITRAMFS_IMAGE="$(subst $(IMG_PREFIX_EXTRA),,$(KERNEL_INITRAMFS_IMAGE))" \
- 	DEVICE_VENDOR="$(DEVICE_VENDOR)" \
- 	DEVICE_MODEL="$(DEVICE_MODEL)" \
- 	DEVICE_VARIANT="$(DEVICE_VARIANT)" \
-
---- a/scripts/json_add_image_info.py
-+++ b/scripts/json_add_image_info.py
-@@ -48,6 +48,7 @@ def get_titles():
-     "profiles": {
-         device_id: {
-             "image_prefix": getenv("IMAGE_PREFIX"),
-+            "image_initramfs": getenv("KERNEL_INITRAMFS_IMAGE"),
-             "images": [
-                 {
-                     "type": getenv("IMAGE_TYPE"),
-
---- a/scripts/json_overview_image_info.py
-+++ b/scripts/json_overview_image_info.py
-@@ -47,7 +47,7 @@ def get_initial_output(image_info):
- 
- 
- if output:
--    default_packages, output["arch_packages"] = run(
-+    default_packages, output["arch_packages"], output["kernel_version"] = run(
-         [
-             "make",
-             "--no-print-directory",
-@@ -55,6 +55,7 @@ def get_initial_output(image_info):
-             "target/linux/",
-             "val.DEFAULT_PACKAGES",
-             "val.ARCH_PACKAGES",
-+            "val.LINUX_VERSION",
-         ],
-         stdout=PIPE,
-         stderr=PIPE,

+ 0 - 40
devices/ipq50xx_arm/patches/iptables-mod-socket.patch

@@ -1,40 +0,0 @@
---- a/package/network/utils/iptables/Makefile
-+++ b/package/network/utils/iptables/Makefile
-@@ -388,6 +388,19 @@ iptables extension for triggering a LED.
- 
- endef
- 
-+define Package/iptables-mod-socket
-+$(call Package/iptables/Module, +kmod-ipt-socket)
-+  TITLE:=Socket match iptables extensions
-+endef
-+
-+define Package/iptables-mod-socket/description
-+Socket match iptables extensions.
-+
-+ Matches:
-+  - socket
-+
-+endef
-+
- define Package/iptables-mod-tproxy
- $(call Package/iptables/Module, +kmod-ipt-tproxy)
-   TITLE:=Transparent proxy iptables extensions
-@@ -396,9 +409,6 @@ endef
- define Package/iptables-mod-tproxy/description
- Transparent proxy iptables extensions.
- 
-- Matches:
--  - socket
--
-  Targets:
-   - TPROXY
- 
-@@ -721,6 +731,7 @@ $(eval $(call BuildPlugin,iptables-mod-ulog,$(IPT_ULOG-m)))
- $(eval $(call BuildPlugin,iptables-mod-hashlimit,$(IPT_HASHLIMIT-m)))
- $(eval $(call BuildPlugin,iptables-mod-rpfilter,$(IPT_RPFILTER-m)))
- $(eval $(call BuildPlugin,iptables-mod-led,$(IPT_LED-m)))
-+$(eval $(call BuildPlugin,iptables-mod-socket,$(IPT_SOCKET-m)))
- $(eval $(call BuildPlugin,iptables-mod-tproxy,$(IPT_TPROXY-m)))
- $(eval $(call BuildPlugin,iptables-mod-tee,$(IPT_TEE-m)))
- $(eval $(call BuildPlugin,iptables-mod-u32,$(IPT_U32-m)))

+ 0 - 10
devices/ipq50xx_arm/patches/kernel-defaults.patch

@@ -1,10 +0,0 @@
---- a/include/kernel-defaults.mk
-+++ b/include/kernel-defaults.mk
-@@ -115,6 +115,7 @@ endef
- 
- define Kernel/CompileModules/Default
- 	rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map
-+	+$(KERNEL_MAKE) olddefconfig
- 	+$(KERNEL_MAKE) modules
- endef
- 

+ 0 - 21
devices/ipq50xx_arm/patches/targets.patch

@@ -1,21 +0,0 @@
---- a/include/target.mk
-+++ b/include/target.mk
-@@ -51,7 +51,17 @@ DEFAULT_PACKAGES.router:=\
- 	odhcp6c \
- 	odhcpd-ipv6only \
- 	ppp \
--	ppp-mod-pppoe
-+	ppp-mod-pppoe \
-+	kmod-ipt-nat \
-+	kmod-ipt-nat6
-+
-+ifeq ($(ARCH),arm)
-+  DEFAULT_PACKAGES+=luci-app-cpufreq
-+endif
-+
-+ifeq ($(ARCH),aarch64)
-+  DEFAULT_PACKAGES+=luci-app-cpufreq
-+endif
- 
- ifneq ($(DUMP),)
-   all: dumpinfo

+ 1 - 1
devices/ipq50xx_arm/settings.ini

@@ -1,2 +1,2 @@
 REPO_URL="https://github.com/hzyitc/openwrt-redmi-ax3000"
-REPO_BRANCH="ipq50xx-qsdk-kernel-5.4-openwrt-21.02-qsdk-11.5.05.841.1029"
+REPO_BRANCH="ipq50xx-mainline-kernel-5.15-openwrt-23.05"

+ 2 - 0
devices/ipq60xx_generic/diy.sh

@@ -17,6 +17,8 @@ svn co https://github.com/coolsnowwolf/openwrt-gl-ax1800/trunk/tools/squashfskit
 rm -rf target/linux/generic/files
 rm -rf package/network/config/netifd/patches
 
+sed -i "s/PKG_SOURCE_DATE:=.*/PKG_SOURCE_DATE:=2024-12-06/" package/network/config/netifd/Makefile
+
 curl -sfL https://raw.githubusercontent.com/coolsnowwolf/openwrt-gl-ax1800/master/include/netfilter.mk -o include/netfilter.mk
 curl -sfL https://raw.githubusercontent.com/coolsnowwolf/openwrt-gl-ax1800/master/include/quilt.mk -o include/quilt.mk
 

+ 1 - 3
devices/mediatek_filogic/diy.sh

@@ -1,5 +1,3 @@
 #!/bin/bash
 
-shopt -s extglob
-
-sh -c "curl -sfL https://patch-diff.githubusercontent.com/raw/openwrt/openwrt/pull/12820.patch | patch -d './' -p1 --forward"
+shopt -s extglob

+ 350 - 0
devices/mediatek_filogic/patches/nx30.patch

@@ -0,0 +1,350 @@
+From e78d1a06c8a47be9ea5a306bfb43f3d7ceb89646 Mon Sep 17 00:00:00 2001
+From: Chukun Pan <[email protected]>
+Date: Sun, 21 May 2023 23:00:16 +0800
+Subject: [PATCH] mediatek: filogic: add H3C Magic NX30 Pro support
+
+Hardware specification:
+  SoC: MediaTek MT7981B 2x A53
+  Flash: W25N01GVZEIG 128MB
+  RAM: NT5CB128M16JR-FL 256MB
+  Ethernet: 4x 10/100/1000 Mbps
+  Switch: MediaTek MT7531AE
+  WiFi: MediaTek MT7976C
+  Button: Reset, WPS
+  Power: DC 12V 1A
+
+Flash instructions:
+  1. PC run command: "telnet 192.168.124.1 99"
+     Username: H3C, password is the web login
+     password of the router.
+  2. Download preloader.bin and bl31-uboot.fip
+  3. PC run command: "python3 -m http.server 80"
+  4. Download files in the telnet window:
+     "wget http://192.168.124.xx/xxx.bin"
+     Replace xx with your PC's IP and
+     the preloader.bin and bl31-uboot.fip.
+  5. Flushing openwrt's uboot:
+     "mtd write xxx-preloader.bin BL2"
+     "mtd write xxx-bl31-uboot.fip FIP"
+  6. Connect to the router via the Lan port,
+     set a static ip of your PC.
+     (ip 192.168.1.254, gateway 192.168.1.1)
+  7. Download initramfs image, reboot router,
+     waiting for tftp recovery to complete.
+  8. After openwrt boots up, perform sysupgrade.
+
+Note:
+  1. The u-boot-env partition on mtd is empty,
+     OEM stores their env on ubi:u-boot-env.
+  2. Back up all mtd partitions before flashing.
+
+Signed-off-by: Chukun Pan <[email protected]>
+---
+ .../dts/mt7981b-h3c-magic-nx30-pro.dts        | 239 ++++++++++++++++++
+ .../filogic/base-files/etc/board.d/02_network |   8 +
+ .../etc/hotplug.d/ieee80211/11_fix_wifi_mac   |   5 +
+ .../base-files/lib/upgrade/platform.sh        |   1 +
+ target/linux/mediatek/image/filogic.mk        |  25 ++
+ 5 files changed, 278 insertions(+)
+ create mode 100644 target/linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts
+
+diff --git a/target/linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts b/target/linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts
+new file mode 100644
+index 0000000000000..358365adba44b
+--- /dev/null
++++ b/target/linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts
+@@ -0,0 +1,213 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++
++/dts-v1/;
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/input/input.h>
++
++#include "mt7981.dtsi"
++
++/ {
++	model = "H3C Magic NX30 Pro";
++	compatible = "h3c,magic-nx30-pro", "mediatek,mt7981";
++
++	aliases {
++		serial0 = &uart0;
++		led-boot = &led_status_green;
++		led-failsafe = &led_status_red;
++		led-running = &led_status_green;
++		led-upgrade = &led_status_red;
++	};
++
++	chosen {
++		stdout-path = "serial0:115200n8";
++	};
++
++	memory {
++		reg = <0 0x40000000 0 0x10000000>;
++	};
++
++	gpio-keys {
++		compatible = "gpio-keys";
++
++		reset {
++			label = "reset";
++			linux,code = <KEY_RESTART>;
++			gpios = <&pio 1 GPIO_ACTIVE_LOW>;
++		};
++
++		wps {
++			label = "wps";
++			linux,code = <KEY_WPS_BUTTON>;
++			gpios = <&pio 0 GPIO_ACTIVE_LOW>;
++		};
++	};
++
++	leds {
++		compatible = "gpio-leds";
++
++		led_status_green: green {
++			label = "green:status";
++			gpios = <&pio 4 GPIO_ACTIVE_LOW>;
++		};
++
++		led_status_red: red {
++			label = "red:status";
++			gpios = <&pio 5 GPIO_ACTIVE_LOW>;
++		};
++	};
++};
++
++&eth {
++	status = "okay";
++
++	gmac0: mac@0 {
++		compatible = "mediatek,eth-mac";
++		reg = <0>;
++		phy-mode = "2500base-x";
++
++		fixed-link {
++			speed = <2500>;
++			full-duplex;
++			pause;
++		};
++	};
++
++	gmac1: mac@1 {
++		compatible = "mediatek,eth-mac";
++		reg = <1>;
++		phy-mode = "gmii";
++		phy-handle = <&int_gbe_phy>;
++	};
++};
++
++&mdio_bus {
++	switch: switch@0 {
++		compatible = "mediatek,mt7531";
++		reg = <31>;
++		reset-gpios = <&pio 39 GPIO_ACTIVE_HIGH>;
++		interrupt-controller;
++		#interrupt-cells = <1>;
++		interrupt-parent = <&pio>;
++		interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
++	};
++};
++
++&spi0 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&spi0_flash_pins>;
++	status = "okay";
++
++	spi_nand@0 {
++		compatible = "spi-nand";
++		#address-cells = <1>;
++		#size-cells = <1>;
++		reg = <0>;
++
++		spi-max-frequency = <52000000>;
++		spi-tx-buswidth = <4>;
++		spi-rx-buswidth = <4>;
++
++		partitions {
++			compatible = "fixed-partitions";
++			#address-cells = <1>;
++			#size-cells = <1>;
++
++			partition@0 {
++				label = "BL2";
++				reg = <0x0000000 0x0100000>;
++				read-only;
++			};
++
++			partition@100000 {
++				label = "u-boot-env";
++				reg = <0x0100000 0x0080000>;
++			};
++
++			factory: partition@180000 {
++				label = "Factory";
++				reg = <0x0180000 0x0200000>;
++				read-only;
++			};
++
++			partition@380000 {
++				label = "FIP";
++				reg = <0x0380000 0x0200000>;
++				read-only;
++			};
++
++			partition@580000 {
++				label = "ubi";
++				reg = <0x0580000 0x04000000>;
++			};
++		};
++	};
++};
++
++&switch {
++	ports {
++		#address-cells = <1>;
++		#size-cells = <0>;
++
++		port@0 {
++			reg = <0>;
++			label = "lan1";
++		};
++
++		port@1 {
++			reg = <1>;
++			label = "lan2";
++		};
++
++		port@2 {
++			reg = <2>;
++			label = "lan3";
++		};
++
++		port@6 {
++			reg = <6>;
++			ethernet = <&gmac0>;
++			phy-mode = "2500base-x";
++
++			fixed-link {
++				speed = <2500>;
++				full-duplex;
++				pause;
++			};
++		};
++	};
++};
++
++&pio {
++	spi0_flash_pins: spi0-pins {
++		mux {
++			function = "spi";
++			groups = "spi0", "spi0_wp_hold";
++		};
++
++		conf-pu {
++			pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
++			drive-strength = <8>;
++			mediatek,pull-up-adv = <0>; /* bias-disable */
++		};
++
++		conf-pd {
++			pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
++			drive-strength = <8>;
++			mediatek,pull-up-adv = <0>; /* bias-disable */
++		};
++	};
++};
++
++&uart0 {
++	status = "okay";
++};
++
++&watchdog {
++	status = "okay";
++};
++
++&wifi {
++	status = "okay";
++
++	mediatek,mtd-eeprom = <&factory 0x0>;
++};
+diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
+index c05c5d25e4621..6abc81a0b0561 100644
+--- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
++++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
+@@ -23,6 +23,9 @@
+ 	glinet,gl-mt3000)
+ 		ucidef_set_interfaces_lan_wan eth1 eth0
+ 		;;
++	h3c,magic-nx30-pro)
++		ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" eth1
++		;;
+ 	mediatek,mt7986a-rfb)
+ 		ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan6" "eth1 wan"
+ 		;;
+@@ -69,6 +72,11 @@
+ 	bananapi,bpi-r3)
+ 		wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1)
+ 		;;
++	h3c,magic-nx30-pro)
++		wan_mac=$(mtd_get_mac_ascii pdt_data_1 ethaddr)
++		lan_mac=$(macaddr_add "$wan_mac" 1)
++		label_mac=$wan_mac
++		;;
+ 	netgear,wax220)
+ 		lan_mac=$(mtd_get_mac_ascii u-boot-env mac)
+ 		label_mac=$lan_mac
+diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
+index 4b7047eec5e5a..ab23b100444ce 100644
+--- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
++++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
+@@ -32,6 +32,11 @@
+ 		[ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress
+ 		[ "$PHYNBR" = "1" ] && macaddr_setbit_la $(macaddr_add $addr 1) > /sys${DEVPATH}/macaddress
+ 		;;
++	h3c,magic-nx30-pro)
++		addr=$(mtd_get_mac_ascii pdt_data_1 ethaddr)
++		[ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
++		[ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
++		;;
+ 	netgear,wax220)
+ 		hw_mac_addr=$(mtd_get_mac_ascii u-boot-env mac)
+ 		[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
+
+diff --git a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
+index 11c2c5c66439d..186abfa5a8d82 100755
+--- a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
++++ b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
+@@ -74,6 +74,7 @@ platform_do_upgrade() {
+ 		CI_UBIPART="ubi0"
+ 		nand_do_upgrade "$1"
+ 		;;
++	h3c,magic-nx30-pro|\
+ 	qihoo,360t7|\
+ 	tplink,tl-xdr4288|\
+ 	tplink,tl-xdr6086|\
+diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk
+index fd83b9d4416f9..2ace305140b2e 100644
+--- a/target/linux/mediatek/image/filogic.mk
++++ b/target/linux/mediatek/image/filogic.mk
+@@ -176,6 +176,21 @@ define Device/glinet_gl-mt3000
+ endef
+ TARGET_DEVICES += glinet_gl-mt3000
+ 
++define Device/h3c_magic-nx30-pro
++  DEVICE_VENDOR := H3C
++  DEVICE_MODEL := Magic NX30 Pro
++  DEVICE_DTS := mt7981b-h3c-magic-nx30-pro
++  DEVICE_DTS_DIR := ../dts
++  UBINIZE_OPTS := -E 5
++  BLOCKSIZE := 128k
++  PAGESIZE := 2048
++  KERNEL_IN_UBI := 1
++  IMAGE_SIZE := 65536k
++  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
++  DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware
++endef
++TARGET_DEVICES += h3c_magic-nx30-pro
++
+ define Device/netgear_wax220
+   DEVICE_VENDOR := Netgear
+   DEVICE_MODEL := WAX220

+ 1 - 0
devices/mediatek_mt7981/.config

@@ -7,6 +7,7 @@ CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_glinet_gl-x3000=y
 CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_glinet_gl-xe3000=y
 CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_mt7981-360-t7-108M=y
 CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_livinet_zr-3020=y
+CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_xiaomi_mi-router-wr30u=y
 CONFIG_TARGET_DEVICE_mediatek_mt7981_DEVICE_xiaomi_mi-router-wr30u-112m=y
 
 CONFIG_VERSION_DIST="OpenWrt"