Compute Module 5

Auch zum Raspberry Pi 5 ist ein Compute Module erschienen. Wie beim CM4 ist es ein kompletter Raspberry ohne I/O Ports.

Die Platine des Compute Module 5
raspithek.de - Olli Graf
cm5-topCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Die Platine des Compute Module 5

Compute Module 5

Auf der Oberseite des CM5 sitzen SoC, RAM und ggf. Wi-Fi Modul. Auch der RP1 Chip des Raspberry Pi 5 findet hier noch Platz. Mit 55 * 40mm ist die Platinengröße zum CM4 unverändert geblieben.

Auf der unteren Seite befinden sich wie beim Compute Module 4 die beiden DF40 Kontaktleisten mit jeweils 100 Pins. Bei manchen Modellen befindet sich auch der eMMC Chip auf der Unterseite. Die Kontaktleisten sind mechanisch kompatibel zwischen den beiden CM Modellen, aber nicht elektrisch. Du könntest zwar ein Compute Module 5 in ein Baseboard für das CM4 einstecken, aber da die Signalbelegung unterschiedlich ist, würde das nicht unbedingt funktionieren. Möglicherweise könnte das CM oder das Baseboard sogar Schaden nehmen.

Die Kontaktleisten sowie u.U. das eMMC Modul findet man auf der Unterseite der Platine.
raspithek.de - Olli Graf
cm5-backCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Die Kontaktleisten sowie u.U. das eMMC Modul findet man auf der Unterseite der Platine.

Das SoC ist wie beim Raspi 5 der BCM2712 und auch das Wi-Fi Modul wurde von diesem übernommen. Es gibt wie beim Compute Module 4 auch hier wieder die Möglichkeit, eine externe Antenne anzuschließen.

Die Lötbrücken zur Speicheranzeige zeigen an, dass mein CM5 über 16GB RAM und 32GB Flashspeicher verfügt. Beim Flash sind wohl auch noch Versionen mit 64GB und 128GB Speicher angedacht. Ich bin gespannt, ob die jemals erscheinen werden.

I/O Board

Auch für dieses Compute Module existiert ein I/O Board als Referenzdesign. Der auffälligste Unterschied zum 4er Pendant ist der Sockel für eine NVME M.2. Der PCIe Slot ist dafür weggefallen.

raspithek.de - Olli Graf
io-board5Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=

Alle Signale der Kontaktleisten werden auf dem I/O Board herausgeführt. Für Module ohne eMMC ist ein MicroSD Slot vorhanden. Die GPIO Leiste ist kompatibel zum Raspi 5.

eMMC flashen

Der Vorgang, das eMMC auf dem Compute Module 5 zu flashen unterscheidet sich kaum von dem beim CM4. Ich gehe hier trotzdem nochmal im Detail darauf ein.

Jumper setzen und CM5 einbauen

Zunächst muss die Steckbrücke (Jumper) direkt neben dem Kameraanschluss überbrückt werden. Dieser ist auf der Platine mit Jumper to disable eMMC Boot beschriftet.

Belegung der Jumper, der ganz linke muss gesetzt sein
raspithek.de - Olli Graf
jumper-settingsCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Belegung der Jumper, der ganz linke muss gesetzt sein

Danach kann das CM5 vorsichtig in die Kontaktleisten gedrückt werden. Hier solltest du nicht zu viel Kraft aufwenden, um Platinen oder Kontakte nicht zu beschädigen. Sollte das nicht einfach einrasten, liegt das Modul vermutlich falsch auf den Kontaktleisten.

Das eingesetzte Modul zeigt die Orientierung des CM5 auf dem I/O Board.
raspithek.de - Olli Graf
cm5-insertedCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Das eingesetzte Modul zeigt die Orientierung des CM5 auf dem I/O Board.

Start in den Flashmodus

Um den Flashspeicher zugänglich zu machen, musst du den Powertaster zwischen den MIPI Konnektoren gedrückt halten, während du das I/O-Board über USB-C mit dem Arbeitsrechner verbindest. Auf meinem Debian Desktop finde ich mit

lsusb

folgendes Device: Broadcom Corp. BCM2712D0 Boot. Damit können wir jetzt den eigentlichen Flashvorgang vorbereiten.

Dazu benötigen wir wieder rpiboot Programm, dass leider in den Debian (bookworm) Repositories nicht vorhanden ist.

rpiboot

Zunächst installieren wir ein paar notwendige Pakete, um rpiboot aus den Quellen selbst zu compilieren.

sudo apt install git libusb-1.0-0-dev pkg-config build-essential -y

Als nächstes clonen wir das aktuelle git Repo mit dem Quellcode

git clone --depth=1 https://github.com/raspberrypi/usbboot

Mit den nächsten beiden Kommandos wird rpiboot gebaut.

cd usbboot
make

Danach befindet sich im aktuellen Verzeichnis ein 755KB großes Programm namens rpiboot.

rpiboot wurde erfolgreich gebaut.
raspithek.de - Olli Graf
rpiboot-compiledCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
rpiboot wurde erfolgreich gebaut.

Jetzt kannst du rpiboot aufrufen. Das Compute Module 5 auf dem I/O Board muss immer noch im Bootmodus sein. Solltest du zwischenzeitlich die USB-Verbindung getrennt haben, musst du die obigen Vorgänge wiederholen.

