Difference between revisions of "Watchdogs and MICOM on A series(SH4)"
(Created page with 'There is abundant use of watchdogs/timeouts in LE46A956. I'm not sure if it is because of "quality" of firmware or it is an anti-hacking measure. Micom is a microcontroller respâ¦') |
(→Micom periodic watchdog) |
||
Line 23: | Line 23: | ||
== Micom periodic watchdog == | == Micom periodic watchdog == | ||
− | Periodic WD | + | Periodic WD is disabled in boot time. exeDSP always enables WD during startup and then periodically sends alive message. Timeout is 40 seconds. |
Commands: | Commands: | ||
/mtd_boot/MicomCtrl 22 # watchdog enable | /mtd_boot/MicomCtrl 22 # watchdog enable |
Revision as of 11:32, 1 May 2011
There is abundant use of watchdogs/timeouts in LE46A956. I'm not sure if it is because of "quality" of firmware or it is an anti-hacking measure.
Micom is a microcontroller responsible for receiving commands from RC, switching main power supply on and off, resetting main SH4 CPU and so on. It also works as a watchdog. Use
/mtd_boot/MicomCtrl
or
/lib/modules/MicomCtrl
to send commands to Micom. If the main tv process exeDSP is active, a collision between MicomCtrl and exeDSP command can happen - you can repeat MicomCtrl several times to ensure the command is accepted.
Contents
Early boot timeout
In the first 14 seconds since boot start Micom expects command Set_Sw_Pvcc (208). exeDSP sends it normally. If you don't want to or can't run exeDSP, use
/mtd_boot/MicomCtrl 208
If this command is not given in time, TV reboots 6 times and after that this watchdog deactivates itself.
Boot finished OK timeout
Micom expects command SetAppInitOk in 60 seconds from boot start otherwise it reboots.
/mtd_boot/MicomCtrl 232 1
Micom periodic watchdog
Periodic WD is disabled in boot time. exeDSP always enables WD during startup and then periodically sends alive message. Timeout is 40 seconds. Commands:
/mtd_boot/MicomCtrl 22 # watchdog enable /mtd_boot/MicomCtrl 23 # watchdog disable /mtd_boot/MicomCtrl 24 # alive message
/mtd_boot/MicomCtrl 133 1/0 # watchdog on/off /mtd_boot/MicomCtrl 135 # get watchdog on/off hexdump -v -n 9 -e '/1 "%02x "' /dev/ttyAS2 # reads reply packet from serial line
Linux kernel watchdog
Software watchdog with 30 second timeout and /proc/watchdog interface. Probably only this one can be switched off in service menu.
exeDSP internal watchdog
One thread of exeDSP periodically checks the other important threads and if one does not respond, reboots the TV. Watchdog thread can be disabled writing nonzero to address 0x2091164.
Other Micom commands
/mtd_boot/MicomCtrl 18 # power off /mtd_boot/MicomCtrl 29 # system restart (cycles main power off and on) /mtd_boot/MicomCtrl 143 # CPU reset (TV screen is shifted because GPU is not properly initialized)
/mtd_boot/MicomCtrl 227 0-4 # power LED control 0..off, 1/2/3..slow/medium/fast flashing, 4..on