eMMC: errors in log (reset 959, r/w command failed, status = 0x80000b00)

Post Reply
Wild Penguin
Posts: 40
Joined: Thu Mar 09, 2017 11:01 pm
languages_spoken: english, finnish
ODROIDs: Odroid C1
Has thanked: 0
Been thanked: 5 times
Contact:

eMMC: errors in log (reset 959, r/w command failed, status = 0x80000b00)

Post by Wild Penguin »

Hi,

Recently I've noticed that in Ubuntu, I get errors in the logs pointing towards the eMMC module.

Is the eMMC module or the motherboard (C1) broken, or is this some kind of Kernel bug?

I've noticed its always pointing towards the same sector and logical block and always with status 0x80000b00. A log snippet follows:

Code: Select all

marras 21 15:27:41 odroid kernel: EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
marras 21 15:27:41 odroid systemd[1]: Started Journal Service.
marras 21 15:27:42 odroid kernel: sd: mmc_rescan_try_freq: trying to init card at 300000 Hz
marras 21 15:27:43 odroid kernel: gpiomem-meson c1108000.gpiomem: Initialised: Registers at 0xc1108000
marras 21 15:27:43 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 21 15:27:43 odroid kernel: aml_emmc_hw_reset 1379
marras 21 15:27:43 odroid kernel: [aml_sd_voltage_switch] switch to 1.8V for a non-uhs device.
marras 21 15:27:43 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 21 15:27:43 odroid kernel: mmc_blk_reset 939 reset error md->reset_done:1 and type:1
marras 21 15:27:43 odroid kernel: end_request: I/O error, dev mmcblk0, sector 122142712
marras 21 15:27:43 odroid kernel: Buffer I/O error on device mmcblk0, logical block 15267839
marras 21 15:27:43 odroid kernel: Driver for 1-wire Dallas network protocol.
marras 21 15:27:44 odroid kernel: usbcore: registered new interface driver btusb
marras 21 15:27:45 odroid kernel: ionvideo open
marras 21 15:27:45 odroid kernel: ionvideo_stop_generating!!!!
marras 21 15:27:45 odroid kernel: ionvideo release
marras 21 15:27:46 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 21 15:27:46 odroid kernel: aml_emmc_hw_reset 1379
marras 21 15:27:46 odroid kernel: amlvideo openamlvideo close
marras 21 15:27:46 odroid kernel: [aml_sd_voltage_switch] switch to 1.8V for a non-uhs device.
marras 21 15:27:46 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 21 15:27:46 odroid kernel: mmc_blk_reset 939 reset error md->reset_done:1 and type:1
marras 21 15:27:46 odroid kernel: end_request: I/O error, dev mmcblk0, sector 122142712
marras 21 15:27:46 odroid kernel: Buffer I/O error on device mmcblk0p3, logical block 2160639
marras 21 15:27:46 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 21 15:27:46 odroid kernel: aml_emmc_hw_reset 1379
marras 21 15:27:46 odroid kernel: [aml_sd_voltage_switch] switch to 1.8V for a non-uhs device.
marras 21 15:27:46 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 21 15:27:46 odroid kernel: mmc_blk_reset 939 reset error md->reset_done:1 and type:1
marras 21 15:27:46 odroid kernel: end_request: I/O error, dev mmcblk0, sector 122142712
marras 21 15:27:46 odroid kernel: Buffer I/O error on device mmcblk0p3, logical block 2160639
This is on ubuntu 20.04, and the C1. mmcblk0p3 is a storage partition for LibreELEC, and mmcblk0p2 is the root for Ubuntu. The root filesystem has become corrupted because of this error (there were errors detected by fsck).

When booting to LibreELEC, it reports no errors, and I can read and write to the eMMC with the help of the adapter and a SD card reader. This might point towards the card not being dead. I'm not sure LibreELEC not giving any errors is indicative that the card and H/W would be OK, since it is probably very light on reads (and writes) compared to booting Ubuntu.

Any thoughts / suggestions?

User avatar
mad_ady
Posts: 9936
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 629 times
Been thanked: 770 times
Contact:

Re: eMMC: errors in log (reset 959, r/w command failed, status = 0x80000b00)

Post by mad_ady »

Check out emmc wear level: mmc extcsd read /dev/mmcblk0 | grep LIFE

Wild Penguin
Posts: 40
Joined: Thu Mar 09, 2017 11:01 pm
languages_spoken: english, finnish
ODROIDs: Odroid C1
Has thanked: 0
Been thanked: 5 times
Contact:

Re: eMMC: errors in log (reset 959, r/w command failed, status = 0x80000b00)

Post by Wild Penguin »

Thanks mad_ady, I will do that.

I would be surprised there would be any meaningful wear as the eMMC has really seen only very light usage.

Wild Penguin
Posts: 40
Joined: Thu Mar 09, 2017 11:01 pm
languages_spoken: english, finnish
ODROIDs: Odroid C1
Has thanked: 0
Been thanked: 5 times
Contact:

Re: eMMC: errors in log (reset 959, r/w command failed, status = 0x80000b00)

Post by Wild Penguin »

Hi again,

Code: Select all

$ sudo mmc extcsd read /dev/mmcblk0 | grep LIFE
eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x01
eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x00
If I'm reading relevant documentation, this means there is really not much wear on the device?

This would be expected. I've only installed Ubuntu twice on the device, played around a little and then the device has been sitting on the self, occasionally booting into LibreELEC via an SSD card - so the eMMC hasn't been used for most boots at all.

Also:

Code: Select all

mmc extcsd read /dev/mmcblk0 | head -n 3
=============================================
  Extended CSD rev 1.7 (MMC 5.0)
=============================================
and:

Code: Select all

mmc extcsd read /dev/mmcblk0 | grep EOL
eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01
.

For the interested to save a few google searches: https://developer.toradex.com/knowledge-base/emmc-linux

Wild Penguin
Posts: 40
Joined: Thu Mar 09, 2017 11:01 pm
languages_spoken: english, finnish
ODROIDs: Odroid C1
Has thanked: 0
Been thanked: 5 times
Contact:

Re: eMMC: errors in log (reset 959, r/w command failed, status = 0x80000b00)

Post by Wild Penguin »

I've repartitioned the device a little (added a fourth partition - this is not the root of the Ubuntu filesystem). The logical block on the last partition changed a little:

Code: Select all

marras 23 17:11:44 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 23 17:11:44 odroid kernel: aml_emmc_hw_reset 1379
marras 23 17:11:44 odroid kernel: [aml_sd_voltage_switch] switch to 1.8V for a non-uhs device.
marras 23 17:11:44 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 23 17:11:44 odroid kernel: mmc_blk_reset 939 reset error md->reset_done:1 and type:1
marras 23 17:11:44 odroid kernel: end_request: I/O error, dev mmcblk0, sector 122142712
marras 23 17:11:44 odroid kernel: Buffer I/O error on device mmcblk0, logical block 15267839
marras 23 17:11:44 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 23 17:11:44 odroid kernel: aml_emmc_hw_reset 1379
marras 23 17:11:44 odroid kernel: [aml_sd_voltage_switch] switch to 1.8V for a non-uhs device.
marras 23 17:11:44 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 23 17:11:44 odroid kernel: mmc_blk_reset 939 reset error md->reset_done:1 and type:1
marras 23 17:11:44 odroid kernel: end_request: I/O error, dev mmcblk0, sector 122142712
marras 23 17:11:44 odroid kernel: Buffer I/O error on device mmcblk0p4, logical block 985599
marras 23 17:11:44 odroid kernel: mmcblk0: r/w command failed, status = 0x80000b00
marras 23 17:11:44 odroid kernel: mmc_blk_reset 939 reset error md->reset_done:1 and type:1
marras 23 17:11:44 odroid kernel: end_request: I/O error, dev mmcblk0, sector 122142712
marras 23 17:11:44 odroid kernel: Buffer I/O error on device mmcblk0p4, logical block 985599
I suspect a bad sector on the eMMC. So, I run badblocks:

Code: Select all

badblocks -v /dev/mmcblk0p4 
Checking blocks 0 to 3942399
Checking for bad blocks (read-only test): 3942396
3942397
3942398
3942399
done                                                 
Pass completed, 4 bad blocks found. (4/0/0 errors)
I suspect I just may need to not use that partition or mark the parts bad. I will choose the former approach, at least for now =).

I might try to write on the sectors, too, so that the eMMC module will re-allocate (?). I just need to figure out how to do that =).

EDIT: I don't understand how I didn't notice it: but it's the very end of the eMMC module which fails. So, it might actually be some kind of Kernel bug or a systematic error on the eMMC? Which means, the eMMC module might be fine to use, if one does not use the last sectors.

User avatar
mad_ady
Posts: 9936
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 629 times
Been thanked: 770 times
Contact:

Re: eMMC: errors in log (reset 959, r/w command failed, status = 0x80000b00)

Post by mad_ady »

It looks odd. The emmc looks new.
You shouldn't see bad blocks. Even if there are bad cells, the internal controller should figure it out and reallocate them without telling the OS (it should have spares hidden away).
It's odd that they are at the end of the partition. I wonder if you were to shrink the filesystem by 4 sectors, would you still get errors?

As far as I know there is no way to occupy those blocks with a fake file. But being at the end of the filesystem, most likely they're used for ext4 metadata. Have you tried running fsck on the partition?

Wild Penguin
Posts: 40
Joined: Thu Mar 09, 2017 11:01 pm
languages_spoken: english, finnish
ODROIDs: Odroid C1
Has thanked: 0
Been thanked: 5 times
Contact:

Re: eMMC: errors in log (reset 959, r/w command failed, status = 0x80000b00)

Post by Wild Penguin »

Yes, I've run fsck, it didn't report any errors - for the current partition. But the Ubuntu root did got corrupted once, and at that time the partition did reach to the end of the eMMC :-/.

Not a big deal. I've "solved" this by just not using the end of the eMMC. It's huge compared to what I need (I got a 64GiB eMMC back... in 2016?). I'm not sure how much is enough to shrink the partition to be safe, it's quite probable 4 sectors is enough. I just chose to decrease the partition by 300MiB.

I suspect either 1) the eMMC module was faulty from the factory or 2) I've just found a weird Kernel bug and it's trying to read addresses it is not supposed to (beyond the actual end of the module).
These users thanked the author Wild Penguin for the post:
odroid (Thu Nov 25, 2021 9:44 am)

Post Reply

Return to “Issues”

Who is online

Users browsing this forum: No registered users and 1 guest