sudo ./rpiboot

In ein paar Sekunden schreibt rpiboot jetzt die benötigten Dateien in der Boot-EPROM. Wichtig ist, das I/O-Board nicht vom Strom zu trennen, bis rpiboot fertig ist.

rpiboot bei der Arbeit
raspithek.de - Olli Graf
rpibootCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
rpiboot bei der Arbeit

Den Erfolg meldet das I/O Board, in dem die rote Power LED erlischt und die grüne Activity LED leuchtet.

Auf meinem Debianrechner finde ich mit lsblk jetzt ein neues Device mit 32GB Kapazität.

Raspberry Pi OS flashen.

Mit dem Raspberry Pi Imager kann ich jetzt Raspberry Pi OS auf das eMMC schreiben.

Dazu wähle ich bei Modell Raspberry Pi 5 aus, das schließt das Compute Module 5 ein.

Modellauswahl im Imager
raspithek.de - Olli Graf
imager-select-modelCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Modellauswahl im Imager

Beim Betriebssystem wähle ich Raspberry Pi OS (other)/ Raspberry Pi OS Lite (64-bit) aus.

Der Imager findet das eMMC als mmcblk0. Dies wähle ich bei SD-Karte aus.

raspithek.de - Olli Graf
imager-select-targetCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
mmcblk0 ist das eMMC des CM5, auf das wir flashen wollen.

Jetzt kann der Flashvorgang gestartet werden. Sobald der Imager seine Erfolgsmeldung zeigt, trenne ich das I/O Board vom USB, entfernen den Jumper und schließe ein originales Raspberry Pi 5 Netzteil an. Das Modul bootet jetzt vom eMMC und ist nach kurzer Zeit auch in meinem WLAN auffindbar.

Die Wi-Fi Verbindungsparameter entsprechen dem eines Raspberry 5
raspithek.de - Olli Graf
wifi-connectedCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Die Wi-Fi Verbindungsparameter entsprechen dem eines Raspberry 5

Tests

Es ist etwas müßig, das CM5 den üblichen Tests zu unterziehen, da die Hardware des Moduls identisch zum Raspberry Pi 5 ist und dort schon getestet ist. Außerdem ist das Compute Module 5 sehr wandelbar und ändert seine Eigenschaften im Zusammenspiel mit dem gewählten Baseboard auf das es aufgesteckt ist.

Wi-Fi

Allerdings interessiert mich das integrierte Wi-Fi Modul dann doch. Daher messe ich mal fix mit iperf3

iperf3 misst 237MBits/sec (sender) und 235 MBits/sec (receiver).
raspithek.de - Olli Graf
iperf3Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
iperf3 misst 237 MBits/sec (sender) und 235 MBits/sec (receiver).

Das CM5 besitzt einen U.FL Anschluss für eine externe Antenne. Ich kann leider keine finden, um den Anschluss testen zu können. Aber Jeff Geerling hat in seinem Videobeitrag gemessen und festgestellt, dass die externe Antenne einen schlechteren Durchsatz zeigt als die interne des Module.

eMMC

Der eMMC Speicherchip ist ein BJTD4R von Samsung/SanDisk/LG und sitzt direkt auf dem CM5, daher lasse ich meine fio Testsuite für 60min darüber laufen und erhalte einen Wert von 60.000 IOPS in der Spitze. Zwischenzeitlich sackt der Wert ab, was sich durch eine Kühlung des Moduls beheben lässt.

Apropos Kühlung: Das I/O Board besitzt eine Buchse zum Anschluss eines aktiven Kühlers, aber keine Befestigung, um einen Active Cooler oder ähnliches aufzunehmen.

IOPS Testergebnis des fio Laufs über den eMMC Chip

NVME

Mich interessiert jetzt aber doch noch, welche Performance die NVME Anbindung des I/O Boards hat und montiere eine Corsair MP600 Mini 1TB M.2 NVMe in den Slot. Dank einer Rändelschraube ist dies ohne Werkzeug innerhalb von wenigen Sekunden bewerkstelligt.

Der Testlauf ergibt 103.000 IOPS in der Spitze, die sich auch hier thermisch bedingt nur kurz halbieren.

Hier noch die Vergleichstabelle mit anderen Aufbauten.

Lesen (MB/s)Schreiben (MB/s)
Raspberry 5 mit MicroSD30,8520,45
Raspberry 4 mit MicroSD10,156,63
Raspberry 4 mit Argon One M.2 SATA138,1791,89
Pineberry Pi pcie1_gen=2148,5099,15
Pineberry Pi pciex1_gen=3171,99114,97
Geekworm X1001
pciex1_gen=3
229,95153,30
CM5 eMMC121,9381,61
CM5 I/O Board NVME284,24189,66

Fazit

Auch das Compute Module 5 birgt wie sein Vorgänger ein großes Potential in Zusammenspiel mit unterschiedlichen Baseboards. Ich plane bereits den Umbau des hier benutzen CM5 in ein Baseboard, dazu folgt bald ein weiterer Post.

Das I/O Board bringt als Referenzdesign eine Menge Neuerungen mit, auch der Flashprozess ist im Vergleich zum Vorgänger etwas einfacher geworden.

Schreibe einen Kommentar

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
raspithek.de - Olli Graf
WordPress Cookie Hinweis von Real Cookie Banner