Hi João,
I'm having an issue with a custom Alt-F build I made for my DNS-320L so I'm looking for debugging suggestions. I did a build using all your latest commits,
and everything initially works normally. What eventually happens after an extended time though (seems like 25 days or more uptime)
is that the system temperature stops updating. I can see in fantemp.log that no new entries are logged, and the fan does not start even though the system is overheating. After rebooting everything works again and the correct temperature is reported. My impression is that the last temp reported was always 1 degree below the point where I would expect the fan to start running.
I've verified that both sysctrl and dns320l-daemon are still running (which appear to be the key processes) and there are no unusual messages in syslog.
Do you have any suggestions how to debug this or get additional logging?
Thanks.
As an alternative to your proposed solution, I believe that declaring the sleepCount as 'unsigned int', or better, 'unsigned short' will also solve the bug.
There seems to exists some implementation or standards details that make the remainder '%' operation result dubious when one of the operands is negative.
Hi,
I'm reviving this thread to follow up on the discussion regarding
the integer overflow issue in the dns320l-daemon that caused the
temperature monitoring and fan control to stop updating after long
periods of uptime.
Considering that the fix involves a modification to the daemon's
source code (e.g., resetting the sleepCount variable), I wanted to
ask how these solutions can be implemented by an end-user like
myself.
Has the daemon been officially updated and packaged into a new
Alt-F firmware version, or is there a standard procedure to apply
this specific update to the daemon right now?
Currently, my workaround is to either manually reboot the device
every 23 days or configure a cron job.
Thanks!
Regards,
mk.
--
You received this message because you are subscribed to the Google Groups "Alt-F" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alt-f+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/alt-f/6290a069-8d06-47c7-8b32-731e2c78d72en%40googlegroups.com.
Hi,
I believe that you can periodically politely kill the daemon
using a crontab.
The daemon has provisions to cleanly stop himself, and as it is
under control of the 'init' process, it will be automatically
relaunched.
Look what happens (viewed with the 'logread' command) when the command 'dns320l-daemon -x ShutdownDaemon' is issued from the command line (read the text in bold bellow):
Mar 16 19:51:59 DNS-327L daemon.info dns320l-daemon: Handling Command: ShutdownDaemon
Mar 16 19:51:59 DNS-327L daemon.info dns320l-daemon: Shutting down dns320l-daemon...
Mar 16 19:51:59 DNS-327L daemon.info init: process '/usr/sbin/dns320l-daemon' (pid 1616) exited. Scheduling f
or restart.
Mar 16 19:51:59 DNS-327L daemon.info init: starting pid 2526, tty '/dev/null': '/usr/sbin/dns320l-daemon'
Mar 16 19:51:59 DNS-327L daemon.info dns320l-daemon: Server startup success on /var/run/dns320l.socket
So a new process starts with a new clean variable. You can create a cron job to automate that, no need to reboot, go to
Services->System->cron->Configure
and add a new entry, say weekly (read the tooltips), using the command
/usr/sbin/dns320l-daemon -x ShutdownDaemon
Untested, of course.
Please update this thread with your results
Joao
To view this discussion visit https://groups.google.com/d/msgid/alt-f/35c93230-391d-402c-9129-9b3889e5c146%40gmail.com.