[U-Boot] Bug in emmc subsystem

Jaehoon Chung jh80.chung at samsung.com
Mon May 15 21:49:23 UTC 2017


Hi Arno,

On 05/02/2017 05:05 PM, Arno Steffens wrote:
> Some news here. With help of Diego I found, that GP partition can be addressed:
> This works with 
> Zynq> mmc dev 0 4
> MMC: block number 0x1 exceeds max(0x0)
> switch to partitions #4, OK
> mmc0(part 4) is current device
> 
> (0 is the user data area, 1 and 2 the first and second boot partitions, 3 the RPMB partition and 4, 5, 6 and 7 the up to four general purpose partitions).
> Still a potential problem is the message "MMC: block number 0x1 exceeds max(0x0)"
> 
> After that I can see the capacity:
> Zynq> mmc info
> Device: sdhci at e0100000
> Manufacturer ID: 13
> OEM: 14e
> Name: Q1J54
> Tran Speed: 52000000
> Rd Block Len: 512
> MMC version 5.0
> High Capacity: Yes
> Capacity: 1.8 GiB
> Bus Width: 4-bit
> Erase Group Size: 512 KiB
> HC WP Group Size: 8 MiB
> User Capacity: 0 Bytes WRREL
> Boot Capacity: 2 MiB ENH
> RPMB Capacity: 512 KiB ENH
> GP1 Capacity: 1.8 GiB ENH WRREL
> 
> 
> But even after activating the GP partition a load fails, neither
> load mmc 0:1 80000000 /bin/busy nor
> load mmc 0:4 80000000 /bin/busy nor
> load mmc 0:0 80000000 /bin/busy give anything else back than
> 
> ** Bad device size - mmc 0 **
> 
> And: "mmc info", shows that this command switches back to user mode, as capacity is zero again.
> 
> Even this seems not ok to me:
> Zynq> mmc dev 0 4
> MMC: block number 0x1 exceeds max(0x0)
> switch to partitions #4, OK
> mmc0(part 4) is current device
> 
> Zynq> mmc dev
> MMC: block number 0x1 exceeds max(0x0)
> switch to partitions #0, OK
> mmc0(part 0) is current device
> 
> It should just sow the partition, not set it again (without parameter)

Sorry for late..I have known to reply to you..but when i checked my mailbox, it is waiting for sending in my mailbox.
Really sorry this...It's my mistake...Well..I'm doing my target..i will share my results..

Best Regards,
Jaehoon Chung

