All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] Error reading cluster" from fs/fat/fat.c
@ 2019-08-22  9:47 Oliver Graute
  2019-08-26  7:39 ` Oliver Graute
  0 siblings, 1 reply; 3+ messages in thread
From: Oliver Graute @ 2019-08-22  9:47 UTC (permalink / raw)
  To: u-boot

Hello list,

I have a annoying problem with u-boot 2019.07. I try to boot a Linux
Image from a fat16 partition on a SD-Card. But I got the "Error reading
cluster" Message from fs/fat/fat.c

=> boot
switch to partitions #0, OK
mmc2 is current device
Error reading cluster
** Unable to read file Image **

=> mmc part
Partition Map for MMC device 2  --   Partition Type: DOS
Part    Start Sector    Num Sectors     UUID            Type
  1     16384           266240          d38187c8-01     06
  2     282624          7491584         d38187c8-02     83

After some debugging I end up in blk_dread() from drivers/block/blk-uclass.c

blks_read = ops->read(dev, start, blkcnt, buffer);

here I got blks_read=0 which seems is the cause for the "Error reading cluster"
later in get_cluster().

Here a Debug Trace with some variables printed out:

...
get_fatent() FAT16: entry: 0x0000595c = 22876, offset: 0x055c = 1372
get_fatent() FAT16: ret: 0x0000595d, entry: 0x0000595c, offset: 0x055c
get_cluster() gc - clustnum: 16813, startsect: 134800
blkcache_read() miss: start 24e90, count 48513
blk_dread() dev=fd6ebaa0
blk_dread() start=24e90
blk_dread() blkcnt=48513
blk_dread() buffer=80280000
blk_find_device() blk_find_device: if_type=6, devnum=2: usdhc at 5b010000.blk, 6, 0
blk_find_device() blk_find_device: if_type=6, devnum=2: usdhc at 5b030000.blk, 6, 2
blk_dread() blks_read=0
blk_dread() blkcnt=48513
disk_read() ret=0
disk_read() nr_blocks=48513
get_cluster() Error reading data (got -1) 2
get_cluster() ret=-1
get_cluster() idx=48513
Error reading cluster 2
** Unable to read file Image **


Can somebody help me to find the cause of this problem? Is something
with my fat partion or partition table wrong or do I hit a bug?

Best regards,

Oliver

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] Error reading cluster" from fs/fat/fat.c
  2019-08-22  9:47 [U-Boot] Error reading cluster" from fs/fat/fat.c Oliver Graute
@ 2019-08-26  7:39 ` Oliver Graute
  2019-08-28 11:04   ` Oliver Graute
  0 siblings, 1 reply; 3+ messages in thread
From: Oliver Graute @ 2019-08-26  7:39 UTC (permalink / raw)
  To: u-boot

On 22/08/19, Oliver Graute wrote:
> Hello list,
> 
> I have a annoying problem with u-boot 2019.07. I try to boot a Linux
> Image from a fat16 partition on a SD-Card. But I got the "Error reading
> cluster" Message from fs/fat/fat.c
> 
> => boot
> switch to partitions #0, OK
> mmc2 is current device
> Error reading cluster
> ** Unable to read file Image **
> 
> => mmc part
> Partition Map for MMC device 2  --   Partition Type: DOS
> Part    Start Sector    Num Sectors     UUID            Type
>   1     16384           266240          d38187c8-01     06
>   2     282624          7491584         d38187c8-02     83
> 
> After some debugging I end up in blk_dread() from drivers/block/blk-uclass.c
> 
> blks_read = ops->read(dev, start, blkcnt, buffer);
> 
> here I got blks_read=0 which seems is the cause for the "Error reading cluster"
> later in get_cluster().

After some more digging I found out that this error is related to the
file size. I can fatload files up to 16MB but no files with 24MB like the
Kernel Image. Is there some limitation somewhere?


U-Boot 2019.07-00001-g1c0a4f90ca-dirty (Aug 26 2019 - 08:36:06 +0200)

CPU:   NXP i.MX8QM RevB A53 at 1200 MHz

Model: Advantech iMX8QM Qseven series
Board: ROM-7720-A1 4GB
Build: SCFW 65afe5f6
Boot:  SD2
DRAM:  3.9 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial at 5a060000
Out:   serial at 5a060000
Err:   serial at 5a060000
Net:   eth0: ethernet at 5b040000Could not get PHY for FEC1: addr 1
, eth-1: ethernet at 5b050000
Hit any key to stop autoboot:  0
=> fatls mmc 2:1
            dtbs/
 24838656   Image
 10671566   Image.gz
 18734584   initramfs-linux-fallback.img
  7263143   initramfs-linux.img
    19136   imx8qm-rom7720-a1.dtb
   102464   hdmitxfw.bin
  1048576   1mb.txt
  2097152   2MB.txt
   524288   512kb.txt
   786432   768kb.txt
 16777216   16MB.txt
 25165824   24MB.txt
  4194304   4MB.txt
  8388608   8MB.txt

14 file(s), 1 dir(s)

=> fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} 512kb.txt
524288 bytes read in 33 ms (15.2 MiB/s)
=> fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} 768kb.txt
786432 bytes read in 43 ms (17.4 MiB/s)
=> fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} 1mb.txt
1048576 bytes read in 58 ms (17.2 MiB/s)
=> fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} 2mb.txt
2097152 bytes read in 98 ms (20.4 MiB/s)
=> fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} 4mb.txt
4194304 bytes read in 190 ms (21.1 MiB/s)
=> fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} 8mb.txt
8388608 bytes read in 365 ms (21.9 MiB/s)
=> fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} 16mb.txt
16777216 bytes read in 724 ms (22.1 MiB/s)
=> fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} 24mb.txt
Error reading cluster 3
** Unable to read file 24mb.txt **
=>


Best regards,

Oliver

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] Error reading cluster" from fs/fat/fat.c
  2019-08-26  7:39 ` Oliver Graute
