Directives d'utilisation des interfaces du kit de développement pour module reComputer RK3576

Dernière mise à jour:

Configuration système

Wi-Fi

Par défaut, les antennes Wi-Fi et Bluetooth ne sont pas montées. Installez-les avant utilisation pour améliorer la puissance du signal, et vérifiez qu'elles sont bien connectées aux connecteurs d'antenne appropriés.

Test Wi-Fi

Shell
nmcli device wifi list
sudo nmcli device wifi connect STU-TE password seeedkey968
sudo nmcli device wifi connect test-ap password 88888888
sudo nmcli device wifi connect SEEED-OFFICE password edgemaker2025
# 1-hour ping packet loss test
ping -w 3600 192.168.254.100

Bluetooth

Test Bluetooth

Shell
bluetoothctl
scan on
scan off

Guide de connexion à distance (SSH)

Matériel : reComputer RK3576 Module

Système d'exploitation : Debian 12

Ce guide explique comment accéder à votre reComputer à distance via le protocole Secure Shell (SSH).

Activer SSH après le premier flash

Après le premier flash du système, le service SSH peut ne pas démarrer automatiquement. Activez-le localement sur l'appareil en suivant ces étapes :

Démarrer le service SSH :

bash
sudo systemctl start ssh

Activer le démarrage automatique de SSH au boot :

bash
sudo systemctl enable ssh

Vérifier l'état du service SSH :

bash
systemctl status ssh

Prérequis

  • Le reComputer doit être allumé et connecté au même réseau local (LAN) que votre ordinateur principal.
  • Une connexion Ethernet est recommandée pour la configuration initiale afin d'assurer la stabilité.

Identifier l'adresse IP de l'appareil

Vous avez besoin de l'adresse IP du reComputer pour établir la connexion.

  • Via un terminal local : Si vous disposez d'un moniteur et d'un clavier connectés au reComputer, exécutez :
bash
hostname -I
  • Via le tableau de bord du routeur : Accédez à l'interface web de votre routeur et recherchez un appareil nommé recomputer ou similaire dans la liste des clients DHCP.

Méthodes de connexion

Option A : Windows (PowerShell ou Invite de commandes) Les versions modernes de Windows incluent un client SSH intégré.

  1. Appuyez sur Win + R, tapez cmd, puis appuyez sur Entrée.
  2. Entrez la commande suivante (remplacez 10.0.x.x par votre adresse IP réelle) :
