Hello,
I've had a few reboots and debugging the problem, I've discovered this:
last_kmsg:
----
[90978.707145] mmc1: data txfr (0x00100000) error: -110 after 671 ms
[90978.707258] sdhci: =========== REGISTER DUMP (mmc1)===========
[90978.707300] sdhci: Sys addr: 0x80000008 | Version: 0x00003802
[90978.707373] sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000008
[90978.707413] sdhci: Argument: 0x003f0a10 | Trn mode: 0x0000002b
[90978.707486] sdhci: Present: 0x01e80100 | Host ctl: 0x00000035
[90978.707526] sdhci: Power: 0x0000000b | Blk gap: 0x00000000
[90978.707598] sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[90978.707639] sdhci: Timeout: 0x0000000c | Int stat: 0x00000000
[90978.707680] sdhci: Int enab: 0x03ff800b | Sig enab: 0x03ff800b
[90978.707752] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[90978.707793] sdhci: Caps: 0x642dc8b2 | Caps_1: 0x00008007
[90978.707864] sdhci: Cmd: 0x0000193a | Max curr: 0x00000000
[90978.707905] sdhci: Resp 1: 0x00000000 | Resp 0: 0x00000900
[90978.707978] sdhci: Resp 3: 0x00000900 | Resp 2: 0x00000000
[90978.708017] sdhci: Host ctl2: 0x00000003
[90978.708057] sdhci: ADMA Err: 0x00000003 | ADMA Ptr: 0x35a40008
[90978.708128] mmc1: clk: 200000000 clk-gated: 0 claimer: mmcqd/1 pwr: 10
[90978.708199] mmc1: rpmstatus[pltfm](runtime-suspend:usage_count:disable_depth)(0:0:0)
[90978.708239] sdhci: ===========================================
[90978.712431] mmcblk0: error -110 transferring data, sector 4131344, nr 8, cmd response 0x900, card status 0x100c02
[90978.712514] end_request: I/O error, dev mmcblk0, sector 4131344
[90978.712559] end_request: I/O error, dev mmcblk0, sector 4131344
[90978.712667] Aborting journal on device mmcblk0p28-8.
[90978.713769] journal commit I/O error
[90978.714748] done.
---
---
[90979.265686] EXT4-fs error (device mmcblk0p28): ext4_journal_start_sb:328: Detected aborted journal
[90979.265968] EXT4-fs (mmcblk0p28): Remounting filesystem read-only
[90979.267079] Kernel panic - not syncing: EXT4-fs panic from previous error
[90979.267085]
[90979.267243] [<c010de1c>] (unwind_backtrace+0x0/0x144) from [<c09fd44c>] (dump_stack+0x20/0x24)
[90979.267385] [<c09fd44c>] (dump_stack+0x20/0x24) from [<c09fde5c>] (panic+0x9c/0x21c)
[90979.267526] [<c09fde5c>] (panic+0x9c/0x21c) from [<c030f298>] (__ext4_abort+0xe0/0xf4)
[90979.267668] [<c030f298>] (__ext4_abort+0xe0/0xf4) from [<c030f624>] (ext4_journal_start_sb+0xa0/0x1a4)
[90979.267757] [<c030f624>] (ext4_journal_start_sb+0xa0/0x1a4) from [<c02f7920>] (ext4_dirty_inode+0x24/0x50)
[90979.267905] [<c02f7920>] (ext4_dirty_inode+0x24/0x50) from [<c028c4ec>] (__mark_inode_dirty+0x3c/0x1e0)
[90979.268048] [<c028c4ec>] (__mark_inode_dirty+0x3c/0x1e0) from [<c02f5538>] (ext4_setattr+0xd0/0x414)
[90979.268192] [<c02f5538>] (ext4_setattr+0xd0/0x414) from [<c027e6a4>] (notify_change+0x198/0x2b8)
[90979.268336] [<c027e6a4>] (notify_change+0x198/0x2b8) from [<c0262264>] (chown_common+0x7c/0x94)
[90979.268477] [<c0262264>] (chown_common+0x7c/0x94) from [<c0262fd8>] (sys_fchown+0x74/0x98)
[90979.268563] [<c0262fd8>] (sys_fchown+0x74/0x98) from [<c0107300>] (ret_fast_syscall+0x0/0x30)
[90979.268701] CPU0: stopping
[90979.268752] [<c010de1c>] (unwind_backtrace+0x0/0x144) from [<c09fd44c>] (dump_stack+0x20/0x24)
[90979.268836] [<c09fd44c>] (dump_stack+0x20/0x24) from [<c010c890>] (handle_IPI+0x198/0x1cc)
[90979.268919] [<c010c890>] (handle_IPI+0x198/0x1cc) from [<c0100590>] (gic_handle_irq+0xb0/0xf4)
[90979.269003] [<c0100590>] (gic_handle_irq+0xb0/0xf4) from [<c0106f00>] (__irq_svc+0x40/0x70)
[90979.269047] Exception stack(0xed7add28 to 0xed7add70)
[90979.269121] dd20: 00000004 00000004 00000004 00000001 ed7addac c2401bc0
[90979.269164] dd40: c2401bc0 013d1000 c2401bc8 00000001 00000001 ed7add9c 00000002 ed7add70
[90979.269236] dd60: c011969c c01e02c0 20000113 ffffffff
[90979.269312] [<c0106f00>] (__irq_svc+0x40/0x70) from [<c01e02c0>] (generic_exec_single+0x7c/0xa0)
[90979.269358] [<c01e02c0>] (generic_exec_single+0x7c/0xa0) from [<c01e06f0>] (smp_call_function_single+0x10c/0x1e8)
[90979.269435] [<c01e06f0>] (smp_call_function_single+0x10c/0x1e8) from [<c01e0ca0>] (smp_call_function_many+0x248/0x298)
[90979.269511] [<c01e0ca0>] (smp_call_function_many+0x248/0x298) from [<c01e0d40>] (smp_call_function+0x50/0x7c)
[90979.269591] [<c01e0d40>] (smp_call_function+0x50/0x7c) from [<c070ac0c>] (cpuidle_latency_notify+0x28/0x30)
[90979.269670] [<c070ac0c>] (cpuidle_latency_notify+0x28/0x30) from [<c01b9df0>] (notifier_call_chain+0x54/0x94)
[90979.269748] [<c01b9df0>] (notifier_call_chain+0x54/0x94) from [<c01ba270>] (__blocking_notifier_call_chain+0x58/0x70)
[90979.269829] [<c01ba270>] (__blocking_notifier_call_chain+0x58/0x70) from [<c01ba2b0>] (blocking_notifier_call_chain+0x28/0x30)
[90979.269914] [<c01ba2b0>] (blocking_notifier_call_chain+0x28/0x30) from [<c01cfd28>] (pm_qos_update_target+0xf0/0x13c)
[90979.269996] [<c01cfd28>] (pm_qos_update_target+0xf0/0x13c) from [<c01cff74>] (pm_qos_update_request+0x64/0x94)
[90979.270080] [<c01cff74>] (pm_qos_update_request+0x64/0x94) from [<c0729bf0>] (sdhci_disable+0x58/0x5c)
[90979.270131] [<c0729bf0>] (sdhci_disable+0x58/0x5c) from [<c070daa0>] (mmc_release_host+0xb0/0xc8)
[90979.270181] [<c070daa0>] (mmc_release_host+0xb0/0xc8) from [<c0722c40>] (mmc_blk_issue_rq+0x298/0x7a4)
[90979.270262] [<c0722c40>] (mmc_blk_issue_rq+0x298/0x7a4) from [<c0723aec>] (mmc_queue_thread+0xb0/0x17c)
[90979.270348] [<c0723aec>] (mmc_queue_thread+0xb0/0x17c) from [<c01b3690>] (kthread+0x98/0xa4)
[90979.270434] [<c01b3690>] (kthread+0x98/0xa4) from [<c0107f60>] (kernel_thread_exit+0x0/0x8)
[90980.270823] Rebooting in 5 seconds..
[90985.272517] Going down for restart now
[90985.273319] Calling SCM to disable SPMI PMIC arbiter
No errors detected
Boot info:
Last boot reason: kernel_panic
---
As far as I can tell, the device has problems writing to flash memory and panics. Is there a way to assing "bad blocks" to certain parts of the flash to make sure the OS won't try to write there any more?
Any way to do a manual fsck?
I'm proficient in Linux, but haven't had much contact with ARM based embedded devices so far.
I've had a few reboots and debugging the problem, I've discovered this:
last_kmsg:
----
[90978.707145] mmc1: data txfr (0x00100000) error: -110 after 671 ms
[90978.707258] sdhci: =========== REGISTER DUMP (mmc1)===========
[90978.707300] sdhci: Sys addr: 0x80000008 | Version: 0x00003802
[90978.707373] sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000008
[90978.707413] sdhci: Argument: 0x003f0a10 | Trn mode: 0x0000002b
[90978.707486] sdhci: Present: 0x01e80100 | Host ctl: 0x00000035
[90978.707526] sdhci: Power: 0x0000000b | Blk gap: 0x00000000
[90978.707598] sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[90978.707639] sdhci: Timeout: 0x0000000c | Int stat: 0x00000000
[90978.707680] sdhci: Int enab: 0x03ff800b | Sig enab: 0x03ff800b
[90978.707752] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[90978.707793] sdhci: Caps: 0x642dc8b2 | Caps_1: 0x00008007
[90978.707864] sdhci: Cmd: 0x0000193a | Max curr: 0x00000000
[90978.707905] sdhci: Resp 1: 0x00000000 | Resp 0: 0x00000900
[90978.707978] sdhci: Resp 3: 0x00000900 | Resp 2: 0x00000000
[90978.708017] sdhci: Host ctl2: 0x00000003
[90978.708057] sdhci: ADMA Err: 0x00000003 | ADMA Ptr: 0x35a40008
[90978.708128] mmc1: clk: 200000000 clk-gated: 0 claimer: mmcqd/1 pwr: 10
[90978.708199] mmc1: rpmstatus[pltfm](runtime-suspend:usage_count:disable_depth)(0:0:0)
[90978.708239] sdhci: ===========================================
[90978.712431] mmcblk0: error -110 transferring data, sector 4131344, nr 8, cmd response 0x900, card status 0x100c02
[90978.712514] end_request: I/O error, dev mmcblk0, sector 4131344
[90978.712559] end_request: I/O error, dev mmcblk0, sector 4131344
[90978.712667] Aborting journal on device mmcblk0p28-8.
[90978.713769] journal commit I/O error
[90978.714748] done.
---
---
[90979.265686] EXT4-fs error (device mmcblk0p28): ext4_journal_start_sb:328: Detected aborted journal
[90979.265968] EXT4-fs (mmcblk0p28): Remounting filesystem read-only
[90979.267079] Kernel panic - not syncing: EXT4-fs panic from previous error
[90979.267085]
[90979.267243] [<c010de1c>] (unwind_backtrace+0x0/0x144) from [<c09fd44c>] (dump_stack+0x20/0x24)
[90979.267385] [<c09fd44c>] (dump_stack+0x20/0x24) from [<c09fde5c>] (panic+0x9c/0x21c)
[90979.267526] [<c09fde5c>] (panic+0x9c/0x21c) from [<c030f298>] (__ext4_abort+0xe0/0xf4)
[90979.267668] [<c030f298>] (__ext4_abort+0xe0/0xf4) from [<c030f624>] (ext4_journal_start_sb+0xa0/0x1a4)
[90979.267757] [<c030f624>] (ext4_journal_start_sb+0xa0/0x1a4) from [<c02f7920>] (ext4_dirty_inode+0x24/0x50)
[90979.267905] [<c02f7920>] (ext4_dirty_inode+0x24/0x50) from [<c028c4ec>] (__mark_inode_dirty+0x3c/0x1e0)
[90979.268048] [<c028c4ec>] (__mark_inode_dirty+0x3c/0x1e0) from [<c02f5538>] (ext4_setattr+0xd0/0x414)
[90979.268192] [<c02f5538>] (ext4_setattr+0xd0/0x414) from [<c027e6a4>] (notify_change+0x198/0x2b8)
[90979.268336] [<c027e6a4>] (notify_change+0x198/0x2b8) from [<c0262264>] (chown_common+0x7c/0x94)
[90979.268477] [<c0262264>] (chown_common+0x7c/0x94) from [<c0262fd8>] (sys_fchown+0x74/0x98)
[90979.268563] [<c0262fd8>] (sys_fchown+0x74/0x98) from [<c0107300>] (ret_fast_syscall+0x0/0x30)
[90979.268701] CPU0: stopping
[90979.268752] [<c010de1c>] (unwind_backtrace+0x0/0x144) from [<c09fd44c>] (dump_stack+0x20/0x24)
[90979.268836] [<c09fd44c>] (dump_stack+0x20/0x24) from [<c010c890>] (handle_IPI+0x198/0x1cc)
[90979.268919] [<c010c890>] (handle_IPI+0x198/0x1cc) from [<c0100590>] (gic_handle_irq+0xb0/0xf4)
[90979.269003] [<c0100590>] (gic_handle_irq+0xb0/0xf4) from [<c0106f00>] (__irq_svc+0x40/0x70)
[90979.269047] Exception stack(0xed7add28 to 0xed7add70)
[90979.269121] dd20: 00000004 00000004 00000004 00000001 ed7addac c2401bc0
[90979.269164] dd40: c2401bc0 013d1000 c2401bc8 00000001 00000001 ed7add9c 00000002 ed7add70
[90979.269236] dd60: c011969c c01e02c0 20000113 ffffffff
[90979.269312] [<c0106f00>] (__irq_svc+0x40/0x70) from [<c01e02c0>] (generic_exec_single+0x7c/0xa0)
[90979.269358] [<c01e02c0>] (generic_exec_single+0x7c/0xa0) from [<c01e06f0>] (smp_call_function_single+0x10c/0x1e8)
[90979.269435] [<c01e06f0>] (smp_call_function_single+0x10c/0x1e8) from [<c01e0ca0>] (smp_call_function_many+0x248/0x298)
[90979.269511] [<c01e0ca0>] (smp_call_function_many+0x248/0x298) from [<c01e0d40>] (smp_call_function+0x50/0x7c)
[90979.269591] [<c01e0d40>] (smp_call_function+0x50/0x7c) from [<c070ac0c>] (cpuidle_latency_notify+0x28/0x30)
[90979.269670] [<c070ac0c>] (cpuidle_latency_notify+0x28/0x30) from [<c01b9df0>] (notifier_call_chain+0x54/0x94)
[90979.269748] [<c01b9df0>] (notifier_call_chain+0x54/0x94) from [<c01ba270>] (__blocking_notifier_call_chain+0x58/0x70)
[90979.269829] [<c01ba270>] (__blocking_notifier_call_chain+0x58/0x70) from [<c01ba2b0>] (blocking_notifier_call_chain+0x28/0x30)
[90979.269914] [<c01ba2b0>] (blocking_notifier_call_chain+0x28/0x30) from [<c01cfd28>] (pm_qos_update_target+0xf0/0x13c)
[90979.269996] [<c01cfd28>] (pm_qos_update_target+0xf0/0x13c) from [<c01cff74>] (pm_qos_update_request+0x64/0x94)
[90979.270080] [<c01cff74>] (pm_qos_update_request+0x64/0x94) from [<c0729bf0>] (sdhci_disable+0x58/0x5c)
[90979.270131] [<c0729bf0>] (sdhci_disable+0x58/0x5c) from [<c070daa0>] (mmc_release_host+0xb0/0xc8)
[90979.270181] [<c070daa0>] (mmc_release_host+0xb0/0xc8) from [<c0722c40>] (mmc_blk_issue_rq+0x298/0x7a4)
[90979.270262] [<c0722c40>] (mmc_blk_issue_rq+0x298/0x7a4) from [<c0723aec>] (mmc_queue_thread+0xb0/0x17c)
[90979.270348] [<c0723aec>] (mmc_queue_thread+0xb0/0x17c) from [<c01b3690>] (kthread+0x98/0xa4)
[90979.270434] [<c01b3690>] (kthread+0x98/0xa4) from [<c0107f60>] (kernel_thread_exit+0x0/0x8)
[90980.270823] Rebooting in 5 seconds..
[90985.272517] Going down for restart now
[90985.273319] Calling SCM to disable SPMI PMIC arbiter
No errors detected
Boot info:
Last boot reason: kernel_panic
---
As far as I can tell, the device has problems writing to flash memory and panics. Is there a way to assing "bad blocks" to certain parts of the flash to make sure the OS won't try to write there any more?
Any way to do a manual fsck?
I'm proficient in Linux, but haven't had much contact with ARM based embedded devices so far.