Rasperry Pi 5 - Nvme wird nicht erkannt/angezeigt

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Rasperry Pi 5 - Nvme wird nicht erkannt/angezeigt

      Guten Abend,

      ich konnte meinen RPi 5 nun in Betrieb nehmen und auch mit Oscam versorgen.
      Ich habe im Netz nun diverse Installationsmöglichkeiten zu einer nvme gesehen. Nachdem ich sämtliche Befehle wie z.B.

      dtparam=pciex1
      dtparam=pciex1_gen=2

      und auch

      sudo rpi-eeprom-config -edit
      boot_order=0xf416
      pcie_probe=1

      ausgeführt habe, wird mir die nvme dennoch nicht als Datenträger angezeigt. Meine Absicht war es die komplette SD Karte auf die nvme zu kopieren. Klappt aber nicht, da die nvme nicht unter "lsbulk" erkannt wird.

      Ich bitte um Hilfe
    • @Andreas_der_erste
      Danke für die Unterstützung. Was muss ich denn unter dem Punkt "Flash from file" auswählen ? Wenn ich "flash from file" auswähle wird mir

      C:\Users\xxx\AppData\Local\Programs\balena-etcher

      angezeigt

      Ich habe meinen Raspberriy Pi 5 mit dem "image loader" auf die aktuellste Version auf eine sd card installiert und möchte sämtliche daten (inkl. der oscam dateien) nun auf die verbaute nvme verschieben und die sd karte entfernen.

      The post was edited 2 times, last by FastEddie ().

    • Du musst Flash von USB (deine SD-Karte im Adapter) und im zweiten Schrittwählat du deine Nvme aus anschließend Flashen.

      Damit hast du dann deine Karte geklont. Auf dem Pi musst du dann noch einstellen
      sudo raspi-config das die gesamte Größe benutzt wird
      Andreas

      Ich weiß nicht immer wovon ich rede. Aber ich weiß das es richtig ist. (Muhammad Ali)

      quod erat demonstrandum
    • Andreas_der_erste wrote:

      Du musst Flash von USB (deine SD-Karte im Adapter) und im zweiten Schrittwählat du deine Nvme aus anschließend Flashen.
      Das habe ich soeben versucht. Ich erhielt jedoch die Meldung "Flash failed".

      Ich bin mir jedoch nicht sicher ob die Kopie der SD auf die Nvme nicht doch mit dem Raspberry Tool SD Card Copierer funktioniert hat, obwohl der gesamte Kopiervorgang ohne Fehler verlief.

      Die Nvme wurde auch unter lsblk angezeigt.

      Leider wird sie mir nun nicht mehr angezeigt.

      Ich weis echt nicht mehr weiter wie ich das gesamte System auf die Nvme bekomme und auf die SD verzichten kann.

      The post was edited 1 time, last by FastEddie ().

    • Wie ist denn überhaupt der jetzige Status? Bootet sie von SD und wird die NVME erkannt und ist da schon das System drauf kopiert?

      Ich hab an meinem keine NVME sondern eine SSD via USB angeschlossen, deswegen bin ich nicht wirklich sicher, wieweit ich überhaupt helfen kann. Und meiner ist ein R4 und kein R5.

      Auf die schnelle: Ausgabe von lsblk und rpi-eeprom-config mal zeigen.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Der Bootvorgang von der SD klappt problemlos. Per SD Card Copier des Raspis wurde auch das System auf die nvme kopiert. Nun nvme wird jedoch nicht erkannt

      Display Spoiler

      lsblk
      NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
      mmcblk0 179:0 0 29.1G 0 disk
      ├─mmcblk0p1 179:1 0 512M 0 part /boot/firmware
      └─mmcblk0p2 179:2 0 28.6G 0 part /


      rpi-eeprom-config
      [all]
      BOOT_UART=1
      POWER_OFF_ON_HALT=0
      BOOT_ORDER=0xf146

      The post was edited 3 times, last by FastEddie ().

    • Wie siehts mit den Parametern dazu in der Datei /boot/firmware/config.txt aus? (Die gibt es bei mir schon gar nicht, ich habe aber schon mehrere Beiträge dazu gesehen...) - sollte wohl der Parameter dtparam sein.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Hier die config.txt

      Display Spoiler

      For more options and information see
      # configtxt
      # Some settings may impact device functionality. See link above for details

      # Uncomment some or all of these to enable the optional hardware interfaces
      #dtparam=i2c_arm=on
      #dtparam=i2s=on
      #dtparam=spi=on

      # Enable audio (loads snd_bcm2835)
      dtparam=audio=on

      # Additional overlays and parameters are documented
      # /boot/firmware/overlays/README

      # Automatically load overlays for detected cameras
      camera_auto_detect=1

      # Automatically load overlays for detected DSI displays
      display_auto_detect=1

      # Automatically load initramfs files, if found
      auto_initramfs=1

      # Enable DRM VC4 V3D driver
      dtoverlay=vc4-kms-v3d
      max_framebuffers=2

      # Don't have the firmware create an initial video= setting in cmdline.txt.
      # Use the kernel's default instead.
      disable_fw_kms_setup=1

      # Disable compensation for displays with overscan
      disable_overscan=1

      # Run as fast as firmware / board allows
      arm_boost=1

      [cm4]
      # Enable host mode on the 2711 built-in XHCI USB controller.
      # This line should be removed if the legacy DWC2 controller is required
      # (e.g. for USB device mode) or if USB support is not required.
      otg_mode=1

      [all]

      dtparam=pciex1
      dtparam=pciex1_gen=2
    • Ich habe jetzt schon zweimal gelesen, dass die BOOT_ORDER auf 0xf416 gesetzt sein sollte, nicht wie bei dir 0xf146. Das würde ich auch mal probieren.

      Und dtparam=pciex1_gen=1 hast du sicher auch schon probiert?

      Kannst auch noch PCIE_PROBE=1 in der rpi-eeprom-config noch setzen.

      Nach dem Reboot: wie ist die Ausgabe von lspci?

      Die letzten Infos habe ich alle von NVMe SSD's nutzen (Pi 5) [Dr. Klipper Wiki]
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      The post was edited 3 times, last by rdamas ().

    • Ich habe nun die Boot_Order auf 0xf416, sowie dtparam=pciex1_gen=1 gesetzt und per sudo reboot neugestartet. Leider ohne Erfolg......die nvme wird immer noch nicht unter lsblk angezeigt

      [all]
      BOOT_UART=1
      POWER_OFF_ON_HALT=0
      BOOT_ORDER=0xf416
      PCIE_PROBE=1

      lspci
      root@raspberrypi ~ > lspci
      0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
      0001:01:00.0 Ethernet controller: Device 1de4:0001


      root@raspberrypi ~ > dmesg |grep brcm-pcie |grep link
      [ 2.025781] brcm-pcie 1000110000.pcie: link down
      [ 2.297782] brcm-pcie 1000120000.pcie: link up, 5.0 GT/s PCIe x4 (!SSC)

      Ich vermute, dass der Controller nicht erkannt wird...

      dmesg |grep nvmegibt nichts aus


      Ich nutze diesen Controller Geekworm X1002 M.2

      The post was edited 4 times, last by FastEddie ().

    • Allerletzte Frage, die ich noch nicht beantwortet gesehen habe, was du aber hoffentlich auch schon gemacht hast: sudo rpi-eeprom-update

      Laut dem angesprochenen Wiki muss zwingend eine Version neuer als 6.12.2023 benutzt werden.

      Ansonsten habe ich auch keine Idee mehr.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • hab ich schon ausgeführt. Das einzige, was ich mir noch denken kann, dass es bei dem vielen zusammen- und auseinanderbauen vielleicht dazu kam, dass das kleine Flachbandkabel evtl. falsch angebracht wurde. Das müsste ich noch checken.

      Oder ist das irrelevant?

      Vielleicht muss die Nvme ja separat gemountet werden? Kennt jemand den erforderlichen Befehl dazu?

      The post was edited 2 times, last by FastEddie ().

    • @FastEddie,

      von Fertigungsproblemen und den notwendigen Anpassungen im Bootloader/Firmware des RPi5 mal gesehen, scheint auch die Stromversorgung (Netzteil mit 27W Minimum) eine sehr große Rolle zu spielen. Das offizielle vom RPi4 mit 18 W reicht dafür nicht. Auch alternative Varianten vom Smartphone o.ä. können da ungeeignet sein, obwohl die maximale Ausgangsleistung theoretisch reichen sollte.

      Falls die Erkennung per Power Delivery fehlschlägt oder nicht unterstützt wird, kann man die Freigabe dennoch erzwingen. Ich habe dies im Zusammenhang mit dem Argon40 Gehäuse gesehen.

      EEPROM config:
      PSU_MAX_CURRENT=5000
      PCIE_PROBE=1
      BOOT ORDER=0xf416

      config.txt
      usb_max_current_enable=1
      dtparam=nvme
      dtparam=pciex1_1=gen3

      Im Forum bei denen gibt es aber immer noch genügend Meldungen mit Nutzern bei denen die NVMe nicht erkannt wird. Auch gab es welche, die das flache Kabel mit den Kontakten zur falschen Seite zeigend eingesetzt hatten. Falls nicht noch ein generelles Fertigungsproblem vorliegt, könnten auch noch weitere Korrekturen am Bootloader notwendig sein, bevor die NVMe sauber erkannt wird.

      The post was edited 2 times, last by Sledge ().

    • Guten Morgen,

      es lag wohl an dem falsch angeschlossenen Flachbandkabel. Nun wird mir die nvme auch unter lsblk angezeigt.

      Display Spoiler

      NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
      mmcblk0 179:0 0 29.1G 0 disk
      ├─mmcblk0p1 179:1 0 512M 0 part
      └─mmcblk0p2 179:2 0 28.6G 0 part
      nvme0n1 259:0 0 465.8G 0 disk
      ├─nvme0n1p1 259:1 0 512M 0 part /boot/firmware
      └─nvme0n1p2 259:2 0 28.6G 0 part /

      Wenn ich die ausgegebenen Daten richtig interpretiere, wurde die SD Karte auch korrekt auf die nvme kopiert.

      Es scheint auch soweit alles ok zu sein was ich mit u.a. Befehlen geprüft habe

      root@raspberrypi ~ > lspci
      Display Spoiler

      0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
      0000:01:00.0 Non-Volatile memory controller: Micron Technology Inc Device 5416 ( rev 01)
      0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
      0001:01:00.0 Ethernet controller: Device 1de4:0001


      root@raspberrypi ~ > dmesg |grep nvme
      Display Spoiler

      [ 1.818378] nvme nvme0: pci function 0000:01:00.0
      [ 1.823128] nvme 0000:01:00.0: enabling device (0000 -> 0002)
      [ 1.905015] nvme nvme0: allocated 64 MiB host memory buffer.
      [ 1.994980] nvme nvme0: 4/0/0 default/read/poll queues
      [ 2.015186] nvme0n1: p1 p2
      [ 3.344647] EXT4-fs (nvme0n1p2): mounted filesystem with ordered data mode. Quota mode: none.
      [ 4.273729] EXT4-fs (nvme0n1p2): re-mounted. Quota mode: none.

      root@raspberrypi ~ > dmesg |grep brcm-pcie |grep link
      Display Spoiler

      [ 1.705996] brcm-pcie 1000110000.pcie: link up, 2.5 GT/s PCIe x1 (!SSC)
      [ 2.065998] brcm-pcie 1000120000.pcie: link up, 5.0 GT/s PCIe x4 (!SSC)

      Jedoch kann ich noch nicht davon booten, sobald ich die SD Karte entferne, habe ich keinen Internetzugriff und ein Bootversuch des Raspberrys schlägt fehl.

      Muss denn unter /boot/firmware/config.txt vielleicht der u.a. Eintrag

      dtparam=pciex1
      dtparam=pciex1_gen=2

      in

      dtparam=nvme
      dtparam=pciex1
      dtparam=pciex1_gen=2

      geändert werden ?

      Vielleicht ist die nvme auch nicht gemounted ? Oder passiert dies automatisch ?

      Wenn ich mich per VNC Viewer auf dem Raspi anmelde, sehe ich unter "Devices" die SD Karte und die nvme. Wenn ich auf die nvme klicke erscheint die Meldung:

      The specified directory "computer:///CT500P3SSD8.drive" is not valid

      Andreas_der_erste wrote:

      Auf dem Pi musst du dann noch einstellen sudo raspi-config das die gesamte Größe benutzt wird
      Habe nun auch unter raspi-config das Dateisystem erweitern können

      ALT:
      Display Spoiler

      NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
      mmcblk0 179:0 0 29.1G 0 disk
      ├─mmcblk0p1 179:1 0 512M 0 part
      └─mmcblk0p2 179:2 0 28.6G 0 part
      nvme0n1 259:0 0 465.8G 0 disk
      ├─nvme0n1p1 259:1 0 512M 0 part /boot/firmware
      └─nvme0n1p2 259:2 0 28.6G 0 part /


      NEU:
      Display Spoiler

      root@raspberrypi ~ > lsblk
      NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
      mmcblk0 179:0 0 29.1G 0 disk
      ├─mmcblk0p1 179:1 0 512M 0 part
      └─mmcblk0p2 179:2 0 28.6G 0 part
      nvme0n1 259:0 0 465.8G 0 disk
      ├─nvme0n1p1 259:1 0 512M 0 part /boot/firmware
      └─nvme0n1p2 259:2 0 465.3G 0 part /

      The post was edited 12 times, last by FastEddie ().

    • "dtparam=nvme" ist ein Synonym zu "dtparam=pciex1" weil man es sich besser merken kann. Brauchst Du in Deinen Fall nicht extra hinzufügen, siehe: raspberry-pi-5.html#enabling-pcie

      Das mounten sollte automatisch funktionieren und scheint doch schon so eingehangen und von der NVMe gestartet zu sein:

      Source Code

      1. nvme0n1 259:0 0 465.8G 0 disk
      2. ├─nvme0n1p1 259:1 0 512M 0 part /boot/firmware
      3. └─nvme0n1p2 259:2 0 28.6G 0 part /
      Musst nur sicherstellen, dass in der config.txt auf der NVMe die Parameter genauso enthalten sind wie vorher auf der SD-Karte. Ist das der Fall?

      The post was edited 2 times, last by Sledge ().

    • Ich habe nun den u.a. Befehl ausgeführt:

      sudo nano /boot/firmware/config.txt

      Display Spoiler

      # For more options and information see
      # configtxt
      # Some settings may impact device functionality. See link above for details

      # Uncomment some or all of these to enable the optional hardware interfaces
      #dtparam=i2c_arm=on
      #dtparam=i2s=on
      #dtparam=spi=on

      # Enable audio (loads snd_bcm2835)
      dtparam=audio=on

      # Additional overlays and parameters are documented
      # /boot/firmware/overlays/README

      # Automatically load overlays for detected cameras
      camera_auto_detect=1

      # Automatically load overlays for detected DSI displays
      display_auto_detect=1

      # Automatically load initramfs files, if found
      auto_initramfs=1

      # Enable DRM VC4 V3D driver
      dtoverlay=vc4-kms-v3d
      max_framebuffers=2

      # Don't have the firmware create an initial video= setting in cmdline.txt.
      # Use the kernel's default instead.
      disable_fw_kms_setup=1

      # Disable compensation for displays with overscan
      disable_overscan=1

      # Run as fast as firmware / board allows
      arm_boost=1

      [cm4]
      # Enable host mode on the 2711 built-in XHCI USB controller.
      # This line should be removed if the legacy DWC2 controller is required
      # (e.g. for USB device mode) or if USB support is not required.
      otg_mode=1

      [all]

      dtparam=pciex1
      dtparam=pciex1_gen=2

      allerdings bin ich mir nicht sicher ob dieser Befehl auch auf der nvme ausgeführt wurde oder ob weiterhin die SD Karte angezeigt wird. Ich denke, dass es zum Testen am einfachsten wäre, wenn ich das System mit sudo shutdown -h now herunterfahre, die SD Karte ausbaue und den Raspi starte. Oder siehst Du @Sledge eine andere Möglichkeit ?

      The post was edited 4 times, last by FastEddie ().

    • Bevor Du die SD-Karte rausnimmst schau mal ob und wo das Boot Flag gesetzt ist:


      Source Code

      1. sudo fdisk -l /dev/nvme0n1
      2. sudo fdisk -l /dev/mmcblk0
      Gibt es in dem /boot/firmware Pfad auch die cmdline.txt? Wie sieht deren Inhalt aus?

      The post was edited 1 time, last by Sledge ().

    • Nachdem ich die SD Karte entfernt und neu gebootet habe hatte ich keinen Internetzugriff und konnte mich auch nicht auf den Raspi aufschalten. SD wieder rein, reboot, alles funktioniert.

      Hier die Ausgabe der beiden Befehle:

      root@raspberrypi ~ > sudo fdisk -l /dev/nvme0n1
      Disk /dev/nvme0n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
      Disk model: CT500P3SSD8
      Units: sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disklabel type: dos
      Disk identifier: 0xb1634a50

      Device Boot Start End Sectors Size Id Type
      /dev/nvme0n1p1 8192 1056767 1048576 512M c W95 FAT32 (LBA)
      /dev/nvme0n1p2 1056768 976773167 975716400 465.3G 83 Linux

      root@raspberrypi ~ > sudo fdisk -l /dev/mmcblk0
      Disk /dev/mmcblk0: 29.12 GiB, 31266439168 bytes, 61067264 sectors
      Units: sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disklabel type: dos
      Disk identifier: 0xb1634a50

      Device Boot Start End Sectors Size Id Type
      /dev/mmcblk0p1 8192 1056767 1048576 512M c W95 FAT32 (LBA)
      /dev/mmcblk0p2 1056768 61067263 60010496 28.6G 83 Linux

      Hier der Inhalt der cmdline.txt
      console=serial0,115200 console=tty1 root=PARTUUID=b1634a50-02 rootfstype=ext4 fsck.repair=yes rootwait

      Soll wie im rot markierten Bereich, wirklich derselbe Eintrag stehen ?

      The post was edited 3 times, last by FastEddie ().