> 
> 
> Best regards
> Arno
> 
> 
>> Gesendet: Freitag, 07. April 2017 um 04:07 Uhr
>> Von: "Jaehoon Chung" <jh80.chung at samsung.com>
>> An: "Arno Steffens" <star at gmx.li>
>> Betreff: Re: [U-Boot] Bug in emmc subsystem
>>
>> Hi Arno,
>>
>> On 04/07/2017 04:36 AM, Arno Steffens wrote:
>>> Dear Jeahoon Chung,
>>>
>>> I am in office earliest on Monday.
>>>
>>> From what I remember there is not much additional debug information to be expected (from the code I have in mind). But I will check this to give you as much support as I can.
>>> Which files do you want me to enable debug and what command shall I send to create useful information for you?
>>
>> If enabled CONFIG_DEBUG, maybe all debug message will be printed.
>> I want to see the mmc command's debug message.
>>
>> Which u-boot version do you use? Well, i can't check in more detail on today. :)
>> But i think this is not bug..because my all boards are working fine with SD-card and eMMC4.41/4.5/5.0.
>>
>> If it's bug in subsystem, maybe i might see the similar thing...but it's just assumption..
>> So i need to check whether it's really mmc subsystem bug or not.
>>
>>>
>>> This board is a custom board - most eval boards have SDcard instead of fixed emmc.
>>
>> Do you use SD-card? Not eMMC?
>>
>>> Is there any trick to get access to the GP partition?
>>> I couldn't found something about this.
>>>
>>> So before converting to GP / pseudoSingleLevelCell-mode (to extend reliablility) I accessed it with
>>> “if ext4load mmc 0:1 ${addr_ld} /{file_name} … ”, but this doesn’t work anymore - it returns with: ** Bad device size - mmc 0 **
>>>
>>> But maybe I just have to use other command for accessing GP?
>>>
>>> Best regards
>>> Arno
>>>
>>>
>>> Am 06.04.2017 um 14:08 schrieb Jaehoon Chung:
>>>> Hi,
>>>>
>>>> On 04/06/2017 03:55 AM, Arno Steffens wrote:
>>>>> There seems to be a problem handling emmc with configured GP partition.
>>>>>
>>>>> Below the "mmc info". The problem might be that user capacity is calculated/shown as "0".
>>>>> At least it shows the GP1 partition with correct size - which is not the case for "mmc hwpartition" - it denies its existence ;)
>>>>>
>>>>> Can someone help me to fix this?
>>>>
>>>> Which board do you use? It seems that the initializing mmc might be failed.
>>>> After enabling debug option, share the log about mmc.
>>>>
>>>> Best Regards,
>>>> Jaehoon Chung
>>>>
>>>>>
>>>>> Thanks a lot.
>>>>>          - Arno
>>>>>
>>>>>
>>>>>> mmc info
>>>>> Device: sdhci at e0100000
>>>>> Manufacturer ID: 13
>>>>> OEM: 14e
>>>>> Name: Q1J54
>>>>> Tran Speed: 52000000
>>>>> Rd Block Len: 512
>>>>> MMC version 5.0
>>>>> High Capacity: Yes
>>>>> Capacity: 0 Bytes
>>>>> Bus Width: 4-bit
>>>>> Erase Group Size: 512 KiB
>>>>> HC WP Group Size: 8 MiB
>>>>> User Capacity: 0 Bytes WRREL
>>>>> Boot Capacity: 2 MiB ENH
>>>>> RPMB Capacity: 512 KiB ENH
>>>>> GP1 Capacity: 1.8 GiB ENH WRREL
>>>>>
>>>>>> mmc hwpartition
>>>>> Partition configuration:
>>>>>         No enhanced user data area
>>>>>         No GP1 partition
>>>>>         No GP2 partition
>>>>>         No GP3 partition
>>>>>         No GP4 partition
>>>>> Card already partitioned
>>>>> Failed!
>>>>>
>>>>>> mmc read 0 0 1
>>>>> MMC read: dev # 0, block # 0, count 1 ... MMC: block number 0x1 exceeds
>>>>> max(0x0)
>>>>> 0 blocks read: ERROR
>>>>>
>>>>>> mmc dev 0 0
>>>>> MMC: block number 0x1 exceeds max(0x0)
>>>>> switch to partitions #0, OK
>>>>> mmc0(part 0) is current device
>>>>>
>>>>> BTW:
>>>>> The GP partiton was created in Linux by the mmc-utils with
>>>>> “mmc gp create -y 1908736 1 1 0 /dev/mmcblk0”
>>>>>
>>>>> Linux can handle this as you can see in boot message:
>>>>> [    1.248426] mmc0: new high speed MMC card at address 0001
>>>>> [    1.264301] mmcblk0: mmc0:0001 Q1J54A 0 B
>>>>> [    1.268525] mmcblk0boot0: mmc0:0001 Q1J54A partition 1 2.00 MiB
>>>>> [    1.284605] mmcblk0boot1: mmc0:0001 Q1J54A partition 2 2.00 MiB
>>>>> [    1.300666] mmcblk0gp0: mmc0:0001 Q1J54A partition 4 1.82 GiB
>>>>> [    1.316563] mmcblk0rpmb: mmc0:0001 Q1J54A partition 3 512 KiB
>>>>> [    1.325255]  mmcblk0gp0: p1 p2 p3
>>>>>>>>>> [    3.083325] EXT4-fs (mmcblk0gp0p1): INFO: recovery required on readonly filesystem
>>>>> [    3.090893] EXT4-fs (mmcblk0gp0p1): write access will be enabled during recovery
>>>>> [    3.189597] EXT4-fs (mmcblk0gp0p1): recovery complete
>>>>> [    3.196310] EXT4-fs (mmcblk0gp0p1): mounted filesystem with ordered data mode. Opts: (null)
>>>>> _______________________________________________
> 
> 
> 



More information about the U-Boot mailing list