NAS326 Log Report Problem

idet2
idet2 Posts: 12  Freshman Member
First Anniversary Friend Collector First Comment
Hello,

I have successfully set the Log Report to be send by email on an hourly basis.
Now whenever I access the panel I am getting the below error.

I was expecting to see my settings and I was also expecting to be able to change the Report Setting from hourly to daily or whatever but none of the settings are saved the way it is now.
What can be the cause of it and how can I solve it?

Should I start from scratch again and do the whole configuration?

All ideas are welcomed.

Best regards,

G.

All Replies

  • Mijzelf
    Mijzelf Posts: 2,598  Guru Member
    First Anniversary 10 Comments Friend Collector First Answer
    For what it's worth, an internal server error is almost always caused by a crashing CGI script. So in this case the (python) backend somehow crashes on generating the content for that form. Maybe some strange characters in the password?

    Anyway, AFAIK the only easy way out is reset to factory settings and start over. But maybe you can export the configuration and import it again, to trigger an extra sanity filter, somewhere.
  • idet2
    idet2 Posts: 12  Freshman Member
    First Anniversary Friend Collector First Comment

    and thank you very much for taking the time to respond!

    Is there a way to find out more from some logs?
    There are no strange characters in the password since I am using Gmail's less secure app functionality which auto-generates a password.

    I would like to avoid resetting back to factory settings so what I did was an attempt to reconfigure it but it stays forever in the following screen:

    Best regards,

    G.
  • idet2
    idet2 Posts: 12  Freshman Member
    First Anniversary Friend Collector First Comment
    edited December 2020
    By the way can I somehow see and review the *.rom from the backup, since installing it over didn't have any impact and the error still appears?

    Thanks,

    G.
  • Mijzelf
    Mijzelf Posts: 2,598  Guru Member
    First Anniversary 10 Comments Friend Collector First Answer
    By the way can I somehow see and review the *.rom from the backup, since installing it over didn't have any impact and the error still appears?
    Viewing is possible, editing possibly not, as the file has a header which might have a checksum. The file is basically a gzipped tar file with an 48 byte header. I can extract it using

    dd if=NAS520_2020-12-31_1222.rom skip=1 bs=48 | tar xz

    This generated 71 files of different types


  • idet2
    idet2 Posts: 12  Freshman Member
    First Anniversary Friend Collector First Comment
    edited January 2021
    @Mijzelf and the rest of the community : Happy new year! Wishing you all the best for 2021!

    OK! Thanks for the provided info.

    Digging a little bit further I have found out that the settings are kept in the "/etc/zyxel/py_conf" file, which on boot time (I guess since the relevant cod is in "sysdisk.img") is checked with MD5 hash against the "/var/web_framework/py_conf". If they differ the "/etc/zyxel/py_conf" is copied over to the "/var/web_framework/py_conf" and an import is taking place.

    My question now is the following:

    What procedure do I have to follow in order to manually change the "/etc/zyxel/py_conf" and then see the changes on the Web UI without restarting the NAS to save time?
    Is it enough to just do the copy and the "/usr/bin/python -c 'from models import system_main_model; system_main_model.write_pyconf()'" as defined in the "sysdisk.img"?
    Do I have to restart something else?

    My ultimate goal here is to change manually the fields one by one so that I will be able to see what breaks the UI. Does it make sense?

    Regards,

    G.


  • Mijzelf
    Mijzelf Posts: 2,598  Guru Member
    First Anniversary 10 Comments Friend Collector First Answer
    I must admit that I don't know the answer. AFAIK the webinterface backend is a CGI script written in python. Which means the script is re-launched every time a http GET is received. For elevated functions there is some mailbox communication with a backend daemon (also written in python) which runs as root.
    So the question is, is the problem in the CGI script or in the backend daemon? If the latter, you have to restart it, or at least trigger it, somehow. (In Linux the canonical way to let a daemon know it has to re-read the configuration is to send a HUP signal: "kill -HUP <pid>", but I don't know if ZyXEL implemented that)
    If it's in the CGI script, you wouldn't have to do anything, as it starts from scratch anyway. Except running that import script, maybe. Don't know what it does. Converting the human readable conf file to a binary file? Not very pythonic.
  • idet2
    idet2 Posts: 12  Freshman Member
    First Anniversary Friend Collector First Comment
    edited January 2021
    Hi again! I think I have nailed it!

    I have created a Gmail account that I am using it as a generic for all my SMTP communications with Gmail. That account starts as "smtp......@gmail.com".

    Putting that in the "From" field breaks the CGI script just because it starts with "smtp" (at least my tests have indicated that). Writing down there anything else without the "smtp" prefix seems to be working and I am eligible to edit the settings again.

    So for the moment I have put an "invalid" address in the "From" field since it has no effect anyway because it uses the address specified in the authentication section.

    Now I have the following question: How do I report a bug so that issues can be fixed in the next firmware release?

    Besides the problem described here I have also identified two more issues, so three in total which are:

    1) Using the "smtp" in the "From" field of Log settings breaks the ability to edit the form again (this is the one described here)

    2) In report setting there is the option to set the report time. For both the "Daily" and "Weekly" settings the minutes are ignored and always is set to exact time although there is a "minutes" setting in the relevant "py_conf" file (that's a new one)

    3) There is no option in the GUI to set the "subject" although this is available in the "py_conf" file (also a new one)


    Can I somehow report all these three somewhere ?

    Please let me know!

    Best regards,

    G.
  • Mijzelf
    Mijzelf Posts: 2,598  Guru Member
    First Anniversary 10 Comments Friend Collector First Answer
    Now I have the following question: How do I report a bug so that issues can be fixed in the next firmware release?
    Don't know, sorry. And don't held your breath, I think ZyXEL abandoned their NAS adventure. So I don't think any updates will come, with exception of security updates.

    BTW, your 'bugs' 2 and 3 are no bugs, but design decisions. I think they use some build in python mail module, which has this options, but choose not to expose them in the webinterface. Which is legit. Every extra edit box has to be documented in the users guide, has to be tested, maintained, ...


  • idet2
    idet2 Posts: 12  Freshman Member
    First Anniversary Friend Collector First Comment
    OK, I see!

    Although #2 is exposed in the UI. You have the option to set both time and minutes but no matter what you put minutes are never set in the config file, so this is definitely a bug :smile: IMHO.

    I will try Zyxel's site to see if I can find an e-mail or anything else to submit them.

    Meanwhile I hope that this thread will help others facing the same or similar problems.

    All the best,

    G.

Consumer Product Help Center