Home › Android › Android Log Decoder
Android diagnostics · log decoder
Android Log Decoder
Paste what the phone or your box printed. The decoder finds the boot reason, the PMIC power-off reason, kernel panic signatures, eMMC registers and flash-tool errors (SP Flash Tool, QFIL, Odin, fastboot), names the hardware area, and gives a bench order. Every rule links to the source code or document it comes from.
Paste a log
Decoding runs in your browser. The text is not uploaded or stored.
What you can paste
| Input | How to get it | What it tells you |
|---|---|---|
| Boot reason | adb shell getprop sys.boot.reason and adb shell getprop ro.boot.bootreason (the second is often blocked by Android security policy) | Why Android says the last boot happened: kernel panic, watchdog, under-voltage, long key press, thermal shutdown. |
| PMIC power-on / power-off reason (Qualcomm) | Kernel log lines containing PMIC@SID (from dmesg, a bugreport, or a UART boot log) | Why the PMIC switched the phone off: UVLO (supply under-voltage), PMIC over-temperature, PMIC watchdog, stuck power / volume key, PS_HOLD. |
| Kernel panic / last kernel log | pstore: /sys/fs/pstore/console-ramoops-0 (root or a debug build is usually needed), the kernel log inside a bugreport, or a UART boot log | The panic reason, subsystem crashes (modem, ADSP, Wi-Fi), watchdog bark, SError, UFS errors, and the driver that was running when it crashed. |
| Flash tool error | The error line from SP Flash Tool (BROM / DA / STATUS codes, name or number), QFIL, Odin / the download-mode screen, or fastboot | What the error means, the usual fix, and when it points to hardware (for example DRAM enable failing with the right firmware points to the memory chip). |
| eMMC box report or EXT_CSD dump | The device-information text from your ISP box (CID, EXT_CSD lines) or a 512-byte EXT_CSD hex dump | Manufacturer, part name, revision, date, boot configuration, RPMB counter, and wear (life time / pre-EOL) when the dump includes it. |
How to read the result
Source-stated The source gives both the exact text and its hardware meaning (for example the PMIC printing "UVLO (Under Voltage Lock Out)").
Source names the block The text names the block directly (for example "modem crashed"); AIFlasher adds the bench order.
Bench reasoning The text is sourced; the link to a hardware part is AIFlasher reasoning. Measure before replacing anything.
Community knowledge Flash-tool error text and the usual fix from a public repair-community index (the chip vendor does not publish it). Lines marked "Bench reasoning (AIFlasher)" are added by AIFlasher.
The decoder never gives voltages or resistance values: those depend on the exact board. Compare readings with a known-good board of the same model or its schematic.
Hinglish me
Phone ka boot reason, PMIC@SID wali line, kernel panic log, box ka eMMC report ya SP Flash Tool / QFIL / Odin / fastboot ka error yahan paste karo. Decoder batayega kaunsa hardware area check karna hai aur kis order me.
Voltage value yahan nahi milegi: har board alag hota hai. Same model ke achhe board se ya schematic se milao, phir part badlo.
Sources (45)
Knowledge base v1.1.0: 196 rules (92 boot reasons, 21 PMIC reasons, 18 kernel signatures), 65 flash-tool errors, 15 driver families
- AOSP - Canonical boot reason (reason,subreason,detail; kernel / strong / blunt sets)
- AOSP - Lock and unlock the bootloader (get_unlock_ability, OEM unlocking, factory reset on unlock)
- AOSP system/core bootstat.cpp - kBootReasonMap, aliasReasons, panicReasons (android-10.0.0_r40)
- AOSP system/core fastboot.cpp - host messages ("< waiting for %s >", "FAILED (%s)", "cannot load")
- Fairphone forum - FP4 fastboot answers: locked device, critical partitions, partition does not exist
- Homey community - JEDEC excerpt: life time "given in steps of 10% so a value of 0x01 means that 0% to 10% life time used"
- Hovatek - Odin3 errors: "FAIL! Auth / custom binary (vbmeta) blocked by oem lock", "stuck at file analysis"
- Hovatek - Qualcomm Flash Image Loader (QFIL) errors and fixes
- Hovatek - SP Flash Tool errors and fixes (community error index: BROM / DA / STATUS codes)
- Hovatek - Samsung "SW REV. CHECK FAIL. DEVICE:2, BINARY:1" (firmware with a lower bootloader version)
- LKML (James Morse, Arm) - "Asynchronous external abort is treated as a special kind of interrupt, SError Interrupt"
- LKML - "mmc: mediatek: Add Mediatek MMC driver" (mtk-sd.c, msdc_* functions)
- Linux admin-guide ramoops - oops / panic logs kept in RAM across a reboot (pstore)
- Linux arm64 mm/fault.c - "Unable to handle kernel NULL pointer dereference / paging request at virtual address"
- Linux arm64 traps.c (LKML patch context) - "SError Interrupt on CPU%d, code 0x%08x" / nmi_panic "Asynchronous SError Interrupt"
- Linux drivers/mmc/core/card.h - CID_MANFID_* manufacturer IDs
- Linux drivers/mmc/core/mmc.c - CID decode bit offsets; year +16 when EXT_CSD_REV >= 5 (JESD84-B451); life-time fields read when EXT_CSD_REV >= 7
- Linux include/linux/mmc/mmc.h - EXT_CSD byte offsets (PART_CONFIG 179, RST_N 162, RPMB_MULT 168, REV 192, SEC_CNT 212, BOOT_MULT 226, FW 254, PRE_EOL 267, LIFE A/B 268/269)
- Linux kernel/hung_task.c - "blocked for more than %ld seconds" / panic "hung_task: blocked tasks"
- Linux kernel/watchdog.c - "BUG: soft lockup - CPU#%d stuck for %us!" / "Watchdog detected hard LOCKUP on cpu %d"
- Linux source - drivers/gpu/drm (display: msm / mediatek DRM, DSI)
- Linux source - drivers/i2c (I2C bus core and controllers)
- Linux source - drivers/input/touchscreen (touch controllers)
- Linux source - drivers/md (dm-verity, verified block devices)
- Linux source - drivers/mmc (eMMC / SD core and hosts: mmc_*, sdhci_*)
- Linux source - drivers/power/supply (charger / fuel gauge drivers, power_supply_*)
- Linux source - drivers/thermal (thermal zones, tsens)
- Linux source - drivers/ufs (UFS host controller, ufshcd_*)
- Linux source - drivers/usb/dwc3 (USB controller, dwc3_*)
- Linux source - fs/f2fs and fs/ext4 (filesystems on the userdata / system partitions)
- Linux source - sound/soc (audio codecs and amplifiers, snd_soc_*)
- Linux thermal core - "%s: critical temperature reached, shutting down" (old: "critical temperature reached (%d C), shutting down")
- NetModule Linux docs - eMMC PRE_EOL_INFO 0x01 Normal / 0x02 Warning (80% reserved blocks) / 0x03 Urgent (90%); type A = SLC, type B = MLC
- Qualcomm (Dragonwing docs) - UFS debugging: "no response from device", pa_err / dl_err counts = weak AP-UFS signal quality
- Qualcomm msm_watchdog.c - "Watchdog bark! Now = ..." / "Apps watchdog bark received!" (bark = IRQ to apps CPU, bite ~3 s later)
- Qualcomm qpnp power-on.h - PON trigger sources and restart reasons
- Qualcomm qpnp-power-on driver - qpnp_pon_reason[] / qpnp_poff_reason[] and the "PMIC@SID Power-on/off reason" log lines
- Qualcomm subsystem_restart.c - "Restart sequence requested for %s" / "Resetting the SoC - %s crashed"
- Qualcomm vendor kernel - drivers/gpu/msm (Adreno GPU, kgsl_* / adreno_*)
- Qualcomm vendor kernel - drivers/net/wireless/cnss2 (Wi-Fi / BT platform driver, cnss_*)
- Qualcomm vendor kernel - drivers/power/smb-lib.h (smblib_* charger library)
- Sony Community - Xperia M restarts: "modem subsystem failure reason" then "Resetting the SoC - modem crashed" (no confirmed fix)
- U-Boot commit "mmc: fix bug in mmc_startup_v4()" - EXT_CSD_REV to eMMC version table (4.41 / 4.5 / 5.0 / 5.1)
- U-Boot include/mmc.h - PARTITION_CONFIG fields (BOOT_ACK bit 6, BOOT_PART bits 5:3, ACCESS bits 2:0), BOOT_BUS_WIDTH 177 fields
- XDA - Samsung SCH-I545 "SW REV. CHECK FAIL : fused : 6 , Binary : 5" with Odin "FAIL! (Auth)"
Flash-tool errors are community knowledge: MediaTek and Qualcomm do not publish their tool error lists, so those rules cite the public Hovatek error index and are marked "Community knowledge". Not covered yet: MediaTek crash formats (AEE / HWT), Samsung Exynos kernel logs, Unisoc download-tool errors and UFS health registers. Related: Boot / restart diagnostics · UFS / eMMC storage · iPhone panic decoder