This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

watchdog chip, how to install program?

Dear users, 
I looked through the faq and the forum but found no thread concerning my question. 
If there is I appologize and ask the admins to move this thread to the right place.
Is it possiple to perform the instructions following on an installed astaro firewall/router?

Here follows the installation guide:

Lanner Platform Miscellaneous Utility
Watchdog/Bypass Program 
================================================

Code structure:V1.0

Contents
========

- In This Release
- Building 
- Installation
- Usage
- Q&A
- history
- License


In This Release
===============

This file describes the code structure of Lanner platform watchdog/bypass 
program.  This package provides program(DOS/Linux/FreeBSD) and driver
(Linux/FreeBSD) for Lanner platform-specific function.
Separated makefile available as well.(Makefile.dos, Makefile.linux,
Makefile.freebsd)

For DOS environment, Use DJGPP as compiler., use DJGPP and Makefile.dos.

For Linux, supports kernel versions 2.4.x and 2.6.x and Makefile.linux.

For FreeBSD, it is tested under FreeBSD 8.0.


This release provide 2 ways(Defined in Makefile) to access Lanner platform
devices:

1. DIRECT_IO_ACCESS=0(Default):

   To access Lanner miscellaneous devices through lanner driver.
   Lanner driver is available in bin sub-directory after make.
   This driver is only supported as a loadable module at this time. Lanner is
   not supplying patches against the kernel source to allow for static linking
   of the driver.

   Note: This mode is enabled by set DIRECT_IO_ACCESS=0 in Makefile.

2. DIRECT_IO_ACCESS=1:

   To manipulate Lanner miscellaneous device by userland application direct
   accessing. This mode JUST FOR providing quick way for user to realize
   Lannner platform specific function. This mode supported on DOS and Linux.

   Note: This mode is enabled by set DIRECT_IO_ACCESS=1 in Makefile.



Building
========

To build, 3 steps to accomplish it:

1. Identify current OS and select proper Makefile. 
   Copy Makefile.(os) to Makefile.

2. Select access mode(DIRECT_IO_ACCESS=[0|1] by edit Makefile.

3. Just type make to build, once completed, bin sub-directory contains.



Installation
============

To installation, depend on what's access mode you set:

If DIRECT_IO_ACCESS=1, no driver is need. Just execute executable program in
bin sub-directory to handle watchdog/bypass function.


If DIRECT_IO_ACCESS=0 , driver is needed.
For Linux:
        Insert module and create node in /dev as below example:
        #insmod wd_drv.[k]o
        #mknod /dev/wd_drv c 241 0

For FreeBSD:
        Insert module as below example:
        #kldload -v ./wd_drv.ko




Usage
=====
Once build completed, application(and driver) is available in bin sub-directory.

The command usage will be printout when you execute wd_test without any argument.
Below list usage:

        wd_tst --srbe [1|2](Set Pair 1/2 Runtime Bypass Enabled)
        wd_tst --srbd [1|2](Set Pair 1/2 Runtime Bypass Disabled)
        wd_tst --sobe [1|2](Set Pair 1/2 Off-mode Bypass Enabled)
        wd_tst --sobd [1|2](Set Pair 1/2 Off-mode Bypass Disabled)
        wd_tst --swtsb (Set Watchdog Timeout State to Bypass)
        wd_tst --swtsr (Set Watchdog Timeout State to Reset)
        wd_tst --swt *** (Set Watchdog Timer 1-255 seconds)
        wd_tst
  •  --start (Start Watchdog Timer)
            wd_tst --stop (Stop Watchdog Timer)

    Note 
  • : wd_tst --start is not presented if DIRECT_IO_ACCESS=1, watchdog timer
      will start automatically once "./wd_tst --swt ***" is executed.


    Physical Pair mapping:
    +---------------------------------------------------------+
    |                                                         |
    |  +---------+  +-----+  +----------+  +----------+       |
    |  | console |  | USB |  |  Pair1   |  |  Pair 2  |       |
    |  +---------+  +-----+  +----------+  +----------+       |
    |                                                         |
    +---------------------------------------------------------+

    Note for Linux user: insmod driver if necessary.

    So I hope someone will know if I can use the watchdog chip of my pc.
    thx a lot cptmerget


This thread was automatically locked due to age.
  • Dear Barry,
    I ran the commands as you suggested and found UTM restart 60 seconds after running the second command.
    So I took a look on the link you did send and started creating a file in /dev, named crontab.watchdog, using #vi crontab.watchdog command.
    To continue I would be ever so happy if you could tell me what exactly should be written in crontab.watchdog.  wd_tst executable is in /usr/local/bin. 
    Regards cptmerget
  • Hi, 

    The cron file does not belong in /dev; it belongs in /etc, e.g. 
    /etc/crontab.watchdog

    Try:

    * * * * * root /usr/local/bin/wd_tst --swt 90


    and reboot after saving that to get the system cron files updated.

    Barry
  • Dearest friend Barry,
    just followed your advice. Is there a way to check whether it is working or not?
    Before creating crontab.watchdog I had a look in /dev to delete cront.... in /dev and by the way found:
    ptyc3   ptyr9 ptywf stderr ttyb2 ttyq8 ttyv6 watchdog
    What may this mean?
    Regards cptmerget
  • Hi,

    /dev has all the system device drivers. Don't delete anything else from there.

    Look at the logs in /var/log to make sure it's running; you'll see cron entries, probably in system.log 

    Barry
  • Dear Barry,
    if you may , please have a look on the attached jpeg from system.log. Maybe you can identify the cron job.
    I took pictures from /etc and crontab.watchdog as well, just to make sure I am doing everything right.
    Regards cptmerget
  • Hi,

    1. the spaces are important in the cron file; copy/paste what I wrote

    2. remember to reboot after saving the file

    Barry
  • Dear Barry,

    oooooppsss, embarassing, he who can read has got a clear advantage.
    I even read about cron jobs on the net to understand more but that it comes down to the missing spaces, is what I missed.
    I can hardly express how grateful I am that you had all this patience to guide me through a process that I would have never accomplished on my own. But I can imagine how happy you must be to get rid of my ignorance and questioning the obvious...smile.
    If I would have tried to gather all necessary information through other sources, UTM would probably run version 15.0 before I were finished.
    To me this has been a very exciting adventure and your brilliance and knowledge did not only help to finish the task but as well encouraged me to read and learn a lot. Remember, Linux the unknown continent.
    Looking at the attachment I hope you join in calling this thread solved.

    Regards cptmerget
  • Dear Barry,
    knowing the cron job is an ingenious workaround and therefore the chip is still not running as supposed did not let me sleep.
    I searched contact with Lanner and the service advised me to try DOS-Boot-USB stick with wd_tst.exe on it and run the system from there. They told me as well that you have to set timeout to bypass.
    The chip is doing what he is supposed to do if run under DOS.
    So it is no hardware problem and the service advised me to use a different linux and asked me to send the kernel versions I am using.
    Just a little update on the case.
    Regards cptmerget
  • Did you tell them you're using the mode without a kernel driver module?

    I think it's working as expected.

    Barry