New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FS#2510 - WNDR3700v2, WNDR3800 unable to update from ar71xx-generic to ath79 #8074
Comments
hnyman: You can use the "-F" or "--force" option in sysupgrade to jump between ath79 and ar71xx firmwares for WNDR3700v2 and WNDR3800. The configs are practically identical. (I do that frequently when testing my community build.) |
ynezz:
Please provide the error message. |
ynezz:
This switch is very dangerous and should be used as a last resort and only if the people know how to unbrick their router. |
txt.file: flashed https://downloads.openwrt.org/snapshots/targets/ar71xx/generic/openwrt-ar71xx-generic-wndr3700v2-squashfs-sysupgrade.bin (2019-06-17) onto a wndr3700v2
I expect that the problem to be in "target/linux/ar71xx/image/generic.mk". The BOARDNAME is not set for wndr3700v2 / wndr3800. |
hnyman: To my knowledge, the one-time transition logic from ar71xx to ath79 is not complete for most ar71xx devices, as the DTS based device name detection in ath79 deviates from the old mach file based one in the old ar71xx. You practically need to force the sysupgrade, or use a tool like the Netgear TFTP recovery tool to flash the ath79 build. For ar71xx the BOARDNAME is WNDR3700 for all three routers in the series (3700, 3700v2, 3800) and a separate NETGEAR_BOARD_ID separates them. In ath79 the boardname (compatible string) is defined for each device in DTS with a different naming structure than in ar71xx. For the ath79 sysupgrade to be compatible aith the sysupgrade logic in ar71xx, 3700v2 should declare compatibility with WNDR3700, which is not wanted. You are talking about one-time transition logic from ar71xx to ath79 target for an ancient router. So the issue is not major, and likely nobody will create a fix unless you do it by creating logic for ar71xx to accept just the correct ath79 sysupgrade files while still maintaining the correct separation of router versions inside both ar71xx and ath79. Ps. For WNDR3700, 3700v2 and 3800 the configs in ar71xx and ath79 are compatible. I have been constantly jumping between them as I have tested my community build for the 3700 series (which has been running since year 2011). Using the force flag in WNDR3700 sysupgrade for ar71xx --> ath79 --> ar71xx works quite ok, although Petr raised concern about mentioning it. |
ynezz: If I understand all this correctly following patch should fix it https://gitlab.com/ynezz/openwrt/commit/2d3a4b208f811b6ec3380feac527cbbe5968075c |
txt.file: compilation is running. I will runtime test it next Monday. |
txt.file: flashed image based on https://gitlab.com/ynezz/openwrt/commit/2d3a4b208f811b6ec3380feac527cbbe5968075c onto a wndr3700v2 and then flashed (sysupgrade -n") https://downloads.openwrt.org/snapshots/targets/ath79/generic/openwrt-ath79-generic-netgear_wndr3700v2-squashfs-sysupgrade.bin It worked. |
txt.file: 3800 also tested and works too. This time tested with "preserve config". Thanks Petr. |
adrianschmutzler: ynezz and I agreed that we will address this differently: This will enable to upgrade to ath79 directly without flashing an intermediate version. (Though it will theoretically introduce the problem that someone can flash wndr3700v2 image on wndr3700v1 when upgrading from ar71xx.) |
txt.file:
======device======
======Software version of OpenWrt release======
======Steps to reproduce======
======other======
Tried that a month ago. Will add further information as soon as I find time. I would really love to patch this but will need some help. I own both devices and can test.
The text was updated successfully, but these errors were encountered: