Hi community,
I have a question about i.MX6 Android BSP.
Actually, rarely android BSP reboots automatically if it is left without any operations.
[Board]
MCIMX6Q-SDP or MCIMX6DL-SDP
[BSP]
android_jb4.2.2_1.1.0-ga
[Procedure]
1. Boot Android BSP.
2. Tap "About tablet" in Settings menu 7 times, and "Developer options" become available.
3. Check "Stay awake".
4. Execute the following command from debug port to confirm android behavior.
# top -m 10 -d 5
5. Leave it without any operations.
[Result]
Android BSP rebooted without any error message as attached file.
[Question]
Do you know same issue?
Could you let me know how to avoid this issue?
Best Regards,
Satoshi Shimoda
Original Attachment has been moved to: [No.2]_20140324.log.zip
Solved! Go to Solution.
Hi Yixing Kong,
> Had your issue got resolved?
Yes, this issue has resolved.
Actually, the root cause was GPT.
We modified GPT source code, and this issue was resolved.
Best Regards,
Satoshi Shimoda
Can you remove the followed lines from init.rc to disable the watch dog? In this case, I think you can get the error logs.
# Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
service watchdogd /sbin/watchdogd 10 20
class core
Hi Qiang Li,
I got a report about this issue.
When watchdog is disabled, this issue was not occurred.
And we got a log that watchdog was NOT kicked about 7 min even though watchdog is set to be kicked every 10 sec.
Can you understand what is wrong these information?
Best Regards,
Satoshi Shimoda
The watchdogd is just a thread in Android, it just used sleep. The customer can find the source code:
system\core\init\watchdogd.c
while(1) {
write(fd, "", 1);
sleep(interval);
}
From my point, if there are many high priority tasks running with full CPU loading, there is chance that the watchdogs service has no time slot to run.
Hi Qiang Li,
Have you received a modified source code for test from Freescale local FAE?
Actually, a customer modify the watchdog source code and check the interval watchdog is kicked.
According to the test result with modified code, watchdog is kicked every 10 sec in normal , but 7 min interval was appeared.
We can understand higher priority tasks are executed before watchdog, but 7 min interval is too long.
So I guess some task prevents to kick the watchdog, or some task is stalled.
Then, could you let me know how to check what is prevents the watchdog kicking?
Best Regards,
Satoshi Shimoda
Satoshi-san
Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help, please feel free to reply with an update to this discussion.
Thanks,
Yixing
Hi Yixing Kong,
> Had your issue got resolved?
Yes, this issue has resolved.
Actually, the root cause was GPT.
We modified GPT source code, and this issue was resolved.
Best Regards,
Satoshi Shimoda
HI @Qiang_FSL
does the GPT patch refer to this one 0025-ENGR00295714-GPT-Status-register-bits-are-cleared-in.patch.zip
thanks
Hi satoshishimoda,
I have encountered the same issue as you commited, may I know how you sovle this issue? Did you modify the source code from fsl?
Or just modify some soure code you had modified before to freescale release source code?
Thank you very much!
Best Regards,
Chrissie
Hi Chrissie Jiang,
> Did you modify the source code from fsl?
Yes, I got a patch to modify GPT source code from local Freescale FAE.
So I recommend you contact to a local Freescale FAE and get the GPT patch.
Best Regards,
Satoshi Shimoda
Hi Satoshi Shimoda,
I will contact local Freescale FAE immediately.Thank you very much!
Best Regards,
Chrissie
After removed the wdog services from init.rc, no one will kick watchdog, so it is reasonable.
Any error log shown by watchdog?
Hi Leonardo,
I'm checking whether watchdog outputs some error or not.
Just a moment, please?
Best Regards,
Satoshi Shimoda