[solved] TP-Link Archer C7 AC 1750 v 2.0 looses settings after reboot

Hello

I own a TP-Link Archer C7 AC 1750 v2.0 since some time and needed another access point, so I bought an almost identical used model, because I was happy with it (my first one is named "ARCHER C7(EU)", the second doesn't have the "EU" in the model name).
My second AP came with an older (snapshot) version of openWRT installed on it (it seemed to be reset to the default settings).
I immediately upgraded the firmware to version 18.06.4 r7808-ef686b7292 using the built-in upgrade function in luci (Firmware file was openwrt-18.06.4-ar71xx-generic-archer-c7-v2-squashfs-sysupgrade.bin)
After the upgrade, I couldn't log in using luci (ssh worked fine) and ended up resetting the device according to
https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset
The first attempt to factory reset via SSH didn't work, so I ultimately used the Failsafe Mode

Everything seemed fine, I configured the device, but after a reset, all my settings with the exception of the password were lost.
Whenever I change (and save) something in luci, it gets written to the config file (for example /etc/config/wireless), but after a reset, it is gone.
What could be the reason for this, and how do I fix it?

Kind Regards

Peter

does it happen with every release version?

Both are on OpenWrt 18.06.4 r7808-ef686b7292 right now.
The one which works fine was running an older release in the past (can't tell which ones, I believe the previous version was also an 18.06-Release).
I haven't tried any other release on the faulty on, which version would you suggest to try?

15.05, dont save settings on upgrade

A reset or a reboot?

After a reset, all user entered info will be gone. After a reboot, it should all be there.

Are you issuing a 'uci commit' once you are done changing setting? If not, then that explains the lack of settings, as only the commit persists them permanently.

Also, IIRC, you need to manually install luci via opkg. That should make it easier for you.
just ssh in and type 'opkg update; opkg install luci' and then try reaching the UI.

Sounds like you don’t have a persisted overlay. What does

mount
df 

show?

Changes are lost after a reboot, either using the luci reboot function, or using the power switch on the device.
I do all changes using luci, but I used the shell to check out if any changes are written to the configuration files.

Output is as follows:

root@OpenWrt:~# mount
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /tmp/root type tmpfs (rw,noatime,mode=755)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
/dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
root@OpenWrt:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 2816      2816         0 100% /rom
tmpfs                    62632       408     62224   1% /tmp
tmpfs                    62632        56     62576   0% /tmp/root
tmpfs                      512         0       512   0% /dev
/dev/mtdblock3           12224       604     11620   5% /overlay
overlayfs:/overlay       12224       604     11620   5% /
root@OpenWrt:~#

Tells me that you've likely got a functional, persisted overlay, which is the general reason for failure to save changes.

Checking the files before and after your changes, then after reboot would be the next steps.

I did so with the file /etc/config/sysconfig, in order to get something changed there, I configured the hostname and the timezone using the web interface
md5sum before change:

root@OpenWrt:/etc/config# md5sum system
a61ccace91c7cd74b04d85414382cc10  system

I changed the timezone and the hostname:

root@TPLINK:/etc/config# diff system system.orig
2a3,4

  option hostname 'OpenWrt'
  option timezone 'UTC'

6,11d7
< option hostname 'TPLINK'
< option zonename 'Europe/Zurich'
< option timezone 'CET-1CEST,M3.5.0,M10.5.0/3'
< option log_proto 'udp'
< option conloglevel '8'
< option cronloglevel '8'
14a11

  option enable_server '0'

root@TPLINK:/etc/config#

md5sum after the change:

root@TPLINK:/etc/config# md5sum system
0cd24c2de8c1dc53532798cdc0e26a3d system

Then I rebooted the system using the webinterface.
The change was gone, the md5sum reflects this:

root@OpenWrt:/etc/config# md5sum system
a61ccace91c7cd74b04d85414382cc10 system

Something else to note: I installed the diffutils package before the reboot, and this was not lost after the reboot.

/etc/config/system is one of the files that does not exist in ROM, instead it is dynamically built to defaults by the firstboot scripts. Ordinarily that happens only the first time a new install is booted, or if the file in question has been deleted.

Something must be triggering these scripts on every reboot.

Since your packages and files like /etc/config/system.orig continue to exist after a reboot, it is not a case of the whole overlay being reformatted.

When things get really weird like this it may be a good idea to do a total re-flash with a new copy of the firmware (be sure to check the sha256) and sysupgrade -n.

@mk24 The re-flash did the trick, the device is now keeping its settings

1 Like