ZTE MF286R bricked - not booting from initramfs image

Hello, I'm trying to install OpenWrt on a ZTE MF286R using this guide: https://openwrt.org/toh/zte/mf286r.

I backed up the original firmware using Method 2 (Step 2).

On step 3 method 1 did not work for me - I could not access the bootloader, as I was getting garbage at startup through the serial port. Only when the factory OS booted the serial port output was normal.

I've tried method 2 and at first I was getting something like "mtd write failure operation not permitted". Then I found this (Adding OpenWrt support for ZTE MF286 3g/4g wifi router - #117 by Cyber1000) on the forum. Running echo 102 > /sys/devices/platform/ath79-spi/spi_master/spi0/spi0.1/change_speed fixed the issue and allowed me to flash the initramfs image (openwrt-22.03.5-ath79-nand-zte_mf286r-initramfs-kernel.bin) using method 2.

After rebooting, I'm not getting any response to pings or SSH to from I have waited for about 30 minutes after the first reboot with the ping running, but it never started working. I'm using port "WAN/LAN1". I have tried the other ports but the results were identical.

At boot all four port LEDs turn on for a fraction of a second, then turn off for a fraction of a second, then turn on again for about a second, then turn off, then after a few seconds the ethernet link comes up and the corresponding light starts blinking. The power light is blue and the 3G/4G light is red. All other LEDs are off.

Through the serial port, I'm just getting a bit of garbage at boot and then nothing, so I can't access the bootloader either. I have tried setting up a TFTP server at (subnet mask to reflash the firmware, but the router doesn't connect even after power cycling multiple times (I tried running nc -l -vv 69 to test if it's not an issue with the TFTP server - I'm getting no TCP connections).

I really would like to get this router up and running with OpenWrt, so I would like to ask for advice here.

I've just noticed this: "It was observed, that CH340-based USB-UART converters output garbage during U-boot phase of system boot. At least CP2102 is known to work properly, which is widely available in this form", which is the exact same issue I'm getting (garbage output from bootloader). I'm using the Raspberry Pi built-in serial port right now so I'll order a CP2012-based converter to test.

I should have checked the whole page before posting, but I would still appreciate any suggestions as how to get it up and running before the converter arrives.

Sorry to come back here so late!
Did you have any success?

TFTP: I don't know why didn't work, what I've noticed from my (windows) laptop, I had to deactivate my firewall, otherwise there was no connection.

Serial: The connection worked with crossing RX to TX und TX to RX, GND to GND, no 5V
settings for connection: 115200, 8N1 (with no flow-control)
There was also some garbage with wrong settings above and when my connection to serial port was somehow broken.
I've used https://sourceforge.net/projects/y-a-terminal/ on my windows-laptop to connect to serial and https://pjo2.github.io/tftpd64/ as tftpd-server, but there may be other programs working too.

Hope this helps, hoping you could fix your problem already.

23.05.0 not worked for me,

method 1

Uncompressing Kernel Image ... ERROR: LzmaDecode.c, 543

Decoding error = 1
LZMA ERROR 1 - must RESET board to recover

Method 2
Some error on 0. And stuck on auto boot.

What worked, using latest snapshoot version, of october 23

1 Like

Sorry for not responding for so long here.

What fixed the garbage serial issue for me is using a different serial adapter: CP2102 or HC-06 BT-serial both work. The router was getting stuck in u-boot and not booting from flash. Unfortunately serial access is needed if your router is stuck in this state, as it hangs indefinitely and prompts for a command in u-boot.

For the above, using the address 0x84000000 instead of 0x81000000 fixed the LZMA error 1 for me.

After the sysupgrade OpenWrt works just fine, but now the LTE modem refuses to work with any protocol, that's a separate issue though.