26

Odp: Cudy AP3000 openwrt

@Królik a skąd masz Intermediate OpenWrt image dla AP3000 Outdoor?

27 (edytowany przez Królik 2024-08-13 21:17:25)

Odp: Cudy AP3000 openwrt

frutis napisał/a:

@Królik a skąd masz Intermediate OpenWrt image dla AP3000 Outdoor?

Na maila mi przysłali.

Bardzo łatwo jest zrobić obraz na sucho, bo dają dts w kodzie GPL. Przygotowałem firmware na sucho i wysłałem im, że gotowe. Dwa razy było "no way", ale skusili się, jak napisałem, że tylko skompilować muszą. A i tak zrobili swój ostatecznie, bo różnił się dts w kilku miejscach od tego, co zrobiłem. Mają teraz go dodać do swojego repozytorium na google drive. Outdoor jest tak sklejony, że nie da się dostać do seriala bez zniszczenia obudowy.

A Wasz AP3000 się resetuje bo nie macie gpio watchdoga odpalonego. To samo miałem z AP3000 outdoor. Nie róbcie dts na czuja, szkoda czasu. Dają w GPL wszystko, co potrzebujecie.


To wasz AP3000:

/dts-v1/;
#include "mt7981.dtsi"
/ {
    model = "MediaTek MT7981 RFB/R49";
    compatible = "mediatek,mt7981-spim-snand-rfb";
    chosen {
        bootargs = "console=ttyS0,115200n1 loglevel=8  \
                earlycon=uart8250,mmio32,0x11002000";
    };

    memory {
        // fpga ddr2: 128MB*2
        reg = <0 0x40000000 0 0x20000000>;
    };

    gpio-leds {
        compatible = "gpio-leds";
        
        red {
            label = "oem:green:red";
            gpios = <&pio 11 GPIO_ACTIVE_LOW>;
        };

        blue {
            label = "oem:green:blue";
            gpios = <&pio 10 GPIO_ACTIVE_LOW>;
        };

        status {
            label = "oem:green:status";
            gpios = <&pio 4 GPIO_ACTIVE_LOW>;
        };
    };
    
    gpio-keys-polled {
        compatible = "gpio-keys-polled";
        #address-cells = <1>;
        #size-cells = <0>;
        poll-interval = <20>;

        reset {
            label = "reset";
            gpios = <&pio 1 GPIO_ACTIVE_LOW>;
            linux,code = <KEY_RESTART>;
        };
    };

    gpio_export {
        compatible = "gpio-export";
        #size-cells = <0>;

        phyreset {
            gpio-export,name = "phyreset";
            gpio-export,output = <1>;
            gpios = <&pio 39 GPIO_ACTIVE_LOW>;
        };
    };

    watchdog-hw {
        compatible = "linux,wdt-gpio";
        gpios = <&pio 6 GPIO_ACTIVE_HIGH>;
        hw_algo = "level";
        hw_margin_ms = <10000>;
        always-running;
    };

    nmbm_spim_nand {
        compatible = "generic,nmbm";

        #address-cells = <1>;
        #size-cells = <1>;

        lower-mtd-device = <&spi_nand>;
        forced-create;

        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            partition@0 {
                label = "BL2";
                reg = <0x00000 0x0100000>;
                read-only;
            };

            partition@100000 {
                label = "u-boot-env";
                reg = <0x0100000 0x0080000>;
            };

            partition@180000 {
                label = "Factory";
                reg = <0x180000 0x0200000>;
            };
            
            bdinfo: partition@380000 {
                label = "bdinfo";
                reg = <0x380000 0x0040000>;
            };

            partition@3C0000 {
                label = "FIP";
                reg = <0x3C0000 0x0200000>;
            };

            partition@5C0000 {
                label = "ubi";
                reg = <0x5C0000 0x4000000>;
            };
        };
    };

    sound_wm8960 {
        compatible = "mediatek,mt79xx-wm8960-machine";
        mediatek,platform = <&afe>;
        audio-routing = "Headphone", "HP_L",
                "Headphone", "HP_R",
                "LINPUT1", "AMIC",
                "RINPUT1", "AMIC";
        mediatek,audio-codec = <&wm8960>;
        status = "disabled";
    };

    sound_si3218x {
        compatible = "mediatek,mt79xx-si3218x-machine";
        mediatek,platform = <&afe>;
        mediatek,ext-codec = <&proslic_spi>;
        status = "disabled";
    };
};

&afe {
    pinctrl-names = "default";
    pinctrl-0 = <&pcm_pins>;
    status = "okay";
};

&i2c0 {
    pinctrl-names = "default";
    pinctrl-0 = <&i2c_pins>;
    status = "disabled";

    wm8960: wm8960@1a {
        compatible = "wlf,wm8960";
        reg = <0x1a>;
    };
};

&uart0 {
    status = "okay";
};

&watchdog {
    status = "okay";
};

&eth {
        status = "okay";
        lower-mtd-name = "bdinfo";

        gmac0: mac@0 {
            compatible = "mediatek,eth-mac";
            reg = <0>;
            mtd-mac-address = <&bdinfo 0xDE00>;
            mtd-mac-address-increment = <1>;
            phy-mode = "2500base-x";
            phy-handle = <&phy1>;

            fixed-link {
                speed = <2500>;
                full-duplex;
                pause;
                /*
                link-gpio = <&pio 38 1>;
                phy-handle = <&phy1>;
                label = "eth0";
                */
            };

        };

    gmac1: mac@1 {
        compatible = "mediatek,eth-mac";
        reg = <1>;
        mtd-mac-address = <&bdinfo 0xDE00>;
        phy-mode = "gmii";
        phy-handle = <&phy0>;
    };

        mdio: mdio-bus {
                #address-cells = <1>;
                #size-cells = <0>;

        phy0: ethernet-phy@0 {
            compatible = "ethernet-phy-id03a2.9461";
            reg = <0>;
            phy-mode = "gmii";
            nvmem-cells = <&phy_calibration>;
            nvmem-cell-names = "phy-cal-data";
        };

            phy1: phy@1 {
                compatible = "ethernet-phy-id001c.c849";
                reg = <1>;
                /*
                reset-gpios = <&pio 39 1>;
                reset-assert-us = <10000>;
                reset-deassert-us = <50000>;
                */
                phy-mode = "2500base-x";
            };
        };
};

&hnat {
    mtketh-wan = "eth0";
    mtketh-lan = "eth1";
    mtketh-ppd = "eth1";
    mtketh-max-gmac = <2>;
    mtketh-lan-gmac = <2>;
    mtketh-wan-gmac = <1>;
    status = "okay";
};

&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_flash_pins>;
    status = "okay";
    spi_nand: spi_nand@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "spi-nand";
        reg = <0>;
        spi-max-frequency = <52000000>;
        spi-tx-buswidth = <4>;
        spi-rx-buswidth = <4>;
    };
};

&spi1 {
    pinctrl-names = "default";
    pinctrl-0 = <&spic_pins>;
    status = "okay";

    proslic_spi: proslic_spi@0 {
        compatible = "silabs,proslic_spi";
        reg = <0>;
        spi-max-frequency = <10000000>;
        spi-cpha = <1>;
        spi-cpol = <1>;
        channel_count = <1>;
        debug_level = <4>;       /* 1 = TRC, 2 = DBG, 4 = ERR */
        reset_gpio = <&pio 15 0>;
        ig,enable-spi = <1>;     /* 1: Enable, 0: Disable */
    };
};

&pio {

    i2c_pins: i2c-pins-g0 {
                mux {
                        function = "i2c";
                        groups = "i2c0_0";
                };
        };

        pcm_pins: pcm-pins-g0 {
                mux {
                        function = "pcm";
                        groups = "pcm";
                };
        };

        pwm0_pin: pwm0-pin-g0 {
                mux {
                        function = "pwm";
                        groups = "pwm0_0";
                };
        };

        pwm1_pin: pwm1-pin-g0 {
                mux {
                        function = "pwm";
                        groups = "pwm1_0";
                };
        };

        pwm2_pin: pwm2-pin {
                mux {
                        function = "pwm";
                        groups = "pwm2";
                };
        };

    spi0_flash_pins: spi0-pins {
        mux {
            function = "spi";
            groups = "spi0", "spi0_wp_hold";
        };

        conf-pu {
            pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
            drive-strength = <MTK_DRIVE_8mA>;
            bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
        };

        conf-pd {
            pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
            drive-strength = <MTK_DRIVE_8mA>;
            bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
        };
    };

    spic_pins: spi1-pins {
        mux {
            function = "spi";
            groups = "spi1_1";
        };
    };

    uart1_pins: uart1-pins-g1 {
                mux {
                        function = "uart";
                        groups = "uart1_1";
                };
        };

    uart2_pins: uart2-pins-g1 {
        mux {
                        function = "uart";
                        groups = "uart2_1";
                };
        };
};

&xhci {
    mediatek,u3p-dis-msk = <0x0>;
    phys = <&u2port0 PHY_TYPE_USB2>,
           <&u3port0 PHY_TYPE_USB3>;
    status = "okay";
};

Na tym trzeba bazować.  Watchdog jest tak samo jak w outdoor.

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

28

Odp: Cudy AP3000 openwrt

jak tylko mi sie cos uda wykompilowac to puszcze ten obraz, prosze tylko instrukcje co dalej - normalnie wgrywać sysupgrade czy jeszcze jakies komendy do bootloadera?

Dzieki za jakies info...

29 (edytowany przez Królik 2024-08-13 22:58:37)

Odp: Cudy AP3000 openwrt

From 678134c440e3b85cf371f9c0648f96390872632d Mon Sep 17 00:00:00 2001
From: Pawel Dembicki <paweldembicki@gmail.com>
Date: Tue, 13 Aug 2024 22:54:44 +0200
Subject: [PATCH] mediatek: filogic: add support for Cudy AP3000 V1

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
---
 .../lib/preinit/05_set_preinit_iface          |   1 +
 .../mediatek/dts/mt7981b-cudy-ap3000-v1.dts   | 209 ++++++++++++++++++
 .../filogic/base-files/etc/board.d/02_network |   1 +
 .../etc/hotplug.d/ieee80211/11_fix_wifi_mac   |   3 +-
 target/linux/mediatek/image/filogic.mk        |  17 ++
 5 files changed, 230 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts

diff --git a/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface b/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface
index 8e74c577cd50..4ceb9cf1895b 100644
--- a/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface
+++ b/target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface
@@ -6,6 +6,7 @@ set_preinit_iface() {
         ip link set eth1 up
         ifname=eth1
         ;;
+    cudy,ap3000-v1|\
     cudy,ap3000outdoor-v1|\
     cudy,re3000-v1|\
     ubnt,unifi-6-lr|\
diff --git a/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts
new file mode 100644
index 000000000000..d1b65db94138
--- /dev/null
+++ b/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts
@@ -0,0 +1,209 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+/dts-v1/;
+
+#include <dt-bindings/leds/common.h>
+
+#include "mt7981.dtsi"
+
+/ {
+    model = "Cudy AP3000 v1";
+    compatible = "cudy,ap3000-v1", "mediatek,mt7981-spim-snand-rfb";
+
+    aliases {
+        label-mac-device = &gmac0;
+        led-boot = &led_status;
+        led-failsafe = &led_status;
+        led-running = &led_status;
+        led-upgrade = &led_status;
+        serial0 = &uart0;
+    };
+
+    chosen {
+        stdout-path = "serial0:115200n8";
+    };
+
+    gpio-keys {
+        compatible = "gpio-keys";
+
+        reset {
+            label = "reset";
+            linux,code = <KEY_RESTART>;
+            gpios = <&pio 1 GPIO_ACTIVE_LOW>;
+        };
+    };
+
+    leds {
+        compatible = "gpio-leds";
+
+        led_0 {
+            function = LED_FUNCTION_POWER;
+            color = <LED_COLOR_ID_RED>;
+            gpios = <&pio 11 GPIO_ACTIVE_LOW>;
+        };
+
+        led_1 {
+            function = LED_FUNCTION_STATUS;
+            color = <LED_COLOR_ID_BLUE>;
+            gpios = <&pio 10 GPIO_ACTIVE_LOW>;
+        };
+
+        led_status_: led_2 {
+            function = LED_FUNCTION_STATUS;
+            color = <LED_COLOR_ID_GREEN>;
+            gpios = <&pio 4 GPIO_ACTIVE_LOW>;
+        };
+
+    };
+
+    watchdog-hw {
+        compatible = "linux,wdt-gpio";
+        gpios = <&pio 6 GPIO_ACTIVE_HIGH>;
+        hw_algo = "level";
+        hw_margin_ms = <10000>;
+        always-running;
+    };
+};
+
+&uart0 {
+    status = "okay";
+};
+
+&watchdog {
+    status = "okay";
+};
+
+&eth {
+    pinctrl-names = "default";
+    pinctrl-0 = <&mdio_pins>;
+
+    status = "okay";
+
+    gmac0: mac@0 {
+        compatible = "mediatek,eth-mac";
+        reg = <0>;
+        phy-mode = "2500base-x";
+        phy-handle = <&phy1>;
+        nvmem-cell-names = "mac-address";
+        nvmem-cells = <&macaddr_bdinfo_de00 1>;
+    };
+};
+
+&mdio_bus {
+    phy1: phy@1 {
+        reg = <1>;
+        compatible = "ethernet-phy-ieee802.3-c45";
+        phy-mode = "2500base-x";
+        reset-gpios = <&pio 39 GPIO_ACTIVE_LOW>;
+        interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
+        reset-assert-us = <100000>;
+        reset-deassert-us = <100000>;
+        realtek,aldps-enable;
+    };
+};
+
+&spi0 {
+    pinctrl-names = "default";
+    pinctrl-0 = <&spi0_flash_pins>;
+    status = "okay";
+
+    spi_nand: flash@0 {
+        #address-cells = <1>;
+        #size-cells = <1>;
+        compatible = "spi-nand";
+        reg = <0>;
+        spi-max-frequency = <52000000>;
+
+        spi-cal-enable;
+        spi-cal-mode = "read-data";
+        spi-cal-datalen = <7>;
+        spi-cal-data = /bits/ 8 <0x53 0x50 0x49 0x4E 0x41 0x4E 0x44>;
+        spi-cal-addrlen = <5>;
+        spi-cal-addr = /bits/ 32 <0x0 0x0 0x0 0x0 0x0>;
+
+        spi-tx-bus-width = <4>;
+        spi-rx-bus-width = <4>;
+        mediatek,nmbm;
+        mediatek,bmt-max-ratio = <1>;
+        mediatek,bmt-max-reserved-blocks = <64>;
+
+        partitions {
+            compatible = "fixed-partitions";
+            #address-cells = <1>;
+            #size-cells = <1>;
+
+            partition@0 {
+                label = "BL2";
+                reg = <0x00000 0x0100000>;
+                read-only;
+            };
+
+            partition@100000 {
+                label = "u-boot-env";
+                reg = <0x0100000 0x0080000>;
+                read-only;
+            };
+
+            factory: partition@180000 {
+                label = "Factory";
+                reg = <0x180000 0x0200000>;
+                read-only;
+                nvmem-layout {
+                    compatible = "fixed-layout";
+                    #address-cells = <1>;
+                    #size-cells = <1>;
+
+                    eeprom_factory_0: eeprom@0 {
+                        reg = <0x0 0x1000>;
+                    };
+                };
+            };
+
+            partition@380000 {
+                label = "bdinfo";
+                reg = <0x380000 0x0040000>;
+                read-only;
+                nvmem-layout {
+                    compatible = "fixed-layout";
+                    #address-cells = <1>;
+                    #size-cells = <1>;
+
+                    macaddr_bdinfo_de00: macaddr@de00 {
+                        compatible = "mac-base";
+                        reg = <0xde00 0x6>;
+                        #nvmem-cell-cells = <1>;
+                    };
+                };
+
+            };
+
+            partition@3C0000 {
+                label = "FIP";
+                reg = <0x3C0000 0x0200000>;
+                read-only;
+            };
+
+            partition@580000 {
+                label = "ubi";
+                reg = <0x5C0000 0x4000000>;
+                compatible = "linux,ubi";
+            };
+        };
+    };
+};
+
+
+&pio {
+    spi0_flash_pins: spi0-pins {
+        mux {
+            function = "spi";
+            groups = "spi0", "spi0_wp_hold";
+        };
+    };
+};
+
+&wifi {
+    status = "okay";
+    nvmem-cells = <&eeprom_factory_0>;
+    nvmem-cell-names = "eeprom";
+};
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 abe7682dfb86..7f3c2df8ee83 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
@@ -87,6 +87,7 @@ mediatek_setup_interfaces()
     mercusys,mr90x-v1)
         ucidef_set_interfaces_lan_wan "lan0 lan1 lan2" eth1
         ;;
+    cudy,ap3000-v1|\
     cudy,ap3000outdoor-v1|\
     cudy,re3000-v1|\
     netgear,wax220|\
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 ff9e9f881c5e..373cf344c5a3 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
@@ -26,7 +26,7 @@ case "$board" in
     asus,rt-ax59u)
         CI_UBIPART="UBI_DEV"
         addr=$(mtd_get_mac_binary_ubi "Factory" 0x4)
-        # Originally, phy1 is phy0 mac with LA and 28th bits set. However, this would conflict
+        # Originally, phy1 is phy0 mac outdoorwith LA and 28th bits set. However, this would conflict
         # addresses on multiple VIFs with the other radio when bit 28 is already set.
         # Set LA and 28 bits and increment mac-address instead.
         [ "$PHYNBR" = "1" ] && \
@@ -75,6 +75,7 @@ case "$board" in
         [ "$PHYNBR" = "0" ] && echo "$addr" > /sys${DEVPATH}/macaddress
         [ "$PHYNBR" = "1" ] && macaddr_setbit_la $(macaddr_add $addr 1) > /sys${DEVPATH}/macaddress
         ;;
+    cudy,ap3000-v1|\
     cudy,ap3000outdoor-v1|\
     cudy,m3000-v1|\
     cudy,wr3000-v1)
diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk
index 79d23651f025..83893241481e 100644
--- a/target/linux/mediatek/image/filogic.mk
+++ b/target/linux/mediatek/image/filogic.mk
@@ -507,6 +507,23 @@ define Device/confiabits_mt7981
 endef
 TARGET_DEVICES += confiabits_mt7981
 
+define Device/cudy_ap3000-v1
+  DEVICE_VENDOR := Cudy
+  DEVICE_MODEL := ap3000
+  DEVICE_VARIANT := v1
+  DEVICE_DTS := mt7981b-cudy-ap3000-v1
+  DEVICE_DTS_DIR := ../dts
+  SUPPORTED_DEVICES += R49
+  UBINIZE_OPTS := -E 5
+  BLOCKSIZE := 128k
+  PAGESIZE := 2048
+  IMAGE_SIZE := 65536k
+  KERNEL_IN_UBI := 1
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+  DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
+endef
+TARGET_DEVICES += cudy_ap3000-v1
+
 define Device/cudy_ap3000outdoor-v1
   DEVICE_VENDOR := Cudy
   DEVICE_MODEL := AP3000 Outdoor
-- 
2.34.1

Masz patcha. Wrzuć go do drzewa i skompiluj. Odpal obraz initramfs i jeśli będziesz miał radia oraz ethernet, możesz próbować sysupgrade. ALE koniecznie wcześniej backup. Initramfs możesz testować bez backupu.

Zrobiony na szybko, nie kompilowałem nawet. Jak nie pójdzie, będziemy poprawiać.

EDIT:
Nałożyłem go na swój patch do Outdoor, więc najlepiej jakbyś nakładał na moje źródło, bo będziesz musiał ręcznie rozwiązać konflikty.

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

30

Odp: Cudy AP3000 openwrt

Czy to jest to samo co zrobil linaro tutaj?
https://github.com/Linaro1985/openwrt/c … 0da18a0b43

Mam jeszcze pytanko czy backup partycji to podobnie jak w Ax3000t by się robiło? nanddump -f  itd?

31

Odp: Cudy AP3000 openwrt

Nie do końca, jest trochę różnic, na telefonie ciężko mi stwierdzić czy kosmetyka czy nie.

Backup po prostu wszystkie partycje. Metoda z ax3600 powinna zadziałać.

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

32

Odp: Cudy AP3000 openwrt

Porównam dziś  DTS z GPL z Twoim i zobaczę, obraz mi się już skompilował. Tak btw. to obraz z TR3000 po wgraniu initramu wykrywał interfejs rtl8221b, natomiast przed kompilacja w menuconfig nie mogłem znaleźć obsługi tego 2.5gb interfejsu. Sam commit obsługi tego jest przy okazji rtl83xx - może ktoś pomoże w interpretacji jak to działa - czy to moduł mediateka "obsługuje" ten interfejs - pewnie dlatego ten uboot taki kapryśny z interfejsem...

33

Odp: Cudy AP3000 openwrt

Mam szybką prośbę do Was - initramfs pieknie się uruchomił - watchdog okiełznany (Linaro sie spisał dobrze, Królik dzięki za cynk z tym watchdogiem). Teraz czy zgrać partycje "dd" czy czymś od ubi? nanddumpa nie mam w tej kompilacji...

root@OpenWrt:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "bl2"
mtd1: 00080000 00020000 "u-boot-env"
mtd2: 00200000 00020000 "Factory"
mtd3: 00040000 00020000 "bdinfo"
mtd4: 00200000 00020000 "FIP"
mtd5: 04000000 00020000 "ubi"

Dzięki za szybką pomoc...

34

Odp: Cudy AP3000 openwrt

To wkompiluj sobie w initramfs

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

35

Odp: Cudy AP3000 openwrt

OK,
szybciej było wgrać przez scp z pakietu.
Dzięki Wam, Openwrt sobie miło siedzi od tej chwili.
Można by pomęczyć Cudakow żeby wypuścili kiedyś intermediate...
Jakby ktoś chciał to poniżej schemat partycji ew. coś dośle, backup partycji zrobiony nanddumpem.

