🛠 Deux ports USB 3.0 simultanés : le CM5 fait du stockage rapide, pas sur une carte CM4
Objetivos
Primera vez en la gama Compute Module: el CM5 expone 2 puertos USB 3.0 SuperSpeed (5 Gb/s simultáneos) + 1 puerto USB 2.0 High-Speed. Los ingenieros han reutilizado los puertos MIPI CAM0/DSI0 del CM4 como pares USB3, de ahí una trampa de compatibilidad importante: estos puertos no funcionan en una placa base diseñada para el CM4. Este tutorial: inventariar las velocidades reales, activar el puerto USB 2.0 en modo host y medir dos copias simultáneas.
Material
- 1 × CM5 sobre una placa CM5IO Board (2 × USB 3.0 Type-A + 1 × USB 2.0 Type-C esclavo)
- 2 × llaves USB o SSD USB 3.0, preferiblemente con alimentación independiente
- Fuente de alimentación de 27 W (los SSD consumen del presupuesto de 5 V/5 A)
sudo apt install -y usbutils smartmontools
Código completo
# 1) Inventaire des vitesses de liaison
lsusb -t | grep -E '5000M|480M|xhci|dwc'
# 2) Activer le port USB 2.0 High-Speed en hôte (contrôleur dwc2)
echo 'dtoverlay=dwc2,dr_mode=host' | sudo tee -a /boot/firmware/config.txt
sudo reboot
# 3) Monter deux SSD et mesurer le débit simultané
sudo mkdir -p /mnt/s1 /mnt/s2
sudo mount /dev/sda1 /mnt/s1 && sudo mount /dev/sdb1 /mnt/s2
( dd if=/dev/zero of=/mnt/s1/t.bin bs=1M count=2000 oflag=direct status=none & \
dd if=/dev/zero of=/mnt/s2/t.bin bs=1M count=2000 oflag=direct status=none; wait )
lsusb -t # recontrôler que les deux SSD restent bien en 5000M
Verificación esperada
lsusb -t lista los dos SSD en buses 5000M (y el teclado eventual en 480M en el controlador dwc2); las dos copias dd se completan sin errores UAS; el total se acerca a las capacidades de los dos enlaces SuperSpeed simultáneos. El puerto USB 2.0 Type-C se vuelve utilizable en modo host tras aplicar el overlay dwc2.
Errores frecuentes
- Conectar dispositivos USB3 en una placa base CM4: la hoja de datos es explícita, el USB 3.0 «no funcionará cuando un CM5 esté conectado a una placa diseñada para el CM4» — los pares MIPI no existen en el lado del CM4.
- Querer OTG USB 2.0: no está documentado oficialmente («algunos usuarios lo han logrado»); la vía admitida es el modo host con rol fijo (enlazar USB_OTG_ID a nivel bajo) con
dr_mode=host. - Hub no alimentado: dos SSD en un hub alimentado por bus hacen que el enlace caiga a 480M o que falle el montaje.
- Buscar 4 puertos USB como en el Pi 5: dos puertos USB 2.0 del Pi 5 han sido eliminados por falta de espacio de señal — el CM5 tiene 1 × USB 2.0 + 2 × USB 3.0, no más.
Otros tutoriales para esta placa
- Alimenter un CM5 comme il faut : USB-C PD 5 V / 5 A et bouton d'alimentation
- La première RTC des Compute Modules : câbler et vérifier la VBAT du CM5
- Accès distant sans VPN : enregistrer un CM5 dans Raspberry Pi Connect
- GPIO du CM5 côté RP1 : force de conduite, budget 50 mA et broches pièges
- Refroidir le CM5 : ventilateur PWM sur le connecteur JST-SH et tachymétrie
- Démarrer le CM5 sur un SSD NVMe dans le socket M.2 de la CM5IO
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash