On Sat, 22 Jun 2019 10:59:29 +0200, Stefan Wahren wrote:
it does matter, because there is zero free documentation about the sdhost controller on the BCM2835.
"Kingston C16G JAPAN, SDC2", bought in 2009.
Raspbian uses their downstream sdhost driver bcm2835-sdhost, while Fedora the mainline driver bcm2835. This one was derived from the downstream one around kernel 4.12.
So why not to update upstream kernel from the downstream one again...
# I have verified now that it is a regression # since (as this kernel boots fine directly from my Kingston MicroSD): # Fedora-Server-29-1.2.aarch64.raw.xz = kernel-4.18.16-300.fc29.aarch64
Thanks this is very helpful. Could you please test Fedora kernel 4.19 and 5.0 for aarch64? This would narrow down the issue much more.
I have tried to put the kernel-4.18.16-300.fc29 driver drivers/mmc/host/bcm2835.c into kernel-5.1.12-300.fc30: https://people.redhat.com/jkratoch/bcmbug.diff https://koji.fedoraproject.org/koji/taskinfo?taskID=35710809
And it booted without any error - normally it fails in 60-100 seconds after boot like: [ 70.246299] sdhost-bcm2835 3f202000.mmc: timeout waiting for hardware interrupt.
But then with my custom built kernel I ran 'dnf distro-sync' and it failed again, just later: [ 1059.688583] sdhost-bcm2835 3f202000.mmc: timeout waiting for hardware interrupt. [ 1059.793528] sdhost-bcm2835 3f202000.mmc: bcm2835_read_wait_sdcmd: timeout (100 ms) ... [ 1060.341279] sdhost-bcm2835 3f202000.mmc: bcm2835_read_wait_sdcmd: timeout (100 ms) [ 1060.346235] sdhost-bcm2835 3f202000.mmc: previous command never completed. [ 1060.350784] print_req_error: I/O error, dev mmcblk0, sector 9965568 flags 1 [ 1060.350832] mmc0: card 495c removed [ 1060.355420] EXT4-fs warning (device mmcblk0p3): ext4_end_bio:318: I/O error 10 writing to inode 8907 (offset 0 size 2572288 starting block 1245986) [ 1060.366554] Buffer I/O error on device mmcblk0p3, logical block 932129
OK, I see maybe I will give up and just buy a newer MicroSD card...
Thanks, Jan Kratochvil