root@OpenWrt:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "bl2"
mtd1: 00080000 00020000 "u-boot-env"
mtd2: 00200000 00020000 "Factory"
mtd3: 00040000 00020000 "bdinfo"
mtd4: 00200000 00020000 "FIP"
mtd5: 04000000 00020000 "ubi"


./nanddump -f /tmp/bl2.bin /dev/mtd0
./nanddump -f /tmp/u-boot-env.bin /dev/mtd1
./nanddump -f /tmp/Factory.bin /dev/mtd2
./nanddump -f /tmp/bdinfo.bin /dev/mtd3
./nanddump -f /tmp/FIP.bin /dev/mtd4
./nanddump -f /tmp/ubi.bin /dev/mtd5


root@OpenWrt:/# ls -al /dev/mt*
crw-------    1 root     root       90,   0 Jan  1 00:00 /dev/mtd0
crw-------    1 root     root       90,   1 Jan  1 00:00 /dev/mtd0ro
crw-------    1 root     root       90,   2 Jan  1 00:00 /dev/mtd1
crw-------    1 root     root       90,   3 Jan  1 00:00 /dev/mtd1ro
crw-------    1 root     root       90,   4 Jan  1 00:00 /dev/mtd2
crw-------    1 root     root       90,   5 Jan  1 00:00 /dev/mtd2ro
crw-------    1 root     root       90,   6 Jan  1 00:00 /dev/mtd3
crw-------    1 root     root       90,   7 Jan  1 00:00 /dev/mtd3ro
crw-------    1 root     root       90,   8 Jan  1 00:00 /dev/mtd4
crw-------    1 root     root       90,   9 Jan  1 00:00 /dev/mtd4ro
crw-------    1 root     root       90,  10 Jan  1 00:00 /dev/mtd5
crw-------    1 root     root       90,  11 Jan  1 00:00 /dev/mtd5ro
brw-------    1 root     root       31,   0 Jan  1 00:00 /dev/mtdblock0
brw-------    1 root     root       31,   1 Jan  1 00:00 /dev/mtdblock1
brw-------    1 root     root       31,   2 Jan  1 00:00 /dev/mtdblock2
brw-------    1 root     root       31,   3 Jan  1 00:00 /dev/mtdblock3
brw-------    1 root     root       31,   4 Jan  1 00:00 /dev/mtdblock4
brw-------    1 root     root       31,   5 Jan  1 00:00 /dev/mtdblock5

root@OpenWrt:/# ubinfo -a
UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:127
Present UBI devices:            ubi0

ubi0
Volumes count:                           3
Logical eraseblock size:                 126976 bytes, 124.0 KiB
Total amount of logical eraseblocks:     512 (65011712 bytes, 62.0 MiB)
Amount of available logical eraseblocks: 0 (0 bytes)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  36
Current maximum erase counter value:     2
Minimum input/output unit size:          2048 bytes
Character device major/minor:            251:0
Present volumes:                         0, 1, 2

Volume ID:   0 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        27 LEBs (3428352 bytes, 3.2 MiB)
State:       OK
Name:        kernel
Character device major/minor: 251:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        94 LEBs (11935744 bytes, 11.3 MiB)
State:       OK
Name:        rootfs
Character device major/minor: 251:2
-----------------------------------
Volume ID:   2 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        349 LEBs (44314624 bytes, 42.2 MiB)
State:       OK
Name:        rootfs_data
Character device major/minor: 251:3

root@OpenWrt:/# ls -al /dev/ubi*
crw-------    1 root     root      251,   0 Jan  1 00:00 /dev/ubi0
crw-------    1 root     root      251,   1 Jan  1 00:00 /dev/ubi0_0
crw-------    1 root     root      251,   2 Jan  1 00:00 /dev/ubi0_1
crw-------    1 root     root      251,   3 Jan  1 00:00 /dev/ubi0_2
crw-------    1 root     root       10, 127 Jan  1 00:00 /dev/ubi_ctrl
brw-------    1 root     root      254,   0 Jan  1 00:00 /dev/ubiblock0_1


root@OpenWrt:~# ./mtdinfo -u
Count of MTD devices:           6
Present MTD devices:            mtd0, mtd1, mtd2, mtd3, mtd4, mtd5
Sysfs interface supported:      yes

