reComputer RK3588 Hardware-interfaces

Laatst bijgewerkt:

Deze gids legt uit hoe je de hardware-interfaces van de reComputer RK3588 met Armbian inspecteert en gebruikt. Gebruik de sectiekoppelingen om naar de gewenste randapparatuur te springen.

Voordat je begint

  • Voltooi de configuratie bij eerste start en meld je lokaal of via SSH aan met een gebruiker die sudo kan uitvoeren.
  • Gebruik de poort- en moederborddiagrammen om de connector te identificeren voordat je randapparatuur aansluit.
  • Schakel het apparaat uit en koppel de stroom los voordat je interne kaarten, lintkabels of GPIO-bedrading plaatst.
  • Apparaatknooppunten, busnummers en hwmon-indices hieronder beschrijven de referentie-image. Controleer de werkelijke apparaten op je systeem voordat je een commando kopieert dat een instelling wijzigt.

Ventilator

De reComputer RK3588 stelt ventilatortoerental en PWM-instellingen beschikbaar via het Linux-subsysteem hwmon. In het gecontroleerde Armbian-image heet de ventilator pwmfan en staat deze onder hwmon8. De fabrikantkernel regelt PWM ook op basis van temperatuurdrempels uit de device tree.

Paden voor hardwarebewaking

InterfacePadBeschrijving
Ventilatornaam/sys/class/hwmon/hwmon8/namepwmfan
Ventilatortoerental/sys/class/hwmon/hwmon8/fan1_inputHuidige RPM
PWM-waarde/sys/class/hwmon/hwmon8/pwm1Aangevraagde PWM-waarde, 0–255
PWM-activeringsbeleid/sys/class/hwmon/hwmon8/pwm1_enablePWM-/voedingsbeleid; waargenomen waarde: 1

De hwmon-index kan veranderen met het image of de driverconfiguratie. Controleer de naam voordat u deze paden gebruikt:

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

Op het geteste apparaat geeft /sys/class/hwmon/hwmon8/name de waarde pwmfan terug.

Thermische zones

ZoneGerapporteerd typeTemperatuurpad
SoCsoc-thermal/sys/class/thermal/thermal_zone0/temp
Grote kern 0bigcore0-thermal/sys/class/thermal/thermal_zone1/temp
Grote kern 1bigcore1-thermal/sys/class/thermal/thermal_zone2/temp
Kleine kernlittlecore-thermal/sys/class/thermal/thermal_zone3/temp
Centrumcenter-thermal/sys/class/thermal/thermal_zone4/temp
GPUgpu-thermal/sys/class/thermal/thermal_zone5/temp
NPUnpu-thermal/sys/class/thermal/thermal_zone6/temp

Temperaturen worden in milligraden Celsius weergegeven. Deel door 1000 voor °C. Dit image heeft zeven thermische zones; gebruik hun gerapporteerde namen in plaats van RK3576-zonenummers over te nemen.

Toerental en temperatuur uitlezen

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

Na het herstellen van de instellingen waren de metingen ongeveer 2280 RPM, PWM 25 en activeringsbeleid 1. Dit zijn waarnemingen, geen vaste waarden voor elk apparaat.

Alle temperatuurzones uitlezen:

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

De waargenomen SoC-temperatuur was ongeveer 37°C.

Korte PWM-schrijftest

Eenmalige schrijfacties met 64, 128 en 255 zijn getest. Elke aangevraagde waarde kon direct worden teruggelezen, maar de temperatuurregeling van de fabrikant herstelde PWM bij de waargenomen temperatuur binnen ongeveer één seconde naar 25.

Aangevraagde PWMDirecte uitlezing tijdens de testUitlezing na ongeveer één seconde
646425
12812825
25525525

Sla voor een korte controle de huidige waarde op, vraag 128 aan, lees deze terug en herstel de opgeslagen waarde:

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"

Geeft de eerste uitlezing al de temperatuurgestuurde waarde, dan kan de kernel de aanvraag vóór het uitlezen hebben overschreven. Succesvol schrijven bewijst geen blijvende handmatige regeling. Deze testwaarden bewijzen ook geen vaste toerentallen van 25%, 50% of volle snelheid.

Temperatuurregeling van de fabrikant

De geteste device tree bevat de volgende configuratie voor cooling-levels en rockchip,temp-trips:

Temperatuurbereik (°C)KoelniveauPWM-waarde
<38025
38–<44145
44–<50260
50–<56375
56–<624100
62–<685130
68–<746170
74–<807210
≥808255

