<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: Watchdog rebooting kernel</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578624#M88217</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;my bad i overlooked the options of watchdog. &lt;/P&gt;&lt;P&gt;I changed &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&amp;nbsp; ioctl(fd, WDIOC_SETPRETIMEOUT, &amp;amp;pretimeout); this line to&amp;nbsp; ioctl(fd, WDIOC_KEEPALIVE, &amp;amp;options);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 28 Jun 2016 11:11:32 GMT</pubDate>
    <dc:creator>chandraevolute</dc:creator>
    <dc:date>2016-06-28T11:11:32Z</dc:date>
    <item>
      <title>Watchdog rebooting kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578623#M88216</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am working with watchdog now &lt;/P&gt;&lt;P&gt;I wrote a small piece of code to understand the working of software watchdog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;string.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;unistd.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;fcntl.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;sys/ioctl.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;linux/types.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;linux/watchdog.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Keep_Alive(int fd)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int options = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int pretimeout = 10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int options = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd, WDIOS_ENABLECARD, &amp;amp;options);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd, WDIOC_SETPRETIMEOUT, &amp;amp;pretimeout);&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd, WDIOC_SETOPTIONS, &amp;amp;options);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Watchdog Alive \n");&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Kill(int fd)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write(fd, "V", 1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Watchdog killed\n");&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int main()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int fd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int timeout = 15;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd = open("/dev/watchdog", O_WRONLY);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(fd == -1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fprintf(stderr, "Watchdog faild to open");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; ioctl(fd, WDIOC_SETTIMEOUT, &amp;amp;timeout);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("The timeout was set to %d seconds\n", timeout);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Keep_Alive(fd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep(10);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kill(fd);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Output : &lt;/P&gt;&lt;P&gt;root@imx6ulevk:/media# ./WatchDog&lt;/P&gt;&lt;P&gt;The timeout was set to 15 seconds&lt;/P&gt;&lt;P&gt;Watchdog Alive&lt;/P&gt;&lt;P&gt;watchdog pre-timeout:10, 5 Seconds remained&lt;/P&gt;&lt;P&gt;Watchdog Alive&lt;/P&gt;&lt;P&gt;U-Boot 2015.04-imx_v2015.04_3.14.38_6ul_ga+g5d63276 (May 16 2016 - 14:32:19)&lt;/P&gt;&lt;P&gt;I am kicking the watchdog for every 10 seconds still the board is rebooting after 15 secs. &lt;/P&gt;&lt;P&gt;What is the wrong i am doing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am using imx6ulevk board and 3.14.38 kernel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jun 2016 10:46:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578623#M88216</guid>
      <dc:creator>chandraevolute</dc:creator>
      <dc:date>2016-06-28T10:46:36Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog rebooting kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578624#M88217</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;my bad i overlooked the options of watchdog. &lt;/P&gt;&lt;P&gt;I changed &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&amp;nbsp; ioctl(fd, WDIOC_SETPRETIMEOUT, &amp;amp;pretimeout); this line to&amp;nbsp; ioctl(fd, WDIOC_KEEPALIVE, &amp;amp;options);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jun 2016 11:11:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578624#M88217</guid>
      <dc:creator>chandraevolute</dc:creator>
      <dc:date>2016-06-28T11:11:32Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog rebooting kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578625#M88218</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi chandra&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can check if serviced correctly WDOGx_WSR register :&lt;/P&gt;&lt;P&gt;0x5555 Write to the Watchdog Service Register (WDOG_WSR).&lt;/P&gt;&lt;P&gt;0xAAAA Write to the Watchdog Service Register (WDOG_WSR).&lt;/P&gt;&lt;P&gt;use, for example memtool and try to reset wdog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jun 2016 11:14:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578625#M88218</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2016-06-28T11:14:12Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog rebooting kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578626#M88219</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/igorpadykov"&gt;igorpadykov&lt;/A&gt;​&lt;/P&gt;&lt;P&gt;How can I write values directly to resgisters in linux?? How can I check the register values?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jun 2016 11:24:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Watchdog-rebooting-kernel/m-p/578626#M88219</guid>
      <dc:creator>chandraevolute</dc:creator>
      <dc:date>2016-06-28T11:24:18Z</dc:date>
    </item>
  </channel>
</rss>

