Beim Netzwerkbooten eines Pi for mit dtoverlay=sdtweak,poll_once
wird die Karte immer noch abgefragt, was alle 10 Sekunden zu Protokoll-Spam führt:
[ 144.474158] mmc0: Timeout waiting for hardware cmd interrupt.
[ 144.474182] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 144.474199] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001002
[ 144.474205] mmc0: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
[ 144.474213] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
[ 144.474221] mmc0: sdhci: Present: 0x1fff0001 | Host ctl: 0x00000001
[ 144.474228] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000080
[ 144.474234] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x0000f447
[ 144.474242] mmc0: sdhci: Timeout: 0x00000000 | Int stat: 0x00000000
[ 144.474250] mmc0: sdhci: Int enab: 0x00ff1003 | Sig enab: 0x00ff1003
[ 144.474257] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[ 144.474262] mmc0: sdhci: Caps: 0x45ee6432 | Caps_1: 0x0000a525
[ 144.474267] mmc0: sdhci: Cmd: 0x0000371a | Max curr: 0x00080008
[ 144.474275] mmc0: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000000
[ 144.474280] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
[ 144.474284] mmc0: sdhci: Host ctl2: 0x00000000
[ 144.474288] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
[ 144.474293] mmc0: sdhci: ============================================
Die unmittelbare Ursache für das Versäumnis von sdtweak, das nicht entfernbare Flag auf pi4 zu setzen, ist, dass es nicht dazu gedacht ist:
pi<strong i="6">@raspberrypi</strong>:~ $ dtoverlay -h sdtweak
Name: sdtweak
Info: Tunes the bcm2835-sdhost SD/MMC driver
N.B. This functionality is now available via the sd_* dtparams in the
base DTB.
...
Was benötigt wird, ist ein generischer sd_pollonce
dtparam, der einfach hinzuzufügen ist. Es ist jedoch möglicherweise nicht das, was Sie möchten, da es möglicherweise nicht gut reagiert, wenn eine SD-Karte entfernt (oder spät eingesetzt) wird.
Was vielleicht wirklich nötig ist, zusätzlich zu sd_pollonce
, ist eine Treiberänderung, um den Log-Spam zu reduzieren, vielleicht um es von sd_debug
abhängig zu machen.
kann das bitte gelöst werden?
Ich habe aktualisierte .dts-Dateien auf rpi-4.19.y verschoben, die sd_poll_once dtparams zu allen Downstream-.dtbs hinzufügen. Sie können hier eine vorgefertigte Version von bcm2711-rpi-4- b.dtb herunterladen. Verwenden Sie mit dtparam=sd_poll_once
.
Nach der Verwendung sd_poll_once
funktioniert jetzt die grüne LED nicht
Hallo @pelwell , du hast im Januar einen Build auf Google Drive gepusht, der dieses Problem behoben hat. Hast du die Möglichkeit den Patch hier zu posten?
Wie die sdtweak-Dokumentation sagt, ist die bereitgestellte Funktionalität jetzt über die Board-spezifischen dtparams verfügbar:
dtparam=sd_poll_once
sdtweak ist effektiv veraltet und wird formell veraltet und entfernt.