De actieve device-treeconfiguratie bekijken:

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 dit image schakelt pwm1_enable=1 de temperatuurregeling van de fabrikant niet uit. Behandel dit attribuut niet als een universele schakelaar 1=manual, 2=automatic. Het PWM-/voedingsbeleid staat in de Linux pwm-fan-documentatie; de Rockchip-temperatuurcallback staat in de fabrikantdriver.

Na de test bleef de temperatuurregeling actief. Er is geen afzonderlijk temperatuurregelscript of systemd-service geïnstalleerd. Het overnemen van de fabrikantregeling en het draaien van een eigen service zijn voor dit apparaat nog niet geverifieerd.

Snelreferentie

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

Geverifieerde omgeving

OnderdeelWaarde
ApparaatreComputer RK3588
BesturingssysteemArmbian 26.8.7 / Ubuntu 26.04 (resolute), ARM64
Kernel6.1.172-vendor-seeed-rk3588
Ventilatorbewaking/sys/class/hwmon/hwmon8 (pwmfan)
PWM na herstel25
Activeringsbeleid na herstel1
Waargenomen toerental na herstelOngeveer 2280 RPM
Waargenomen SoC-temperatuurOngeveer 37°C

Status van led-indicatoren

Het apparaat heeft Power-, Status- en User-indicatoren. De User-indicator is een RGB-led.

Power-, Status- en User-indicatoren

Led-gedrag en bediening

IndicatorStandaardgedragBediening
Power (rood)Brandt wanneer de voeding is aangeslotenHardwarevoedingscircuit
Status (groen)Aangestuurd door het voedingsstatuscircuit op het bordHet huidige systeem biedt geen bijbehorende led-klassenode
User (RGB)Blauwe heartbeat; rood en groen uitAlle drie de kleurkanalen via de Linux-led-klasse bedienbaar

Leds identificeren

Het huidige RK3588-image biedt de volgende nodes. Alle drie de kanalen hebben max_brightness ingesteld op 1:

KleurNodeStandaardtrigger
Rood/sys/class/leds/user-led_rednone
Groen/sys/class/leds/user-led_greennone
Blauw/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

Vierkante haken in de uitvoer van trigger markeren de actieve trigger, bijvoorbeeld [heartbeat].

Handmatige bediening (aan / uit)

Stel de trigger in op none voordat u naar brightness schrijft. Gebruik 1 voor aan en 0 voor uit:

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"

Vervang voor rood of groen user-led_blue aan het einde van het pad door user-led_red of user-led_green. De led-driver beheert alle drie de kanalen; gpioset is niet nodig.

Automatische triggers

Het blauwe kanaal afwisselend 500 ms aan en 500 ms uit zetten:

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"

De blauwe heartbeat-trigger herstellen:

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

Standaardstatus herstellen

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

Deze instellingen gelden voor het actieve systeem en wijzigen de opstartconfiguratie niet. Zie de Linux-led-documentatie voor helderheid en triggers.

Knoppen

Het moederbord heeft Power-, Recovery- en MaskROM-knoppen. Verbind voor firmwarebewerkingen een USB-datakabel met de Type-C-OTG-poort en volg de flashinstructies van het gekozen RK3588-image. Recovery en MaskROM zijn flashmodi, geen normale stappen om het bureaublad te starten.

GPIO en perifere bussen

GPIO-pintoewijzing van 40 pinnen op reComputer RK3588

Controllers en lijnnamen van de huidige device tree controleren:

bash
gpiodetect
gpioinfo

Installeer het distributiepakket als deze hulpmiddelen ontbreken:

bash
sudo apt update
sudo apt install gpiod

Koppel fysieke pinnen aan signalen met het RK3588-schema en zoek daarna de bijbehorende controller en lijn in gpioinfo. Controleer met gpioset --help de syntaxis van de geïnstalleerde libgpiod-versie voordat u een uitgang instelt.

Geïnstalleerde RK3588-overlays en de huidige opstartconfiguratie weergeven:

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

Kies voor I2C, UART, SPI of CAN een overlay voor het bord en het aangesloten apparaat. Behoud bestaande overlays bij het bewerken van /boot/armbianEnv.txt; de documentatie van de geïnstalleerde overlay beschrijft parameters en pintoewijzingen.

USB

De Seeed Studio-specificaties vermelden de volgende USB-interfaces voor reComputer RK3588:

Interface / aantalFysieke aansluitingBusprotocol en functiesToepassing
USB 3.0-host ×4USB Type-AUSB 3.0, nominale signaleringssnelheid van 5 GbpsUSB-camera’s, externe opslag, toetsenborden, muizen en andere randapparatuur aansluiten.
USB Type-C ×1USB Type-COTG + DisplayPortOTG-apparaatverbindingen en DisplayPort-uitvoer met een geschikte kabel of adapter.

5 Gbps is de nominale USB 3.0-signaleringssnelheid, geen gemeten bestandsoverdrachtsnelheid. Dit bewijst geen onafhankelijke controllerbandbreedte van 5 Gbps voor elk van de vier Type-A-poorten.

Aangesloten USB-apparaten en hun topologie weergeven:

bash
lsusb
lsusb -t

USB-apparaten en topologie van reComputer RK3588

Gebruik lsusb -t om de onderhandelde verbindingssnelheid te bekijken. Volg voor een USB-camera of versneller ook de driver- en toepassingsinstructies van het apparaat.

microSD- en NVMe-opslag

Het apparaat heeft een microSD-slot en PCIe-uitbreiding voor NVMe-SSD’s. Identificeer opslag vóór gebruik aan de hand van model, capaciteit en koppelpunt:

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

Opslagapparaten van reComputer RK3588

De PCIe-verbinding en driver van een NVMe-SSD controleren:

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

Een gedetecteerde schijf bewijst niet dat opstarten vanaf die schijf wordt ondersteund; volg de installatieprocedure van het gekozen image.

M.2-uitbreidingsinterfaces

reComputer RK3588 biedt twee M.2 Key-M-interfaces voor NVMe-opslag of compatibele PCIe-AI-versnellers.

ModuleformaatPCIe-specificatie
2242 (22 × 42 mm)PCIe 2.1 ×1
2280 (22 × 80 mm)PCIe 3.0 ×4

×1 en ×4 betekenen respectievelijk één en vier lanes. PCIe 2.1 ×1 volgt de officiële productspecificatie voor de 2242-interface. Controleer modulesleutel, lengte en bevestiging bij de slotkeuze. De onderhandelde snelheid en breedte kunnen hieronder met LnkSta worden bekeken. Zie de Seeed Studio-productgegevens.

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

Locatie van de M.2 Key-M 2242-interface

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

Locatie van de M.2 Key-M 2280-interface

Een module installeren

  1. Sluit het systeem af en koppel DC- of PoE-voeding los voordat u de behuizing opent.
  2. Controleer of sleutel, lengte en bevestiging van de module bij het slot passen. Plaats de module en zet deze vast met een schroef.
  3. Controleer koeling en aansluitingen, sluit de voeding weer aan en start het systeem.

Kies een NVMe-SSD voor opslag; een AI-versneller vereist ook drivers en een runtime die passen bij het RK3588-besturingssysteem en de kernel. Bekijk de opslagcapaciteit met de eerdere opdracht lsblk.

PCIe-apparaten en drivers identificeren

bash
lspci -nnk

Zoek de SSD of versneller in de lijst en bekijk het apparaatadres, model en Kernel driver in use.

Onderhandelde linksnelheid en breedte controleren

Voer bij de vraag het PCIe-apparaatadres uit de vorige uitvoer in:

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

LnkCap toont de verbindingsmogelijkheden; LnkSta toont de momenteel onderhandelde snelheid en breedte. Configureer voor opstarten vanaf NVMe de opstartomgeving volgens de installatieprocedure van uw Armbian-image.

SIM en miniPCIe-uitbreiding

Het nano-SIM-slot werkt met een compatibele mobiele module. Koppel de voeding los voordat u de SIM of een interne module plaatst. miniPCIe ondersteunt optionele 4G LTE-, LoRaWAN- en Wi-Fi HaLow-modules; kies de juiste antenne en software.

4G LTE-miniPCIe-module en SIM-slot van reComputer RK3588

Na module-installatie en systeemstart PCIe-, USB- en netwerkapparaten controleren:

bash
lspci -nn
lsusb
ip -br link

4G-module (EC25) opvragen

Identificeer voor een mobiele USB-module zoals EC25 eerst de seriële apparaten en drivermeldingen:

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

Seriële apparaten en driverdetectie van de RK3588-4G-module

Identificeer de AT-poort met de moduledocumentatie en installeer en open vervolgens minicom. /dev/ttyUSB2 in de vraag is alleen een voorbeeld; voer de werkelijke AT-poort van uw apparaat in:

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

Verstuur de volgende opdrachten afzonderlijk binnen minicom, niet in de Linux-shell. Begin met AT en ga verder nadat u OK ontvangt:

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

ATI leest modulegegevens, AT+CPIN? de SIM-status en AT+CSQ de signaalkwaliteit. AT+CREG?, AT+CGREG? en AT+CEREG? controleren netwerkregistratie; AT+COPS? leest de huidige provider. Druk op Ctrl+A en vervolgens X om minicom af te sluiten. Zie de Quectel EC25 / EC21 AT-handleiding.

Dataverbindingen vereisen ook een hostnetwerkconfiguratie passend bij de provider-APN en de USB-datamodus van de module. Een gereedstaande SIM of geregistreerde module bewijst nog geen internettoegang op RK3588.

LoRaWAN- en Wi-Fi HaLow-interfaces identificeren

Controleer voor de geïnstalleerde USB- of SPI-module de apparaatnodes, bestaande overlays en drivermeldingen:

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- en SPI-modules gebruiken verschillende transporten. Kies LoRaWAN-testparameters, SPI-/GPIO-resetinstellingen en HaLow-overlays volgens het RK3588-image en de moduledocumentatie in plaats van RK3576-overlaynamen over te nemen. Volg de modulehandleiding voor gatewayverzending/-ontvangst en HaLow AP-/stationconfiguratie.

Ethernet RJ45

reComputer RK3588 heeft twee RJ45 2.5GbE-Ethernetpoorten. Deze kunnen een bovenliggend netwerk en lokale apparaten verbinden voor edgegateways, gegevensverzameling of toepassingen met twee netwerkpoorten.

Eén poort kan het apparaat via een aanvullende PoE-module voeden. Installeer de passende module en controleer vóór gebruik de voedingseisen van de switch of voedingsbron.

Netwerkinterfaces en IP-adressen identificeren

Sluit de Ethernetkabel aan en geef interfacenamen en adressen van het huidige systeem weer:

bash
ip -br link
ip -br addr

Gebruik de gerapporteerde namen in plaats van eth0 of eth1 aan te nemen. Koppel de fysieke poorten aan interfacenamen door elke kabel afzonderlijk aan te sluiten of los te koppelen en de linkstatus te observeren.

Onderhandelde snelheid en linkstatus controleren

Installeer ethtool en voer bij de vraag de eerder geïdentificeerde bekabelde interfacenaam in:

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

Bekijk Speed, Duplex en Link detected. Link detected: yes betekent een fysieke verbinding; Speed: 2500Mb/s betekent een onderhandelde 2.5GbE-verbinding. Poort, aangesloten switch of adapter en kabel bepalen de werkelijke linksnelheid.

Netwerkverbindingen configureren

Op images met NetworkManager verbindingen controleren en de tekstinterface openen voor DHCP of een statisch IP-adres:

bash
nmcli device status
nmtui

Selecteer in nmtui de bekabelde verbinding, stel IP-adres, gateway en DNS in en activeer deze volgens het netwerkplan. Configureer beide verbindingen afzonderlijk als u beide poorten gebruikt.

Wi-Fi en Bluetooth

Het apparaat heeft ingebouwde Wi-Fi 6 en Bluetooth 5.4. Radioblokkering en de Bluetooth-controller controleren:

bash
rfkill list
bluetoothctl list

HDMI en DisplayPort

Het apparaat heeft twee HDMI 2.1-uitgangen, één HDMI 2.0-ingang en DisplayPort via Type-C. Sluit monitors aan op de uitgangen. De HDMI-ingang neemt een externe videobron op.

De verbindingsstatus van beeldschermaansluitingen controleren:

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

Status van beeldschermaansluitingen op reComputer RK3588

Voor opnameapparaten zoals HDMI-ingang of een ondersteunde camera videoapparaten met V4L2 weergeven:

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

HDMI-ingangsdetectie op reComputer RK3588

Gebruik de gerapporteerde videonode en ondersteunde formaten voor opname. Configureer meerdere schermen in de beeldscherminstellingen van de desktop.

RTC

Het moederbord biedt een 2-pins RTC-aansluiting. Controleer polariteit en batterijvereisten in het schema voordat u een batterij aansluit. De RTC-apparaten van Linux controleren:

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

Hardwaredocumenten en systeemimages staan in het downloadsoverzicht.