firmware icon indicating copy to clipboard operation
firmware copied to clipboard

Cannot save Majestic setting changes (xm510)

Open schneemaier opened this issue 2 years ago • 17 comments

Hi, i just updated my XM510 based camera to the latest version.

Majestic config changes cannot be saved from the WebUI, it always ends with "No changes found." message, regardless which setting i change on the UI. This is not a new issue, i had it with the previous versions too.

Thanks

schneemaier avatar Jul 02 '22 02:07 schneemaier

Try updating the firmware using the command sysupgrade -k -r And do a hard reset through the command firstboot

ZigFisher avatar Jul 06 '22 13:07 ZigFisher

Did the upgrade:

OpenIPC System Updater

Vendor	xiongmai
SoC	xm510
Kernel	0x62be6f87
RootFS	master+954ae70, 2022-07-01

Stop services, sync and fresh memory
Killing majestic .. OK
Killing crond ...... OK
Killing klogd ....... OK
Killing ntpd ...... OK
Killing rngd ...... OK
Killing syslogd ....... OK

Firmware
Download from https://github.com/OpenIPC/firmware/releases/download/latest/openipc.xm510-br.tgz
Received and unpacked

Kernel
Update kernel from /tmp/uImage.xm510
SoC OK
New version, going to update
Erasing block: 22/22 (100%) 
Writing kb: 1401/1401 (100%) 
Verifying kb: 1401/1401 (100%) 
Kernel updated to 0x62c5068d

RootFS
Update rootfs from /tmp/rootfs.squashfs.xm510
SoC OK
New version, going to update
Erasing block: 40/40 (100%) 
Writing kb: 2528/2528 (100%) 
Verifying kb: 2528/2528 (100%) 
RootFS updated to master+954ae70, 2022-07-01

Unconditional reboot

After reboot:

root@openipc-xm510:~# firstboot
OpenIPC System Updater

Vendor	xiongmai
SoC	xm510
Kernel	0x62c5068d
RootFS	master+0b23ebd, 2022-07-06

Stop services, sync and fresh memory
Killing majestic .. OK
Killing crond ...... OK
Killing klogd ...... OK
Killing ntpd ...... OK
Killing rngd ....... OK
Killing syslogd ...... OK

OverlayFS
Erase overlay partition
Erasing 64 Kibyte @ b0000 - 100% complete.Cleanmarker written at a0000.

Unconditional reboot

Setup new password and tried top change some settings from majestic settings, but still receiving error on the UI. Looked into dmesg and every time i try to save a change i get the following line: overlayfs: ERROR - failed to whiteout 'majestic.yaml'

When i looked at /overlay/etc directory i did not find the majestic.yaml file there. Issuing touch /overlay/etc/majestic.yaml fixed the issue in a way that i don't see any error message on the UI. But the majestic.yaml file is not updated at /overlay/etc/majestic.yaml after saving the changes on the UI.

schneemaier avatar Jul 06 '22 22:07 schneemaier

Good afternoon You have some strange problem with your spi nor flash... Try to connect to the bootloader via UART and execute the command sf probe 0; sf lock 0

ZigFisher avatar Jul 09 '22 09:07 ZigFisher

It seems that my u/boot does not have the sf lock command:

U-Boot> sf probe 0
U-Boot> sf lock 0
sf - SPI flash sub-system

Usage:
sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus
                                  and chip select
sf read addr offset len - read `len' bytes starting at
                                  `offset' to memory at `addr'
sf write addr offset len        - write `len' bytes from memory
                                  at `addr' to flash at `offset'
sf erase offset [+]len          - erase `len' bytes from `offset'
                                  `+len' round up `len' to block size
sf update addr offset len       - erase and write `len' bytes from memory
                                  at `addr' to flash at `offset'
U-Boot>

I did some more tests and found that when I press save on the Majestic config page it actually whips out the config file from the overlay fs:

Before pressing save:

root@openipc-xm510:~# ls -l /overlay/etc/majestic.yaml 
-rw-r--r--    1 root     root           703 Jul  9 14:34 /overlay/etc/majestic.yaml

After save:

root@openipc-xm510-sch:~# ls -l /overlay/etc/majestic.yaml 
ls: /overlay/etc/majestic.yaml: No such file or directory

So the erase operation works, but for some reason it fails to write the config

schneemaier avatar Jul 09 '22 18:07 schneemaier

are you using dev version of webui? this is a known problem with overlay dir structure on different kernels and i think it was fixed already...

dimerr avatar Jul 10 '22 07:07 dimerr

I am not sure which webUI is installed (the installed line is empty), I guess it is the stable version as i installed it with the whole firmware package.

Installed Stable master+0ac2ff6, 2022-06-29 Unstable dev+e8113f3, 2022-07-09

I tried to switch to the development version, but it is failing via the UI:

Archive:  /tmp/microbe.zip
   creating: microbe-web-dev/
   creating: microbe-web-dev/dev/
   creating: microbe-web-dev/dev/css/
  inflating: microbe-web-dev/dev/css/main.scss
   creating: microbe-web-dev/files/
   creating: microbe-web-dev/files/usr/
   creating: microbe-web-dev/files/usr/sbin/
  inflating: microbe-web-dev/files/usr/sbin/send2telegram.sh
  inflating: microbe-web-dev/files/usr/sbin/send2yadisk.sh
  inflating: microbe-web-dev/files/usr/sbin/sendcoredump.sh
  inflating: microbe-web-dev/files/usr/sbin/updatewebui.sh
   creating: microbe-web-dev/files/var/
   creating: microbe-web-dev/files/var/www/
  inflating: microbe-web-dev/files/var/www/401.html
   creating: microbe-web-dev/files/var/www/a/
  inflating: microbe-web-dev/files/var/www/a/bootstrap.css.gz
  inflating: microbe-web-dev/files/var/www/a/bootstrap.js.gz
  inflating: microbe-web-dev/files/var/www/a/bootstrap.override.css
  inflating: microbe-web-dev/files/var/www/a/favicon.png
  inflating: microbe-web-dev/files/var/www/a/gear.svg.gz
  inflating: microbe-web-dev/files/var/www/a/github.svg.gz
  inflating: microbe-web-dev/files/var/www/a/light-off.svg.gz
  inflating: microbe-web-dev/files/var/www/a/light-on.svg.gz
  inflating: microbe-web-dev/files/var/www/a/logo-ipeye.webp
  inflating: microbe-web-dev/files/var/www/a/logo.svg.gz
  inflating: microbe-web-dev/files/var/www/a/main.js
  inflating: microbe-web-dev/files/var/www/a/telegram.svg.gz
  inflating: microbe-web-dev/files/var/www/a/tz.js.gz
   creating: microbe-web-dev/files/var/www/cgi-bin/
  inflating: microbe-web-dev/files/var/www/cgi-bin/_mj.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/about.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/admin.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/config.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/console.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/debugging.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/endpoints.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/firmware-reset.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/firmware-update.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/firmware-upload-parts.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/firmware.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-cron.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-dmesg.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-httpd.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-log.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-majestic.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-modules.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-overlay.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/jrun.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/majestic-config-actions.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/majestic-config-compare.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/majestic-settings.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/majestic.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/network-ntp.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/network-socks5.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/network.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/night.cgi
   creating: microbe-web-dev/files/var/www/cgi-bin/p/
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/common.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/footer.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/header.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/locale_en.sh
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/person.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/reset-firmware.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-bigbro.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-ipeye.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-telegram.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-vtun.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-yadisk.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/preview.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/reboot.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/reset.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/sdcard.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/sensor.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/ssh-keys.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/status.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/telegram-bot-send.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/texteditor.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/timezone.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/tools.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/webui-settings.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/webui-update.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/webui.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/yadisk-bot-send.cgi
  inflating: microbe-web-dev/files/var/www/favicon.ico
  inflating: microbe-web-dev/files/var/www/index.html
  inflating: microbe-web-dev/files/var/www/wait.html
cp -f /tmp/microbe-web-dev/files/var/www/index.html /var/www/index.html
cp: can't create '/var/www/index.html': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/yadisk-bot-send.cgi /var/www/cgi-bin/yadisk-bot-send.cgi
cp: can't create '/var/www/cgi-bin/yadisk-bot-send.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/webui-update.cgi /var/www/cgi-bin/webui-update.cgi
cp: can't create '/var/www/cgi-bin/webui-update.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/webui-settings.cgi /var/www/cgi-bin/webui-settings.cgi
cp: can't create '/var/www/cgi-bin/webui-settings.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/tools.cgi /var/www/cgi-bin/tools.cgi
cp: can't create '/var/www/cgi-bin/tools.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/telegram-bot-send.cgi /var/www/cgi-bin/telegram-bot-send.cgi
cp: can't create '/var/www/cgi-bin/telegram-bot-send.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/status.cgi /var/www/cgi-bin/status.cgi
cp: can't create '/var/www/cgi-bin/status.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/ssh-keys.cgi /var/www/cgi-bin/ssh-keys.cgi
cp: can't create '/var/www/cgi-bin/ssh-keys.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/sensor.cgi /var/www/cgi-bin/sensor.cgi
cp: can't create '/var/www/cgi-bin/sensor.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/sdcard.cgi /var/www/cgi-bin/sdcard.cgi
cp: can't create '/var/www/cgi-bin/sdcard.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/reboot.cgi /var/www/cgi-bin/reboot.cgi
cp: can't create '/var/www/cgi-bin/reboot.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/preview.cgi /var/www/cgi-bin/preview.cgi
cp: can't create '/var/www/cgi-bin/preview.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/plugin-yadisk.cgi /var/www/cgi-bin/plugin-yadisk.cgi
cp: can't create '/var/www/cgi-bin/plugin-yadisk.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/plugin-vtun.cgi /var/www/cgi-bin/plugin-vtun.cgi
cp: can't create '/var/www/cgi-bin/plugin-vtun.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/plugin-telegram.cgi /var/www/cgi-bin/plugin-telegram.cgi
cp: can't create '/var/www/cgi-bin/plugin-telegram.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/plugin-ipeye.cgi /var/www/cgi-bin/plugin-ipeye.cgi
cp: can't create '/var/www/cgi-bin/plugin-ipeye.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/plugin-bigbro.cgi /var/www/cgi-bin/plugin-bigbro.cgi
cp: can't create '/var/www/cgi-bin/plugin-bigbro.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/night.cgi /var/www/cgi-bin/night.cgi
cp: can't create '/var/www/cgi-bin/night.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/network.cgi /var/www/cgi-bin/network.cgi
cp: can't create '/var/www/cgi-bin/network.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/network-ntp.cgi /var/www/cgi-bin/network-ntp.cgi
cp: can't create '/var/www/cgi-bin/network-ntp.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/majestic-settings.cgi /var/www/cgi-bin/majestic-settings.cgi
cp: can't create '/var/www/cgi-bin/majestic-settings.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/majestic-config-compare.cgi /var/www/cgi-bin/majestic-config-compare.cgi
cp: can't create '/var/www/cgi-bin/majestic-config-compare.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/majestic-config-actions.cgi /var/www/cgi-bin/majestic-config-actions.cgi
cp: can't create '/var/www/cgi-bin/majestic-config-actions.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/info-overlay.cgi /var/www/cgi-bin/info-overlay.cgi
cp: can't create '/var/www/cgi-bin/info-overlay.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/info-log.cgi /var/www/cgi-bin/info-log.cgi
cp: can't create '/var/www/cgi-bin/info-log.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/info-httpd.cgi /var/www/cgi-bin/info-httpd.cgi
cp: can't create '/var/www/cgi-bin/info-httpd.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/info-dmesg.cgi /var/www/cgi-bin/info-dmesg.cgi
cp: can't create '/var/www/cgi-bin/info-dmesg.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/info-cron.cgi /var/www/cgi-bin/info-cron.cgi
cp: can't create '/var/www/cgi-bin/info-cron.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/firmware.cgi /var/www/cgi-bin/firmware.cgi
cp: can't create '/var/www/cgi-bin/firmware.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/firmware-update.cgi /var/www/cgi-bin/firmware-update.cgi
cp: can't create '/var/www/cgi-bin/firmware-update.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/firmware-reset.cgi /var/www/cgi-bin/firmware-reset.cgi
cp: can't create '/var/www/cgi-bin/firmware-reset.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/console.cgi /var/www/cgi-bin/console.cgi
cp: can't create '/var/www/cgi-bin/console.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/cgi-bin/_mj.cgi /var/www/cgi-bin/_mj.cgi
cp: can't create '/var/www/cgi-bin/_mj.cgi': File exists
cp -f /tmp/microbe-web-dev/files/var/www/401.html /var/www/401.html
cp: can't create '/var/www/401.html': File exists
cp -f /tmp/microbe-web-dev/files/usr/sbin/sendcoredump.sh /usr/sbin/sendcoredump.sh
cp: can't create '/usr/sbin/sendcoredump.sh': File exists
cp -f /tmp/microbe-web-dev/files/usr/sbin/send2yadisk.sh /usr/sbin/send2yadisk.sh
cp: can't create '/usr/sbin/send2yadisk.sh': File exists
cp -f /tmp/microbe-web-dev/files/usr/sbin/send2telegram.sh /usr/sbin/send2telegram.sh
cp: can't create '/usr/sbin/send2telegram.sh': File exists
rm -f /var/www/403.html
rm: can't remove '/var/www/403.html': Not supported
rm -f /var/www/404.html
rm: can't remove '/var/www/404.html': Not supported
rm -f /var/www/cgi-bin/_bootstrap.cgi
rm: can't remove '/var/www/cgi-bin/_bootstrap.cgi': Not supported
rm -f /var/www/cgi-bin/_common.cgi
rm: can't remove '/var/www/cgi-bin/_common.cgi': Not supported
rm -f /var/www/cgi-bin/_debug.cgi
rm: can't remove '/var/www/cgi-bin/_debug.cgi': Not supported
rm -f /var/www/cgi-bin/_footer.cgi
rm: can't remove '/var/www/cgi-bin/_footer.cgi': Not supported
rm -f /var/www/cgi-bin/_header.cgi
rm: can't remove '/var/www/cgi-bin/_header.cgi': Not supported
rm -f /var/www/cgi-bin/_html.cgi
rm: can't remove '/var/www/cgi-bin/_html.cgi': Not supported
rm -f /var/www/cgi-bin/_joystick.cgi
rm: can't remove '/var/www/cgi-bin/_joystick.cgi': Not supported
rm -f /var/www/cgi-bin/_settings.sh
rm: can't remove '/var/www/cgi-bin/_settings.sh': Not supported
rm -f /var/www/cgi-bin/ajaxcmd.cgi
rm: can't remove '/var/www/cgi-bin/ajaxcmd.cgi': Not supported
rm -f /var/www/cgi-bin/firmware-upload-kernel.cgi
rm: can't remove '/var/www/cgi-bin/firmware-upload-kernel.cgi': Not supported
rm -f /var/www/cgi-bin/firmware-upload-rootfs.cgi
rm: can't remove '/var/www/cgi-bin/firmware-upload-rootfs.cgi': Not supported
rm -f /var/www/cgi-bin/help-about.cgi
rm: can't remove '/var/www/cgi-bin/help-about.cgi': Not supported
rm -f /var/www/cgi-bin/help-telegram.cgi
rm: can't remove '/var/www/cgi-bin/help-telegram.cgi': Not supported
rm -f /var/www/cgi-bin/info-httpd-config.cgi
rm: can't remove '/var/www/cgi-bin/info-httpd-config.cgi': Not supported
rm -f /var/www/cgi-bin/majestic-config-aspatch.cgi
rm: can't remove '/var/www/cgi-bin/majestic-config-aspatch.cgi': Not supported
rm -f /var/www/cgi-bin/majestic-config-backup.cgi
rm: can't remove '/var/www/cgi-bin/majestic-config-backup.cgi': Not supported
rm -f /var/www/cgi-bin/majestic-config-reset.cgi
rm: can't remove '/var/www/cgi-bin/majestic-config-reset.cgi': Not supported
rm -f /var/www/cgi-bin/majestic-config-restore.cgi
rm: can't remove '/var/www/cgi-bin/majestic-config-restore.cgi': Not supported
rm -f /var/www/cgi-bin/majestic-debug.cgi
rm: can't remove '/var/www/cgi-bin/majestic-debug.cgi': Not supported
rm -f /var/www/cgi-bin/majestic-github.cgi
rm: can't remove '/var/www/cgi-bin/majestic-github.cgi': Not supported
rm -f /var/www/cgi-bin/majestic-settings-update.cgi
rm: can't remove '/var/www/cgi-bin/majestic-settings-update.cgi': Not supported
rm -f /var/www/cgi-bin/network-ntp-reset.cgi
rm: can't remove '/var/www/cgi-bin/network-ntp-reset.cgi': Not supported
rm -f /var/www/cgi-bin/network-ntp-update.cgi
rm: can't remove '/var/www/cgi-bin/network-ntp-update.cgi': Not supported
rm -f /var/www/cgi-bin/network-tz-update.cgi
rm: can't remove '/var/www/cgi-bin/network-tz-update.cgi': Not supported
rm -f /var/www/cgi-bin/network-update.cgi
rm: can't remove '/var/www/cgi-bin/network-update.cgi': Not supported
rm -f /var/www/cgi-bin/ntp-update.cgi
rm: can't remove '/var/www/cgi-bin/ntp-update.cgi': Not supported
rm -f /var/www/cgi-bin/preview-help.cgi
rm: can't remove '/var/www/cgi-bin/preview-help.cgi': Not supported
rm -f /var/www/cgi-bin/preview-mjpeg.cgi
rm: can't remove '/var/www/cgi-bin/preview-mjpeg.cgi': Not supported
rm -f /var/www/cgi-bin/preview-video.cgi
rm: can't remove '/var/www/cgi-bin/preview-video.cgi': Not supported
rm -f /var/www/cgi-bin/progress.cgi
rm: can't remove '/var/www/cgi-bin/progress.cgi': Not supported
rm -f /var/www/cgi-bin/team.txt
rm: can't remove '/var/www/cgi-bin/team.txt': Not supported
rm -f /var/www/cgi-bin/webui-settings-update.cgi
rm: can't remove '/var/www/cgi-bin/webui-settings-update.cgi': Not supported
rm -f /var/www/login.html
rm: can't remove '/var/www/login.html': Not supported
rm -f /tmp/microbe.zip
rm -fr /tmp/microbe-web-dev

