RaspberryPi CM4 UBoot NVME

OP #6738794
Lesenswert?
• ▲
▼
Hallo zusammen

Ich versuche es mal hier, vielleicht finde ich hier ein paar Experten, 
die sich mit UBoot auskennen.

Ich hab eine NVME-SSD an einem RaspberryPi CM4 hängen und möchte, dass 
UBoot direkt von dieser bootet.
Die SSD wird auch korrekt erkannt.

UBoot meldet als erstes:
1
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)

und dann:
1
pci_uclass_post_probe: probing bus 1
2
pci_bind_bus_devices: bus 1/pci_0:0.0: found device 0, function 0: find ret=-19
3
pci_find_and_bind_driver: Searching for driver: vendor=2646, device=2263
4
pci_find_and_bind_driver: Match found: nvme
5
pci_auto_config_devices: start
6
pci_auto_config_devices: device nvme#0
7
PCI Autoconfig: BAR 0, Mem, size=0x4000, address=0xc0000000 bus_lower=0xc0004000
8
pci_auto_config_devices: done

vendor=2646, device=2263 ist eine Kingston A2000 SSD.
Bis dahin passt noch alles.

Führ ich dann aber ein "nvme scan" aus, bekomme ich nur:
1
Command failed, result=1

Ich hab auch schon einige weitere Debug-Ausgaben im Code ergänzt und 
weiß nun, dass das Problem irgendwo in nvme_submit_sync_cmd() liegt.
Ich bekomm hier den Fehlercode 110, was soviel wie ETIMEDOUT bedeutet.
Nur hier steh ich leider an.
Auch eine andere SSD (WD Blue SN550) macht leider keinen Unterschied.

Hat hier vielleicht jemand noch Ideen oder sowas auch schon versucht?
Danke schon mal für jeden Vorschlag.
Moderator Persönliche Seite #6740953
Lesenswert?
• ▲
▼
Benutzt Du eine eigene Stromversorgung für Deine NVME-SSD, z.B. einen 
aktiven USB-Hub? Ich habe die Erfahrung gemacht, dass ein RPi4 mit 
Original-Netzteil nicht genügend Strom liefert, um eine NVME-SSD zu 
betreiben - lediglich eine SATA-SSD.

Zum Sonderfall CM4 kann ich nichts beitragen.

Siehe auch: 
https://jamesachambers.com/new-raspberry-pi-4-bootloader-usb-network-boot-guide/
OP #6744100
Lesenswert?
• ▲
▼
Frank M. schrieb:
> Benutzt Du eine eigene Stromversorgung für Deine NVME-SSD, z.B. einen
> aktiven USB-Hub? Ich habe die Erfahrung gemacht, dass ein RPi4 mit
> Original-Netzteil nicht genügend Strom liefert, um eine NVME-SSD zu
> betreiben - lediglich eine SATA-SSD.

Danke für den Tipp, aber die SSD hängt direkt am PCIe Bus und nicht am 
USB-Bus.
Aber ja, die SSD wird von einem separaten Schaltregler mit Strom 
versorgt.

Ich glaube die Stromversorgung kann ich ausschließen, da die SSD unter 
Linux korrekt erkannt wird und ich darauf zugreifen kann.

Ich habe aber auch gerade die Erfahrung gemacht, dass U-Boot auch keine 
I2C Treiber für den BCM2711 mit bringt.
Evtl. fehlt hier auch noch was, auch wenn die SSD grundsätzlich erkannt 
wird.
Gast #6783540
Lesenswert?
• ▲
▼
Marcel schrieb:
> Der RPI4 bzw. Das CM4 kann auch mit dem integrierten Bootloader
> von
> einer SSD über PCIe booten. Dann müsstest du dich nicht mit Uboot
> rumschlagen.

Ja, interessiert mich auch. Warum noch ein UBoot dazwischen?
Der macht doch nur Sinn, wenn man damit verschiedene Konfigurationen 
starten möchte.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.