reComputer RK3588 – Hardwareschnittstellen

Zuletzt aktualisiert:

Diese Anleitung beschreibt, wie Sie die Hardwareschnittstellen des reComputer RK3588 unter Armbian prüfen und verwenden. Über die Abschnittslinks springen Sie direkt zur gewünschten Schnittstelle.

Bevor Sie beginnen

  • Schließen Sie die Erststart-Einrichtung ab und melden Sie sich lokal oder per SSH mit einem Benutzer an, der sudo ausführen kann.
  • Verwenden Sie die Anschluss- und Platinenübersicht, um den richtigen Anschluss zu identifizieren, bevor Sie ein Peripheriegerät verbinden.
  • Schalten Sie das Gerät aus und trennen Sie die Stromversorgung, bevor Sie interne Karten, Flachbandkabel oder GPIO-Verdrahtung anbringen.
  • Die unten angegebenen Geräteknoten, Bus-Nummern und hwmon-Indizes beziehen sich auf das Referenz-Image. Vergewissern Sie sich über die tatsächlich vorhandenen Geräte auf Ihrem System, bevor Sie einen Befehl kopieren, der eine Einstellung ändert.

Lüfter

Der reComputer RK3588 stellt Lüfterdrehzahl und PWM-Einstellungen über das Linux-Subsystem hwmon bereit. Im geprüften Armbian-Image heißt der Lüfter pwmfan und erscheint unter hwmon8. Der Herstellerkernel regelt den PWM-Wert außerdem anhand der Temperaturschwellen im Gerätebaum.

Pfade der Hardwareüberwachung

SchnittstellePfadBeschreibung
Lüftername/sys/class/hwmon/hwmon8/namepwmfan
Lüfterdrehzahl/sys/class/hwmon/hwmon8/fan1_inputAktuelle U/min
PWM-Wert/sys/class/hwmon/hwmon8/pwm1Angeforderter PWM-Wert, 0–255
PWM-Aktivierungsrichtlinie/sys/class/hwmon/hwmon8/pwm1_enablePWM-/Versorgungsrichtlinie; beobachteter Wert: 1

Der hwmon-Index kann sich mit Image oder Treiberkonfiguration ändern. Prüfen Sie den Namen vor Verwendung dieser Pfade:

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

Beim getesteten Gerät liefert /sys/class/hwmon/hwmon8/name den Wert pwmfan.

Temperaturzonen

ZoneGemeldeter TypTemperaturpfad
SoCsoc-thermal/sys/class/thermal/thermal_zone0/temp
Großer Kern 0bigcore0-thermal/sys/class/thermal/thermal_zone1/temp
Großer Kern 1bigcore1-thermal/sys/class/thermal/thermal_zone2/temp
Kleiner Kernlittlecore-thermal/sys/class/thermal/thermal_zone3/temp
Zentrumcenter-thermal/sys/class/thermal/thermal_zone4/temp
GPUgpu-thermal/sys/class/thermal/thermal_zone5/temp
NPUnpu-thermal/sys/class/thermal/thermal_zone6/temp

Temperaturen werden in Milligrad Celsius angegeben. Teilen Sie durch 1000, um °C zu erhalten. Dieses Image besitzt sieben Temperaturzonen. Verwenden Sie die gemeldeten Namen statt der Zonennummern des RK3576.

Drehzahl und Temperatur auslesen

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

Nach Wiederherstellung der Einstellungen wurden etwa 2280 U/min, PWM 25 und Aktivierungsrichtlinie 1 abgelesen. Dies sind Beobachtungen und keine festen Werte für alle Geräte.

Alle Temperaturzonen auslesen:

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

Die beobachtete SoC-Temperatur betrug ungefähr 37°C.

Kurzer PWM-Schreibtest

Einmalige Schreibzugriffe mit 64, 128 und 255 wurden getestet. Jeder angeforderte Wert ließ sich unmittelbar auslesen, die Herstellerregelung stellte den PWM-Wert bei der beobachteten Temperatur jedoch innerhalb etwa einer Sekunde auf 25 zurück.

Angeforderter PWM-WertSofortiger Messwert im TestMesswert nach etwa einer Sekunde
646425
12812825
25525525

Für einen kurzen Test speichern Sie den aktuellen Wert, fordern 128 an, lesen den Wert und stellen den gespeicherten Wert wieder her:

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"

Zeigt bereits die erste Abfrage den temperaturgeregelten Wert, kann der Kernel die Anforderung vor dem Auslesen überschrieben haben. Ein erfolgreicher Schreibzugriff belegt keine dauerhafte manuelle Regelung. Die Testwerte belegen auch keine festen Drehzahlen von 25 %, 50 % oder voller Geschwindigkeit.

Temperaturregelung des Herstellers

Der geprüfte Gerätebaum enthält folgende Konfiguration für cooling-levels und rockchip,temp-trips:

Temperaturbereich (°C)KühlstufePWM-Wert
<38025
38–<44145
44–<50260
50–<56375
56–<624100
62–<685130
68–<746170
74–<807210
≥808255

Aktive Gerätebaumkonfiguration prüfen:

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

In diesem Image deaktiviert pwm1_enable=1 die Herstellerregelung nicht. Das Attribut ist kein allgemeiner Schalter nach dem Muster 1=manual, 2=automatic. Die PWM-/Versorgungsrichtlinie beschreibt die Linux-pwm-fan-Dokumentation; der Rockchip-Temperaturcallback steht im Herstellertreiber.

Nach dem Test blieb die Temperaturregelung aktiv. Ein separates Regelskript oder ein systemd-Dienst wurde nicht installiert. Die Übernahme der Herstellerregelung und ein eigener Dienst wurden an diesem Gerät noch nicht geprüft.

Kurzreferenz

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

Geprüfte Umgebung

EintragWert
GerätreComputer RK3588
BetriebssystemArmbian 26.8.7 / Ubuntu 26.04 (resolute), ARM64
Kernel6.1.172-vendor-seeed-rk3588
Lüfterüberwachung/sys/class/hwmon/hwmon8 (pwmfan)
PWM nach Wiederherstellung25
Aktivierungsrichtlinie nach Wiederherstellung1
Beobachtete Drehzahl nach WiederherstellungEtwa 2280 U/min
Beobachtete SoC-TemperaturEtwa 37°C

LED-Anzeigestatus

Das Gerät verfügt über die Anzeigen Power, Status und User. Die User-Anzeige ist eine RGB-LED.

Power-, Status- und User-Anzeigen

LED-Verhalten und Steuerung

AnzeigeStandardverhaltenSteuerung
Power (rot)Leuchtet bei angeschlossener StromversorgungHardware-Stromversorgungsschaltung
Status (grün)Durch die Stromstatusschaltung der Platine gesteuertKein entsprechender LED-Klassen-Steuerknoten im aktuellen System
User (RGB)Blauer Heartbeat; Rot und Grün ausAlle drei Farbkanäle über die Linux-LED-Klasse steuerbar

LEDs identifizieren

Das aktuelle RK3588-Image stellt folgende Knoten bereit. Alle drei Kanäle besitzen den Wert max_brightness für 1:

FarbeKnotenStandardtrigger
Rot/sys/class/leds/user-led_rednone
Grün/sys/class/leds/user-led_greennone
Blau/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

Eckige Klammern in der Ausgabe von trigger markieren den aktiven Trigger, beispielsweise [heartbeat].

Manuelle Steuerung (ein / aus)

Setzen Sie den Trigger vor dem Schreiben auf none auf brightness. 1 schaltet ein, 0 schaltet aus:

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"

Für Rot oder Grün ersetzen Sie user-led_blue am Pfadende durch user-led_red beziehungsweise user-led_green. Der LED-Treiber verwaltet alle drei Kanäle; gpioset ist nicht erforderlich.

Automatische Trigger

Blauen Kanal abwechselnd 500 ms einschalten und 500 ms ausschalten:

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"

Blauen Heartbeat-Trigger wiederherstellen:

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

Standardzustand wiederherstellen

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

Diese Einstellungen betreffen das laufende System und ändern dessen Startkonfiguration nicht. Helligkeit und Trigger beschreibt die Linux-LED-Dokumentation.

Tasten

Die Hauptplatine besitzt die Tasten Power, Recovery und MaskROM. Verbinden Sie für Firmwarearbeiten ein USB-Datenkabel mit dem Type-C-OTG-Port und folgen Sie der Flash-Anleitung des gewählten RK3588-Images. Recovery und MaskROM sind Flash-Modi und keine normalen Desktop-Startschritte.

GPIO und Peripheriebusse

40-polige GPIO-Pinbelegung des reComputer RK3588

Controller und Leitungsnamen des aktuellen Gerätebaums prüfen:

bash
gpiodetect
gpioinfo

Fehlen diese Werkzeuge, installieren Sie das Distributionspaket:

bash
sudo apt update
sudo apt install gpiod

Ordnen Sie mit dem RK3588-Schaltplan die physischen Pins den Signalen zu und suchen Sie Controller und Leitung in gpioinfo. Prüfen Sie vor dem Setzen eines Ausgangs mit gpioset --help die Syntax der installierten libgpiod-Version.

Installierte RK3588-Overlays und aktuelle Startkonfiguration auflisten:

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

Wählen Sie für I2C, UART, SPI oder CAN ein Overlay für die Platine und das angeschlossene Gerät. Erhalten Sie beim Bearbeiten von /boot/armbianEnv.txt bestehende Overlays. Parameter und Pinbelegung stehen in der Dokumentation des installierten Overlays.

USB

Die Seeed-Studio-Spezifikationen nennen folgende USB-Schnittstellen für den reComputer RK3588:

Schnittstelle / AnzahlPhysischer AnschlussBusprotokoll und FunktionenVerwendung
USB-3.0-Host ×4USB Type-AUSB 3.0, nominelle Signalisierungsrate von 5 GbpsUSB-Kameras, externe Speicher, Tastaturen, Mäuse und weitere Peripherie anschließen.
USB Type-C ×1USB Type-COTG + DisplayPortOTG-Geräteverbindung und DisplayPort-Ausgabe mit geeignetem Kabel oder Adapter.

5 Gbps ist die nominelle USB-3.0-Signalisierungsrate, keine gemessene Dateiübertragungsrate. Daraus folgt keine unabhängige Controllerbandbreite von 5 Gbps für jeden der vier Type-A-Ports.

Angeschlossene USB-Geräte und ihre Topologie auflisten:

bash
lsusb
lsusb -t

USB-Geräte und Topologie des reComputer RK3588

Prüfen Sie mit lsusb -t die ausgehandelte Geschwindigkeit. Beachten Sie für USB-Kameras oder Beschleuniger auch die jeweiligen Treiber- und Anwendungshinweise.

microSD- und NVMe-Speicher

Das Gerät besitzt einen microSD-Steckplatz und PCIe-Erweiterung für NVMe-SSDs. Identifizieren Sie Speicher vor Verwendung anhand von Modell, Kapazität und Einhängepunkt:

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

Speichergeräte des reComputer RK3588

PCIe-Verbindung und Treiber einer NVMe-SSD prüfen:

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

Ein erkanntes Laufwerk belegt keine Boot-Unterstützung. Verwenden Sie die Installationsanleitung des gewählten Images.

M.2-Erweiterungsschnittstellen

Der reComputer RK3588 besitzt zwei M.2-Key-M-Schnittstellen für NVMe-Speicher oder kompatible PCIe-KI-Beschleuniger.

ModulgrößePCIe-Spezifikation
2242 (22 × 42 mm)PCIe 2.1 ×1
2280 (22 × 80 mm)PCIe 3.0 ×4

×1 und ×4 stehen für eine beziehungsweise vier Lanes. PCIe 2.1 ×1 entspricht der offiziellen Produktangabe für die 2242-Schnittstelle. Prüfen Sie Modul-Key, Länge und Befestigung beim Auswählen des Steckplatzes. Die ausgehandelte Geschwindigkeit und Breite zeigt LnkSta weiter unten. Siehe die Seeed-Studio-Produktdetails.

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

Position der M.2-Key-M-2242-Schnittstelle

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

Position der M.2-Key-M-2280-Schnittstelle

Modul installieren

  1. Fahren Sie das System herunter und trennen Sie DC- oder PoE-Stromversorgung vor dem Öffnen des Gehäuses.
  2. Prüfen Sie, ob Modul-Key, Länge und Befestigung zum Steckplatz passen. Setzen Sie das Modul ein und sichern Sie es mit einer Schraube.
  3. Prüfen Sie Kühlung und Anschlüsse, schließen Sie die Stromversorgung an und starten Sie das System.

Wählen Sie für Speicher eine NVMe-SSD. Ein KI-Beschleuniger benötigt außerdem Treiber und Laufzeitumgebung passend zu RK3588-Betriebssystem und Kernel. Die Kapazität lässt sich mit dem vorherigen Befehl lsblk prüfen.

PCIe-Geräte und Treiber identifizieren

bash
lspci -nnk

Suchen Sie den SSD- oder Beschleunigereintrag und prüfen Sie Geräteadresse, Modell und Kernel driver in use.

Ausgehandelte Geschwindigkeit und Breite prüfen

Geben Sie bei der Abfrage die PCIe-Geräteadresse aus der vorherigen Ausgabe ein:

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

LnkCap zeigt die Verbindungsfähigkeiten, LnkSta die aktuell ausgehandelte Geschwindigkeit und Breite. Für einen NVMe-Systemstart richten Sie die Boot-Umgebung nach der Installationsanleitung des Armbian-Images ein.

SIM und miniPCIe-Erweiterung

Der nano-SIM-Steckplatz wird mit einem kompatiblen Mobilfunkmodul verwendet. Trennen Sie die Stromversorgung vor Einsetzen der SIM oder interner Module. miniPCIe unterstützt optionale 4G-LTE-, LoRaWAN- und Wi-Fi-HaLow-Module. Wählen Sie passende Antennen und Software.

4G-LTE-miniPCIe-Modul und SIM-Steckplatz des reComputer RK3588

Nach Moduleinbau und Systemstart PCIe-, USB- und Netzwerkgeräte prüfen:

bash
lspci -nn
lsusb
ip -br link

4G-Modul (EC25) abfragen

Bei einem USB-Mobilfunkmodul wie EC25 zuerst serielle Geräte und Treibermeldungen identifizieren:

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

Serielle Geräte und Treibererkennung des RK3588-4G-Moduls

Bestimmen Sie den AT-Port anhand der Moduldokumentation und installieren und öffnen Sie dann minicom. /dev/ttyUSB2 in der Abfrage ist nur ein Beispiel. Geben Sie den tatsächlichen AT-Port des Geräts ein:

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

Senden Sie die folgenden Befehle einzeln in minicom, nicht in der Linux-Shell. Beginnen Sie mit AT und fahren Sie nach der Antwort OK fort:

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

ATI liest Modulinformationen, AT+CPIN? den SIM-Status und AT+CSQ die Signalqualität. AT+CREG?, AT+CGREG? und AT+CEREG? prüfen die Netzregistrierung; AT+COPS? liest den aktuellen Anbieter. Mit Ctrl+A, dann X, verlassen Sie minicom. Siehe das Quectel-EC25-/EC21-AT-Handbuch.

Für Datenverbindungen muss das Hostnetzwerk außerdem zum Anbieter-APN und USB-Datenmodus des Moduls passen. Eine bereite SIM oder ein registriertes Modul belegt noch keinen Internetzugang des RK3588.

LoRaWAN- und Wi-Fi-HaLow-Schnittstellen erkennen

Für das installierte USB- oder SPI-Modul Geräteknoten, vorhandene Overlays und Treibermeldungen prüfen:

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

USB- und SPI-Module verwenden unterschiedliche Transportwege. Wählen Sie LoRaWAN-Testparameter, SPI-/GPIO-Reset-Einstellungen und HaLow-Overlays anhand des RK3588-Images und der Moduldokumentation statt RK3576-Overlay-Namen zu übernehmen. Für Gateway-Senden/-Empfangen und HaLow-AP-/Stationsbetrieb gilt die jeweilige Modulanleitung.

Ethernet RJ45

Der reComputer RK3588 besitzt zwei RJ45-2.5GbE-Ethernet-Ports. Sie können ein übergeordnetes Netzwerk und lokale Geräte für Edge-Gateways, Datenerfassung oder Anwendungen mit zwei Netzwerkanschlüssen verbinden.

Ein Port kann das Gerät über ein zusätzliches PoE-Modul versorgen. Installieren Sie das passende Modul und prüfen Sie die Versorgungsanforderungen von Switch oder speisendem Gerät vor Verwendung.

Netzwerkschnittstellen und IP-Adressen identifizieren

Schließen Sie das Ethernet-Kabel an und listen Sie Schnittstellennamen und Adressen des Systems auf:

bash
ip -br link
ip -br addr

Verwenden Sie die gemeldeten Namen statt eth0 oder eth1 anzunehmen. Ordnen Sie die physischen Ports zu, indem Sie die Kabel einzeln verbinden oder trennen und die zugehörige Link-Statusänderung beobachten.

Ausgehandelte Geschwindigkeit und Linkstatus prüfen

Installieren Sie ethtool und geben Sie bei der Abfrage den zuvor ermittelten Namen der kabelgebundenen Schnittstelle ein:

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

Prüfen Sie Speed, Duplex und Link detected. Link detected: yes kennzeichnet eine physische Verbindung, Speed: 2500Mb/s eine ausgehandelte 2.5GbE-Verbindung. Port, Gegenstelle und Kabel bestimmen die tatsächliche Linkrate.

Netzwerkverbindungen konfigurieren

Bei Images mit NetworkManager Verbindungen prüfen und die Textoberfläche für DHCP oder eine statische IP öffnen:

bash
nmcli device status
nmtui

Wählen Sie in nmtui die kabelgebundene Verbindung, konfigurieren Sie IP-Adresse, Gateway und DNS und aktivieren Sie sie nach Netzwerkplan. Konfigurieren Sie bei Verwendung beider Ports beide Verbindungen getrennt.

Wi-Fi und Bluetooth

Das Gerät integriert Wi-Fi 6 und Bluetooth 5.4. Funksperren und Bluetooth-Controller prüfen:

bash
rfkill list
bluetoothctl list

HDMI und DisplayPort

Das Gerät stellt zwei HDMI-2.1-Ausgänge, einen HDMI-2.0-Eingang und DisplayPort über Type-C bereit. Schließen Sie Monitore an die Ausgänge an. HDMI-Eingang dient zur Aufnahme einer externen Videoquelle.

Verbindungsstatus der Display-Anschlüsse prüfen:

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

Display-Anschlussstatus des reComputer RK3588

Bei Aufnahmegeräten wie HDMI-Eingang oder unterstützten Kameras Videogeräte mit V4L2 auflisten:

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

HDMI-Eingangserkennung des reComputer RK3588

Verwenden Sie für die Aufnahme den gemeldeten Videoknoten und unterstützte Formate. Mehrere Bildschirme konfigurieren Sie in den Desktop-Anzeigeeinstellungen.

RTC

Die Hauptplatine besitzt einen 2-poligen RTC-Anschluss. Prüfen Sie im Schaltplan Polarität und Batterieanforderungen vor dem Anschluss. Die von Linux bereitgestellten RTC-Geräte prüfen:

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

Hardwaredokumente und System-Images finden Sie in der Downloadübersicht.