ATTENTION! There were errors!

Tried from commandline:

root@openipc-xm510:~# /usr/sbin/updatewebui.sh -f -b dev
curl --location --insecure --etag-save /root/.ui.etag --silent -o /tmp/microbe-web.zip https://github.com/OpenIPC/microbe-web/archive/refs/heads/dev.zip

Archive:  /tmp/microbe-web.zip
   creating: microbe-web-dev/
   creating: microbe-web-dev/dev/
   creating: microbe-web-dev/dev/css/
  inflating: microbe-web-dev/dev/css/main.scss
   creating: microbe-web-dev/files/
   creating: microbe-web-dev/files/usr/
   creating: microbe-web-dev/files/usr/sbin/
  inflating: microbe-web-dev/files/usr/sbin/send2telegram.sh
  inflating: microbe-web-dev/files/usr/sbin/send2yadisk.sh
  inflating: microbe-web-dev/files/usr/sbin/sendcoredump.sh
  inflating: microbe-web-dev/files/usr/sbin/updatewebui.sh
   creating: microbe-web-dev/files/var/
   creating: microbe-web-dev/files/var/www/
  inflating: microbe-web-dev/files/var/www/401.html
   creating: microbe-web-dev/files/var/www/a/
  inflating: microbe-web-dev/files/var/www/a/bootstrap.css.gz
  inflating: microbe-web-dev/files/var/www/a/bootstrap.js.gz
  inflating: microbe-web-dev/files/var/www/a/bootstrap.override.css
  inflating: microbe-web-dev/files/var/www/a/favicon.png
  inflating: microbe-web-dev/files/var/www/a/gear.svg.gz
  inflating: microbe-web-dev/files/var/www/a/github.svg.gz
  inflating: microbe-web-dev/files/var/www/a/light-off.svg.gz
  inflating: microbe-web-dev/files/var/www/a/light-on.svg.gz
  inflating: microbe-web-dev/files/var/www/a/logo-ipeye.webp
  inflating: microbe-web-dev/files/var/www/a/logo.svg.gz
  inflating: microbe-web-dev/files/var/www/a/main.js
  inflating: microbe-web-dev/files/var/www/a/telegram.svg.gz
  inflating: microbe-web-dev/files/var/www/a/tz.js.gz
   creating: microbe-web-dev/files/var/www/cgi-bin/
  inflating: microbe-web-dev/files/var/www/cgi-bin/_mj.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/about.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/admin.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/config.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/console.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/debugging.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/endpoints.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/firmware-reset.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/firmware-update.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/firmware-upload-parts.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/firmware.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-cron.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-dmesg.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-httpd.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-log.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-majestic.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-modules.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/info-overlay.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/jrun.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/majestic-config-actions.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/majestic-config-compare.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/majestic-settings.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/majestic.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/network-ntp.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/network-socks5.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/network.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/night.cgi
   creating: microbe-web-dev/files/var/www/cgi-bin/p/
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/common.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/footer.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/header.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/locale_en.sh
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/person.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/p/reset-firmware.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-bigbro.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-ipeye.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-telegram.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-vtun.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/plugin-yadisk.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/preview.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/reboot.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/reset.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/sdcard.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/sensor.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/ssh-keys.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/status.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/telegram-bot-send.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/texteditor.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/timezone.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/tools.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/webui-settings.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/webui-update.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/webui.cgi
  inflating: microbe-web-dev/files/var/www/cgi-bin/yadisk-bot-send.cgi
  inflating: microbe-web-dev/files/var/www/favicon.ico
  inflating: microbe-web-dev/files/var/www/index.html
  inflating: microbe-web-dev/files/var/www/wait.html
Copy newer files to web directory
Remove absent files from overlay
rm: can't remove '/var/www/403.html': Not supported
rm: can't remove '/var/www/404.html': Not supported
rm: can't remove '/var/www/cgi-bin/_bootstrap.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/_common.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/_debug.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/_footer.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/_header.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/_html.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/_joystick.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/_settings.sh': Not supported
rm: can't remove '/var/www/cgi-bin/ajaxcmd.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/firmware-upload-kernel.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/firmware-upload-rootfs.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/help-about.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/help-telegram.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/info-httpd-config.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/majestic-config-aspatch.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/majestic-config-backup.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/majestic-config-reset.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/majestic-config-restore.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/majestic-debug.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/majestic-github.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/majestic-settings-update.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/network-ntp-reset.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/network-ntp-update.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/network-tz-update.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/network-update.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/ntp-update.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/preview-help.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/preview-mjpeg.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/preview-video.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/progress.cgi': Not supported
rm: can't remove '/var/www/cgi-bin/team.txt': Not supported
rm: can't remove '/var/www/cgi-bin/webui-settings-update.cgi': Not supported
rm: can't remove '/var/www/login.html': Not supported
Delete bundle
Delete temp directory
root@openipc-xm510:~# 

I was able to copy all files if i added the /overlay/ prefix to the files going into the usr and www the directories. It upgraded the UI, but did not change the behavior of the updates

I tried updating Mejestic parameters via the new UI, now I don't get an error. It simply fails silently

schneemaier avatar Jul 10 '22 16:07 schneemaier

No version of the installed web interface means you have a bundled one, that comes with the firmware.

themactep avatar Jul 10 '22 20:07 themactep

There is something wrong with your overlay partition that causes errors during copying/deleting files.

themactep avatar Jul 10 '22 20:07 themactep

Here is the filesystem inforamtion:

root@openipc-xm510:/# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.5M      2.5M         0 100% /rom
devtmpfs                  7.5M         0      7.5M   0% /dev
/dev/mtdblock4          704.0K    364.0K    340.0K  52% /overlay
overlayfs               704.0K    364.0K    340.0K  52% /
tmpfs                     7.5M         0      7.5M   0% /dev/shm
tmpfs                     7.5M     12.0K      7.5M   0% /tmp
tmpfs                     7.5M     44.0K      7.5M   1% /run
root@openipc-xm510:/# mount
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=7664k,nr_inodes=1916,mode=755)
/dev/mtdblock4 on /overlay type jffs2 (rw,relatime)
overlayfs on / type overlayfs (rw,relatime,lowerdir=/,upperdir=/overlay)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
sysfs on /sys type sysfs (rw,relatime)
root@openipc-xm510:/# cat /etc/fstab
# <file system>	<mount pt>	<type>	<options>	<dump>	<pass>
/dev/root	/		ext2	rw,noauto	0	1
proc		/proc		proc	defaults	0	0
devpts		/dev/pts	devpts	defaults,gid=5,mode=620,ptmxmode=0666	0	0
tmpfs		/dev/shm	tmpfs	mode=0777	0	0
tmpfs		/tmp		tmpfs	mode=1777	0	0
tmpfs		/run		tmpfs	mode=0755,nosuid,nodev	0	0
sysfs		/sys		sysfs	defaults	0	0

If the problem is with the overlay partition on /dev/mtdblock4 how can i fix it? Note that it was created by the firmware.

Or the overlay fs you are referring to is the overlayfs on / type overlayfs (rw,relatime,lowerdir=/,upperdir=/overlay)? Maybe the problem is that the upper and lover directories need to be swapped? How can i try that?

schneemaier avatar Jul 10 '22 21:07 schneemaier

After several tries i was able to update the WebUI, now it shows the latest development version

Installed dev+e8113f3, 2022-07-09
Stable [master+0ac2ff6, 2022-06-29](https://github.com/OpenIPC/microbe-web/commits/master)
Unstable [dev+e8113f3, 2022-07-09](https://github.com/OpenIPC/microbe-web/commits/dev)

I can change, update every setting i tried, except for majestic. Those settings are not saved with the error message dmesg: overlayfs: ERROR - failed to whiteout 'majestic.yaml'

schneemaier avatar Jul 11 '22 00:07 schneemaier

I read a bit more about overlayfs and it seems that the config is correct. The upperdir should be writable.

Can it be kernel related?

schneemaier avatar Jul 18 '22 23:07 schneemaier

After some testing it seems to be a overlayfs issue wiht white out failing. Looking at the kernel repo I found this patch related to whiteout issue in overlayfs: https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git/commit/?id=3e01cee3b980f96463cb6f378ab05303a99903d9

schneemaier avatar Sep 09 '22 20:09 schneemaier

I created a workaround in the webUI package. Replaced cp with cat in several instances and now i can save the settings without errors. I also fixed the the same problem in the webUI updated.

https://github.com/OpenIPC/microbe-web/pull/116

schneemaier avatar Jan 17 '23 22:01 schneemaier

I believe we had that overlay thing fixed like a year ago. If it still affects some platform, I think it should be fixed there, too. We heen to fix the core of the issue without writing more workarounds. Otherwise it will surface again somewhere down the road in another script which will be using a legit cp instead of cat.

themactep avatar Jan 18 '23 04:01 themactep

Can you point me to the fix?

I agree that this is a workaround, which may fail after some updates.

schneemaier avatar Jan 18 '23 19:01 schneemaier

I believe it's better to fix root cause, for example back port changes for overlayfs from recent kernel version to XM's one (let's find proper patches to fix the issue in Linux kernel mailing lists)

widgetii avatar Jan 18 '23 19:01 widgetii

image I would start from syncing these with xm530 or any other working board that has similar kernel ver

dimerr avatar Jan 18 '23 19:01 dimerr