@ 2019-08-28 11:04   ` Oliver Graute
  0 siblings, 0 replies; 3+ messages in thread
From: Oliver Graute @ 2019-08-28 11:04 UTC (permalink / raw)
  To: u-boot

On 26/08/19, Oliver Graute wrote:
> On 22/08/19, Oliver Graute wrote:
> > Hello list,
> > 
> > I have a annoying problem with u-boot 2019.07. I try to boot a Linux
> > Image from a fat16 partition on a SD-Card. But I got the "Error reading
> > cluster" Message from fs/fat/fat.c
> > 
> > => boot
> > switch to partitions #0, OK
> > mmc2 is current device
> > Error reading cluster
> > ** Unable to read file Image **

this error occurs especially on this Swissbit SD-Card (industrial card)

=> mmcinfo
Device: FSL_SDHC
Manufacturer ID: 5d
OEM: 5342
Name: L1BM1
Bus Speed: 50000000
Mode: SD High Speed (50MHz)
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 3.7 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes

another San-Disk SD-Card (consumer) I tried is working fine with same
u-boot image. So it looks for me for a wired hw/timing issue.

=> mmcinfo
Device: FSL_SDHC
Manufacturer ID: 13
OEM: 14e
Name: Q2J55 
Bus Speed: 52000000
Mode: MMC High Speed (52MHz)
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 7.1 GiB
Bus Width: 8-bit
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 7.1 GiB WRREL
Boot Capacity: 16 MiB ENH
RPMB Capacity: 4 MiB ENH

Best Regards,

Oliver

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-08-28 11:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-22  9:47 [U-Boot] Error reading cluster" from fs/fat/fat.c Oliver Graute
2019-08-26  7:39 ` Oliver Graute
2019-08-28 11:04   ` Oliver Graute

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.