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?
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?
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.
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.
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:~#
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
/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.