bash
ssh seeed@10.1.x.x
  1. Tapez yes lorsque l'on vous demande de confirmer l'empreinte de l'hôte.
  2. Saisissez le mot de passe seeed (les caractères ne s'affichent pas à la saisie).

Option B : Terminal Linux / macOS Ouvrez votre terminal natif et exécutez :

bash
ssh seeed@<Your_Device_IP>

Option C : Outils professionnels (recommandé) Pour un environnement de développement plus robuste, envisagez :

  • MobaXterm : Intègre une barre latérale SFTP pour faciliter le glisser-déposer des fichiers.

Dépannage

  • Connexion refusée : Vérifiez que le service SSH est actif sur le reComputer. Vous pouvez le vérifier localement en exécutant :
bash
sudo systemctl status ssh
  • Problèmes de pare-feu : Si le service est actif mais bloqué, autorisez le port 22 via le pare-feu :
bash
sudo ufw allow 22
  • Échec de la vérification de la clé d'hôte : Si vous avez récemment réinstallé l'OS sur la même adresse IP, supprimez l'ancienne clé sur votre PC avec :
bash
ssh-keygen -R <Your_Device_IP>

Débogage

Débogage série UART0

Débogage via UART0

Pour le débogage série, un câble USB-vers-série est nécessaire pour connecter l'interface UART0 de la carte au port USB du PC.

9.png

Connexion série

Paramètres série

Débit en bauds : 1500000

Bits de données : 8

Bits d'arrêt : 1

Parité : Aucune

Connexion USB-C OTG

Connexion avec MobaXterm

Lors de la première connexion via USB-C, vous devez terminer la configuration d'initialisation de l'utilisateur :

10.png

Plain
root
1234

Une fois la configuration terminée, vous accédez au bureau.

11.png

Utilisation des interfaces

Fente pour carte SD

La carte microSD peut servir de support de démarrage système ou d'espace de stockage supplémentaire. Elle est compatible avec les cartes microSD / microSDHC / microSDXC.

17.png

En tant que support de démarrage système, le module reComputer RK3576 démarre par défaut depuis la carte microSD. Consultez le tutoriel d'installation du système pour la procédure de gravure d'image.

Lorsqu'elle est utilisée comme espace de stockage étendu, il suffit d'insérer la carte pour qu'elle soit reconnue automatiquement, sans nécessiter de flash d'image.

Reconnaissance à chaud et test de vitesse en lecture/écriture :

Shell
lsblk

18.png

Shell
# read
dd if=/dev/mmcblk1p1 of=/dev/null bs=512M count=1 iflag=direct
#clear cache
echo 3 > /proc/sys/vm/drop_caches
# write
dd if=/dev/zero of=/dev/mmcblk1p1 bs=512M count=1 oflag=direct conv=fdatasync

19.png

Utilisation de l'interface M.2 Key M

La carte dispose d'une interface M.2 Key M, permettant d'étendre la mémoire ou la puissance de calcul.

20.png

L'interface M.2 Key M prend en charge les SSD ainsi que divers accélérateurs IA. Les modèles de SSD et d'accélérateurs IA testés sont les suivants :

  • SSD

    • Seeed NVMe (128GB/256GB/512GB/1TB/2TB)

    • SAMSUNG 980

    • KIOXIA-EXCERIA G2 SSD

    • NXM-128

    • TWSC TSC3AN128-F2T70S

  • Accélérateur IA

    • RK1820/RK1828

    • Hailo-8/8L/10H

Note

Les modèles listés ci-dessus indiquent uniquement que la compatibilité a été vérifiée avec les versions actuelles du matériel et du logiciel ; ils ne garantissent pas la compatibilité d'autres modèles de la même marque ou d'autres lots. Le comportement du périphérique peut varier selon le contrôleur, le firmware, la consommation électrique ou la version matérielle. Il est recommandé d'effectuer des tests pratiques avant tout achat en volume ou déploiement. Cette interface ne prend en charge que les SSD PCIe NVMe, et non les SSD M.2 SATA.

Guide d'utilisation du SSD

Utilisez la commande suivante pour identifier le périphérique SSD :

Plain
lsblk

21.png

Testez la vitesse de lecture/écriture du SSD :

Shell
# Read
dd if=/dev/nvme0n1 of=/dev/null bs=1024M count=4 iflag=direct
#Clear Cache
echo 3 > /proc/sys/vm/drop_caches
# Write
dd if=/dev/zero of=/dev/nvme0n1 bs=1024M count=4 oflag=direct conv=fdatasync

Remplacez /mnt/nvme par le répertoire de montage réel du SSD.

22.png

Guide d'utilisation de Hailo

Suivez la vidéo d'installation de Hailo, puis installez les paquets requis ci-dessous.

23.png

Installez les paquets logiciels. Après l'installation du pilote PCIe de base, vous devez redémarrer le système pour que les modifications prennent effet.

24.png

Plain
# Install the PCIe driver
sudo dpkg -i hailort-pcie-driver_4.24.0_all.deb

# Reboot the system
sudo reboot

# After reboot, verify that the driver has been loaded
lsmod | grep hailo

# Install HailoRT
sudo dpkg -i hailort_4.24.0_arm64.deb

# Scan and verify the device status
hailortcli scan

# Create and activate the virtual environment
python3 -m venv hailo_env
source hailo_env/bin/activate

# Install the HailoRT Python library
pip install hailort-4.24.0-cp312-cp312-linux_aarch64.whl

# Verify the installation and device connection
python3 -c "from hailo_platform import VDevice; vdev = VDevice(); print('Successfully connected via VDevice! Device info:', vdev)"

25.png

26.png

27.png

Installez Hailo Model Zoo. Pour exécuter les modèles pré-entraînés officiels, vous devez installer Hailo Model Zoo ainsi que ses dépendances système.

Plain
# 1. Install the required system libraries
sudo apt update
sudo apt install -y git libglib2.0-0t64 libgl1 libglx-mesa0

# 2. Clone the official repository (the latest branch is recommended)
git clone https://github.com/hailo-ai/hailo_model_zoo.git
cd hailo_model_zoo
mkdir -p ~/hailo_models
cd ~/hailo_models

wget \
https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.19.0/hailo8/yolov8n.hef

Vérifiez le fichier :

Plain
ls -lh yolov8n.hef

Analysez d'abord le HEF :

Plain
hailortcli parse-hef yolov8n.hef

Assurez-vous qu'il s'agit bien de :

Plain
HAILO8

et non de :

Plain
HAILO8L
HAILO10H

Exécutez-le ensuite directement :

Plain
hailortcli run yolov8n.hef

28.png

Guide d'utilisation des RK182x

Le module Seeed reComputer RK3576 prend en charge nativement les accélérateurs de la série RK182x. Aucune installation complexe de pilotes n'est nécessaire ; ils fonctionnent immédiatement.

Installation du RK1820

Mettez hors tension le reComputer RK3576.

Insérez l'accélérateur IA RK1820 dans le slot M.2 correspondant et fixez-le avec une vis.

Après l'installation, allumez le périphérique et accédez au système. L'image ci-dessous indique la position d'installation.

Note :

N'insérez ni ne retirez le RK1820 lorsque le périphérique est sous tension.

29.png

Vérifier la connexion PCIe du RK1820

Une fois dans le système, exécutez :

Plain
lspci

En conditions normales, le RK1820 doit être reconnu comme un accélérateur de traitement PCIe.

Exemple :

30.png

Vérifiez ensuite les identifiants Vendor ID et Device ID PCI :

Plain
lspci -nn

Exemple :

31.png

Plain
1d87:182a

indique que le RK1820 a été correctement énuméré par le système.

Vérifier l'état du lien PCIe

Exécutez :

Plain
sudo dmesg | grep -Ei "pcie|rkep|182a"

En conditions normales, vous devriez voir une sortie similaire à :

Plain
PCIe Link up
PCIe Gen.2 x1 link up
pcie-rkep 0000:01:00.0

32.png

Cela indique que le lien PCIe entre le RK3576 et le RK1820 est établi normalement.

Vérifiez ensuite le nœud de périphérique du RK1820 :

Plain
ls -l /dev/pcie-rkep-*

Exemple :

33.png

Plain
/dev/pcie-rkep-0000:01:00.0

Si ce nœud de périphérique est visible, cela signifie que le pilote PCIe du RK1820 fonctionne correctement.

Installer le runtime RKNN3

Ce tutoriel utilise RKNN3 V1.1.0. Le paquet d'installation est disponible via ce lien de téléchargement.

Nom du paquet d'installation :

Plain
rknn3_rk182x_m2_v1.1.0_installer_arm64.tgz

34.png

Après avoir téléchargé le fichier sur votre PC, transférez-le vers le reComputer RK3576 Dev Kit. Nous prenons ici l'exemple d'un transfert vers le dossier Téléchargements.

Accédez au répertoire de téléchargement :

Plain
cd ~/Downloads

Créez un répertoire d'extraction :

Plain
mkdir -p rk182x_m2_installer

Extrayez le paquet d'installation :

Plain
tar -xzf rknn3_rk182x_m2_v1.1.0_installer_arm64.tgz \
-C rk182x_m2_installer

Accédez au répertoire d'installation :

Plain
cd rk182x_m2_installer

Lancez l'installation :

Plain
sudo ./install.sh

Redémarrez le système après l'installation :

Plain
sudo reboot

Note :

La version du RKNN3 Runtime doit être compatible avec celle du RKNN3 Toolkit utilisée lors de la conversion du modèle.

Si les versions du modèle et du Runtime ne correspondent pas, des erreurs telles que :

Plain
MODEL_SETUP fail
rknn3_model_init fail

peuvent survenir lors de l'initialisation du modèle.

Vérifier l'environnement RKNN3 Runtime

Après le redémarrage, vérifiez le service RKNN3 :

Plain
systemctl status rknn3.service --no-pager

En conditions normales, vous devriez obtenir :

Plain
Active: active (running)

35.png

Vérifier la version du RKNN3

Plain
sudo rknn-smi -v

Vous pouvez consulter :

Plain
rknn-smi version
PCIe driver version
RC chips connect version
EP chips connect version
PCIe Device firmware version
rknn3 API version

36.png

Vérifier les informations du périphérique RK1820

Plain
sudo rknn-smi info -l

En conditions normales, vous devriez voir un résultat similaire à :

Plain
Device Count: 1

Device ID: 0
Communication mode: PCIe
Product Name: RM1820MC0-F
Chip Count: 1
Chip ID: 0
Chip Name: RK1820

37.png

Cela indique que le RKNN3 Runtime a correctement détecté le RK1820.

Vérifier l'état du Runtime RK1820

Plain
sudo rknn-smi info

Vous pouvez vérifier :

  • L'état du périphérique

  • La santé du système

  • L'utilisation du NPU

  • La température

  • L'utilisation de la mémoire

En conditions normales, vous devriez obtenir :

Plain
Status: Online
Health: OK

38.png

Pour afficher l'état du RK1820 en temps réel, exécutez :

Plain
sudo rknn-smi info -w

Cette commande permet d'observer l'évolution de l'utilisation du NPU, de la mémoire et de la température pendant l'inférence du modèle.

39.png

Tester le RK1820 avec Qwen3.5-0.8B

Utilisez ensuite Qwen3.5-0.8B pour valider les capacités d'inférence LLM du RK1820. Le lien de téléchargement du modèle est :

Paquet du modèle (rknn3_models/v1.1.0) :

Télécharger le modèle Qwen3.5-0.8B (code d'extraction : rknn)

Le répertoire du modèle Qwen3.5-0.8B contient les fichiers suivants :

Plain
Qwen3.5-0.8B/
鈹溾攢鈹€ Qwen3.5-0.8B.rknn
鈹溾攢鈹€ Qwen3.5-0.8B.weight
鈹溾攢鈹€ Qwen3.5-0.8B.tokenizer.gguf
鈹斺攢鈹€ Qwen3.5-0.8B.embed.bin

Accédez au répertoire du modèle :

Plain
cd ~/Downloads/Qwen3.5-0.8B

Affichez les fichiers :

Plain
ls -lh

Exemple :

Plain
Qwen3.5-0.8B.embed.bin        485M
Qwen3.5-0.8B.rknn              21M
Qwen3.5-0.8B.tokenizer.gguf     11M
Qwen3.5-0.8B.weight            499M

40.png

Avant d'exécuter le modèle, il est recommandé de vérifier la version de la RKNN3 Toolkit utilisée par celui-ci.

Exécutez :

Plain
strings Qwen3.5-0.8B.rknn | \
grep -Eai "compiler version|rknn3-toolkit|RK1820"

Vérifiez le modèle :

  • La plateforme cible est la RK1820

  • La version de la RKNN3 Toolkit est compatible avec le Runtime actuel

Si la version du modèle ne correspond pas au Runtime actuel, il est recommandé de remplacer le modèle ou de mettre à niveau le RKNN3 Runtime plutôt que de tenter de l'exécuter tel quel.

41.png

Lancez le test de performance du Qwen3.5-0.8B. Exécutez :

Plain
sudo rknn3_session_test \
Qwen3.5-0.8B.rknn \
Qwen3.5-0.8B.weight \
Qwen3.5-0.8B.tokenizer.gguf \
Qwen3.5-0.8B.embed.bin \
1024 256 0xff

Les principaux paramètres utilisés dans ce test sont :

Plain
Context Length : 1024
Max Output     : 256 Tokens
NPU Core Mask  : 0xff

Détails des paramètres :

Longueur du contexte

Plain
1024

indique la longueur du contexte utilisée lors de ce test.

Sortie maximale

Plain
256

indique que ce test génère au maximum 256 Tokens.

Masque de cœur NPU

Plain
0xff

indique que tous les cœurs NPU disponibles de la RK1820 sont utilisés.

Les résultats mesurés pour le Qwen3.5-0.8B, testé sur le kit de développement reComputer RK3576 + accélérateur IA RK1820, sont les suivants :

Données détaillées du test :

42.png

Explication des résultats du test

Prefill indique la vitesse à laquelle le modèle traite le Prompt d'entrée.

Mesuré dans ce test :

Plain
319.55 tokens/s

Generate indique la vitesse à laquelle le modèle génère le texte token par token ; c'est une métrique plus importante pour évaluer l'expérience interactive réelle d'un LLM.

Mesuré dans ce test :

Plain
95.81 tokens/s

Le temps moyen de génération par token est :

Plain
10.44 ms/token

Les résultats des tests montrent que :

Qwen3.5-0.8B fonctionne normalement sur le RK1820. Avec cette configuration de test, la vitesse de génération mesurée est d'environ 95.81 tokens/s.

Surveiller le RK1820 pendant l'inférence

Pendant l'exécution du test du modèle, ouvrez un autre terminal et lancez :

Plain
sudo rknn-smi info -w

Observez en temps réel :

Plain
NPU Utilization
Memory Usage
Temperature
Health Status

Cela permet d'évaluer la charge, l'utilisation mémoire et la température du RK1820 pendant l'exécution du modèle.

Problèmes courants

Échec de MODEL_SETUP

Si le message suivant apparaît lors de l'exécution du modèle :

Plain
MODEL_SETUP fail, ack = ACK_FAIL
rknn3_model_init, recv model setup fail ack

Vérifiez d'abord la version utilisée pour la conversion du modèle :

Plain
strings *.rknn | \
grep -Eai "compiler version|rknn3-toolkit|RK1820"

Puis vérifiez le Runtime RKNN3 actuel :

Plain
rknn-smi version

Assurez-vous que le Runtime est compatible avec la version du RKNN3 Toolkit utilisée lors de la conversion du modèle.

RK1820 non reconnu

Lancez :

Plain
lspci -nn

Vérifiez si l'élément suivant existe :

Plain
1d87:182a

Puis vérifiez le nœud de périphérique :

Plain
ls -l /dev/pcie-rkep-*

Enfin, vérifiez :

Plain
rknn-smi info -l

Si lspci ne parvient pas à reconnaître le RK1820, vérifiez d'abord l'installation M.2 et le lien PCIe, plutôt que le Runtime RKNN3.

État anormal du RK1820

Lancez :

Plain
sudo rknn-smi info

L'état normal doit être :

Plain
Online
Health: OK

Si le périphérique est hors ligne, vous pouvez effectuer les vérifications suivantes :

Plain
sudo dmesg | grep -Ei "pcie|rkep|182a"

Consultez les journaux liés au PCIe et au pilote du RK1820.

Conclusion du test

Une fois la configuration ci-dessus terminée, vous pouvez utiliser l'accélérateur IA RK1820 sur le kit de développement reComputer RK3576 via PCIe.

Ce test utilise Qwen3.5-0.8B pour la validation :

Plain
Model            : Qwen3.5-0.8B
Prefill Speed    : 300.49 tokens/s
Generate Speed   : 92.89 tokens/s
Time per Token   : 10.77 ms
Result           : PASS

Cela confirme que la chaîne complète d'inférence LLM RK3576 → PCIe → RK1820 → RKNN3 → Qwen3.5-0.8B fonctionne correctement.

Guide HDMI 2.1

La carte dispose d'une interface HDMI 2.1 pour connecter des écrans et autres appareils vidéo, avec un support allant jusqu'à la 4K à 120 fps.

Note

La résolution et la fréquence de rafraîchissement réellement disponibles dépendent du dispositif d'affichage, du câble HDMI et du pilote système. Pour une utilisation en 4K@120 Hz, il est recommandé d'utiliser un câble HDMI 2.1 capable de supporter la bande passante correspondante.

43.png

Dans le système Armbian Desktop, vous pouvez ajuster les paramètres de sortie HDMI via l'interface graphique ou la ligne de commande.

Configuration via l'interface graphique

  1. Ouvrez Paramètres depuis le bureau Armbian.

  2. Ouvrez Affichages.

  3. Sélectionnez le périphérique d'affichage HDMI connecté.

  4. Définissez la résolution, la fréquence de rafraîchissement, l'orientation de l'écran et le facteur d'échelle.

  5. Cliquez sur Appliquer, vérifiez que l'affichage est correct, puis enregistrez les paramètres.

44.png

Configuration via la ligne de commande

Vérifiez d'abord le type de session de bureau actuel :

Plain
echo "$XDG_SESSION_TYPE"

Si la sortie est x11, vous pouvez utiliser xrandr pour définir les paramètres de sortie HDMI. Exécutez les commandes suivantes dans un terminal du bureau Armbian sous l'utilisateur courant ; n'utilisez pas sudo.

Consultez les interfaces d'affichage ainsi que les résolutions et fréquences de rafraîchissement prises en charge :

Plain
xrandr --query

Si le système indique que la commande xrandr est introuvable, exécutez :

Plain
sudo apt update
sudo apt install x11-xserver-utils

Le nom de l'interface HDMI peut s'afficher comme HDMI-1, HDMI-A-1 ou sous un autre nom. Utilisez le nom rapporté par xrandr --query dans les commandes ci-dessous.

Par exemple, pour définir la sortie HDMI en 4K à 60 Hz :

Plain
xrandr --output HDMI-1 --mode 3840x2160 --rate 60

Si la liste des modes de xrandr --query inclut 4K à 120 Hz, exécutez :

Plain
xrandr --output HDMI-1 --mode 3840x2160 --rate 120

Définir le HDMI comme moniteur principal :

Plain
xrandr --output HDMI-1 --primary

Désactiver la sortie HDMI :

Plain
xrandr --output HDMI-1 --off

Note :

  • Les paramètres xrandr ne prennent généralement effet que dans la session graphique courante et peuvent revenir à leurs valeurs par défaut après un redémarrage. Pour les rendre persistants, configurez-les via les paramètres d'affichage graphiques.

  • Si $XDG_SESSION_TYPE renvoie wayland, veuillez utiliser l'interface graphique pour ajuster les paramètres d'affichage.

  • Si la sortie est tty, aucun bureau graphique n'est actif ; ni les paramètres graphiques ni xrandr ne peuvent donc être utilisés directement.

  • Si la résolution ou la fréquence de rafraîchissement cible n'apparaît pas dans la liste des modes pris en charge, vérifiez les spécifications de l'écran, le câble HDMI et le pilote système.

Guide de l'interface Ethernet (avec prise en charge PoE)

Connectez le port Ethernet pour accéder à un réseau filaire.

45.png

Obtenez l'adresse réseau :

Plain
ip -br addr
ip route
nmcli device status

Vérifiez la vitesse de liaison négociée :

Plain
sudo apt install -y ethtool
sudo ethtool <interface>

Testez le réseau :

Plain
ping -c 4 8.8.8.8
ping -c 4 www.seeedstudio.com

Test de débit :

Plain
sudo apt install -y iperf3
iperf3 -c <server_ip>

Utilisation du PoE

La carte IO reComputer RK3576 prend en charge la connexion d'un HAT Raspberry Pi PoE+, qui fournit à la fois l'alimentation et la connectivité réseau via un seul câble Ethernet.

L'alimentation PoE est gérée automatiquement par le HAT PoE+. Aucune installation de pilote ni configuration supplémentaire dans Armbian n'est requise.

Installez le HAT PoE+ conformément aux instructions d'installation matérielle, puis connectez le câble Ethernet.

Après le démarrage du système, vous pouvez utiliser les commandes suivantes pour vérifier les interfaces réseau et l'adresse IP :

Plain
ip -br addr

Si une adresse IP est obtenue avec succès, la connexion Ethernet est disponible.

Le PoE et l'alimentation DC 12V peuvent être connectés simultanément à la carte IO reComputer RK3576.

Lorsque les deux sources d'alimentation sont connectées :

  • Déconnectez le PoE : le système continue de fonctionner sur le DC 12V sans redémarrer.

  • Déconnectez le DC 12V : le système continue de fonctionner sur le PoE sans redémarrer.

Cela signifie que vous pouvez basculer entre l'alimentation PoE et DC 12V pendant l'utilisation sans interrompre le fonctionnement du système.

Avant d'installer ou de retirer le HAT PoE+, déconnectez toutes les sources d'alimentation. Il est recommandé d'utiliser un switch ou un injecteur PoE+ conforme à la norme IEEE 802.3at.

Guide MIPI CSI

La carte IO reComputer RK3576 dispose de deux interfaces MIPI CSI, CSI1 et CSI2, qui prennent en charge la connexion directe du Raspberry Pi Camera Module 3.

46.png

Dans le système Armbian préinstallé, le Camera Module 3 fonctionne sans installation de pilotes supplémentaires ni configuration de l'arbre des périphériques (device tree) ; il est prêt à l'emploi après une connexion correcte.

Connexion matérielle

N'insérez pas et ne retirez pas la caméra CSI lorsque l'appareil est sous tension, afin d'éviter tout dommage à la caméra ou à la carte IO.

Installation des outils

Installez GStreamer et les outils de détection de caméra :

Plain
sudo apt update
sudo apt install -y \
    v4l-utils \
    gstreamer1.0-tools \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-bad \
    gstreamer1.0-plugins-ugly \
    gstreamer1.0-libav

Identifier le nœud de caméra

Utilisez la commande suivante pour afficher les périphériques de caméra reconnus par le système :

Plain
v4l2-ctl --list-devices

Vous pouvez également consulter la topologie du Media Controller :

Plain
media-ctl -d /dev/media2 -p

Dans l'image système actuelle, les nœuds vidéo par défaut sont les suivants :

Les nœuds vidéo peuvent varier selon la version du système, le mode de connexion de la caméra ou l'ordre de démarrage des périphériques. Si les nœuds par défaut ne sont pas disponibles, vérifiez les nœuds vidéo réels via v4l2-ctl --list-devices et media-ctl.

Prendre une photo avec CSI1

Lorsque la caméra est connectée à CSI1, exécutez :

Plain
gst-launch-1.0 \
    v4l2src device=/dev/video22 num-buffers=1 ! \
    videoconvert ! \
    jpegenc ! \
    filesink location=test1.jpg

Une fois la photo prise, elle est enregistrée dans le répertoire courant :

Plain
ls -lh test1.jpg

Prendre une photo avec CSI2

Lorsque la caméra est connectée à CSI2, exécutez :

Plain
gst-launch-1.0 \
    v4l2src device=/dev/video31 num-buffers=1 ! \
    videoconvert ! \
    jpegenc ! \
    filesink location=test2.jpg

Affichez la photo générée :

Plain
ls -lh test2.jpg

47.png

Dépannage

Si aucun nœud de caméra n'est trouvé, vérifiez :

  1. Que le câble plat de la caméra est bien inséré.

  2. Que l'orientation du câble plat est correcte.

  3. Que le verrou de l'interface CSI est fermé.

  4. Que la caméra a été connectée alors que le dispositif était éteint.

  5. Que le système reconnaît le Camera Module 3 :

Plain
dmesg | grep -Ei "imx708|csi|rkisp"

Le Raspberry Pi Camera Module 3 utilise le capteur IMX708. Si le journal contient imx708, rkisp ou des informations relatives au CSI, la caméra a été reconnue par le système.

Guide MIPI DSI

La carte IO reComputer RK3576 prend en charge la connexion de l'écran tactile DSI officiel de 7 pouces pour Raspberry Pi. Avant utilisation, vous devez connecter le câble plat DSI, court-circuiter le pont I²C et activer le fichier overlay d'arbre de périphériques correspondant dans Armbian.

48.png

Connexion matérielle

Suivez le schéma de connexion matérielle ci-dessus.

L'interface I²C est utilisée pour la communication avec le contrôleur tactile. Si ce pont n'est pas court-circuité, l'affichage peut fonctionner, mais le tactile ne sera pas opérationnel.

Si vous avez acheté le kit de développement reComputer RK3576 Module Dev Kit, le cavalier est pré-installé, vous n'avez donc pas à vous soucier de ce problème.

49.png

Activer l'overlay de l'arbre de périphériques (Device Tree Overlay)

Pour activer l'overlay, sauvegardez d'abord le fichier de configuration actuel :

Plain
sudo cp /boot/armbianEnv.txt /boot/armbianEnv.txt.bak

Ouvrez le fichier de configuration :

Plain
sudo vim /boot/armbianEnv.txt

Définissez overlay_prefix comme suit :

Plain
overlay_prefix=recomputer-rk3576-ioboard

Ajoutez l'overlay suivant :

Plain
overlays=raspi-7inch-touchscreen

Une fois la configuration terminée, le contenu pertinent doit ressembler à ceci :

Plain
overlay_prefix=recomputer-rk3576-ioboard
overlays=raspi-7inch-touchscreen

Si des overlays sont déjà activés dans overlays=, séparez-les par des espaces et conservez le contenu existant. Par exemple :

Plain
overlays=existing-overlay raspi-7inch-touchscreen

Sur les systèmes où aucun autre overlay n'est actif, vous pouvez utiliser la commande suivante pour configurer rapidement le système :

Plain
sudo sed -i '/^overlay_prefix=/d; /^overlays=/d' /boot/armbianEnv.txt

printf '%s\n' \
    'overlay_prefix=recomputer-rk3576-ioboard' \
    'overlays=raspi-7inch-touchscreen' \
    | sudo tee -a /boot/armbianEnv.txt

Configurer l'affichage du bureau

Créez le répertoire de configuration Xorg :

Plain
sudo mkdir -p /etc/X11/xorg.conf.d

Créez la configuration de l'écran DSI :

Plain
sudo tee /etc/X11/xorg.conf.d/99-dsi.conf > /dev/null <<'EOF'
Section "Device"
    Identifier "DSI"
    Driver "modesetting"
    Option "kmsdev" "/dev/dri/card1"
    Option "DRI" "3"
    Option "AccelMethod" "glamor"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "DSI"
EndSection

Section "ServerLayout"
    Identifier "Layout"
    Screen 0 "Screen0" 0 0
EndSection
EOF

Redémarrez le système pour appliquer la configuration :

Plain
sudo reboot

Vérifier l'affichage et le tactile

Après le redémarrage, l'écran DSI doit afficher le bureau Armbian et prendre en charge les interactions tactiles.

Pour vérifier que le périphérique tactile est bien reconnu, exécutez :

Plain
sudo apt install -y evtest
sudo evtest

Sélectionnez le périphérique tactile correspondant dans la liste, puis touchez ou balayez l'écran. Si le terminal affiche en continu les coordonnées tactiles et les événements clavier, la fonctionnalité tactile fonctionne correctement.

La configuration actuelle utilise /dev/dri/card1 comme périphérique d'affichage DSI. Si le numéro du périphérique DRM change après une mise à jour système, vérifiez-le avec la commande suivante :

Plain
ls -l /dev/dri/

Guide de l'interface GPIO

Shell
# Calculation formula: gpionum=(letter_index-1)*8+num
recomputer-rk3576-module:~:# gpioset 0 23=0
recomputer-rk3576-module:~:# gpioset 0 23=1

#Read status
gpioget 0 23
GPIO RK3576Numéro de brocheNuméro de brocheGPIO RK3576
VCC3V3_SYS12VCC5V0_SYS
GPIO0_C734VCC5V0_SYS
GPIO0_C656GND
GPIO3_A078UART0_TX_M0_DEBUG
GND910UART0_RX_M0_DEBUG
GPIO4_B4
1112GPIO2_D6
GPIO4_B5
1314
GND
GPIO3_A2
1516
GPIO2_D0
VCC3V3_SYS1718
GPIO2_D1
GPIO2_C21920
GPIO2_C3
2122
GPIO3_A1
GPIO2_C52324GPIO2_C4
2526GPIO2_C1
GPIO4_C7
2728GPIO4_C6
GPIO2_B6
2930GND
GPIO2_B7
3132GPIO2_C0
GPIO0_C4
33
34GND
GPIO2_B5
3536
GPIO3_A3
GPIO2_B4
3738GPIO4_A4
GND
3940GPIO4_A6

Référence des GPIO et périphériques du connecteur 40 broches

Le kit de développement reComputer RK3576 Module Dev Kit fournit un connecteur d'extension à 40 broches compatible Raspberry Pi. Ce connecteur permet de brancher des périphériques GPIO externes, des modules UART, des capteurs I2C, des dispositifs SPI, des actionneurs PWM et des interfaces CAN. Le multiplexage pinctrl du Rockchip RK3576 sélectionne la fonction active pour chaque broche.

Les interfaces prises en charge sont les suivantes :

  • GPIO
  • UART
  • I2C
  • SPI
  • PWM
  • CAN

Le tableau ci-dessous répertorie les broches de signal et leurs noms GPIO RK correspondants. Les broches d'alimentation et de masse figurent dans le tableau complet des broches ci-dessus.

BrocheFonctionGPIO RK
3GPIOGPIO0_23
5GPIOGPIO0_22
7GPIOGPIO3_96
8TX/RX UARTGPIO0_28
10RX/TX UARTGPIO0_29
11GPIOGPIO4_140
12GPIOGPIO2_94
13GPIOGPIO4_141
15GPIOGPIO3_98
16GPIOGPIO2_88
18GPIOGPIO2_89
19MOSI SPIGPIO2_82
21MISO SPIGPIO2_83
22GPIOGPIO3_97
23CLK SPIGPIO2_85
24CS SPIGPIO2_84
26GPIOGPIO2_81
27GPIOGPIO4_151
28GPIOGPIO4_150
29GPIOGPIO2_78
31GPIOGPIO2_79
32GPIOGPIO2_80
33GPIOGPIO0_20
35GPIOGPIO2_77
36GPIOGPIO3_99
37GPIOGPIO2_76
38GPIOGPIO4_132
40GPIOGPIO4_134

Contrôle GPIO

Installez les outils GPIO Linux :

bash
sudo apt update
sudo apt install gpiod

Inspectez les contrôleurs GPIO, les noms des lignes et leur propriétaire actuel avant de sélectionner une ligne :

bash
gpioinfo
gpioinfo gpiochip0

Le gpiochip et le numéro de ligne dépendent de l'image et du noyau. Utilisez la sortie de gpioinfo pour les confirmer, plutôt que d'assumer qu'un numéro de broche physique correspond au numéro de ligne Linux.

Par exemple, avec une ligne exposée comme ligne 23 sur gpiochip0, connectez une LED via une résistance de limitation de courant :

text
GPIO ---- resistor ---- LED ---- GND

Définissez la sortie à l'état haut puis bas :

bash
gpioset gpiochip0 23=1
gpioset gpiochip0 23=0

Connectez un bouton entre l'entrée et le 3,3 V (utilisez une résistance pull-down appropriée ou celle configurée sur la carte), puis lisez la ligne :

text
3.3V
 |
Button
 |
GPIO
bash
gpioget gpiochip0 23

Exemple UART

Pour activer UART3, ajoutez l'overlay dans /boot/armbianEnv.txt :

bash
sudo nano /boot/armbianEnv.txt
ini
overlays=recomputer-rk3576-devkit-40pin-uart3

Redémarrez et vérifiez les périphériques série disponibles :

bash
sudo reboot
ls /dev/tty*

Envoyez une chaîne de test sur le périphérique UART exposé par l'overlay sélectionné (par exemple, /dev/ttyS3) :

bash
echo "Hello RK3576" > /dev/ttyS3

Exemple I2C

Activez I2C3 dans /boot/armbianEnv.txt :

ini
overlays=recomputer-rk3576-devkit-40pin-i2c3

Installez les utilitaires I2C et scannez le bus 3 après le redémarrage :

bash
sudo apt install i2c-tools
sudo i2cdetect -y 3

Une ligne de sortie telle que la suivante indique un périphérique à l'adresse 0x50 :

text
40: -- -- 50 --

Exemple SPI

L'image de base du Module Dev Kit RK3576 peut activer le bus SPI 40 broches par défaut. Si le SPI n'est pas activé sur l'image installée, ajoutez l'overlay correspondant et redémarrez :

ini
overlays=rk3576-spi1-m1-spidev

Vérifiez la présence du nœud spidev et lancez un test basique :

bash
ls /dev/spidev*
spidev_test -D /dev/spidev1.0

Les signaux SPI physiques partagent le matériel avec certaines interfaces d'extension embarquées. Vérifiez la propriété des sélections de puce (chip-select) et du bus avant de connecter un autre périphérique SPI.

Exemple PWM

Les sorties PWM peuvent piloter des variateurs de luminosité LED, des ventilateurs ou des servomoteurs. Activez l'overlay PWM s'il ne l'est pas déjà :

ini
overlays=recomputer-rk3576-devkit-40pin-pwm2-ch6

Après le redémarrage, identifiez le contrôleur PWM et le canal sous /sys/class/pwm/, puis configurez le canal. Les valeurs suivantes représentent une période de 20 ms et une impulsion de servo de 1,5 ms :

bash
ls /sys/class/pwm/
echo 20000000 > period
echo 1500000 > duty_cycle
echo 1 > enable

Exécutez les commandes echo depuis le répertoire pwmchipX/pwmY exporté sélectionné. Le contrôleur et le canal exacts peuvent varier selon l'arbre de périphériques du noyau.

Exemple CAN

Activez CAN0 avec l'overlay 40 broches et redémarrez :

ini
overlays=recomputer-rk3576-devkit-40pin-can0

Configurez l'interface à 500 kbit/s, puis envoyez et recevez une trame de test :

bash
sudo ip link set can0 up type can bitrate 500000
cansend can0 123#11223344
candump can0

Notes sur le multiplexage des broches

Le RK3576 utilise le multiplexage des broches. Une broche physique peut fonctionner comme GPIO ou comme signal périphérique selon l'overlay du device-tree sélectionné. Avant d'utiliser une fonctionnalité périphérique :

  1. Activez l'overlay correspondant.
  2. Redémarrez le système.
  3. Vérifiez que le nœud de périphérique attendu existe.
  4. Testez-le avec l'outil Linux approprié.

Si une broche est attribuée à UART, I2C, SPI, PWM ou un autre pilote du noyau, elle ne peut pas être utilisée comme GPIO standard tant que cette fonctionnalité n'est pas désactivée.

Dépannage GPIO et Pinmux

Vérifiez la propriété des GPIO :

bash
sudo cat /sys/kernel/debug/gpio

Vérifiez les overlays activés :

bash
cat /boot/armbianEnv.txt

Vérifiez le multiplexage des broches dans le device-tree :

bash
cat /sys/kernel/debug/pinctrl/*/pinmux-pins

L'en-tête 40 broches suit la disposition de l'en-tête d'extension Raspberry Pi, ce qui permet de connecter de nombreux accessoires Raspberry Pi. Cependant, le multiplexage des broches du RK3576 diffère de celui des plateformes Raspberry Pi ; vérifiez toujours le tableau des fonctions des broches et l'overlay sélectionné avant de connecter un HAT ou tout autre accessoire.

Guide du ventilateur

La carte IO reComputer RK3576 prend en charge le contrôle PWM du ventilateur. Sous Armbian, vous pouvez utiliser l'interface Linux hwmon pour vérifier la vitesse du ventilateur et ajuster manuellement le PWM.

50.png

Le numéro hwmon peut changer après un redémarrage du système ; ne comptez donc pas sur une valeur fixe telle que hwmon6. Les commandes suivantes utilisent des caractères génériques pour identifier automatiquement le périphérique du ventilateur.

Vérifier la vitesse du ventilateur

Exécutez la commande suivante pour vérifier la vitesse actuelle du ventilateur :

Plain
cat /sys/devices/platform/pwm-fan/hwmon/hwmon*/fan1_input

La valeur retournée est en RPM, par exemple :

Plain
3200

Pour surveiller la vitesse en continu, exécutez :

Plain
watch -n 1 'cat /sys/devices/platform/pwm-fan/hwmon/hwmon*/fan1_input'

Appuyez sur Ctrl+C pour quitter la surveillance.

Vérifier la valeur PWM actuelle

Plain
cat /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1

La plage valide du PWM est 0鈥?55.

Le rapport PWM et la vitesse réelle ne sont pas nécessairement linéaires. Le pilote Linux pwm-fan spécifie que pwm1 varie de 0 à 255, où 255 représente la sortie maximale.

Régler la vitesse du ventilateur

Arrêter le ventilateur :

Plain
echo 0 | sudo tee /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1

Définir le PWM à environ 50 % :

Plain
echo 128 | sudo tee /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1

Définir le PWM au maximum :

Plain
echo 255 | sudo tee /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1

Après configuration, vous pouvez vérifier à nouveau la vitesse du ventilateur :

Plain
cat /sys/devices/platform/pwm-fan/hwmon/hwmon*/fan1_input

Les valeurs PWM définies manuellement ne sont pas conservées après un redémarrage du système. La politique de contrôle par défaut du ventilateur est restaurée au démarrage. En cas de charge élevée, il est déconseillé de laisser le ventilateur arrêté longtemps pour éviter une limitation thermique (throttling) du processeur.

51.png

État des voyants LED

La carte IO reComputer RK3576 dispose de LEDs indiquant l'alimentation et l'état du système.

52.png

Le clignotement de la LED d'état système indique que le noyau Linux a démarré, mais cela ne signifie pas que tous les services système ou applications utilisateur sont prêts.

Vérifier le périphérique LED

La LED d'état système est gérée par le sous-système LED de Linux. Utilisez la commande suivante pour afficher les LEDs disponibles dans le système :

Plain
ls /sys/class/leds/

Dans l'arbre de périphériques Armbian actuel, la LED d'état système apparaît généralement comme suit :

Plain
user-led

Vérifiez le mode de déclenchement actuel :

Plain
cat /sys/class/leds/user-led/trigger

Dans la sortie, l'élément entre crochets représente le mode actif, par exemple :

Plain
none timer default-on [heartbeat]

Contrôle manuel de la LED d'état système

Pour utiliser la LED d'état système comme indicateur d'application, commencez par désactiver le déclencheur heartbeat :

Plain
echo none | sudo tee /sys/class/leds/user-led/trigger

Allumer la LED :

Plain
echo 1 | sudo tee /sys/class/leds/user-led/brightness

Éteindre la LED :

Plain
echo 0 | sudo tee /sys/class/leds/user-led/brightness

Restaurer le mode heartbeat système :

Plain
echo heartbeat | sudo tee /sys/class/leds/user-led/trigger

Ces paramètres ne sont effectifs que pour le cycle de démarrage en cours. Après un redémarrage, le mode heartbeat par défaut configuré dans l'arbre de périphériques est restauré.

Remarques

  • La LED rouge d'alimentation indique uniquement que la carte est alimentée ; elle ne permet pas de déterminer si le démarrage de Linux est terminé.

  • La LED d'état du système peut être contrôlée par les applications, mais une fois passée en mode manuel, elle n'affiche plus le battement de cœur (heartbeat) du système.

  • Il est déconseillé de contrôler ce voyant via un numéro hwmon ou GPIO fixe ; il faut préférer l'interface /sys/class/leds/user-led/.

Description des boutons

La carte IO reComputer RK3576 dispose de trois boutons embarqués : PWR, RESET et MASKROM.

53.png

Bouton PWR

Le bouton PWR est connecté à l'entrée de la touche d'alimentation. Sous Linux, il est reconnu comme rk806 pwrkey et génère des événements KEY_POWER lors de son appui.

Selon l'environnement système, cet événement peut déclencher l'extinction, la mise en veille prolongée ou l'affichage du menu d'alimentation.

Installez l'outil de test des boutons :

Plain
sudo apt update
sudo apt install -y evtest

Lancez le test :

Plain
sudo evtest

Dans la liste des périphériques, sélectionnez :

Plain
rk806 pwrkey

Après avoir appuyé sur le bouton PWR, vous devriez voir une sortie similaire à :

Plain
Event: type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: type 1 (EV_KEY), code 116 (KEY_POWER), value 0

Pour modifier le comportement du système après un appui court sur le bouton PWR, éditez la configuration de systemd-logind :

Plain
sudo nano /etc/systemd/logind.conf

Par exemple, pour définir l'action d'un appui court sur l'extinction :

Plain
HandlePowerKey=poweroff

Appliquez la configuration :

Plain
sudo systemctl restart systemd-logind

Il est recommandé d'utiliser sudo poweroff ou la fonction d'arrêt du bureau pour éteindre l'appareil en toute sécurité, afin d'éviter tout dommage au système de fichiers ou aux données causé par une coupure directe de l'alimentation.

Bouton RESET

Un appui sur le bouton RESET déclenche une réinitialisation matérielle ; le système redémarre immédiatement.

Le bouton RESET ne lance pas la procédure d'arrêt normale de Linux, ce qui peut entraîner la perte de données non sauvegardées. En conditions normales, préférez l'utilisation de :

Plain
sudo reboot

N'utilisez le bouton RESET que si le système est figé et qu'il est impossible de le redémarrer normalement via le terminal ou SSH.

Bouton MASKROM

Le bouton MASKROM permet de forcer l'entrée du dispositif dans le mode Rockchip MaskROM. Ce mode est principalement utilisé dans les cas suivants :

  • Le système ne démarre pas depuis l'eMMC ou d'autres périphériques de stockage

  • Le chargeur d'amorçage (Bootloader) est corrompu

  • Impossible d'accéder normalement au mode Loader

  • Nécessité de reflasher l'image système

Entrée en mode MaskROM

  1. Connectez la carte IO à l'hôte à l'aide d'un câble USB-C compatible avec le transfert de données.

  2. Coupez l'alimentation de l'appareil.

  3. Maintenez le bouton MASKROM enfoncé.

  4. Remettez l'appareil sous tension.

  5. Une fois que l'hôte détecte le périphérique Rockchip MaskROM, relâchez le bouton.

Si l'appareil est déjà sous tension, vous pouvez également :

  1. Maintenez le bouton MASKROM enfoncé.

  2. Appuyez brièvement une fois sur le bouton RESET.

  3. Attendez que l'hôte reconnaisse le périphérique, puis relâchez le bouton MASKROM.

Sous Windows, vous pouvez confirmer l'état du périphérique via RKDevTool ou RK Driver Assistant :

Plain
Found One MASKROM Device

Sur un hôte Linux, exécutez la commande suivante :

Plain
lsusb

Vérifiez si un périphérique USB Rockchip apparaît sur l'hôte.

MASKROM est une fonction de récupération système. Il n'est pas recommandé d'utiliser ce bouton pour des interactions applicatives normales. Après être entré en mode MaskROM, l'appareil ne démarrera plus Linux normalement ; il faut le redémarrer ou le réinitialiser pour sortir de ce mode.

Guide des interfaces USB

La carte IO reComputer RK3576 fournit les interfaces USB suivantes :

L'USB-C prend en charge la commutation entre les rôles Hôte et Périphérique. Le mode de fonctionnement réel dépend de la direction de la connexion, du câble utilisé et du périphérique connecté.

54.png

Vérifier les périphériques USB

Après avoir connecté un périphérique USB, exécutez :

Plain
lsusb

Affichez la topologie de connexion et la vitesse négociée des périphériques USB :

Plain
lsusb -t

La sortie est la suivante :

Plain
seeed@recomputer-rk3576-module:~$ lsusb -t
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 004: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 004: Dev 003, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M

Si un périphérique USB 3.0 n'affiche que 480M, vérifiez les points suivants :

  • Si le périphérique prend en charge l'USB 3.x

  • Si le câble prend en charge le SuperSpeed

  • Si le périphérique est connecté à une interface USB 3.0 Type-A

  • Si le hub USB ou l'adaptateur prend en charge l'USB 3.x

Consulter les journaux de connexion des périphériques

Avant d'insérer le périphérique USB, exécutez :

Plain
sudo dmesg --follow

Connectez ensuite le périphérique pour afficher en temps réel la reconnaissance du matériel, le chargement des pilotes et les messages d'erreur. Appuyez sur Ctrl+C pour quitter.

Vous pouvez également consulter les derniers journaux USB :

Plain
dmesg | grep -i usb

Utiliser des périphériques de stockage USB

Après l'insertion d'une clé USB ou d'un disque dur externe, vérifiez le nœud de périphérique :

Plain
lsblk

Armbian Desktop monte généralement les périphériques de stockage automatiquement. Vous pouvez également les monter manuellement :

Plain
sudo mkdir -p /mnt/usb
sudo mount /dev/sda1 /mnt/usb

Après utilisation, démontez d'abord le périphérique :

Plain
sudo umount /mnt/usb

/dev/sda1 est un exemple. Vérifiez le vrai nœud de périphérique avec lsblk pour éviter d'agir sur le mauvais disque.

OTG USB-C

L'interface USB-C peut assumer différents rôles selon le contexte :

  • Mode périphérique : Connexion au PC pour la flash du système et la communication Rockchip Loader/MaskROM.

  • Mode hôte : Connexion de périphériques USB via un adaptateur USB-C adapté.

  • DP Alt Mode : Connexion d'afficheurs compatibles DisplayPort Alt Mode.

Pour la flash du système, utilisez un câble USB-C compatible transfert de données. Les câbles uniquement destinés à la charge ne permettent pas de reconnaître le périphérique.

Pour les périphériques USB gourmands en énergie (disques durs externes, accélérateurs IA), il est recommandé d'utiliser un Hub USB alimenté indépendamment afin d'éviter les déconnexions ou l'instabilité du système dues à une alimentation insuffisante.

Les interfaces embarquées comprennent un port USB 3.0 Type-A et deux ports Type-A étendus via un Hub USB 2.0 ; l'USB-C est configuré comme interface OTG à double rôle dans l'arbre de périphériques Armbian.

Guide de l'interface RTC

La carte IO reComputer RK3576 intègre un module RTC, qui maintient la date et l'heure même après perte de connexion réseau ou d'alimentation.

Le RTC est connecté via I²C, avec une adresse par défaut de :

Plain
0x51

La carte porteuse dispose d'un emplacement pour pile CR2032. Après installation de la pile, le RTC continue de compter le temps même si l'alimentation DC, PoE et USB-C sont coupées.

55.png

Utilisez une pile bouton CR2032 non rechargeable de 3V et vérifiez que la polarité est correcte.

Vérifier le périphérique RTC

Exécutez la commande suivante pour confirmer que le RTC est reconnu par le système :

Plain
ls /dev/rtc*

Vérifiez le nom du pilote RTC :

Plain
for rtc in /sys/class/rtc/rtc*; do
    echo "$rtc: $(cat "$rtc/name")"
done

En conditions normales, vous verrez apparaître le périphérique RTC correspondant au PCF8563.

Consultez les journaux de reconnaissance du noyau :

Plain
dmesg | grep -i rtc

Consulter l'heure système et l'heure RTC

Vérifiez l'heure système :

Plain
timedatectl

Vérifiez l'heure de l'RTC :

Plain
sudo hwclock --show

Si le système indique que hwclock est introuvable, installez les outils associés :

Plain
sudo apt update
sudo apt install -y util-linux-extra

Écrire l'heure système dans l'RTC

Une fois l'appareil connecté au réseau, activez d'abord la synchronisation horaire réseau :

Plain
sudo timedatectl set-ntp true

Confirmez que l'heure système est correcte :

Plain
timedatectl

Écrivez ensuite l'heure système dans l'RTC :

Plain
sudo hwclock --systohc --utc

Il est recommandé d'utiliser l'heure UTC pour l'RTC afin d'éviter les décalages dus aux changements de fuseau horaire ou à l'heure d'été :

Plain
sudo timedatectl set-local-rtc 0

Restaurer l'heure système depuis l'RTC

Lorsque l'appareil n'a pas accès au réseau, vous pouvez synchroniser l'heure de l'RTC avec le système :

Plain
sudo hwclock --hctosys

Vérifiez après la synchronisation :

Plain
date

Définir l'heure manuellement

Si l'appareil ne peut pas accéder temporairement au réseau, définissez d'abord l'heure système manuellement :

Plain
sudo timedatectl set-time "2026-09-10 14:00:00"

Puis écrivez-la dans l'RTC :

Plain
sudo hwclock --systohc --utc

Vérifier la conservation de l'heure lors de la mise hors tension

  1. Assurez-vous que la pile CR2032 est correctement installée.

  2. Écrivez l'heure système actuelle dans l'RTC :

Plain
sudo hwclock --systohc --utc
sudo hwclock --show
  1. Éteignez normalement l'appareil :
Plain
sudo poweroff
  1. Déconnectez toutes les sources d'alimentation externes telles que DC, PoE et USB-C.

  2. Attendez un moment, puis rebranchez l'alimentation.

  3. Vérifiez à nouveau l'heure de l'RTC :

Plain
sudo hwclock --show

Si l'heure continue de s'écouler normalement, l'alimentation de secours de l'RTC fonctionne correctement.

L'RTC ne stocke que les informations temporelles et ne peut pas alimenter le système une fois l'alimentation principale coupée. Si aucune pile n'est installée ou si elle est faible, l'heure de l'RTC peut être perdue après une extinction complète de l'appareil.

Les interfaces du PCF8563 et de la pile CR2032 sont détaillées dans le schéma de la carte IO RK3576 ; le PCF8563 étant activé par défaut dans l'arbre de périphériques Armbian, aucune configuration supplémentaire via overlay n'est généralement nécessaire.

Audio

La carte IO reComputer RK3576 intègre le codec audio ES8311 et propose une interface audio 3.5 mm compatible avec :

  • Sortie audio stéréo

  • Entrée microphone analogique

  • Détection de la prise casque

  • Sortie audio numérique via HDMI et USB-C DisplayPort

Avec un casque standard à 3 segments, seule la sortie audio est prise en charge ; pour l'enregistrement, utilisez un casque-micro à 4 segments.

56.png

Vérification des périphériques audio

Installez les outils audio ALSA :

Plain
sudo apt update
sudo apt install -y alsa-utils

Listez toutes les cartes son :

Plain
cat /proc/asound/cards

Vérifiez séparément les périphériques de lecture et d'enregistrement :

Plain
aplay -l
arecord -l

En conditions normales, vous devriez voir des périphériques tels que :

Plain
rockchip-es8311
rockchip-hdmi0
rockchip-dp0

Note :

Le numéro de la carte son ALSA peut varier selon les périphériques USB, HDMI ou autres connectés. Confirmez le numéro réel via aplay -l et arecord -l.

Test de lecture audio

L'exemple suivant suppose que ES8311 correspond à card 0, device 0. Si les numéros de périphérique diffèrent, remplacez 0,0 par les numéros corrects de carte et de périphérique.

Utilisez le ton de test pour lire les canaux gauche et droit :

Plain
speaker-test -D plughw:0,0 -c 2 -t wav

Appuyez sur Ctrl+C pour arrêter le test.

Lisez un fichier WAV :

Plain
aplay -D plughw:0,0 test.wav

Pour lire un fichier MP3 :

Plain
sudo apt install -y mpg123
mpg123 -a hw:0,0 test.mp3

Test d'enregistrement du microphone

Connectez un casque-micro 3.5 mm, puis enregistrez un extrait audio de 5 secondes :

Plain
arecord -D plughw:0,0 \
    -d 5 \
    -f S16_LE \
    -r 48000 \
    -c 2 \
    recording.wav

Relisez l'enregistrement :

Plain
aplay -D plughw:0,0 recording.wav

Vous pouvez également effectuer un test d'enregistrement et de lecture en temps réel :

Plain
arecord -D plughw:0,0 -f cd |
    aplay -D plughw:0,0 -f cd

Il est recommandé d'utiliser un casque lors du test pour éviter les sifflements entre le haut-parleur et le microphone.

Ajustement du volume

Exécutez ALSA Mixer :

Plain
alsamixer

Dans l'interface :

  1. Appuyez sur F6 pour sélectionner rockchip-es8311.

  2. Utilisez les flèches gauche et droite pour sélectionner l'élément de contrôle audio.

  3. Utilisez les flèches haut et bas pour ajuster le volume.

  4. Appuyez sur M pour activer/désactiver la mise en sourdine.

  5. Appuyez sur Esc pour quitter.

Assurez-vous que les canaux de sortie ou d'entrée suivants ne sont pas mis en sourdine :

Plain
Headphone
DAC
ADC
MIC PGA

Enregistrez les paramètres actuels :

Plain
sudo alsactl store

Restaurez les paramètres enregistrés :

Plain
sudo alsactl restore

Sélection du périphérique audio par défaut du système

Dans l'environnement de bureau Armbian, vous pouvez sélectionner le périphérique audio 3,5 mm, HDMI ou DisplayPort via l'icône de volume.

Affichez les périphériques audio PipeWire/PulseAudio dans le terminal :

Plain
pactl list short sinks
pactl list short sources

Définissez le périphérique de sortie par défaut :

Plain
pactl set-default-sink <sink_name>

Définissez le périphérique d'entrée par défaut :

Plain
pactl set-default-source <source_name>

Remplacez <sink_name> et <source_name> par les noms réels affichés par la commande précédente.

Problèmes courants

Aucun son sur le casque 3,5 mm

Vérifiez d'abord que le système a sélectionné ES8311, et non HDMI ou DisplayPort :

Plain
aplay -l
pactl list short sinks

Puis vérifiez l'état de coupure du son (mute) dans le Mixer :

Plain
alsamixer

Si aucun son n'est émis au démarrage avec une ancienne image de test, consultez le script de configuration de lecture ES8311 dans le projet.

Aucune entrée lors de l'enregistrement du microphone

Assurez-vous d'utiliser un casque à 4 segments avec microphone, et vérifiez le périphérique d'enregistrement :

Plain
arecord -l

Accédez au Mixer et vérifiez ADC, MIC PGA ainsi que les canaux d'entrée :

Plain
alsamixer

Si une ancienne image de test enregistre des données vides, consultez le script de configuration d'enregistrement ES8311.

Claquements ou bruit parasite

  • Vérifiez que la prise du casque est bien enfoncée.

  • Évitez les câbles adaptateurs de mauvaise qualité ou mal connectés.

  • Réduisez le niveau de sortie du casque et le gain du microphone.

  • Lors de l'enregistrement, évitez de placer le microphone trop près du casque.

  • Utilisez le périphérique plughw pour qu'ALSA effectue automatiquement la conversion du taux d'échantillonnage et du format.