Yuncore / KuWfi CPE830D / CPE150 unable to upgrade from old snapshot to release 19.07.10 sysupgrade image

Hi everyone!

I'm a relatively new to OpenWrt and have no linux knowledge, though I am a windows power user and have some knowledge about networking.

About one and a half years ago I had succesfully flashed OpenWrt on my Yuncore CPE830, thanks to the detailed instructions of user grosjo (Joan Moreau). I used his precompiled upgrade.bin image (snapshot).
https://github.com/grosjo/OpenWrt-Kuwfi-CPE830

I recently decided to flash the OpenWrt released 19.07.10 sysupgrade image https://downloads.openwrt.org/releases/19.07.10/targets/ar71xx/generic/openwrt-19.07.10-ar71xx-generic-cpe830-squashfs-sysupgrade.bin that is specific to this device, but I am unable to upgrade from the old snapshot image.

I have tried flashing firmware from within LuCI and by using the U-Boot TFTP method:

When flashing from LuCI, I get the following message:
"Image metadata not found. Use sysupgrade -F to override this check when downgrading or flalshing to vendor firmware. Image check failed.
The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform."
I then tick the box to "Force upgrade" and the flashing goes on with no other errors, but when the device reboots, it is still stuck to the old snapshot image.

When using the U-Boot TFTP method, the image seems to upload successfully and I get no error messages from my PC's TFTP server, but after the device reboots, it is still stuck on the old snapshot image.

What am I doing wrong?

usually, you can't use a sysupgrade image for TFTP.

you can force the flash via cli, by using the -F parameter, by transferring the image to /tmp on the router, then executing sysupgrade -F /tmp/image.filename via ssh.

if it still doesn't work, the only real solution would be to connect via serial, and see the output, and why the flash fails.

1 Like

@ frollic
Thank you for your help!

So, forcing the flash via CLI can do what doesn't work via LuCI and ticking the "Force upgrade"?

it should, but who knows.

you could also try to restart, by doing a recovery as in Kuwfi CPE 830 recovery , then try to go directly to 19.07.10 from there.

1 Like

I've already tried Recovery from that link but doesn't work for the same reasons: When reboot it is still stuck with old snapshot.

I will give it a try via CLI this evening when I will have free time and report back later.

Thanx again for the help!

Combine -F with -n in this situation. The GUI simply invokes sysupgrade, but using the CLI will show you error messages if it failed to flash at all. A sysupgrade -F will flash any file without checking, so the possible results are either a working new install, or a brick.

2 Likes

@mk24
Thankfuly, it doesn't want to brick even if I wanted to :smiley:

I will follow your advice and use -n as well. I have also ordered a USB to TTL adaptor to have handy, in case things go wrong.

My life is not depending on this device, so I am willing to learn and experiment, even if this leads to bricking the device and have to desolder chips. Luckily I am familiar with electronics and SMT soldering.

I got it upgraded to OpenWrt 19.07.10 and seems to work OK (upgraded packages etc.).
It has been a long journey, but the feeling of having my back covered by the experts of this forum, gave me the extra courage to push things beyond my usual boundaries / knowledge.

It has been a rollercoaster, but at 02:30 in the morning I finally prevailed ! :checkered_flag: :trophy:

First of all, I should have mentioned that my device is another flavor of the many Yuncore variants out there, branded as NC-LINK AC-AP111. But that was just a sticker which I had to remove to find the original one underneath.








The PCB is stamped CPE150_V5.4

It appears to have some slight differences from Yuncore CPE830(D). It is equipped with an Atheros QCA9533 instead of QCA9531 and has a single RF output connected to the panel antenna instead of dual output.
The sight of those serial pins made me even more willing to take risks :smiley:


The major steps I took:

First tried to force flashing via CLI as advised, by transfering the 19.07.10 sysupgrade.bin image to /tmp using scp, then using sysupgrade with parameters -F -v -i :

