Message ID | mailman.7998.1660559802.4154159.openwrt-devel@lists.openwrt.org |
---|---|
State | New |
Headers | show |
Series | [1/2] ramips: mt7621: Add Arcadyan WE420223-99 support | expand |
On 15.08.2022 12:30, Harm Berntsen via openwrt-devel wrote: > The sender domain has a DMARC Reject/Quarantine policy which disallows > sending mailing list messages using the original "From" header. > > To mitigate this problem, the original message has been wrapped > automatically by the mailing list software. (...) > 5. Ensure the bootpartition variable is set to 0 in the U-Boot > environment located at 0x30000 There should be really a Linux parser picking the correct set of partitions. Such limitations make behaviour too much unpredictable if not making it possible to brick a device.
The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. On Wed, 2022-12-28 at 00:11 +0100, Rafał Miłecki wrote: > On 15.08.2022 12:30, Harm Berntsen via openwrt-devel wrote: > > The sender domain has a DMARC Reject/Quarantine policy which > > disallows > > sending mailing list messages using the original "From" header. > > > > To mitigate this problem, the original message has been wrapped > > automatically by the mailing list software. > > (...) > > > 5. Ensure the bootpartition variable is set to 0 in the U-Boot > > environment located at 0x30000 > > There should be really a Linux parser picking the correct set of > partitions. Such limitations make behaviour too much unpredictable if > not making it possible to brick a device. Thanks for your feedback! The fw_setenv tool from U-Boot can parse this format. My patch includes a uboot-envtools addition to make this change easy to do from OpenWrt initramfs. On the Wiki I also described the flashing process using a Raspberry Pi [1], also using fw_setenv. Although the bootloader supports A/B partitioning, my patch reduces to a single big A setup (for more storage space), so the only valid setting is bootpartition=0. Note that bootpartition=1 can be made to work, that would require changing the partition layout in the .dts and kernel boot parameters. I think there is little risk in bricking as the steps currently require you to directly connect to the flash chip. Once you can do that, creating/restoring back-ups is trivial. [1] https://openwrt.org/inbox/toh/arcadyan/astoria/we420223-99#flashing_openwrt
> The Arcadyan WE420223-99 is a WiFi AC simultaneous dual-band access > point distributed as Experia WiFi by KPN in the Netherlands. It features > two ethernet ports and 2 internal antennas. > > Specifications > -------------- > SOC : Mediatek MT7621AT > ETH : Two 1 gigabit ports, built into the SOC > WIFI : MT7615DN > BUTTON: Reset > BUTTON: WPS > LED : Power (green+red) > LED : WiFi (green+blue) > LED : WPS (green+red) > LED : Followme (green+red) > Power : 12 VDC, 1A barrel plug > > Winbond variant: > RAM : Winbond W631GG6MB12J, 1GBIT DDR3 SDRAM > Flash : Winbond W25Q256JVFQ, 256Mb SPI > U-Boot: 1.1.3 (Nov 23 2017 - 16:40:17), Ralink 5.0.0.1 > > Macronix variant: > RAM : Nanya NT5CC64M16GP-DI, 1GBIT DDR3 SDRAM > Flash : MX25l25635FMI-10G, 256Mb SPI > U-Boot: 1.1.3 (Dec 4 2017 - 11:37:57), Ralink 5.0.0.1 > > Serial > ------ > The serial port needs a TTL/RS-232 3V3 level converter! The Serial > setting is 57600-8-N-1. The board has an unpopulated 2.54mm straight pin > header. > > The pinout is: VCC (the square), RX, TX, GND. > > Installation > ------------ > 1. Open the device, take off the heat sink > 2. Connect the SPI flash chip to a flasher, e.g. a Raspberry Pi. Also > connect the RESET pin for stability (thanks @FPSUsername for reporting) > 3. Make a backup in case you want to revert to stock later > 4. Flash the squashfs-factory.trx file to offset 0x50000 of the flash > 5. Ensure the bootpartition variable is set to 0 in the U-Boot > environment located at 0x30000 > > Note that the U-Boot is password protected, this can optionally be > removed. See the forum for more details [1] > > MAC Addresses(stock) > -------------------- > +----------+------------------+-------------------+ > | use | address | example | > +----------+------------------+-------------------+ > | Device | label | 00:00:00:11:00:00 | > | Ethernet | + 3 | 00:00:00:11:00:03 | > | 2g | + 0x020000f00001 | 02:00:00:01:00:01 | > | 5g | + 1 | 00:00:00:11:00:01 | > +----------+------------------+-------------------+ > > The label address is stored in ASCII in the board_data partition > > Known issues > ------------ > - 2g MAC address does not match stock due to missing support for that in > macaddr_add > - Only the power LED is configured by default > > References > ---------- > [1] https://forum.openwrt.org/t/adding-openwrt-support-for-arcadyan-we420223-99-kpn-experia-wifi/132653?u=harm > > Signed-off-by: Harm Berntsen <git@harmberntsen.nl> > --- > package/boot/uboot-envtools/files/ramips | 3 + > .../dts/mt7621_arcadyan_we420223-99.dts | 210 ++++++++++++++++++ > target/linux/ramips/image/mt7621.mk | 25 +++ > .../mt7621/base-files/etc/board.d/02_network | 8 + > .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 9 + > .../mt7621/base-files/lib/upgrade/platform.sh | 1 + > 6 files changed, 256 insertions(+) > create mode 100644 target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts > > diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips > index f7f4821cef..8d4960e7a3 100644 > --- a/package/boot/uboot-envtools/files/ramips > +++ b/package/boot/uboot-envtools/files/ramips > @@ -17,6 +17,9 @@ alfa-network,awusfree1|\ > alfa-network,quad-e4g|\ > alfa-network,r36m-e4g|\ > alfa-network,tube-e4g|\ > +arcadyan,we420223-99) > + ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x1000" "0x1000" > + ;; > engenius,esr600h|\ > sitecom,wlr-4100-v1-002) > ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000" > diff --git a/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts > new file mode 100644 > index 0000000000..f68d79af15 > --- /dev/null > +++ b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts > @@ -0,0 +1,210 @@ > +// 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> > +#include <dt-bindings/leds/common.h> > + > +/ { > + model = "Arcadyan WE420223-99"; > + compatible = "arcadyan,we420223-99", "mediatek,mt7621-soc"; > + > + aliases { > + led-boot = &led_power_green; > + led-failsafe = &led_power_red; > + led-running = &led_power_green; > + led-upgrade = &led_wps_green; > + led-wifi = &led_wifi_green; > + }; > + > + chosen { > + bootargs = "console=ttyS0,57600 ubi.mtd=5 root=/dev/ubiblock0_0"; > + }; > + > + keys { > + compatible = "gpio-keys"; > + > + reset { > + label = "reset"; > + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_RESTART>; > + }; > + > + wps { > + label = "wps"; > + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_WPS_BUTTON>; > + }; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led_power_green: power_green { > + label = "green:power"; > + gpios = <&gpio 42 GPIO_ACTIVE_LOW>; > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_POWER; > + default-state = "on"; > + }; > + > + led_power_red: power_red { > + label = "red:power"; > + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; > + color = <LED_COLOR_ID_RED>; > + function = LED_FUNCTION_FAULT; > + }; > + > + led_wifi_blue: wifi_blue { > + label = "blue:wifi"; > + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; > + color = <LED_COLOR_ID_BLUE>; > + function = LED_FUNCTION_WLAN; > + }; > + > + led_wifi_green: wifi_green { > + label = "green:wifi"; > + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_WLAN; > + }; > + > + led_wps_red: wps_red { > + label = "red:wps"; > + gpios = <&gpio 45 GPIO_ACTIVE_LOW>; > + color = <LED_COLOR_ID_RED>; > + function = LED_FUNCTION_WPS; > + }; > + > + led_wps_green: wps_green { > + label = "green:wps"; > + gpios = <&gpio 46 GPIO_ACTIVE_LOW>; > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_WPS; > + }; > + > + led_followme_r: followme_red { > + label = "red:followme"; > + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; > + color = <LED_COLOR_ID_RED>; > + }; > + > + led_followme_g: followme_green { > + label = "green:followme"; > + gpios = <&gpio 48 GPIO_ACTIVE_LOW>; > + color = <LED_COLOR_ID_GREEN>; > + }; > + }; > +}; > + > +&spi0 { > + status = "okay"; > + > + flash@0 { > + compatible = "jedec,spi-nor"; > + > + reg = <0>; > + spi-max-frequency = <70000000>; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition@0 { > + label = "ALL"; > + reg = <0x0 0x2000000>; > + read-only; > + }; > + > + partition@1 { > + label = "Bootloader"; > + reg = <0x0 0x30000>; > + read-only; > + }; > + > + partition@30000 { > + label = "Config"; > + reg = <0x30000 0x10000>; > + }; > + > + factory: partition@40000 { > + label = "Factory"; > + reg = <0x40000 0x10000>; > + read-only; > + }; > + > + partition@50000 { > + label = "kernel"; > + reg = <0x50000 0x1f60000>; > + }; > + > + partition@490000 { > + label = "rootfs"; > + reg = <0x490000 0x1b20000>; > + }; > + > + partition@1000000 { > + label = "Kernel2"; > + reg = <0x1000000 0xfb0000>; > + }; > + > + partition@1440000 { > + label = "RootFS2"; > + reg = <0x1440000 0xb70000>; > + }; > + > + partition@1fb0000 { > + label = "glbcfg"; > + reg = <0x1fb0000 0x10000>; > + read-only; > + }; > + > + partition@1fc0000 { > + label = "board_data"; > + reg = <0x1fc0000 0x10000>; > + read-only; > + }; > + > + partition@1fd0000 { > + label = "glbcfg2"; > + reg = <0x1fd0000 0x10000>; > + read-only; > + }; > + > + partition@1fe0000 { > + label = "board_data2"; > + reg = <0x1fe0000 0x10000>; > + read-only; > + }; > + }; > + }; > +}; > + > +&xhci { > + status = "disabled"; > +}; > + > +&switch0 { > + ports { > + port@0 { > + status = "okay"; > + }; > + > + port@1 { > + status = "okay"; Please define the label for the ports here. Arınç
The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. On Wed, 2022-12-28 at 23:11 +0300, Arınç ÜNAL wrote: > > The Arcadyan WE420223-99 is a WiFi AC simultaneous dual-band access > > point distributed as Experia WiFi by KPN in the Netherlands. It > > features > > two ethernet ports and 2 internal antennas. > > > > Specifications > > -------------- > > SOC : Mediatek MT7621AT > > ETH : Two 1 gigabit ports, built into the SOC > > WIFI : MT7615DN > > BUTTON: Reset > > BUTTON: WPS > > LED : Power (green+red) > > LED : WiFi (green+blue) > > LED : WPS (green+red) > > LED : Followme (green+red) > > Power : 12 VDC, 1A barrel plug > > > > Winbond variant: > > RAM : Winbond W631GG6MB12J, 1GBIT DDR3 SDRAM > > Flash : Winbond W25Q256JVFQ, 256Mb SPI > > U-Boot: 1.1.3 (Nov 23 2017 - 16:40:17), Ralink 5.0.0.1 > > > > Macronix variant: > > RAM : Nanya NT5CC64M16GP-DI, 1GBIT DDR3 SDRAM > > Flash : MX25l25635FMI-10G, 256Mb SPI > > U-Boot: 1.1.3 (Dec 4 2017 - 11:37:57), Ralink 5.0.0.1 > > > > Serial > > ------ > > The serial port needs a TTL/RS-232 3V3 level converter! The Serial > > setting is 57600-8-N-1. The board has an unpopulated 2.54mm > > straight pin > > header. > > > > The pinout is: VCC (the square), RX, TX, GND. > > > > Installation > > ------------ > > 1. Open the device, take off the heat sink > > 2. Connect the SPI flash chip to a flasher, e.g. a Raspberry Pi. > > Also > > connect the RESET pin for stability (thanks @FPSUsername for > > reporting) > > 3. Make a backup in case you want to revert to stock later > > 4. Flash the squashfs-factory.trx file to offset 0x50000 of the > > flash > > 5. Ensure the bootpartition variable is set to 0 in the U-Boot > > environment located at 0x30000 > > > > Note that the U-Boot is password protected, this can optionally be > > removed. See the forum for more details [1] > > > > MAC Addresses(stock) > > -------------------- > > +----------+------------------+-------------------+ > > > use | address | example | > > +----------+------------------+-------------------+ > > > Device | label | 00:00:00:11:00:00 | > > > Ethernet | + 3 | 00:00:00:11:00:03 | > > > 2g | + 0x020000f00001 | 02:00:00:01:00:01 | > > > 5g | + 1 | 00:00:00:11:00:01 | > > +----------+------------------+-------------------+ > > > > The label address is stored in ASCII in the board_data partition > > > > Known issues > > ------------ > > - 2g MAC address does not match stock due to missing support for > > that in > > macaddr_add > > - Only the power LED is configured by default > > > > References > > ---------- > > [1] > > https://forum.openwrt.org/t/adding-openwrt-support-for-arcadyan-we420223-99-kpn-experia-wifi/132653?u=harm > > > > Signed-off-by: Harm Berntsen <git@harmberntsen.nl> > > --- > > package/boot/uboot-envtools/files/ramips | 3 + > > .../dts/mt7621_arcadyan_we420223-99.dts | 210 > > ++++++++++++++++++ > > target/linux/ramips/image/mt7621.mk | 25 +++ > > .../mt7621/base-files/etc/board.d/02_network | 8 + > > .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 9 + > > .../mt7621/base-files/lib/upgrade/platform.sh | 1 + > > 6 files changed, 256 insertions(+) > > create mode 100644 > > target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts > > > > diff --git a/package/boot/uboot-envtools/files/ramips > > b/package/boot/uboot-envtools/files/ramips > > index f7f4821cef..8d4960e7a3 100644 > > --- a/package/boot/uboot-envtools/files/ramips > > +++ b/package/boot/uboot-envtools/files/ramips > > @@ -17,6 +17,9 @@ alfa-network,awusfree1|\ > > alfa-network,quad-e4g|\ > > alfa-network,r36m-e4g|\ > > alfa-network,tube-e4g|\ > > +arcadyan,we420223-99) > > + ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x1000" "0x1000" > > + ;; > > engenius,esr600h|\ > > sitecom,wlr-4100-v1-002) > > ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000" > > diff --git a/target/linux/ramips/dts/mt7621_arcadyan_we420223- > > 99.dts b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts > > new file mode 100644 > > index 0000000000..f68d79af15 > > --- /dev/null > > +++ b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts > > @@ -0,0 +1,210 @@ > > +// 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> > > +#include <dt-bindings/leds/common.h> > > + > > +/ { > > + model = "Arcadyan WE420223-99"; > > + compatible = "arcadyan,we420223-99", "mediatek,mt7621-soc"; > > + > > + aliases { > > + led-boot = &led_power_green; > > + led-failsafe = &led_power_red; > > + led-running = &led_power_green; > > + led-upgrade = &led_wps_green; > > + led-wifi = &led_wifi_green; > > + }; > > + > > + chosen { > > + bootargs = "console=ttyS0,57600 ubi.mtd=5 > > root=/dev/ubiblock0_0"; > > + }; > > + > > + keys { > > + compatible = "gpio-keys"; > > + > > + reset { > > + label = "reset"; > > + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; > > + linux,code = <KEY_RESTART>; > > + }; > > + > > + wps { > > + label = "wps"; > > + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; > > + linux,code = <KEY_WPS_BUTTON>; > > + }; > > + }; > > + > > + leds { > > + compatible = "gpio-leds"; > > + > > + led_power_green: power_green { > > + label = "green:power"; > > + gpios = <&gpio 42 GPIO_ACTIVE_LOW>; > > + color = <LED_COLOR_ID_GREEN>; > > + function = LED_FUNCTION_POWER; > > + default-state = "on"; > > + }; > > + > > + led_power_red: power_red { > > + label = "red:power"; > > + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; > > + color = <LED_COLOR_ID_RED>; > > + function = LED_FUNCTION_FAULT; > > + }; > > + > > + led_wifi_blue: wifi_blue { > > + label = "blue:wifi"; > > + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; > > + color = <LED_COLOR_ID_BLUE>; > > + function = LED_FUNCTION_WLAN; > > + }; > > + > > + led_wifi_green: wifi_green { > > + label = "green:wifi"; > > + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; > > + color = <LED_COLOR_ID_GREEN>; > > + function = LED_FUNCTION_WLAN; > > + }; > > + > > + led_wps_red: wps_red { > > + label = "red:wps"; > > + gpios = <&gpio 45 GPIO_ACTIVE_LOW>; > > + color = <LED_COLOR_ID_RED>; > > + function = LED_FUNCTION_WPS; > > + }; > > + > > + led_wps_green: wps_green { > > + label = "green:wps"; > > + gpios = <&gpio 46 GPIO_ACTIVE_LOW>; > > + color = <LED_COLOR_ID_GREEN>; > > + function = LED_FUNCTION_WPS; > > + }; > > + > > + led_followme_r: followme_red { > > + label = "red:followme"; > > + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; > > + color = <LED_COLOR_ID_RED>; > > + }; > > + > > + led_followme_g: followme_green { > > + label = "green:followme"; > > + gpios = <&gpio 48 GPIO_ACTIVE_LOW>; > > + color = <LED_COLOR_ID_GREEN>; > > + }; > > + }; > > +}; > > + > > +&spi0 { > > + status = "okay"; > > + > > + flash@0 { > > + compatible = "jedec,spi-nor"; > > + > > + reg = <0>; > > + spi-max-frequency = <70000000>; > > + > > + partitions { > > + compatible = "fixed-partitions"; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + > > + partition@0 { > > + label = "ALL"; > > + reg = <0x0 0x2000000>; > > + read-only; > > + }; > > + > > + partition@1 { > > + label = "Bootloader"; > > + reg = <0x0 0x30000>; > > + read-only; > > + }; > > + > > + partition@30000 { > > + label = "Config"; > > + reg = <0x30000 0x10000>; > > + }; > > + > > + factory: partition@40000 { > > + label = "Factory"; > > + reg = <0x40000 0x10000>; > > + read-only; > > + }; > > + > > + partition@50000 { > > + label = "kernel"; > > + reg = <0x50000 0x1f60000>; > > + }; > > + > > + partition@490000 { > > + label = "rootfs"; > > + reg = <0x490000 0x1b20000>; > > + }; > > + > > + partition@1000000 { > > + label = "Kernel2"; > > + reg = <0x1000000 0xfb0000>; > > + }; > > + > > + partition@1440000 { > > + label = "RootFS2"; > > + reg = <0x1440000 0xb70000>; > > + }; > > + > > + partition@1fb0000 { > > + label = "glbcfg"; > > + reg = <0x1fb0000 0x10000>; > > + read-only; > > + }; > > + > > + partition@1fc0000 { > > + label = "board_data"; > > + reg = <0x1fc0000 0x10000>; > > + read-only; > > + }; > > + > > + partition@1fd0000 { > > + label = "glbcfg2"; > > + reg = <0x1fd0000 0x10000>; > > + read-only; > > + }; > > + > > + partition@1fe0000 { > > + label = "board_data2"; > > + reg = <0x1fe0000 0x10000>; > > + read-only; > > + }; > > + }; > > + }; > > +}; > > + > > +&xhci { > > + status = "disabled"; > > +}; > > + > > +&switch0 { > > + ports { > > + port@0 { > > + status = "okay"; > > + }; > > + > > + port@1 { > > + status = "okay"; > > Please define the label for the ports here. > > Arınç Thanks for reviewing Arınç. The mt7621.dtsi already contains the label "lan0" and "lan1" for these ports. On the outside[1] of the device the ports are simply named Ethernet. Shall I put a "lan0" and "lan1" label there? It felt a bit redundant to me so I did not put it in initially. Harm [1] https://openwrt.org/_detail/media/arcadyan/we420223-99_back.jpg
On 2.01.2023 18:03, Harm Berntsen wrote: > On Wed, 2022-12-28 at 23:11 +0300, Arınç ÜNAL wrote: >>> The Arcadyan WE420223-99 is a WiFi AC simultaneous dual-band access >>> point distributed as Experia WiFi by KPN in the Netherlands. It >>> features >>> two ethernet ports and 2 internal antennas. >>> >>> Specifications >>> -------------- >>> SOC : Mediatek MT7621AT >>> ETH : Two 1 gigabit ports, built into the SOC >>> WIFI : MT7615DN >>> BUTTON: Reset >>> BUTTON: WPS >>> LED : Power (green+red) >>> LED : WiFi (green+blue) >>> LED : WPS (green+red) >>> LED : Followme (green+red) >>> Power : 12 VDC, 1A barrel plug >>> >>> Winbond variant: >>> RAM : Winbond W631GG6MB12J, 1GBIT DDR3 SDRAM >>> Flash : Winbond W25Q256JVFQ, 256Mb SPI >>> U-Boot: 1.1.3 (Nov 23 2017 - 16:40:17), Ralink 5.0.0.1 >>> >>> Macronix variant: >>> RAM : Nanya NT5CC64M16GP-DI, 1GBIT DDR3 SDRAM >>> Flash : MX25l25635FMI-10G, 256Mb SPI >>> U-Boot: 1.1.3 (Dec 4 2017 - 11:37:57), Ralink 5.0.0.1 >>> >>> Serial >>> ------ >>> The serial port needs a TTL/RS-232 3V3 level converter! The Serial >>> setting is 57600-8-N-1. The board has an unpopulated 2.54mm >>> straight pin >>> header. >>> >>> The pinout is: VCC (the square), RX, TX, GND. >>> >>> Installation >>> ------------ >>> 1. Open the device, take off the heat sink >>> 2. Connect the SPI flash chip to a flasher, e.g. a Raspberry Pi. >>> Also >>> connect the RESET pin for stability (thanks @FPSUsername for >>> reporting) >>> 3. Make a backup in case you want to revert to stock later >>> 4. Flash the squashfs-factory.trx file to offset 0x50000 of the >>> flash >>> 5. Ensure the bootpartition variable is set to 0 in the U-Boot >>> environment located at 0x30000 >>> >>> Note that the U-Boot is password protected, this can optionally be >>> removed. See the forum for more details [1] >>> >>> MAC Addresses(stock) >>> -------------------- >>> +----------+------------------+-------------------+ >>>> use | address | example | >>> +----------+------------------+-------------------+ >>>> Device | label | 00:00:00:11:00:00 | >>>> Ethernet | + 3 | 00:00:00:11:00:03 | >>>> 2g | + 0x020000f00001 | 02:00:00:01:00:01 | >>>> 5g | + 1 | 00:00:00:11:00:01 | >>> +----------+------------------+-------------------+ >>> >>> The label address is stored in ASCII in the board_data partition >>> >>> Known issues >>> ------------ >>> - 2g MAC address does not match stock due to missing support for >>> that in >>> macaddr_add >>> - Only the power LED is configured by default >>> >>> References >>> ---------- >>> [1] >>> https://forum.openwrt.org/t/adding-openwrt-support-for-arcadyan-we420223-99-kpn-experia-wifi/132653?u=harm >>> >>> Signed-off-by: Harm Berntsen <git@harmberntsen.nl> >>> --- >>> package/boot/uboot-envtools/files/ramips | 3 + >>> .../dts/mt7621_arcadyan_we420223-99.dts | 210 >>> ++++++++++++++++++ >>> target/linux/ramips/image/mt7621.mk | 25 +++ >>> .../mt7621/base-files/etc/board.d/02_network | 8 + >>> .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 9 + >>> .../mt7621/base-files/lib/upgrade/platform.sh | 1 + >>> 6 files changed, 256 insertions(+) >>> create mode 100644 >>> target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts >>> >>> diff --git a/package/boot/uboot-envtools/files/ramips >>> b/package/boot/uboot-envtools/files/ramips >>> index f7f4821cef..8d4960e7a3 100644 >>> --- a/package/boot/uboot-envtools/files/ramips >>> +++ b/package/boot/uboot-envtools/files/ramips >>> @@ -17,6 +17,9 @@ alfa-network,awusfree1|\ >>> alfa-network,quad-e4g|\ >>> alfa-network,r36m-e4g|\ >>> alfa-network,tube-e4g|\ >>> +arcadyan,we420223-99) >>> + ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x1000" "0x1000" >>> + ;; >>> engenius,esr600h|\ >>> sitecom,wlr-4100-v1-002) >>> ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000" >>> diff --git a/target/linux/ramips/dts/mt7621_arcadyan_we420223- >>> 99.dts b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts >>> new file mode 100644 >>> index 0000000000..f68d79af15 >>> --- /dev/null >>> +++ b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts >>> @@ -0,0 +1,210 @@ >>> +// 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> >>> +#include <dt-bindings/leds/common.h> >>> + >>> +/ { >>> + model = "Arcadyan WE420223-99"; >>> + compatible = "arcadyan,we420223-99", "mediatek,mt7621-soc"; >>> + >>> + aliases { >>> + led-boot = &led_power_green; >>> + led-failsafe = &led_power_red; >>> + led-running = &led_power_green; >>> + led-upgrade = &led_wps_green; >>> + led-wifi = &led_wifi_green; >>> + }; >>> + >>> + chosen { >>> + bootargs = "console=ttyS0,57600 ubi.mtd=5 >>> root=/dev/ubiblock0_0"; >>> + }; >>> + >>> + keys { >>> + compatible = "gpio-keys"; >>> + >>> + reset { >>> + label = "reset"; >>> + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; >>> + linux,code = <KEY_RESTART>; >>> + }; >>> + >>> + wps { >>> + label = "wps"; >>> + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; >>> + linux,code = <KEY_WPS_BUTTON>; >>> + }; >>> + }; >>> + >>> + leds { >>> + compatible = "gpio-leds"; >>> + >>> + led_power_green: power_green { >>> + label = "green:power"; >>> + gpios = <&gpio 42 GPIO_ACTIVE_LOW>; >>> + color = <LED_COLOR_ID_GREEN>; >>> + function = LED_FUNCTION_POWER; >>> + default-state = "on"; >>> + }; >>> + >>> + led_power_red: power_red { >>> + label = "red:power"; >>> + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; >>> + color = <LED_COLOR_ID_RED>; >>> + function = LED_FUNCTION_FAULT; >>> + }; >>> + >>> + led_wifi_blue: wifi_blue { >>> + label = "blue:wifi"; >>> + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; >>> + color = <LED_COLOR_ID_BLUE>; >>> + function = LED_FUNCTION_WLAN; >>> + }; >>> + >>> + led_wifi_green: wifi_green { >>> + label = "green:wifi"; >>> + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; >>> + color = <LED_COLOR_ID_GREEN>; >>> + function = LED_FUNCTION_WLAN; >>> + }; >>> + >>> + led_wps_red: wps_red { >>> + label = "red:wps"; >>> + gpios = <&gpio 45 GPIO_ACTIVE_LOW>; >>> + color = <LED_COLOR_ID_RED>; >>> + function = LED_FUNCTION_WPS; >>> + }; >>> + >>> + led_wps_green: wps_green { >>> + label = "green:wps"; >>> + gpios = <&gpio 46 GPIO_ACTIVE_LOW>; >>> + color = <LED_COLOR_ID_GREEN>; >>> + function = LED_FUNCTION_WPS; >>> + }; >>> + >>> + led_followme_r: followme_red { >>> + label = "red:followme"; >>> + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; >>> + color = <LED_COLOR_ID_RED>; >>> + }; >>> + >>> + led_followme_g: followme_green { >>> + label = "green:followme"; >>> + gpios = <&gpio 48 GPIO_ACTIVE_LOW>; >>> + color = <LED_COLOR_ID_GREEN>; >>> + }; >>> + }; >>> +}; >>> + >>> +&spi0 { >>> + status = "okay"; >>> + >>> + flash@0 { >>> + compatible = "jedec,spi-nor"; >>> + >>> + reg = <0>; >>> + spi-max-frequency = <70000000>; >>> + >>> + partitions { >>> + compatible = "fixed-partitions"; >>> + #address-cells = <1>; >>> + #size-cells = <1>; >>> + >>> + partition@0 { >>> + label = "ALL"; >>> + reg = <0x0 0x2000000>; >>> + read-only; >>> + }; >>> + >>> + partition@1 { >>> + label = "Bootloader"; >>> + reg = <0x0 0x30000>; >>> + read-only; >>> + }; >>> + >>> + partition@30000 { >>> + label = "Config"; >>> + reg = <0x30000 0x10000>; >>> + }; >>> + >>> + factory: partition@40000 { >>> + label = "Factory"; >>> + reg = <0x40000 0x10000>; >>> + read-only; >>> + }; >>> + >>> + partition@50000 { >>> + label = "kernel"; >>> + reg = <0x50000 0x1f60000>; >>> + }; >>> + >>> + partition@490000 { >>> + label = "rootfs"; >>> + reg = <0x490000 0x1b20000>; >>> + }; >>> + >>> + partition@1000000 { >>> + label = "Kernel2"; >>> + reg = <0x1000000 0xfb0000>; >>> + }; >>> + >>> + partition@1440000 { >>> + label = "RootFS2"; >>> + reg = <0x1440000 0xb70000>; >>> + }; >>> + >>> + partition@1fb0000 { >>> + label = "glbcfg"; >>> + reg = <0x1fb0000 0x10000>; >>> + read-only; >>> + }; >>> + >>> + partition@1fc0000 { >>> + label = "board_data"; >>> + reg = <0x1fc0000 0x10000>; >>> + read-only; >>> + }; >>> + >>> + partition@1fd0000 { >>> + label = "glbcfg2"; >>> + reg = <0x1fd0000 0x10000>; >>> + read-only; >>> + }; >>> + >>> + partition@1fe0000 { >>> + label = "board_data2"; >>> + reg = <0x1fe0000 0x10000>; >>> + read-only; >>> + }; >>> + }; >>> + }; >>> +}; >>> + >>> +&xhci { >>> + status = "disabled"; >>> +}; >>> + >>> +&switch0 { >>> + ports { >>> + port@0 { >>> + status = "okay"; >>> + }; >>> + >>> + port@1 { >>> + status = "okay"; >> >> Please define the label for the ports here. >> >> Arınç > > Thanks for reviewing Arınç. > > The mt7621.dtsi already contains the label "lan0" and "lan1" for these That's bound to change. https://patchwork.ozlabs.org/project/openwrt/patch/20221129111315.17005-1-arinc.unal@arinc9.com/ > ports. On the outside[1] of the device the ports are simply named > Ethernet. Shall I put a "lan0" and "lan1" label there? It felt a bit > redundant to me so I did not put it in initially. You should put swp0 and swp1, then define them on 02_network. Arınç
The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. On Mon, 2023-01-02 at 18:18 +0300, Arınç ÜNAL wrote: > On 2.01.2023 18:03, Harm Berntsen wrote: > > On Wed, 2022-12-28 at 23:11 +0300, Arınç ÜNAL wrote: > > > > The Arcadyan WE420223-99 is a WiFi AC simultaneous dual-band > > > > access > > > > point distributed as Experia WiFi by KPN in the Netherlands. It > > > > features > > > > two ethernet ports and 2 internal antennas. > > > > > > > > Specifications > > > > -------------- > > > > SOC : Mediatek MT7621AT > > > > ETH : Two 1 gigabit ports, built into the SOC > > > > WIFI : MT7615DN > > > > BUTTON: Reset > > > > BUTTON: WPS > > > > LED : Power (green+red) > > > > LED : WiFi (green+blue) > > > > LED : WPS (green+red) > > > > LED : Followme (green+red) > > > > Power : 12 VDC, 1A barrel plug > > > > > > > > Winbond variant: > > > > RAM : Winbond W631GG6MB12J, 1GBIT DDR3 SDRAM > > > > Flash : Winbond W25Q256JVFQ, 256Mb SPI > > > > U-Boot: 1.1.3 (Nov 23 2017 - 16:40:17), Ralink 5.0.0.1 > > > > > > > > Macronix variant: > > > > RAM : Nanya NT5CC64M16GP-DI, 1GBIT DDR3 SDRAM > > > > Flash : MX25l25635FMI-10G, 256Mb SPI > > > > U-Boot: 1.1.3 (Dec 4 2017 - 11:37:57), Ralink 5.0.0.1 > > > > > > > > Serial > > > > ------ > > > > The serial port needs a TTL/RS-232 3V3 level converter! The > > > > Serial > > > > setting is 57600-8-N-1. The board has an unpopulated 2.54mm > > > > straight pin > > > > header. > > > > > > > > The pinout is: VCC (the square), RX, TX, GND. > > > > > > > > Installation > > > > ------------ > > > > 1. Open the device, take off the heat sink > > > > 2. Connect the SPI flash chip to a flasher, e.g. a Raspberry > > > > Pi. > > > > Also > > > > connect the RESET pin for stability (thanks @FPSUsername > > > > for > > > > reporting) > > > > 3. Make a backup in case you want to revert to stock later > > > > 4. Flash the squashfs-factory.trx file to offset 0x50000 of the > > > > flash > > > > 5. Ensure the bootpartition variable is set to 0 in the U-Boot > > > > environment located at 0x30000 > > > > > > > > Note that the U-Boot is password protected, this can optionally > > > > be > > > > removed. See the forum for more details [1] > > > > > > > > MAC Addresses(stock) > > > > -------------------- > > > > +----------+------------------+-------------------+ > > > > > use | address | example | > > > > +----------+------------------+-------------------+ > > > > > Device | label | 00:00:00:11:00:00 | > > > > > Ethernet | + 3 | 00:00:00:11:00:03 | > > > > > 2g | + 0x020000f00001 | 02:00:00:01:00:01 | > > > > > 5g | + 1 | 00:00:00:11:00:01 | > > > > +----------+------------------+-------------------+ > > > > > > > > The label address is stored in ASCII in the board_data > > > > partition > > > > > > > > Known issues > > > > ------------ > > > > - 2g MAC address does not match stock due to missing support > > > > for > > > > that in > > > > macaddr_add > > > > - Only the power LED is configured by default > > > > > > > > References > > > > ---------- > > > > [1] > > > > https://forum.openwrt.org/t/adding-openwrt-support-for-arcadyan-we420223-99-kpn-experia-wifi/132653?u=harm > > > > > > > > Signed-off-by: Harm Berntsen <git@harmberntsen.nl> > > > > --- > > > > package/boot/uboot-envtools/files/ramips | 3 + > > > > .../dts/mt7621_arcadyan_we420223-99.dts | 210 > > > > ++++++++++++++++++ > > > > target/linux/ramips/image/mt7621.mk | 25 +++ > > > > .../mt7621/base-files/etc/board.d/02_network | 8 + > > > > .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 9 + > > > > .../mt7621/base-files/lib/upgrade/platform.sh | 1 + > > > > 6 files changed, 256 insertions(+) > > > > create mode 100644 > > > > target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts > > > > > > > > diff --git a/package/boot/uboot-envtools/files/ramips > > > > b/package/boot/uboot-envtools/files/ramips > > > > index f7f4821cef..8d4960e7a3 100644 > > > > --- a/package/boot/uboot-envtools/files/ramips > > > > +++ b/package/boot/uboot-envtools/files/ramips > > > > @@ -17,6 +17,9 @@ alfa-network,awusfree1|\ > > > > alfa-network,quad-e4g|\ > > > > alfa-network,r36m-e4g|\ > > > > alfa-network,tube-e4g|\ > > > > +arcadyan,we420223-99) > > > > + ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x1000" > > > > "0x1000" > > > > + ;; > > > > engenius,esr600h|\ > > > > sitecom,wlr-4100-v1-002) > > > > ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" > > > > "0x1000" > > > > diff --git a/target/linux/ramips/dts/mt7621_arcadyan_we420223- > > > > 99.dts b/target/linux/ramips/dts/mt7621_arcadyan_we420223- > > > > 99.dts > > > > new file mode 100644 > > > > index 0000000000..f68d79af15 > > > > --- /dev/null > > > > +++ b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts > > > > @@ -0,0 +1,210 @@ > > > > +// 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> > > > > +#include <dt-bindings/leds/common.h> > > > > + > > > > +/ { > > > > + model = "Arcadyan WE420223-99"; > > > > + compatible = "arcadyan,we420223-99", "mediatek,mt7621- > > > > soc"; > > > > + > > > > + aliases { > > > > + led-boot = &led_power_green; > > > > + led-failsafe = &led_power_red; > > > > + led-running = &led_power_green; > > > > + led-upgrade = &led_wps_green; > > > > + led-wifi = &led_wifi_green; > > > > + }; > > > > + > > > > + chosen { > > > > + bootargs = "console=ttyS0,57600 ubi.mtd=5 > > > > root=/dev/ubiblock0_0"; > > > > + }; > > > > + > > > > + keys { > > > > + compatible = "gpio-keys"; > > > > + > > > > + reset { > > > > + label = "reset"; > > > > + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; > > > > + linux,code = <KEY_RESTART>; > > > > + }; > > > > + > > > > + wps { > > > > + label = "wps"; > > > > + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; > > > > + linux,code = <KEY_WPS_BUTTON>; > > > > + }; > > > > + }; > > > > + > > > > + leds { > > > > + compatible = "gpio-leds"; > > > > + > > > > + led_power_green: power_green { > > > > + label = "green:power"; > > > > + gpios = <&gpio 42 GPIO_ACTIVE_LOW>; > > > > + color = <LED_COLOR_ID_GREEN>; > > > > + function = LED_FUNCTION_POWER; > > > > + default-state = "on"; > > > > + }; > > > > + > > > > + led_power_red: power_red { > > > > + label = "red:power"; > > > > + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; > > > > + color = <LED_COLOR_ID_RED>; > > > > + function = LED_FUNCTION_FAULT; > > > > + }; > > > > + > > > > + led_wifi_blue: wifi_blue { > > > > + label = "blue:wifi"; > > > > + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; > > > > + color = <LED_COLOR_ID_BLUE>; > > > > + function = LED_FUNCTION_WLAN; > > > > + }; > > > > + > > > > + led_wifi_green: wifi_green { > > > > + label = "green:wifi"; > > > > + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; > > > > + color = <LED_COLOR_ID_GREEN>; > > > > + function = LED_FUNCTION_WLAN; > > > > + }; > > > > + > > > > + led_wps_red: wps_red { > > > > + label = "red:wps"; > > > > + gpios = <&gpio 45 GPIO_ACTIVE_LOW>; > > > > + color = <LED_COLOR_ID_RED>; > > > > + function = LED_FUNCTION_WPS; > > > > + }; > > > > + > > > > + led_wps_green: wps_green { > > > > + label = "green:wps"; > > > > + gpios = <&gpio 46 GPIO_ACTIVE_LOW>; > > > > + color = <LED_COLOR_ID_GREEN>; > > > > + function = LED_FUNCTION_WPS; > > > > + }; > > > > + > > > > + led_followme_r: followme_red { > > > > + label = "red:followme"; > > > > + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; > > > > + color = <LED_COLOR_ID_RED>; > > > > + }; > > > > + > > > > + led_followme_g: followme_green { > > > > + label = "green:followme"; > > > > + gpios = <&gpio 48 GPIO_ACTIVE_LOW>; > > > > + color = <LED_COLOR_ID_GREEN>; > > > > + }; > > > > + }; > > > > +}; > > > > + > > > > +&spi0 { > > > > + status = "okay"; > > > > + > > > > + flash@0 { > > > > + compatible = "jedec,spi-nor"; > > > > + > > > > + reg = <0>; > > > > + spi-max-frequency = <70000000>; > > > > + > > > > + partitions { > > > > + compatible = "fixed-partitions"; > > > > + #address-cells = <1>; > > > > + #size-cells = <1>; > > > > + > > > > + partition@0 { > > > > + label = "ALL"; > > > > + reg = <0x0 0x2000000>; > > > > + read-only; > > > > + }; > > > > + > > > > + partition@1 { > > > > + label = "Bootloader"; > > > > + reg = <0x0 0x30000>; > > > > + read-only; > > > > + }; > > > > + > > > > + partition@30000 { > > > > + label = "Config"; > > > > + reg = <0x30000 0x10000>; > > > > + }; > > > > + > > > > + factory: partition@40000 { > > > > + label = "Factory"; > > > > + reg = <0x40000 0x10000>; > > > > + read-only; > > > > + }; > > > > + > > > > + partition@50000 { > > > > + label = "kernel"; > > > > + reg = <0x50000 0x1f60000>; > > > > + }; > > > > + > > > > + partition@490000 { > > > > + label = "rootfs"; > > > > + reg = <0x490000 0x1b20000>; > > > > + }; > > > > + > > > > + partition@1000000 { > > > > + label = "Kernel2"; > > > > + reg = <0x1000000 0xfb0000>; > > > > + }; > > > > + > > > > + partition@1440000 { > > > > + label = "RootFS2"; > > > > + reg = <0x1440000 0xb70000>; > > > > + }; > > > > + > > > > + partition@1fb0000 { > > > > + label = "glbcfg"; > > > > + reg = <0x1fb0000 0x10000>; > > > > + read-only; > > > > + }; > > > > + > > > > + partition@1fc0000 { > > > > + label = "board_data"; > > > > + reg = <0x1fc0000 0x10000>; > > > > + read-only; > > > > + }; > > > > + > > > > + partition@1fd0000 { > > > > + label = "glbcfg2"; > > > > + reg = <0x1fd0000 0x10000>; > > > > + read-only; > > > > + }; > > > > + > > > > + partition@1fe0000 { > > > > + label = "board_data2"; > > > > + reg = <0x1fe0000 0x10000>; > > > > + read-only; > > > > + }; > > > > + }; > > > > + }; > > > > +}; > > > > + > > > > +&xhci { > > > > + status = "disabled"; > > > > +}; > > > > + > > > > +&switch0 { > > > > + ports { > > > > + port@0 { > > > > + status = "okay"; > > > > + }; > > > > + > > > > + port@1 { > > > > + status = "okay"; > > > > > > Please define the label for the ports here. > > > > > > Arınç > > > > Thanks for reviewing Arınç. > > > > The mt7621.dtsi already contains the label "lan0" and "lan1" for > > these > > That's bound to change. > > https://patchwork.ozlabs.org/project/openwrt/patch/20221129111315.17005-1-arinc.unal@arinc9.com/ > > > ports. On the outside[1] of the device the ports are simply named > > Ethernet. Shall I put a "lan0" and "lan1" label there? It felt a > > bit > > redundant to me so I did not put it in initially. > > You should put swp0 and swp1, then define them on 02_network. > > Arınç Right, with patch 2/2 (which I'm about to squash into this one) one port will be directly mapped to the CPU and the other one into the switch. Does the swp0 and swp1 naming still apply to that case? Harm
On 2.01.2023 18:34, Harm Berntsen wrote: > On Mon, 2023-01-02 at 18:18 +0300, Arınç ÜNAL wrote: >> On 2.01.2023 18:03, Harm Berntsen wrote: >>> On Wed, 2022-12-28 at 23:11 +0300, Arınç ÜNAL wrote: >>>>> The Arcadyan WE420223-99 is a WiFi AC simultaneous dual-band >>>>> access >>>>> point distributed as Experia WiFi by KPN in the Netherlands. It >>>>> features >>>>> two ethernet ports and 2 internal antennas. >>>>> >>>>> Specifications >>>>> -------------- >>>>> SOC : Mediatek MT7621AT >>>>> ETH : Two 1 gigabit ports, built into the SOC >>>>> WIFI : MT7615DN >>>>> BUTTON: Reset >>>>> BUTTON: WPS >>>>> LED : Power (green+red) >>>>> LED : WiFi (green+blue) >>>>> LED : WPS (green+red) >>>>> LED : Followme (green+red) >>>>> Power : 12 VDC, 1A barrel plug >>>>> >>>>> Winbond variant: >>>>> RAM : Winbond W631GG6MB12J, 1GBIT DDR3 SDRAM >>>>> Flash : Winbond W25Q256JVFQ, 256Mb SPI >>>>> U-Boot: 1.1.3 (Nov 23 2017 - 16:40:17), Ralink 5.0.0.1 >>>>> >>>>> Macronix variant: >>>>> RAM : Nanya NT5CC64M16GP-DI, 1GBIT DDR3 SDRAM >>>>> Flash : MX25l25635FMI-10G, 256Mb SPI >>>>> U-Boot: 1.1.3 (Dec 4 2017 - 11:37:57), Ralink 5.0.0.1 >>>>> >>>>> Serial >>>>> ------ >>>>> The serial port needs a TTL/RS-232 3V3 level converter! The >>>>> Serial >>>>> setting is 57600-8-N-1. The board has an unpopulated 2.54mm >>>>> straight pin >>>>> header. >>>>> >>>>> The pinout is: VCC (the square), RX, TX, GND. >>>>> >>>>> Installation >>>>> ------------ >>>>> 1. Open the device, take off the heat sink >>>>> 2. Connect the SPI flash chip to a flasher, e.g. a Raspberry >>>>> Pi. >>>>> Also >>>>> connect the RESET pin for stability (thanks @FPSUsername >>>>> for >>>>> reporting) >>>>> 3. Make a backup in case you want to revert to stock later >>>>> 4. Flash the squashfs-factory.trx file to offset 0x50000 of the >>>>> flash >>>>> 5. Ensure the bootpartition variable is set to 0 in the U-Boot >>>>> environment located at 0x30000 >>>>> >>>>> Note that the U-Boot is password protected, this can optionally >>>>> be >>>>> removed. See the forum for more details [1] >>>>> >>>>> MAC Addresses(stock) >>>>> -------------------- >>>>> +----------+------------------+-------------------+ >>>>>> use | address | example | >>>>> +----------+------------------+-------------------+ >>>>>> Device | label | 00:00:00:11:00:00 | >>>>>> Ethernet | + 3 | 00:00:00:11:00:03 | >>>>>> 2g | + 0x020000f00001 | 02:00:00:01:00:01 | >>>>>> 5g | + 1 | 00:00:00:11:00:01 | >>>>> +----------+------------------+-------------------+ >>>>> >>>>> The label address is stored in ASCII in the board_data >>>>> partition >>>>> >>>>> Known issues >>>>> ------------ >>>>> - 2g MAC address does not match stock due to missing support >>>>> for >>>>> that in >>>>> macaddr_add >>>>> - Only the power LED is configured by default >>>>> >>>>> References >>>>> ---------- >>>>> [1] >>>>> https://forum.openwrt.org/t/adding-openwrt-support-for-arcadyan-we420223-99-kpn-experia-wifi/132653?u=harm >>>>> >>>>> Signed-off-by: Harm Berntsen <git@harmberntsen.nl> >>>>> --- >>>>> package/boot/uboot-envtools/files/ramips | 3 + >>>>> .../dts/mt7621_arcadyan_we420223-99.dts | 210 >>>>> ++++++++++++++++++ >>>>> target/linux/ramips/image/mt7621.mk | 25 +++ >>>>> .../mt7621/base-files/etc/board.d/02_network | 8 + >>>>> .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 9 + >>>>> .../mt7621/base-files/lib/upgrade/platform.sh | 1 + >>>>> 6 files changed, 256 insertions(+) >>>>> create mode 100644 >>>>> target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts >>>>> >>>>> diff --git a/package/boot/uboot-envtools/files/ramips >>>>> b/package/boot/uboot-envtools/files/ramips >>>>> index f7f4821cef..8d4960e7a3 100644 >>>>> --- a/package/boot/uboot-envtools/files/ramips >>>>> +++ b/package/boot/uboot-envtools/files/ramips >>>>> @@ -17,6 +17,9 @@ alfa-network,awusfree1|\ >>>>> alfa-network,quad-e4g|\ >>>>> alfa-network,r36m-e4g|\ >>>>> alfa-network,tube-e4g|\ >>>>> +arcadyan,we420223-99) >>>>> + ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x1000" >>>>> "0x1000" >>>>> + ;; >>>>> engenius,esr600h|\ >>>>> sitecom,wlr-4100-v1-002) >>>>> ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" >>>>> "0x1000" >>>>> diff --git a/target/linux/ramips/dts/mt7621_arcadyan_we420223- >>>>> 99.dts b/target/linux/ramips/dts/mt7621_arcadyan_we420223- >>>>> 99.dts >>>>> new file mode 100644 >>>>> index 0000000000..f68d79af15 >>>>> --- /dev/null >>>>> +++ b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts >>>>> @@ -0,0 +1,210 @@ >>>>> +// 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> >>>>> +#include <dt-bindings/leds/common.h> >>>>> + >>>>> +/ { >>>>> + model = "Arcadyan WE420223-99"; >>>>> + compatible = "arcadyan,we420223-99", "mediatek,mt7621- >>>>> soc"; >>>>> + >>>>> + aliases { >>>>> + led-boot = &led_power_green; >>>>> + led-failsafe = &led_power_red; >>>>> + led-running = &led_power_green; >>>>> + led-upgrade = &led_wps_green; >>>>> + led-wifi = &led_wifi_green; >>>>> + }; >>>>> + >>>>> + chosen { >>>>> + bootargs = "console=ttyS0,57600 ubi.mtd=5 >>>>> root=/dev/ubiblock0_0"; >>>>> + }; >>>>> + >>>>> + keys { >>>>> + compatible = "gpio-keys"; >>>>> + >>>>> + reset { >>>>> + label = "reset"; >>>>> + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; >>>>> + linux,code = <KEY_RESTART>; >>>>> + }; >>>>> + >>>>> + wps { >>>>> + label = "wps"; >>>>> + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; >>>>> + linux,code = <KEY_WPS_BUTTON>; >>>>> + }; >>>>> + }; >>>>> + >>>>> + leds { >>>>> + compatible = "gpio-leds"; >>>>> + >>>>> + led_power_green: power_green { >>>>> + label = "green:power"; >>>>> + gpios = <&gpio 42 GPIO_ACTIVE_LOW>; >>>>> + color = <LED_COLOR_ID_GREEN>; >>>>> + function = LED_FUNCTION_POWER; >>>>> + default-state = "on"; >>>>> + }; >>>>> + >>>>> + led_power_red: power_red { >>>>> + label = "red:power"; >>>>> + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; >>>>> + color = <LED_COLOR_ID_RED>; >>>>> + function = LED_FUNCTION_FAULT; >>>>> + }; >>>>> + >>>>> + led_wifi_blue: wifi_blue { >>>>> + label = "blue:wifi"; >>>>> + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; >>>>> + color = <LED_COLOR_ID_BLUE>; >>>>> + function = LED_FUNCTION_WLAN; >>>>> + }; >>>>> + >>>>> + led_wifi_green: wifi_green { >>>>> + label = "green:wifi"; >>>>> + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; >>>>> + color = <LED_COLOR_ID_GREEN>; >>>>> + function = LED_FUNCTION_WLAN; >>>>> + }; >>>>> + >>>>> + led_wps_red: wps_red { >>>>> + label = "red:wps"; >>>>> + gpios = <&gpio 45 GPIO_ACTIVE_LOW>; >>>>> + color = <LED_COLOR_ID_RED>; >>>>> + function = LED_FUNCTION_WPS; >>>>> + }; >>>>> + >>>>> + led_wps_green: wps_green { >>>>> + label = "green:wps"; >>>>> + gpios = <&gpio 46 GPIO_ACTIVE_LOW>; >>>>> + color = <LED_COLOR_ID_GREEN>; >>>>> + function = LED_FUNCTION_WPS; >>>>> + }; >>>>> + >>>>> + led_followme_r: followme_red { >>>>> + label = "red:followme"; >>>>> + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; >>>>> + color = <LED_COLOR_ID_RED>; >>>>> + }; >>>>> + >>>>> + led_followme_g: followme_green { >>>>> + label = "green:followme"; >>>>> + gpios = <&gpio 48 GPIO_ACTIVE_LOW>; >>>>> + color = <LED_COLOR_ID_GREEN>; >>>>> + }; >>>>> + }; >>>>> +}; >>>>> + >>>>> +&spi0 { >>>>> + status = "okay"; >>>>> + >>>>> + flash@0 { >>>>> + compatible = "jedec,spi-nor"; >>>>> + >>>>> + reg = <0>; >>>>> + spi-max-frequency = <70000000>; >>>>> + >>>>> + partitions { >>>>> + compatible = "fixed-partitions"; >>>>> + #address-cells = <1>; >>>>> + #size-cells = <1>; >>>>> + >>>>> + partition@0 { >>>>> + label = "ALL"; >>>>> + reg = <0x0 0x2000000>; >>>>> + read-only; >>>>> + }; >>>>> + >>>>> + partition@1 { >>>>> + label = "Bootloader"; >>>>> + reg = <0x0 0x30000>; >>>>> + read-only; >>>>> + }; >>>>> + >>>>> + partition@30000 { >>>>> + label = "Config"; >>>>> + reg = <0x30000 0x10000>; >>>>> + }; >>>>> + >>>>> + factory: partition@40000 { >>>>> + label = "Factory"; >>>>> + reg = <0x40000 0x10000>; >>>>> + read-only; >>>>> + }; >>>>> + >>>>> + partition@50000 { >>>>> + label = "kernel"; >>>>> + reg = <0x50000 0x1f60000>; >>>>> + }; >>>>> + >>>>> + partition@490000 { >>>>> + label = "rootfs"; >>>>> + reg = <0x490000 0x1b20000>; >>>>> + }; >>>>> + >>>>> + partition@1000000 { >>>>> + label = "Kernel2"; >>>>> + reg = <0x1000000 0xfb0000>; >>>>> + }; >>>>> + >>>>> + partition@1440000 { >>>>> + label = "RootFS2"; >>>>> + reg = <0x1440000 0xb70000>; >>>>> + }; >>>>> + >>>>> + partition@1fb0000 { >>>>> + label = "glbcfg"; >>>>> + reg = <0x1fb0000 0x10000>; >>>>> + read-only; >>>>> + }; >>>>> + >>>>> + partition@1fc0000 { >>>>> + label = "board_data"; >>>>> + reg = <0x1fc0000 0x10000>; >>>>> + read-only; >>>>> + }; >>>>> + >>>>> + partition@1fd0000 { >>>>> + label = "glbcfg2"; >>>>> + reg = <0x1fd0000 0x10000>; >>>>> + read-only; >>>>> + }; >>>>> + >>>>> + partition@1fe0000 { >>>>> + label = "board_data2"; >>>>> + reg = <0x1fe0000 0x10000>; >>>>> + read-only; >>>>> + }; >>>>> + }; >>>>> + }; >>>>> +}; >>>>> + >>>>> +&xhci { >>>>> + status = "disabled"; >>>>> +}; >>>>> + >>>>> +&switch0 { >>>>> + ports { >>>>> + port@0 { >>>>> + status = "okay"; >>>>> + }; >>>>> + >>>>> + port@1 { >>>>> + status = "okay"; >>>> >>>> Please define the label for the ports here. >>>> >>>> Arınç >>> >>> Thanks for reviewing Arınç. >>> >>> The mt7621.dtsi already contains the label "lan0" and "lan1" for >>> these >> >> That's bound to change. >> >> https://patchwork.ozlabs.org/project/openwrt/patch/20221129111315.17005-1-arinc.unal@arinc9.com/ >> >>> ports. On the outside[1] of the device the ports are simply named >>> Ethernet. Shall I put a "lan0" and "lan1" label there? It felt a >>> bit >>> redundant to me so I did not put it in initially. >> >> You should put swp0 and swp1, then define them on 02_network. >> >> Arınç > > Right, with patch 2/2 (which I'm about to squash into this one) one > port will be directly mapped to the CPU and the other one into the > switch. Does the swp0 and swp1 naming still apply to that case? Yeah, swp0 on gmac0, swp1 on port@1. Arınç
diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips index f7f4821cef..8d4960e7a3 100644 --- a/package/boot/uboot-envtools/files/ramips +++ b/package/boot/uboot-envtools/files/ramips @@ -17,6 +17,9 @@ alfa-network,awusfree1|\ alfa-network,quad-e4g|\ alfa-network,r36m-e4g|\ alfa-network,tube-e4g|\ +arcadyan,we420223-99) + ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x1000" "0x1000" + ;; engenius,esr600h|\ sitecom,wlr-4100-v1-002) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000" diff --git a/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts new file mode 100644 index 0000000000..f68d79af15 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts @@ -0,0 +1,210 @@ +// 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> +#include <dt-bindings/leds/common.h> + +/ { + model = "Arcadyan WE420223-99"; + compatible = "arcadyan,we420223-99", "mediatek,mt7621-soc"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_wps_green; + led-wifi = &led_wifi_green; + }; + + chosen { + bootargs = "console=ttyS0,57600 ubi.mtd=5 root=/dev/ubiblock0_0"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power_green: power_green { + label = "green:power"; + gpios = <&gpio 42 GPIO_ACTIVE_LOW>; + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_POWER; + default-state = "on"; + }; + + led_power_red: power_red { + label = "red:power"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + color = <LED_COLOR_ID_RED>; + function = LED_FUNCTION_FAULT; + }; + + led_wifi_blue: wifi_blue { + label = "blue:wifi"; + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; + color = <LED_COLOR_ID_BLUE>; + function = LED_FUNCTION_WLAN; + }; + + led_wifi_green: wifi_green { + label = "green:wifi"; + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_WLAN; + }; + + led_wps_red: wps_red { + label = "red:wps"; + gpios = <&gpio 45 GPIO_ACTIVE_LOW>; + color = <LED_COLOR_ID_RED>; + function = LED_FUNCTION_WPS; + }; + + led_wps_green: wps_green { + label = "green:wps"; + gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_WPS; + }; + + led_followme_r: followme_red { + label = "red:followme"; + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; + color = <LED_COLOR_ID_RED>; + }; + + led_followme_g: followme_green { + label = "green:followme"; + gpios = <&gpio 48 GPIO_ACTIVE_LOW>; + color = <LED_COLOR_ID_GREEN>; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + + reg = <0>; + spi-max-frequency = <70000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "ALL"; + reg = <0x0 0x2000000>; + read-only; + }; + + partition@1 { + label = "Bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "Config"; + reg = <0x30000 0x10000>; + }; + + factory: partition@40000 { + label = "Factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "kernel"; + reg = <0x50000 0x1f60000>; + }; + + partition@490000 { + label = "rootfs"; + reg = <0x490000 0x1b20000>; + }; + + partition@1000000 { + label = "Kernel2"; + reg = <0x1000000 0xfb0000>; + }; + + partition@1440000 { + label = "RootFS2"; + reg = <0x1440000 0xb70000>; + }; + + partition@1fb0000 { + label = "glbcfg"; + reg = <0x1fb0000 0x10000>; + read-only; + }; + + partition@1fc0000 { + label = "board_data"; + reg = <0x1fc0000 0x10000>; + read-only; + }; + + partition@1fd0000 { + label = "glbcfg2"; + reg = <0x1fd0000 0x10000>; + read-only; + }; + + partition@1fe0000 { + label = "board_data2"; + reg = <0x1fe0000 0x10000>; + read-only; + }; + }; + }; +}; + +&xhci { + status = "disabled"; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + }; + + port@1 { + status = "okay"; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0000>; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index cc6dbe9418..5322a0b411 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -171,6 +171,31 @@ define Device/ampedwireless_ally-00x19k endef TARGET_DEVICES += ampedwireless_ally-00x19k +define Device/arcadyan_we420223-99 + $(Device/dsa-migration) + $(Device/uimage-lzma-loader) + DEVICE_VENDOR := Arcadyan + DEVICE_MODEL := WE420223-99 + DEVICE_ALT0_VENDOR := KPN + DEVICE_ALT0_MODEL := Experia WiFi + IMAGE_SIZE := 32128k + KERNEL_SIZE := 4352k + UBINIZE_OPTS := -E 5 + BLOCKSIZE := 64k + PAGESIZE := 1 + SUBPAGESIZE := 1 + VID_HDR_OFFSET := 64 + KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | \ + uImage none | arcadyan-trx 0x746f435d + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | \ + uImage none + IMAGES += factory.trx + IMAGE/factory.trx := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware +endef +TARGET_DEVICES += arcadyan_we420223-99 + define Device/asiarf_ap7621-001 $(Device/dsa-migration) IMAGE_SIZE := 16000k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 7211422364..2a08b7b877 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -8,6 +8,9 @@ ramips_setup_interfaces() local board="$1" case $board in + arcadyan,we420223-99) + ucidef_set_interface_lan "lan0 lan1" + ;; ampedwireless,ally-00x19k|\ asus,rp-ac56|\ asus,rp-ac87|\ @@ -133,6 +136,11 @@ ramips_setup_macs() wan_mac=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address) label_mac=$lan_mac ;; + arcadyan,we420223-99) + label_mac=$(mtd_get_mac_ascii board_data mac) + lan_mac=$label_mac + ucidef_set_network_device_mac eth0 $(macaddr_add "$label_mac" 3) + ;; asus,rt-ac65p|\ asus,rt-ac85p) wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr) diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac index 0ace1933e3..eae8f1567e 100644 --- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac +++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -10,6 +10,15 @@ PHYNBR=${DEVPATH##*/phy} board=$(board_name) case "$board" in + arcadyan,we420223-99) + if [ "$PHYNBR" = "0" ]; then + mac24=$(macaddr_add "$(get_mac_label)" "0xf00001") + echo -n "$mac24" > /sys${DEVPATH}/macaddress + elif [ "$PHYNBR" = "1" ]; then + mac5=$(macaddr_add "$(get_mac_label)" 1) + echo -n "$mac5" > /sys${DEVPATH}/macaddress + fi + ;; beeline,smartbox-flash|\ mts,wg430223) hw_mac_addr_ra0="$(mtd_get_mac_ascii u-boot-env ra0macaddr)" diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index 80490c377d..13995b0363 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -51,6 +51,7 @@ platform_do_upgrade() { case "$board" in ampedwireless,ally-00x19k|\ ampedwireless,ally-r1900k|\ + arcadyan,we420223-99|\ asus,rt-ac65p|\ asus,rt-ac85p|\ asus,rt-ax53u|\
The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. The Arcadyan WE420223-99 is a WiFi AC simultaneous dual-band access point distributed as Experia WiFi by KPN in the Netherlands. It features two ethernet ports and 2 internal antennas. Specifications -------------- SOC : Mediatek MT7621AT ETH : Two 1 gigabit ports, built into the SOC WIFI : MT7615DN BUTTON: Reset BUTTON: WPS LED : Power (green+red) LED : WiFi (green+blue) LED : WPS (green+red) LED : Followme (green+red) Power : 12 VDC, 1A barrel plug Winbond variant: RAM : Winbond W631GG6MB12J, 1GBIT DDR3 SDRAM Flash : Winbond W25Q256JVFQ, 256Mb SPI U-Boot: 1.1.3 (Nov 23 2017 - 16:40:17), Ralink 5.0.0.1 Macronix variant: RAM : Nanya NT5CC64M16GP-DI, 1GBIT DDR3 SDRAM Flash : MX25l25635FMI-10G, 256Mb SPI U-Boot: 1.1.3 (Dec 4 2017 - 11:37:57), Ralink 5.0.0.1 Serial ------ The serial port needs a TTL/RS-232 3V3 level converter! The Serial setting is 57600-8-N-1. The board has an unpopulated 2.54mm straight pin header. The pinout is: VCC (the square), RX, TX, GND. Installation ------------ 1. Open the device, take off the heat sink 2. Connect the SPI flash chip to a flasher, e.g. a Raspberry Pi. Also connect the RESET pin for stability (thanks @FPSUsername for reporting) 3. Make a backup in case you want to revert to stock later 4. Flash the squashfs-factory.trx file to offset 0x50000 of the flash 5. Ensure the bootpartition variable is set to 0 in the U-Boot environment located at 0x30000 Note that the U-Boot is password protected, this can optionally be removed. See the forum for more details [1] MAC Addresses(stock) -------------------- +----------+------------------+-------------------+ | use | address | example | +----------+------------------+-------------------+ | Device | label | 00:00:00:11:00:00 | | Ethernet | + 3 | 00:00:00:11:00:03 | | 2g | + 0x020000f00001 | 02:00:00:01:00:01 | | 5g | + 1 | 00:00:00:11:00:01 | +----------+------------------+-------------------+ The label address is stored in ASCII in the board_data partition Known issues ------------ - 2g MAC address does not match stock due to missing support for that in macaddr_add - Only the power LED is configured by default References ---------- [1] https://forum.openwrt.org/t/adding-openwrt-support-for-arcadyan-we420223-99-kpn-experia-wifi/132653?u=harm Signed-off-by: Harm Berntsen <git@harmberntsen.nl> --- package/boot/uboot-envtools/files/ramips | 3 + .../dts/mt7621_arcadyan_we420223-99.dts | 210 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 25 +++ .../mt7621/base-files/etc/board.d/02_network | 8 + .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 9 + .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 6 files changed, 256 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_arcadyan_we420223-99.dts