root@OpenWrt:~# ./mtdinfo -u /dev/mtd1
mtd1
Name:                           u-boot-env
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          4 (524288 bytes, 512.0 KiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  2048 bytes
OOB size:                       128 bytes
Character device major/minor:   90:2
Bad blocks are allowed:         true
Device is writable:             false
Default UBI VID header offset:  2048
Default UBI data offset:        4096
Default UBI LEB size:           126976 bytes, 124.0 KiB
Maximum UBI volumes count:      128

root@OpenWrt:~# ./mtdinfo -a /dev/mtd
Count of MTD devices:           6
Present MTD devices:            mtd0, mtd1, mtd2, mtd3, mtd4, mtd5
Sysfs interface supported:      yes

mtd0
Name:                           bl2
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          8 (1048576 bytes, 1024.0 KiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  2048 bytes
OOB size:                       128 bytes
Character device major/minor:   90:0
Bad blocks are allowed:         true
Device is writable:             false

mtd1
Name:                           u-boot-env
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          4 (524288 bytes, 512.0 KiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  2048 bytes
OOB size:                       128 bytes
Character device major/minor:   90:2
Bad blocks are allowed:         true
Device is writable:             false

mtd2
Name:                           Factory
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          16 (2097152 bytes, 2.0 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  2048 bytes
OOB size:                       128 bytes
Character device major/minor:   90:4
Bad blocks are allowed:         true
Device is writable:             false

mtd3
Name:                           bdinfo
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          2 (262144 bytes, 256.0 KiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  2048 bytes
OOB size:                       128 bytes
Character device major/minor:   90:6
Bad blocks are allowed:         true
Device is writable:             false

mtd4
Name:                           FIP
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          16 (2097152 bytes, 2.0 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  2048 bytes
OOB size:                       128 bytes
Character device major/minor:   90:8
Bad blocks are allowed:         true
Device is writable:             false

mtd5
Name:                           ubi
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB
Amount of eraseblocks:          512 (67108864 bytes, 64.0 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size:                  2048 bytes
OOB size:                       128 bytes
Character device major/minor:   90:10
Bad blocks are allowed:         true
Device is writable:             true

36 (edytowany przez ambrozy5 2024-08-14 18:33:43)

Odp: Cudy AP3000 openwrt

jak uruchomiłeś initramfs?  przez kermita przesłałes

może by ten u-boot przetestował z recovery od niego ?

Dom : router https://i.imgur.com/IuB6Zwy.png | TP-LINK T1700G-28TQ |Zyxel XGS-1210-12 | 6x Ruckus r310 unleashed  + Ruckus icx7150-c12p | Truenas scale 124TB 25Gb| Xpenology 12TB | apc smart ups 750 lcd smile 100Mb/s - 25Gb/s
Podróżne : GL.Inet MT3000  +1TB hdd
Działka : rb260gs 1j wdm 1Gb+ ruckus r310 + nb m5 + kilka kamer ip  + panel 285Wp + lifepo4 12v 60Ah .

37

Odp: Cudy AP3000 openwrt

w uboocie "loadx" i po drugiej stronie transfer/xmodem/send  w Teraterm 5.2, potem duża kawka ~10 minut....Stare czasy się przypomniały mi, nie robiłem transferu Xmodemem (Zmodemem czesciej) od 10 lat chyba...
Można by podmienić u-boot - ale i tak na razie nic to chyba nie zmieni, tylko recovery by może podziałalo...a tak to lutowanie pinów na moim drugim...dzis jeszcze przetestuje max transferu po AX i 2.5 gigabicie i zobaczymy...

38

Odp: Cudy AP3000 openwrt

Tak na szybkim tescie w openspeedtest do lokalnego serwera mam 1400/1800 Mbps na karcie be200 w windowsie 10. Więc pewnie na win7 w optymalnych warunkach da się na nim wyciągnąć więcej.
Na oryginalnym sofcie z bibliotekami mediateka jest odwrotnie 1800/1300 ale można powiedzieć, że do mojego alternatywnego be5000 Xiaomi brakuje bardzo niewiele, choć pewnie spodziewany jest update MLO na sterownikach mediateka niebawem.

Potestuje OpenWRT, bo kto wie, może jakies "seq timeout" sie w logach mogą pokazać.

Dzięki jeszcze raz za pomoc i za sygnał o promce ;-)

39

Odp: Cudy AP3000 openwrt

Sprawdźcie te źródła ode mnie. Jeśli wszystko będzie działać, to napiszę chinolom by dali obraz pośredni i spróbujemy uzyskać oficjalne wsparcie.

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

40

Odp: Cudy AP3000 openwrt

Jest dobrze - wszystko gra, ja na blogu Cudy prosilem o intermediate, ale od Ciebie może bardziej posłuchają ;-)
Pracuje od 1,5 tygodnia na nim w domu - transfery piekne, nic sie nie dzieje złego, zasięg spory.
Pozdrawiam i dzięki za pomoc.

41

Odp: Cudy AP3000 openwrt

szyper napisał/a:

Jest dobrze - wszystko gra, ja na blogu Cudy prosilem o intermediate, ale od Ciebie może bardziej posłuchają ;-)
Pracuje od 1,5 tygodnia na nim w domu - transfery piekne, nic sie nie dzieje złego, zasięg spory.
Pozdrawiam i dzięki za pomoc.

Ledy i mac address jak w oryginale?

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

42

Odp: Cudy AP3000 openwrt

Zesz późno zadałeś pytanie o ledy, obecnie moje 2 sztuki juz po przesiadce. Co do mac adresów to tak - podobne.
Walcze żeby sie pojawił drugi port ethernet, chyba wiem, że nie przemieściłem do odpowiedniej sekcji w 2 portowych urządzeniach. W oryginalnym logu eth1 sie zgłasza, więc trzymam kciuki - ciekawy mod by wyszedł - taki AProuter by sie zrobił z tego.

43

Odp: Cudy AP3000 openwrt

Bardziej pytanie czy Ledy wszystkie działają. To mi potrzebne by wysłać prośbę do chinoli.
A potem, by dorobić wsparcie oficjalne, musimy być pewni, że obraz pośredni działa. Potrzebny będzie ktoś ze stock softem. Może Ambrozy jeszcze swój ma dziewiczy.

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

44 (edytowany przez szyper 2024-08-25 18:49:33)

Odp: Cudy AP3000 openwrt

Świeci sie jak policja ;-) potwierdzam, ze standardowo amber (żółta), oraz wifi:blue i red sobie radośnie migają, można je też programować.
Stocka moge przywrócić jakby co. Mam backup partycji - jak powiesz jak najlepiej.

45

Odp: Cudy AP3000 openwrt

No nie chcialo mi się grzebać w tym zlomie, analizowalem co tam trzeba by wlutować na drugi port ale nie mialem czasu.

Dom : router https://i.imgur.com/IuB6Zwy.png | TP-LINK T1700G-28TQ |Zyxel XGS-1210-12 | 6x Ruckus r310 unleashed  + Ruckus icx7150-c12p | Truenas scale 124TB 25Gb| Xpenology 12TB | apc smart ups 750 lcd smile 100Mb/s - 25Gb/s
Podróżne : GL.Inet MT3000  +1TB hdd
Działka : rb260gs 1j wdm 1Gb+ ruckus r310 + nb m5 + kilka kamer ip  + panel 285Wp + lifepo4 12v 60Ah .

46

Odp: Cudy AP3000 openwrt

szyper napisał/a:

Świeci sie jak policja ;-) potwierdzam, ze standardowo amber (żółta), oraz wifi:blue i red sobie radośnie migają, można je też programować.
Stocka moge przywrócić jakby co. Mam backup partycji - jak powiesz jak najlepiej.

To piszę do skośnych by intermediate robili.

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

47

Odp: Cudy AP3000 openwrt

Wstępnie są zadatki na 2 porty, port eth1 sie pojawił - może ktoś doświadczony lub mający gdzieś pod sobą płytkę z filogikiem Cudy  mogłby pomierzyć ustrojstwa na liniach gbitowego interfejsu.
Tak patrzę ze jeszcze pod ekranowaniem przy SoCu jest pare elementow linii schowanych.

https://fccid.io/2APRGAP01/Internal-Pho … os-7189218

Szukać w jakichś datasheetach mediateka co zalecają na liniach gbitowych eth?

48

Odp: Cudy AP3000 openwrt

Trochę poczekamy na obraz pośredni od Cudy - dopóki nie poprawią uboota to nie ma co liczyć na recovery ;-) ale jest obietnica,  że jak wypuszczą nowy firmware z poprawką trybu recovery to i obraz się pojawi. Czyli czekamy...ja dziś testuje eth-mod, w dziwnej kolejności te piny od portu idą. Wyzwanie jest...wczoraj nocne lutowanie i zabawy z mikrorezystorami zerowymi ;-)

49

Odp: Cudy AP3000 openwrt

Jak to są zworki i tak , to może łatwiej te punkty łączyć cyną....
Masz jakieś gniazdo LAN i transformator ? Bo wydaje mi się ,że one wcale takie zamienne nie są...

50

Odp: Cudy AP3000 openwrt

A testowo da rade bez trafo? - tak na próbę, wiem że teoretycznie nie polecane...