Arcadyan WE410443

The Arcadyan WE410443 is a MT7621-based access point that is distributed by various ISPs under various names, including:

  • KPN SuperWiFi
  • BT Whole Home Wi-Fi
  • Telus WiFi Booster
  • Hughes Wi-Fi Booster
  • Singtel Mesh Extender
  • EE WiFi Disc
  • Chunghwa Telecom Wi-Fi 5 (4T4R)

The hardware, bootloader, flash layout and installation procedure are very similar to the Arcadyan WE420223.

The bootloader is locked with a password, so the image needs to be written directly to the SPI flash chip. To do this, you need to open up the case, remove the heatsink and connect the flash chip to a Raspberry Pi.

To connect the SPI chip directly to the Raspberry Pi's SPI pins, use the following connections:

Flash Chip Raspberry Pi
VCC 3v3
RESET 3v3
/CS GPIO 8 (SPI0 CE0)
DO GPIO 9 (SPI0 MISO)
CLK GPIO 11 (SPI0 SCLK)
DI GPIO 10 (SPI0 MOSI)
GND Ground

You can solder wires to the flash chip, but using a SOIC16 clip is easier. When you have the Raspberry Pi connected to the flash chip, boot your Pi and follow the instructions:

1. Enable the Pi's SPI-interface with sudo raspi-config

2. Install necessary tools:

sudo apt install xxd libubootenv-tool mtd-utils

3. Upload the overlay (see below) to your Pi as we410443-overlay.dts and execute:

sudo dtc -@ -I dts -O dtb -o /boot/overlays/we410443.dtbo we410443-overlay.dts

4. Enable the overlay in /boot/firmware/config.txt by adding a new line containing dtoverlay=we410443

5. Reboot your Pi and verify the mtd partitions with cat /proc/mtd, you should see:

dev:    size   erasesize  name
mtd0: 02000000 00001000 "all"
mtd1: 00030000 00001000 "u-boot"
mtd2: 00010000 00001000 "u-boot-env"
mtd3: 00010000 00001000 "factory"
mtd4: 01f60000 00001000 "firmware"
mtd5: 00010000 00001000 "glbcfg"
mtd6: 00010000 00001000 "config"
mtd7: 00010000 00001000 "glbcfg2"
mtd8: 00010000 00001000 "config2"

6. Optionally (but recommended), make a backup:

sudo dd if=/dev/mtd0 of=backup.bin

It can be restored with:

sudo flashcp backup.bin /dev/mtd0

7. Set the variables for the bootloader:

echo '/dev/mtd2 0x0 0x1000 0x1000' > fw_env.config
sudo fw_setenv -c fw_env.config bootpartition 0

8. Finally, flash the image:

sudo flashcp openwrt-ramips-mt7621-arcadyan_we410443-squashfs-sysupgrade.bin /dev/mtd4

9. Disconnect the clip and power on the device. Connect to the ethernet port on 192.168.1.1

Save the code below as we410443-overlay.dts and use in the installation as instructed:

/dts-v1/;
/plugin/;

/ {
	compatible = "brcm,bcm2835";

	fragment@0 {
		target = <&spi0>;
		__overlay__ {
			status = "okay";
			#address-cells = <1>;
			#size-cells = <0>;

			flash@0 {
				compatible = "jedec,spi-nor";
				spi-max-frequency = <20000000>;
				reg = <0>;

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

					partition@1fe0000 {
						label = "config2";
						reg = <0x1fe0000 0x10000>;
						read-only;
					};

					partition@1fd0000 {
						label = "glbcfg2";
						reg = <0x1fd0000 0x10000>;
						read-only;
					};

					partition@1fc0000 {
						label = "config";
						reg = <0x1fc0000 0x10000>;
					};

					partition@1fb0000 {
						label = "glbcfg";
						reg = <0x1fb0000 0x10000>;
					};

					partition@50000 {
						label = "firmware";
						reg = <0x50000 0x1f60000>;
					};

					partition@40000 {
						label = "factory";
						reg = <0x40000 0x10000>;
					};

					partition@30000 {
						label = "u-boot-env";
						reg = <0x30000 0x10000>;
					};

					partition@1 {
						label = "u-boot";
						reg = <0x0 0x30000>;
					};

					partition@0 {
						label = "all";
						reg = <0x0 0x2000000>;
					};
				};
			};
		};
	};
};

The bootloader supports TFTP boot, but the bootloader requires a password which is currently unknown. More research is needed to unlock the bootloader.

hardware.button on howto use and configure the hardware button(s).

The Arcadyan WE410443 has the following buttons:

BUTTON Event
Reset reset
WPS -

all 0x0 0x2000000 32 MB read-only
u-boot 0x0 0x30000 192 KB read-only
u-boot-env 0x30000 0x40000 64 KB read-only
factory 0x40000 0x50000 64 KB read-only
kernel 0x50000 0x1FB0000 31.7 MB writable
rootfs 0x490000 0x1FB0000 27.6 MB writable
glbcfg 0x1FB0000 0x1FC0000 64 KB read-only
config 0x1FC0000 0x1FD0000 64 KB read-only
glbcfg2 0x1FD0000 0x1FE0000 64 KB read-only
config2 0x1FE0000 0x1FF0000 64 KB read-only

Note: This will void your warranty!

The case has multiple clips around the entire disc, opening it will leave some permanent cosmetic damage. Be careful not to pry into the case too deeply, as the antennas are situated around the entire disc as well.

603px-we420242-internal.jpg

port.serial general information about the serial port, serial port cable, etc.

There is no clear pinout on the PCB, instead solder the TX and RX points as shown below. The shielding around this part of the PCB can be used as GND. Note that you have to remove the heatsink to access the pins.

we420242-serial.jpg

Serial connection parameters 57600, 8N1, 3.3V

=================================================================== MT7621 stage1 code 10:33:55 (ASIC) CPU=500000000 HZ BUS=166666666 HZ ================================================================== Change MPLL source from XTAL to CR... do MEMPLL setting.. MEMPLL Config : 0x11100000 3PLL mode + External loopback === XTAL-40Mhz === DDR-1200Mhz === PLL2 FB_DL: 0x7, 1/0 = 627/397 1D000000 PLL4 FB_DL: 0xa, 1/0 = 769/255 29000000 PLL3 FB_DL: 0xc, 1/0 = 558/466 31000000 do DDR setting..[01F40000] Apply DDR3 Setting...(use customer AC) 0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 -------------------------------------------------------------------------------- 0000:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0001:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0002:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0003:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0004:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0005:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0006:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0007:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0008:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0009:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000A:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000B:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000C:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000D:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 000E:| 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 000F:| 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0010:| 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0011:| 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0012:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0013:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0014:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0015:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0016:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0017:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0018:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0019:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 001A:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 001B:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 001C:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 001D:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 001E:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 001F:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 rank 0 coarse = 15 rank 0 fine = 56 B:| 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 opt_dle value:10 DRAMC_R0DELDLY[018]=00001D1D ================================================================== RX DQS perbit delay software calibration ================================================================== 1.0-15 bit dq delay value ================================================================== bit| 0 1 2 3 4 5 6 7 8 9 -------------------------------------- 0 | 7 7 6 9 5 7 6 7 4 6 10 | 7 7 6 9 7 7 -------------------------------------- ================================================================== 2.dqs window x=pass dqs delay value (min~max)center y=0-7bit DQ of every group input delay:DQS0 =29 DQS1 = 29 ================================================================== bit DQS0 bit DQS1 0 (1~58)29 8 (1~54)27 1 (2~56)29 9 (1~55)28 2 (1~54)27 10 (1~56)28 3 (1~55)28 11 (1~55)28 4 (1~56)28 12 (1~55)28 5 (1~55)28 13 (1~55)28 6 (1~55)28 14 (1~56)28 7 (1~57)29 15 (1~57)29 ================================================================== 3.dq delay value last ================================================================== bit| 0 1 2 3 4 5 6 7 8 9 -------------------------------------- 0 | 7 7 8 10 6 8 7 7 6 7 10 | 8 8 7 10 8 7 ================================================================== ================================================================== TX perbyte calibration ================================================================== DQS loop = 15, cmp_err_1 = ffff0000 dqs_perbyte_dly.last_dqsdly_pass[0]=15, finish count=1 dqs_perbyte_dly.last_dqsdly_pass[1]=15, finish count=2 DQ loop=15, cmp_err_1 = ffff0080 dqs_perbyte_dly.last_dqdly_pass[1]=15, finish count=1 DQ loop=14, cmp_err_1 = ffff0000 dqs_perbyte_dly.last_dqdly_pass[0]=14, finish count=2 byte:0, (DQS,DQ)=(8,8) byte:1, (DQS,DQ)=(8,8) 20,data:88 [EMI] DRAMC calibration passed =================================================================== MT7621 stage1 code done CPU=500000000 HZ BUS=166666666 HZ =================================================================== U-Boot 1.1.3 (Jul 23 2019 - 10:52:58) Board: Ralink APSoC DRAM: 128 MB relocate_code Pointer at: 87fa0000 Config XHCI 40M PLL flash manufacture id: ef, device id 40 18 find flash: W25Q128BV *** Warning - bad CRC, using default environment ============================================ Ralink UBoot Version: 5.a.0.1 -------------------------------------------- ASIC MT7621A DualCore (MAC to MT7530 Mode) DRAM_CONF_FROM: Auto-Detection DRAM_TYPE: DDR3 DRAM bus: 16 bit Xtal Mode=3 OCP Ratio=1/3 Flash component: 16 MBytes NOR Flash Date:Jul 23 2019 Time:10:52:58 ============================================ icache: sets:256, ways:4, linesz:32 ,total:32768 dcache: sets:256, ways:4, linesz:32 ,total:32768 ##### The CPU freq = 880 MHZ #### estimate memory size =128 Mbytes #Reset_MT7530 default: 3 0 Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 815148e0) ... ## Giving linux memsize in MB, 128 Starting kernel ... LINUX started... THIS IS ASIC SDK 5.0.S.0


COPY HERE THE BOOTLOG ONCE OPENWRT IS INSTALLED AND RUNNING


Special thanks to Harm Berntsen for his work on the Arcadyan WE420223.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/06/07 23:14
  • by goossens