[U-Boot] ** Can't read Driver Desriptor Block **

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Aug 30 04:37:59 UTC 2017



On 08/30/2017 03:54 AM, Bin Meng wrote:
> Hi Heinrich,
> 
> On Wed, Aug 30, 2017 at 4:26 AM, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>> Hello Simon,
>>
>> U-Boot HEAD qemu-86_defconfig cannot discover an IDE disk with one FAT
>> partition in qemu-system-x86_64.
>>
>> By bisection I found this patch.
>>
>> b7c6baef2891ce8978cbfddb66e944943473ac21
>> x86: Convert MMC to driver model
>>
>> With this patch I get
>>
>> IDE:   Bus 0: OK Bus 1: OK
>>   Device 0: Model: QEMU HARDDISK  Firm: 2.5+ Ser#: QM00001
>>             Type: Hard Disk
>>             Supports 48-bit addressing
>>             Capacity: 128.0 MB = 0.1 GB (262144 x 512)
>> ** Can't read Driver Desriptor Block **
>>   Device 1: not available
>>   Device 2: Model: QEMU Firm: 2.5+ Ser#: QEMU DVD-ROM
>>             Type: Removable CD ROM
>>             Capacity: not available
>>   Device 3: not available
>>
>> => ide info
>> =>
>>
>> Without the patch I get=> ide info
>> Device 0: Model: QEMU HARDDISK  Firm: 2.5+ Ser#: QM00001
>>             Type: Hard Disk
>>             Supports 48-bit addressing
>>             Capacity: 128.0 MB = 0.1 GB (262144 x 512)
>> Device 2: Model: QEMU Firm: 2.5+ Ser#: QEMU DVD-ROM
>>             Type: Removable CD ROM
>>             Capacity: not available
>>
>> I think we observe two independent errors here:
>>
>> - The hard disk Device 0 is not read.
>> - The ide command stops at the first device that is not available.
>>
>> I guess only the first is caused by your patch.
> 
> Both logs look fine to me. The "Can't read Driver Desriptor Block"
> comes from part_mac.c. Did you verify the actual IDE read/write fails
> with current HEAD?
> 
> Regards,
> Bin
> 

Hello Bin,

I have not checked block level read but used the shell commands for testing.

Before the patch I can read the directory of the drive:

=> ide info
Device 0: Model: QEMU HARDDISK  Firm: 2.5+ Ser#: QM00001
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 128.0 MB = 0.1 GB (262144 x 512)
Device 2: Model: QEMU Firm: 2.5+ Ser#: QEMU DVD-ROM
            Type: Removable CD ROM
            Capacity: not available
=> fat2ls ide 0:1
Unknown command 'fat2ls' - try 'help'
=> fatls ide 0:1
   164768   snp.efi
        0   file1
        0   file2


After the patch (including HEAD) I cannot read the directory and cannot
load the file snp.efi either:

=> ide info
=> fatls ide 0:1
** Bad device ide 0 **
=>
=> fatls mmc 0:1
** Bad device mmc 0 **


In both cases I have loaded the same image with:

export BUILD_ROM=y
make distclean && make qemu-x86_defconfig && make -j6

qemu-system-x86_64 -m 1G -bios u-boot.rom -nographic \
-netdev \
user,id=eth0,tftp=tftp,net=192.168.76.0/24,dhcpstart=192.168.76.9 \
-device e1000,netdev=eth0 -machine pc-i440fx-2.8 -hda img

Best regards

Heinrich


More information about the U-Boot mailing list