Interfaces matérielles du reComputer RK3588

Dernière mise à jour:

Ce guide explique comment inspecter et utiliser les interfaces matérielles du reComputer RK3588 sous Armbian. Utilisez les liens de section pour accéder directement au périphérique que vous souhaitez connecter ou tester.

Avant de commencer

  • Terminez la configuration du premier démarrage et connectez-vous localement ou via SSH avec un utilisateur autorisé à exécuter sudo.
  • Utilisez les schémas des ports et de la carte mère pour identifier le connecteur avant de brancher un périphérique.
  • Éteignez et débranchez l'appareil avant d'installer des cartes internes, des nappes ou des câblages GPIO.
  • Les nœuds de périphérique, numéros de bus et indices hwmon ci-dessous correspondent à l'image de référence. Vérifiez les périphériques réellement présents sur votre système avant de copier une commande qui modifie un paramètre.

Ventilateur

Le reComputer RK3588 expose la vitesse du ventilateur et ses réglages PWM via le sous-système Linux hwmon. Dans l’image Armbian vérifiée, le ventilateur s’appelle pwmfan et apparaît sous hwmon8. Le noyau du fabricant ajuste également le PWM selon les seuils de température de l’arbre de périphériques.

Chemins de surveillance matérielle

InterfaceCheminDescription
Nom du ventilateur/sys/class/hwmon/hwmon8/namepwmfan
Vitesse du ventilateur/sys/class/hwmon/hwmon8/fan1_inputRégime actuel en tr/min
Valeur PWM/sys/class/hwmon/hwmon8/pwm1Valeur PWM demandée, 0–255
Politique d’activation PWM/sys/class/hwmon/hwmon8/pwm1_enablePolitique PWM / alimentation ; valeur observée : 1

L’indice hwmon peut varier selon l’image et les pilotes. Vérifiez le nom avant d’utiliser ces chemins :

bash
for node in /sys/class/hwmon/hwmon*; do
    [ -r "$node/name" ] || continue
    printf '%s: ' "$node"
    cat "$node/name"
done

Sur l’appareil testé, /sys/class/hwmon/hwmon8/name renvoie pwmfan.

Zones thermiques

ZoneType signaléChemin de température
SoCsoc-thermal/sys/class/thermal/thermal_zone0/temp
Grand cœur 0bigcore0-thermal/sys/class/thermal/thermal_zone1/temp
Grand cœur 1bigcore1-thermal/sys/class/thermal/thermal_zone2/temp
Petit cœurlittlecore-thermal/sys/class/thermal/thermal_zone3/temp
Centrecenter-thermal/sys/class/thermal/thermal_zone4/temp
GPUgpu-thermal/sys/class/thermal/thermal_zone5/temp
NPUnpu-thermal/sys/class/thermal/thermal_zone6/temp

Les températures sont exprimées en millièmes de degré Celsius. Divisez par 1000 pour obtenir des °C. Cette image expose sept zones thermiques ; utilisez leurs noms réels plutôt que les numéros du RK3576.

Lire la vitesse et les températures

bash
cat /sys/class/hwmon/hwmon8/fan1_input
cat /sys/class/hwmon/hwmon8/pwm1
cat /sys/class/hwmon/hwmon8/pwm1_enable

Après restauration des réglages, les valeurs observées étaient d’environ 2280 tr/min, avec un PWM de 25 et une politique d’activation de 1. Ces observations ne sont pas des valeurs fixes pour tous les appareils.

Lire toutes les zones thermiques :

bash
for zone in /sys/class/thermal/thermal_zone*; do
    [ -r "$zone/type" ] && [ -r "$zone/temp" ] || continue
    printf '%s: ' "$(cat "$zone/type")"
    awk '{printf "%.1f°C\n", $1 / 1000}' "$zone/temp"
done

La température du SoC observée était d’environ 37°C.

Essai court d’écriture PWM

Des écritures uniques de 64, 128 et 255 ont été testées. Chaque valeur demandée était lisible immédiatement après l’écriture, mais le contrôleur thermique du fabricant rétablissait le PWM à 25 en environ une seconde à la température observée.

PWM demandéLecture immédiate lors du testLecture après environ une seconde
646425
12812825
25525525

Pour un essai court, sauvegardez la valeur actuelle, demandez 128, relisez-la, puis restaurez la valeur sauvegardée :