scp openwrt-19.07.10-ar71xx-generic-cpe830-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
sysupgrade -F -v -i /tmp/openwrt-19.07.10-ar71xx-generic-cpe830-squashfs-sysupgrade.bin

and it returned this:

Image metadata not found
Image check failed but --force given - will update anyway!
Keep config files over reflash (Y/n): n
Commencing upgrade. Closing all shell sessions.

No other messages were displayed. The device rebooted itself, but unfortunately it was still stuck to the old snapshot firmware. :face_with_symbols_over_mouth:

Then I remembered something that I have red on these very helpful posts from users grosjo and mk24 and assumed that there might have been a problem with the partitions' allocation, possibly created by my first installation of OpenWrt snapshot on this device.
I decided that I should probably try and flash it again, but this time only after using the following commands of Option 1 - step 7 posted by grosjo :

fw_setenv bootcmd "bootm 0x9fe80000 || bootm 0x9f050000"
fw_setenv bootargs "console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd"

I tried that, but I got an error that fw_setenv did not exist in the device.

Since I was not sure how to fix the partitions' allocation without messing things even worse, I decided to force flash an (hopefully) original firmware that I found while searching the web (don't remember where).

Did again scp to /tmp and took the risk to flash the hopefully "original" image from CLI:

scp CPE150-AP-V2.0-Build20170821115243-EN.ubin root@192.168.1.1:/tmp
mtd -e firmware -r write CPE150-AP-V2.0-Build20170821115243-EN.ubin firmware

It flashed successfuly and the device rebooted itself, but after rebooting I couldn't reach it at the default IP 192.168.188.253 at neither LAN / WAN port :cold_face: - Just before I got my pants brown, I saw the WiFi LEDs flashing with a pattern and this made me hope that the device was not bricked.
I used an IP scanner and discovered the device at 192.168.188.252 insted of ...253 (weird! I should have checked the branded sticker before I threw it in the bin), so I used this IP and finally managed to log in to the device. This time I was welcomed by the web page of the original chinese firmware! :trophy:

Surprisingly, the username / password was not admin / admin as stated on the sticker, but root / root. So this could be the original firmware of a differently branded Yuncore clone.

The first thing I did while on the original firmware was to reset it to factory defaults. I thought this step as a fundamental verification that the device could reset and reboot successfully, and it did!

At least I had managed to successfully revert the device to an OEM state, thus back to square one, which under the circumstances was a good thing!

Everything went smooth from there:

I followed the "Option 1" instructions posted by grosjo, except that in step 5, instead of flashing the now old firmware of openwrt-18.06.4-ar71xx-generic-ap147-010-squashfs-sysupgrade.bin, I went directly for the latest compatible release of openwrt-19.07.10-ar71xx-generic-cpe830-squashfs-sysupgrade.bin

And voila! My Yuncore CPE150 is now successfully booting on OpenWrt release 19.07.10, with no apparent problems, thanks to the hard work and invaluable help I could get by the immediate response, but also from the previous and precious work of expert members of this forum!

Some more testing will be needed to verify it is working 100% as it should, although it seems that it's alive and kicking!

That's why I was inspired to contribute my 2 cents to the forum, taking this post to a level that I wasn't initially planning to.

Cheers and KUDOS to all of you!

P.S. I'm new here so I don't know if the above hardware information of this device should be moved to another section of the forum. Please advise.

I can also supply the OEM firmware CPE150-AP-V2.0-Build20170821115243-EN.ubin, that I believe works to revert all clones of Yuncore / KuwFi CPE150 / CPE830(D) back to factory state.

The above firmware looks and feels identical to the old chinese OEM firmware of my device (and possibly of other chinese hardware clones) and doesn't seem to be an old OpenWrt image.
Its GUI date (2017-08-21), looks, structure and settings are tottally different than CPE830-OPENWRT-AP-V2.0-Build20190118101609-EN.ubin firmware supplied by grosjo. Maybe someone else could confirm this by deeper checking of the binary.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.