watchdog versus reboot command - hangs sometimes

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

watchdog versus reboot command - hangs sometimes

1,677 Views
manoelramon
Contributor I

Hi Community

   I have a question. My device is running android 4.3 based in IMX6Q and created a script that test the boot process. Basically, after the zygote is ready, 10 seconds later I send a reboot command via shell.

   The device reboots fine for something around 10 boots. After that I see that u-boot is detecting the previous boot as "watchdog" reason and then hangs:

   Everytime I send the reboot, command I see the following messages:

# reboot
SysRq : Emergency Remount R/O
EXT4-fs (mmcblk0p4): re-mounted. Opts: (null)
EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)
Emergency Remount complete
imx2-wdt imx2-wdt.0: Device shutdown: Expect reboot!
Restarting system.

When the restart fails I see the boot reason as WDOG:

U-Boot 2009.08-00091-gb128c3c (Nov 15 2016 - 17:01:55)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 185
Temperature: 40 C, calibration data 0x59550269
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6Q-HORIZON: unknown-board Board: 0x63012 [WDOG]
Boot Device: MMC
I2C: ready
DRAM: 1 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
*** Warning - bad CRC or MMC, using default environment

In: serial
Out: serial
Err: serial
Found PFUZE100! deviceid=10,revid=21
Net: FEC0 [PRIME]
Hit any key to stop autoboot: 0
kernel @ 10808000 (4752500)
ramdisk @ 11800000 (238673)
kernel cmdline:
use boot.img command line:
console=ttymxc0,115200 init=/init video=mxcfb0:dev=lcd,Newhaven-LCD,if=RGB24,bpp=32 fbmem=28M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=intrinsyc no_console_suspend=1 dmfc=3

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Initializing cgroup subsys cpu
Linux version 3.0.35 (mramon@nirvana-vm) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #4 SMP PREEMPT Wed Nov 16 13:50:44 PST 2016
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Accriva i.MX 6 Horizon Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @c1325000 s6592 r8192 d13888 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 203520
Kernel command line: console=ttymxc0,115200 init=/init video=mxcfb0:dev=lcd,Newhaven-LCD,if=RGB24,bpp=32 fbmem=28M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=intrinsyc no_console_suspend=1 dmfc=3
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 379MB 360MB 64MB = 803MB total
Memory: 801972k/801972k available, 246604k reserved, 434176K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xfbe00000 - 0xffe00000 ( 64 MB)
vmalloc : 0xd9800000 - 0xf2000000 ( 392 MB)
lowmem : 0xc0000000 - 0xd9000000 ( 400 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.init : 0xc0008000 - 0xc0065000 ( 372 kB)
.text : 0xc0065000 - 0xc08fc39c (8797 kB)
.data : 0xc08fe000 - 0xc0993688 ( 598 kB)
.bss : 0xc09936ac - 0xc0b1b608 (1568 kB)
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
arm_max_freq=800MHz
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys debug
Initializing cgroup subsys cpuacct
Initializing cgroup subsys freezer
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
Brought up 2 CPUs
SMP: Total of 2 processors activated (3162.11 BogoMIPS).
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal
print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal
Reboot Reason: [WDOG]
Board: UARTs Initialized.

ram_console: got buffer at 3ff00000, size 100000
ram_console: found existing buffer, size 20220, start 20220
console [ram-1] enabled
Board: LCD init ok
Board: jadak_data enabled
Booting device : MMC
user buttons defined: ret = 0
------------------
Wifi/BT power on
------------------
Board: Analytic Camera initialized.
Board: Analytic POST Enabled

Board: 3.3VA Disabled

Board: Analytic CPU Disabled

Board: Analytic Boot init ok
Board: ft5x0x_ts_reset
Board: ft5x0x_ts_init ok
Board: SPARX-Integrated PCB defined.
Board: End of Board Init.

hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B
bio: create slab <bio-0> at 0
mxs-dma mxs-dma-apbh: initialized
print_constraints: vmmc: 3300 mV
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
mc_pfuze 1-0008: ID: 0,Full lay: 2 ,Metal lay: 1
mc_pfuze 1-0008: FAB: 0 ,FIN: 0
PFUZE: SW4 is ON
print_constraints: PFUZE100_SW1A: 300 <--> 1875 mV at 1300 mV
print_constraints: PFUZE100_SW1B: 300 <--> 1875 mV at 300 mV
print_constraints: PFUZE100_SW1C: 300 <--> 1875 mV at 1300 mV
print_constraints: PFUZE100_SW2: 3250 <--> 3300 mV at 3300 mV
print_constraints: PFUZE100_SW3A: 400 <--> 1975 mV at 1500 mV
print_constraints: PFUZE100_SW3B: 400 <--> 1975 mV at 1500 mV
print_constraints: PFUZE100_SW4: 3200 <--> 3300 mV at 3300 mV
print_constraints: PFUZE100_SWBST: at 5000 mV
print_constraints: PFUZE100_VSNVS: 3000 mV
print_constraints: PFUZE100_VREFDDR: at 750 mV
print_constraints: PFUZE100_VGEN1: 800 <--> 1550 mV at 800 mV
print_constraints: PFUZE100_VGEN2: 800 <--> 1550 mV at 1500 mV
print_constraints: PFUZE100_VGEN3: 3000 <--> 3300 mV at 3300 mV
print_constraints: PFUZE100_VGEN4: 2800 mV
print_constraints: PFUZE100_VGEN5: 2800 <--> 3000 mV at 2800 mV
print_constraints: PFUZE100_VGEN6: 3100 <--> 3300 mV at 3300 mV
MANOEL ipu_proble()
imx-ipuv3 imx-ipuv3.0: IPU DMFC ONLY-DP HIGH RESOLUTION: 5B(0~3), 5F(4~7)
MANOEL ipu_proble()
imx-ipuv3 imx-ipuv3.1: IPU DMFC ONLY-DP HIGH RESOLUTION: 5B(0~3), 5F(4~7)
Advanced Linux Sound Architecture Driver Version 1.0.24.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
TCP established hash table entries: 65536 (order: 7, 524288 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 32
Unpacking initramfs...
Freeing initrd memory: 232K
PMU: registered new PMU device of type 0
Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = d9880000 suspend_iram_base=d98ec000
PM driver module loaded
IMX usb wakeup probe
the wakeup pdata is 0xd46fd8e0
add wake up source irq 75
cpu regulator mode:ldo_bypass
_regulator_get: get() with no identifier
mx6_cpu_regulator_init: failed to get pu regulator
i.MXC CPU frequency driver
highmem bounce pool size: 64 pages
ashmem: initialized
NTFS driver 2.1.30 [Flags: R/O].
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.16)
msgmni has been set to 718
NET: Registered protocol family 38
cryptodev: driver loaded.
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
MIPI DSI driver module loaded
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver lcd
lcdif_init: 1
init channel = 9
init channel 1
init channel 2
init channel 3
init channel 23
init channel 23.1
init channel 23.2
init channel 28

My first question is, do you guys have any idea why sometimes the reboot is triggering the watchdog ? And why the boot fails ?

Labels (5)
0 Kudos
2 Replies

808 Views
igorpadykov
NXP Employee
NXP Employee

Hi Manoel

one can try suggestions on link for similar issue

mx6q reboot problem 

and check with oscilloscope reset PMIC, on SabreSD schematic this is

spf-27392 p.19 signal pwron, generated from wdog on p.21


Schematics (1)
i.MX6_SABRE_SDP_DESIGNFILES
http://www.nxp.com/products/software-and-tools/hardware-development-tools/sabre-development-system/s...

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

808 Views
manoelramon
Contributor I

Just to clarify. I am not sure why but after some reboots the reboot is being categorized as WDOG.

Why ??? 

Then my displays keeps off, my driver is not loaded and ipu init channel buffer is not called.

0 Kudos