bash
FAN_PWM=/sys/class/hwmon/hwmon8/pwm1
ORIGINAL_PWM=$(cat "$FAN_PWM")
printf '128\n' | sudo tee "$FAN_PWM"
cat "$FAN_PWM"
sleep 1
cat "$FAN_PWM"
printf '%s\n' "$ORIGINAL_PWM" | sudo tee "$FAN_PWM"

Si la première lecture renvoie déjà la valeur du contrôle thermique, le noyau a pu remplacer la demande avant la fin de la lecture. Une écriture réussie ne prouve pas un contrôle manuel continu ; ces essais ne démontrent pas des vitesses fixes de 25 %, 50 % ou 100 %.

Contrôle thermique du fabricant

L’arbre de périphériques testé contient la configuration suivante pour cooling-levels et rockchip,temp-trips :

Plage de température (°C)Niveau de refroidissementValeur PWM
<38025
38–<44145
44–<50260
50–<56375
56–<624100
62–<685130
68–<746170
74–<807210
≥808255

Consulter la configuration active de l’arbre de périphériques :

bash
python3 - <<'PY'
from pathlib import Path
import struct

node = Path('/sys/firmware/devicetree/base/pwm-fan')
for name in ('cooling-levels', 'rockchip,temp-trips'):
    data = (node / name).read_bytes()
    values = struct.unpack('>' + 'I' * (len(data) // 4), data)
    print(name + ':', list(values))
PY

Dans cette image, pwm1_enable=1 ne désactive pas le contrôle thermique du fabricant. Cet attribut n’est pas un commutateur universel 1=manual, 2=automatic. Sa politique PWM / alimentation est décrite dans la documentation Linux pwm-fan ; le rappel thermique Rockchip est implémenté dans le pilote du fabricant.

L’appareil a conservé son contrôle thermique après le test. Aucun script thermique ni service systemd distinct n’a été installé. La prise de contrôle du régulateur du fabricant et l’exécution d’un service personnalisé n’ont pas encore été vérifiées sur cet appareil.

Référence rapide

bash
cat /sys/class/hwmon/hwmon8/name
cat /sys/class/hwmon/hwmon8/fan1_input
cat /sys/class/hwmon/hwmon8/pwm1
cat /sys/class/hwmon/hwmon8/pwm1_enable
awk '{printf "%.1f°C\n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp

Environnement vérifié

ÉlémentValeur
AppareilreComputer RK3588
SystèmeArmbian 26.8.7 / Ubuntu 26.04 (resolute), ARM64
Noyau6.1.172-vendor-seeed-rk3588
Surveillance du ventilateur/sys/class/hwmon/hwmon8 (pwmfan)
PWM après restauration25
Politique d’activation après restauration1
Vitesse observée après restaurationEnviron 2280 tr/min
Température du SoC observéeEnviron 37°C

État des voyants LED

L’appareil possède des voyants Power, Status et User. Le voyant User est une LED RVB.

Voyants Power, Status et User

Comportement et contrôle des LED

VoyantComportement par défautContrôle
Power (rouge)Allumé lorsque l’alimentation est branchéeCircuit matériel d’alimentation
Status (vert)Piloté par le circuit d’état de l’alimentationAucun nœud de contrôle de classe LED correspondant dans ce système
User (RVB)Pulsation bleue ; rouge et vert éteintsTrois canaux contrôlables via la classe LED Linux

Repérer les LED

L’image RK3588 actuelle expose les nœuds suivants. Les trois canaux ont une valeur max_brightness de 1 :

CouleurNœudDéclencheur par défaut
Rouge/sys/class/leds/user-led_rednone
Vert/sys/class/leds/user-led_greennone
Bleu/sys/class/leds/user-led_blueheartbeat
bash
ls -d /sys/class/leds/user-led_*
cat /sys/class/leds/user-led_blue/trigger
cat /sys/class/leds/user-led_blue/max_brightness

Les crochets dans la sortie trigger indiquent le déclencheur actif, par exemple [heartbeat].

Contrôle manuel (allumé / éteint)

Définissez le déclencheur sur none avant d’écrire dans brightness. Utilisez 1 pour allumer et 0 pour éteindre :

bash
LED_PATH=/sys/class/leds/user-led_blue
echo none | sudo tee "$LED_PATH/trigger"
echo 1 | sudo tee "$LED_PATH/brightness"
sleep 2
echo 0 | sudo tee "$LED_PATH/brightness"

Pour le rouge ou le vert, remplacez user-led_blue à la fin du chemin par user-led_red ou user-led_green. Le pilote LED gère les trois canaux ; gpioset n’est pas nécessaire.

Déclencheurs automatiques

Faire alterner le canal bleu entre 500 ms allumé et 500 ms éteint :

bash
LED_PATH=/sys/class/leds/user-led_blue
echo timer | sudo tee "$LED_PATH/trigger"
echo 500 | sudo tee "$LED_PATH/delay_on"
echo 500 | sudo tee "$LED_PATH/delay_off"

Rétablir le déclencheur de pulsation bleu :

bash
echo heartbeat | sudo tee /sys/class/leds/user-led_blue/trigger

Rétablir l’état par défaut

bash
for color in red green; do
    LED_PATH="/sys/class/leds/user-led_$color"
    echo none | sudo tee "$LED_PATH/trigger"
    echo 0 | sudo tee "$LED_PATH/brightness"
done
echo heartbeat | sudo tee /sys/class/leds/user-led_blue/trigger

Ces réglages concernent le système en cours d’exécution et ne modifient pas son démarrage. Consultez la documentation Linux LED pour la luminosité et les déclencheurs.

Boutons

La carte comporte les boutons Power, Recovery et MaskROM. Pour le firmware, reliez un câble USB de données au port Type-C OTG et suivez les instructions de flash de l’image RK3588 choisie. Recovery et MaskROM sont des modes de flash, pas des étapes normales de démarrage du bureau.

GPIO et bus périphériques

Brochage GPIO 40 broches du reComputer RK3588

Vérifier les contrôleurs et les noms de lignes exposés par l’arbre de périphériques actuel :

bash
gpiodetect
gpioinfo

Si ces outils ne sont pas disponibles, installez le paquet de la distribution :

bash
sudo apt update
sudo apt install gpiod

Utilisez le schéma RK3588 pour associer broches physiques et signaux, puis repérez le contrôleur et la ligne dans gpioinfo. Vérifiez la syntaxe de la version libgpiod installée avec gpioset --help avant de définir une sortie.

Lister les overlays RK3588 installés et la configuration de démarrage actuelle :

bash
find /boot -type f -name '*rk3588*.dtbo' -print
grep -E '^(fdtfile|overlay_prefix|overlays|user_overlays)=' /boot/armbianEnv.txt

Pour I2C, UART, SPI ou CAN, choisissez un overlay prévu pour la carte et le périphérique connecté. Conservez les overlays existants lors de la modification de /boot/armbianEnv.txt ; la documentation de l’overlay installé définit les paramètres et les broches.

USB

Les spécifications Seeed Studio indiquent les interfaces USB suivantes pour le reComputer RK3588 :

Interface / quantitéConnecteur physiqueProtocole et fonctionsUtilisation
Hôte USB 3.0 ×4USB Type-AUSB 3.0, débit nominal de signalisation de 5 GbpsCaméras USB, stockage externe, claviers, souris et autres périphériques.
USB Type-C ×1USB Type-COTG + DisplayPortConnexions OTG et sortie DisplayPort avec câble ou adaptateur compatible.

5 Gbps est le débit nominal de signalisation USB 3.0, pas une vitesse de transfert de fichiers mesurée. Cela ne garantit pas une bande passante de contrôleur indépendante de 5 Gbps pour chacun des quatre ports Type-A.

Lister les périphériques USB connectés et leur topologie :

bash
lsusb
lsusb -t

Périphériques et topologie USB du reComputer RK3588

Utilisez lsusb -t pour consulter la vitesse négociée. Pour une caméra ou un accélérateur USB, suivez également les instructions des pilotes et applications du périphérique.

Stockage microSD et NVMe

L’appareil dispose d’un logement microSD et d’une extension PCIe pour SSD NVMe. Identifiez le stockage par modèle, capacité et point de montage avant utilisation :

bash
lsblk -o NAME,MODEL,SIZE,TYPE,FSTYPE,MOUNTPOINTS
lspci -nn

Liste des périphériques de stockage du reComputer RK3588

Pour un SSD NVMe, vérifier la liaison PCIe et le pilote :

bash
lspci -nnk | grep -A 3 -i 'Non-Volatile memory'

La détection d’un disque ne prouve pas qu’il peut démarrer le système ; suivez la procédure d’installation de l’image choisie.

Interfaces d’extension M.2

Le reComputer RK3588 possède deux interfaces M.2 Key-M pour le stockage NVMe ou des accélérateurs d’IA PCIe compatibles.

Format du moduleSpécification PCIe
2242 (22 × 42 mm)PCIe 2.1 ×1
2280 (22 × 80 mm)PCIe 3.0 ×4

×1 et ×4 désignent respectivement une et quatre lignes. PCIe 2.1 ×1 reprend la spécification officielle de l’interface 2242. Vérifiez la clé, la longueur et le point de fixation du module. La vitesse et la largeur négociées se consultent avec LnkSta ci-dessous. Voir la fiche produit Seeed Studio.

Interface M.2 Key-M 2242 (PCIe 2.1 ×1)

Emplacement de l’interface M.2 Key-M 2242

Interface M.2 Key-M 2280 (PCIe 3.0 ×4)

Emplacement de l’interface M.2 Key-M 2280

Installer un module

  1. Arrêtez le système et débranchez l’alimentation DC ou PoE avant d’ouvrir le boîtier.
  2. Vérifiez que la clé, la longueur et le point de fixation correspondent au logement. Insérez le module et fixez-le avec une vis.
  3. Vérifiez le refroidissement et les connexions, puis rebranchez l’alimentation et démarrez le système.

Choisissez un SSD NVMe pour le stockage ; un accélérateur d’IA nécessite aussi des pilotes et un environnement d’exécution adaptés au système RK3588 et à son noyau. Utilisez la commande lsblk précédente pour consulter la capacité.

Identifier les périphériques PCIe et pilotes

bash
lspci -nnk

Repérez le SSD ou l’accélérateur dans la liste, puis son adresse, son modèle et Kernel driver in use.

Vérifier la vitesse et la largeur négociées

À l’invite, saisissez l’adresse PCIe obtenue dans la sortie précédente :

bash
read -rp 'PCIe device address: ' PCIE_DEVICE
sudo lspci -s "$PCIE_DEVICE" -vv | grep -E 'LnkCap:|LnkSta:'

LnkCap indique les capacités de liaison et LnkSta la vitesse et la largeur actuellement négociées. Pour démarrer sur NVMe, configurez l’environnement de démarrage selon la procédure de votre image Armbian.

SIM et extension miniPCIe

Le logement nano SIM s’utilise avec un module cellulaire compatible. Coupez l’alimentation avant d’insérer la SIM ou un module interne. miniPCIe permet des modules optionnels 4G LTE, LoRaWAN ou Wi-Fi HaLow ; choisissez les antennes et logiciels adaptés.

Module 4G LTE miniPCIe et logement SIM du reComputer RK3588

Après installation du module et démarrage, consulter l’énumération PCIe, USB et réseau :

bash
lspci -nn
lsusb
ip -br link

Interroger le module 4G (EC25)

Pour un module cellulaire USB tel que l’EC25, identifier d’abord les ports série et les messages des pilotes :

bash
ls /dev/ttyUSB*
sudo dmesg | grep -iE 'quectel|option|ttyUSB|qmi_wwan|cdc_ether' | tail -n 50

Ports série et pilotes du module 4G RK3588

Identifiez le port AT dans la documentation du module, puis installez et ouvrez minicom. /dev/ttyUSB2 dans l’invite est seulement un exemple ; saisissez le port AT réel :

bash
sudo apt update
sudo apt install minicom
read -rp 'AT serial device (e.g. /dev/ttyUSB2): ' AT_PORT
sudo minicom -D "$AT_PORT" -b 115200

Envoyez les commandes suivantes une par une dans minicom, pas dans le shell Linux. Commencez par AT et poursuivez après réception de OK :

text
AT
ATI
AT+CPIN?
AT+CSQ
AT+CREG?
AT+CGREG?
AT+CEREG?
AT+COPS?

ATI lit les informations du module, AT+CPIN? l’état SIM, AT+CSQ la qualité du signal, AT+CREG?, AT+CGREG? et AT+CEREG? l’enregistrement réseau, et AT+COPS? l’opérateur. Appuyez sur Ctrl+A, puis X pour quitter minicom. Voir le manuel AT Quectel EC25 / EC21.

La connexion de données nécessite aussi un réseau hôte adapté à l’APN de l’opérateur et au mode USB du module. Une SIM prête ou un module enregistré ne prouve pas l’accès Internet du RK3588.

Identifier les interfaces LoRaWAN et Wi-Fi HaLow

Pour le module USB ou SPI installé, consulter les nœuds, les overlays existants et les messages des pilotes :

bash
lsusb
ls /dev/ttyACM*
ls /dev/spidev*
find /boot -type f -name '*.dtbo' | grep -iE 'halow|lora|rk3588'
grep -E '^(fdtfile|overlay_prefix|overlays|user_overlays)=' /boot/armbianEnv.txt
sudo dmesg | grep -iE 'morse|mm6108|sx1302|lora' | tail -n 50
ip -br link

Les modules USB et SPI utilisent des transports distincts. Choisissez les paramètres de test LoRaWAN, les réglages de réinitialisation SPI / GPIO et les overlays HaLow selon l’image RK3588 et la documentation du module, sans réutiliser les noms d’overlays RK3576. Suivez le guide du module pour les émissions/réceptions de passerelle et les modes AP / station HaLow.

Ethernet RJ45

Le reComputer RK3588 possède deux ports Ethernet RJ45 2.5GbE. Ils peuvent relier un réseau amont et des appareils locaux pour une passerelle, l’acquisition de données ou une application à deux ports réseau.

Un port peut alimenter l’appareil via un module PoE supplémentaire. Installez le module approprié et vérifiez les exigences d’alimentation du commutateur ou de l’équipement source avant utilisation.

Identifier les interfaces réseau et adresses IP

Branchez le câble Ethernet, puis listez les noms et adresses des interfaces :

bash
ip -br link
ip -br addr

Utilisez les noms réels du système plutôt que de supposer eth0 ou eth1. Pour associer ports physiques et interfaces, branchez ou débranchez chaque câble séparément et observez les changements d’état.

Vérifier le débit négocié et la liaison

Installez ethtool et saisissez le nom de l’interface filaire identifiée à l’invite :

bash
sudo apt update
sudo apt install ethtool
read -rp 'Ethernet interface: ' ETH_IFACE
sudo ethtool "$ETH_IFACE"

Consultez Speed, Duplex et Link detected. Link detected: yes indique une liaison physique ; Speed: 2500Mb/s une liaison négociée à 2.5GbE. Le port, le commutateur ou l’adaptateur distant et le câble déterminent le débit réel.

Configurer les connexions réseau

Avec une image utilisant NetworkManager, consulter les connexions et ouvrir l’interface texte pour configurer DHCP ou une IP statique :

bash
nmcli device status
nmtui

Dans nmtui, choisissez la connexion filaire, configurez adresse IP, passerelle et DNS, puis activez-la selon le plan réseau. Configurez séparément les deux connexions si vous utilisez les deux ports.

Wi-Fi et Bluetooth

L’appareil intègre Wi-Fi 6 et Bluetooth 5.4. Consulter le blocage radio et le contrôleur Bluetooth :

bash
rfkill list
bluetoothctl list

HDMI et DisplayPort

L’appareil propose deux sorties HDMI 2.1, une entrée HDMI 2.0 et DisplayPort via Type-C. Branchez les moniteurs aux sorties. L’entrée HDMI capture une source vidéo externe.

Vérifier l’état des connecteurs d’affichage :

bash
for connector in /sys/class/drm/card*-*; do
    [ -r "$connector/status" ] || continue
    printf '%s: ' "$connector"
    cat "$connector/status"
    [ ! -r "$connector/modes" ] || cat "$connector/modes"
done

État des connecteurs d’affichage du reComputer RK3588

Pour une entrée HDMI ou une caméra compatible, lister les périphériques vidéo avec V4L2 :

bash
sudo apt install v4l-utils
v4l2-ctl --list-devices

Détection de l’entrée HDMI du reComputer RK3588

Utilisez le nœud vidéo et les formats signalés pour la capture. Configurez les écrans multiples dans les paramètres du bureau.

RTC

La carte fournit un connecteur RTC à 2 broches. Vérifiez polarité et batterie dans le schéma avant raccordement. Consulter les périphériques RTC exposés par Linux :

bash
for rtc in /sys/class/rtc/rtc*; do
    [ -r "$rtc/name" ] || continue
    printf '%s: ' "$rtc"
    cat "$rtc/name"
    [ ! -r "$rtc/date" ] || cat "$rtc/date"
    [ ! -r "$rtc/time" ] || cat "$rtc/time"
done

Les documents matériels et images système figurent dans le récapitulatif des téléchargements.