Re: [U-Boot] Error reading cluster" from fs/fat/fat.c
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: 5000 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: 5200 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 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] Error reading cluster" from fs/fat/fat.c
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 > PartStart SectorNum Sectors UUIDType > 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-1-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@5a06 Out: serial@5a06 Err: serial@5a06 Net: eth0: ethernet@5b04Could not get PHY for FEC1: addr 1 , eth-1: ethernet@5b05 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 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] Error reading cluster" from fs/fat/fat.c
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 PartStart SectorNum Sectors UUIDType 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: 0x595c = 22876, offset: 0x055c = 1372 get_fatent() FAT16: ret: 0x595d, entry: 0x595c, 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=8028 blk_find_device() blk_find_device: if_type=6, devnum=2: us...@5b01.blk, 6, 0 blk_find_device() blk_find_device: if_type=6, devnum=2: us...@5b03.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 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot