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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren