Hello all,
I'd like to attempt a fix for a WNDR3800 I've kept that has a erased ART partition. Related to my old thread here.
I'm planning on using the ART files found from this github thread. I believe they're originally from @hnyman dump of firmware for other projects. I realize this will not be great for wifi but still better than none in my reasoning.
I'm planning on following these instructions. Any things to watch out for or unexpected things to watch out for?
There in the directory "art partition binary contents" you can find the original art copy taken from my own routers.
It also contains a subdirectory "firmware_with_no_write_protection" that has a WNDR3800 firmware image with art partition unlocked (or actually, available for unlocking). See "firmware_with_no_write_protection" directory...
(That firmware is Chaos Calmer from 2015, but should still work for this purpose. Better to flash it using default config, without saving settings...)
There is also a walk-through/example of the process of unlocking "art" for writing:
root@OpenWrt2:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00050000 00010000 "u-boot"
mtd1: 00020000 00010000 "u-boot-env"
mtd2: 00780000 00010000 "firmware"
mtd3: 00118440 00010000 "kernel"
mtd4: 00667bc0 00010000 "rootfs"
mtd5: 00190000 00010000 "rootfs_data"
mtd6: 00010000 00010000 "art"
Behaviour in normal write-protected firmware:
---------------------------------------------
root@OpenWrt2:~# mtd unlock u-boot
Could not open mtd device: u-boot
Could not open mtd device: u-boot
root@OpenWrt2:~# mtd unlock firmware
Unlocking firmware ...
root@OpenWrt2:~# mtd unlock art
Could not open mtd device: art
Could not open mtd device: art
Behaviour in this firmware:
---------------------------
root@OpenWrt2:~# mtd unlock u-boot
Unlocking u-boot ...
root@OpenWrt2:~# mtd unlock firmware
Unlocking firmware ...
root@OpenWrt2:~# mtd unlock art
Unlocking art ...
Then you can flash art by using mtd.
EDIT:
I should maybe compile an updated year 2020 version of the firmware with ath79, to replace the ancient ar71xx CC15.05 based one. But the old firmware is still adequate for the single task of being able to write into "art" partition.
alright @hnyman as usual thanks for the detailed information, I've read what you wrote and grabbed the appropriate files you pointed to. I noticed a "firmware_Dec2020_no_write_protection" folder in the dropbox which I can only assume is you updating the firmware to ath79 like you mentioned.
As far as the actual flashing the openwrt page is correct?
something like:
mtd -r write /tmp/art.backup art
after moving the file over to the unit's tmp storage right?
What sort of risks should I be aware of if I do this wrong? Considering there's no functioning Art partition currently, worst I'd have is a bricked router right?
which I should be able to serial boot still right?
Looks ok. Although there is no actual need to force an immediate reboot with "-r".
(and remember to unlock art first)
In addition to the wifi calibration, the early part of art contains the router's serial number, MACs etc. Like I explain in the art_header_explanation.txt readme file.
All that data is just device-specific ID data, but nothing that would prevent you from booting. art does not contain any binaries to be run, or similar. So, the risks are rather small, I think.
Naturally a copy of an WNDR3800's art (and not 3700v1 or 3700v2).
Just grab the wndr3800_mtd5_art_edit.bin file from the art partition binary contents dir.
It is a copy of my own WNDR3800, except the MACs and pws that I slightly edited. See the explanation of the first few bytes from art_header_explanation.txt copied below.
You can hexedit the file if you want the Netgear firmware config values (wifi name, pw, serial) to match the stickers on your router. If you know your original MACs, you could also edit them.
This makes all mtd writeable(*) until the next reboot. After you're done it would be a good idea to opkg remove kmod-mtd-rw to reclaim the flash space and prevent unintended activation. (even though it needs to be manually loaded with the special parameter).
also making it possible to clobber the bootloader by writing the wrong partition, which would be really bad.
seems like it was successful! I've got wifi interfaces on this device again, and now slightly more breathing room before I need to change out my network setup (time to finally retire the WNDR3700v1).
I'd like to try out wireguard if it's finally mature enough as well as get proper lets-encrypt certificates working for LuCI.
Would anyone recommend the particular best fw for day to day use on the WNDR3800 ? I'd go for one of your builds @hnyman but they're mostly built around ipv6 and my ISP STILL isn't supporting it yet.
Ten years ago, when I started publishing my community build for wndr3700, including IPv6 was one of the reasons and special features. But right now IPv6 is there by default. It is merely a sidenote.
I think that pretty much only alternatives for wndr3800 are the official builds and my builds.
Ps. Great that restoring art brought back your wifi.
Unfortunately I've also noticed that while my phone seems able to connect to the wifi interfaces my laptop is having trouble connecting successfully. I guess the Art partition restore didn't go as smoothly as I thought.