Hey everyone,
I've been trying to flash openwrt onto the Arcadyan WE410443 following the tutorial linked below.
[OpenWrt Wiki] Arcadyan WE410443
My configuration is:
- Arcadyan WE410443-TS (this is the TELUS variant)
- Raspberry PI 4 8GB using a clean install of Raspberry PI OS on a 32gb SD card
- Using an SOIC16 clip on the flash memory
Following the guide, I am able to perform the following:
- Enable SPI on the Rasperry PI
- Install xxd, libubootenv-tool, and mtd-utils
- Create and enable the
we410443-overlay.dtsoverlay - Running the command
cat /proc/mtddoes provide the correct output that matches the guide - Make a backup of the flash memory using
dd. I suspect the wiring is good because this step completes successfully. - Create the fw_env.config file using
echo '/dev/mtd2 0x0 0x1000 0x1000' > fw_env.config
Where it fails is setting the variables for the bootloader with this command:
sudo fw_setenv -c fw_env.config bootpartition 0
The output is copied below:
Cannot read environment, using default
Cannot read default environment from file
Doing some googling, it seems like the issue is related to uboot and the fw_env.config file missing from the /etc directory. However, this file is not present in a fresh install of Raspberry PI OS.
The troubleshooting I've tried is mostly hardware related as software is not my strong suit:
- Used a multimeter to test the SOIC16 clip connection to the Raspberry PI IO pins and continuity looks good
- Tried clean installations of both Raspberry PI OS based on Debian 12 Bookworm and Debian 13 Trixie
- Tried manually adding a fw_env.config file to /etc with contents
/dev/mtd2 0x0 0x1000 0x1000, but this results in a wrong configuration error.
If I ignore the above error and continue the next step to flash the firmware using the command with verbose enabled below, it seems to "fake" flash in that it goes through the entire erasing, writing, and verifying process, but the actual flash memory isn't actually being written to as rebooting the device boots right back to the factory stock firmware. I suspect this is because the fw_env.config is using default values and not pointing to /dev/mtd2.
sudo flashcp -v openwrt-24.10.2-ramips-mt7621-arcadyan_we410443-squashfs-sysupgrade.bin /dev/mtd4
Can anyone guide me in the right direction?
Thanks