Interfaces de hardware de reComputer RK3588
Última actualización:
Esta guía explica cómo inspeccionar y usar las interfaces de hardware de reComputer RK3588 con Armbian. Usa los enlaces de sección para ir directamente al periférico que quieras conectar o probar.
Antes de empezar
- Completa la configuración del primer arranque e inicia sesión localmente o por SSH con un usuario que pueda ejecutar
sudo. - Usa los diagramas de puertos y placa base para identificar el conector antes de conectar un periférico.
- Apaga y desconecta el dispositivo antes de instalar tarjetas internas, cables planos o cableado GPIO.
- Los nodos de dispositivo, números de bus e índices de
hwmonque aparecen a continuación corresponden a la imagen de referencia. Verifica los dispositivos reales de tu sistema antes de copiar un comando que modifique una configuración.
Ventilador
El reComputer RK3588 expone la velocidad del ventilador y los ajustes PWM mediante el subsistema Linux hwmon. En la imagen Armbian verificada, el ventilador se llama pwmfan y aparece en hwmon8. El kernel del fabricante también ajusta el PWM según los umbrales térmicos del árbol de dispositivos.
Rutas de supervisión de hardware
| Interfaz | Ruta | Descripción |
|---|---|---|
| Nombre del ventilador | /sys/class/hwmon/hwmon8/name | pwmfan |
| Velocidad del ventilador | /sys/class/hwmon/hwmon8/fan1_input | RPM actuales |
| Valor PWM | /sys/class/hwmon/hwmon8/pwm1 | Valor PWM solicitado, 0–255 |
| Política de activación PWM | /sys/class/hwmon/hwmon8/pwm1_enable | Política PWM / alimentación; valor observado: 1 |
El índice hwmon puede cambiar según la imagen o los controladores. Confirma el nombre antes de utilizar estas rutas:
for node in /sys/class/hwmon/hwmon*; do
[ -r "$node/name" ] || continue
printf '%s: ' "$node"
cat "$node/name"
doneEn el dispositivo probado, /sys/class/hwmon/hwmon8/name devuelve pwmfan.
Zonas térmicas
| Zona | Tipo indicado | Ruta de temperatura |
|---|---|---|
| SoC | soc-thermal | /sys/class/thermal/thermal_zone0/temp |
| Núcleo grande 0 | bigcore0-thermal | /sys/class/thermal/thermal_zone1/temp |
| Núcleo grande 1 | bigcore1-thermal | /sys/class/thermal/thermal_zone2/temp |
| Núcleo pequeño | littlecore-thermal | /sys/class/thermal/thermal_zone3/temp |
| Centro | center-thermal | /sys/class/thermal/thermal_zone4/temp |
| GPU | gpu-thermal | /sys/class/thermal/thermal_zone5/temp |
| NPU | npu-thermal | /sys/class/thermal/thermal_zone6/temp |
Las temperaturas se expresan en milésimas de grado Celsius. Divide entre 1000 para obtener °C. Esta imagen tiene siete zonas térmicas; utiliza los nombres reales en lugar de copiar los números del RK3576.
Leer velocidad y temperatura
cat /sys/class/hwmon/hwmon8/fan1_input
cat /sys/class/hwmon/hwmon8/pwm1
cat /sys/class/hwmon/hwmon8/pwm1_enableTras restaurar los ajustes, se observaron aproximadamente 2280 RPM, PWM 25 y política de activación 1. Son observaciones, no valores fijos para todos los dispositivos.
Leer todas las zonas térmicas:
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"
doneLa temperatura del SoC observada fue de aproximadamente 37°C.
Prueba breve de escritura PWM
Se probaron escrituras únicas de 64, 128 y 255. Cada valor solicitado podía leerse inmediatamente, pero el controlador térmico del fabricante restauraba el PWM a 25 en aproximadamente un segundo a la temperatura observada.
| PWM solicitado | Lectura inmediata en la prueba | Lectura tras aproximadamente un segundo |
|---|---|---|
| 64 | 64 | 25 |
| 128 | 128 | 25 |
| 255 | 255 | 25 |
Para una prueba breve, guarda el valor actual, solicita 128, léelo y restaura el valor guardado:
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 primera lectura ya devuelve el valor del control térmico, el kernel puede haber sobrescrito la solicitud antes de finalizar la lectura. Una escritura correcta no demuestra control manual sostenido; estos valores tampoco demuestran velocidades fijas del 25 %, 50 % o máxima.
Control térmico del fabricante
El árbol de dispositivos probado contiene esta configuración de cooling-levels y rockchip,temp-trips:
| Intervalo de temperatura (°C) | Nivel de refrigeración | Valor PWM |
|---|---|---|
| <38 | 0 | 25 |
| 38–<44 | 1 | 45 |
| 44–<50 | 2 | 60 |
| 50–<56 | 3 | 75 |
| 56–<62 | 4 | 100 |
| 62–<68 | 5 | 130 |
| 68–<74 | 6 | 170 |
| 74–<80 | 7 | 210 |
| ≥80 | 8 | 255 |
Consultar la configuración activa del árbol de dispositivos:
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))
PYEn esta imagen, pwm1_enable=1 no desactiva el control térmico del fabricante. No interpretes el atributo como un interruptor universal 1=manual, 2=automatic. La política PWM / alimentación se describe en la documentación Linux pwm-fan; la función de temperatura Rockchip está en el controlador del fabricante.
El dispositivo siguió regulando la temperatura después de la prueba. No se instaló un script térmico ni un servicio systemd independiente. Todavía no se ha verificado en este equipo la sustitución del control del fabricante por un servicio personalizado.
Referencia rápida
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/tempEntorno verificado
| Elemento | Valor |
|---|---|
| Dispositivo | reComputer RK3588 |
| Sistema operativo | Armbian 26.8.7 / Ubuntu 26.04 (resolute), ARM64 |
| Kernel | 6.1.172-vendor-seeed-rk3588 |
| Supervisión del ventilador | /sys/class/hwmon/hwmon8 (pwmfan) |
| PWM tras restaurar | 25 |
| Política de activación tras restaurar | 1 |
| Velocidad observada tras restaurar | Aproximadamente 2280 RPM |
| Temperatura observada del SoC | Aproximadamente 37°C |
Estado de los indicadores LED
El dispositivo dispone de indicadores Power, Status y User. El indicador User es un LED RGB.

Comportamiento y control de LED
| Indicador | Comportamiento predeterminado | Control |
|---|---|---|
| Power (rojo) | Encendido con la alimentación conectada | Circuito de alimentación de hardware |
| Status (verde) | Controlado por el circuito de estado de alimentación | El sistema actual no expone un nodo de clase LED correspondiente |
| User (RGB) | Latido azul; rojo y verde apagados | Los tres canales se controlan mediante la clase LED de Linux |
Identificar los LED
La imagen RK3588 actual expone estos nodos. Los tres canales tienen un valor max_brightness de 1:
| Color | Nodo | Activador predeterminado |
|---|---|---|
| Rojo | /sys/class/leds/user-led_red | none |
| Verde | /sys/class/leds/user-led_green | none |
| Azul | /sys/class/leds/user-led_blue | heartbeat |
ls -d /sys/class/leds/user-led_*
cat /sys/class/leds/user-led_blue/trigger
cat /sys/class/leds/user-led_blue/max_brightnessLos corchetes en la salida de trigger indican el activador actual, por ejemplo [heartbeat].
Control manual (encendido / apagado)
Configura el activador como none antes de escribir en brightness. Utiliza 1 para encender y 0 para apagar:
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"Para rojo o verde, sustituye user-led_blue al final de la ruta por user-led_red o user-led_green. El controlador LED gestiona los tres canales, por lo que no se necesita gpioset.
Activadores automáticos
Alternar el canal azul entre 500 ms encendido y 500 ms apagado:
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"Restaurar el activador de latido azul:
echo heartbeat | sudo tee /sys/class/leds/user-led_blue/triggerRestaurar el estado predeterminado
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/triggerEstos ajustes afectan al sistema en ejecución sin modificar el arranque. Consulta la documentación Linux LED para el brillo y los activadores.
Botones
La placa incorpora los botones Power, Recovery y MaskROM. Para operaciones de firmware, conecta un cable USB de datos al puerto Type-C OTG y sigue la guía de grabación de la imagen RK3588 seleccionada. Recovery y MaskROM son modos de grabación, no pasos normales de inicio del escritorio.
GPIO y buses de periféricos

Comprobar los controladores y nombres de líneas expuestos por el árbol de dispositivos actual:
gpiodetect
gpioinfoSi estas herramientas no están disponibles, instala el paquete de la distribución:
sudo apt update
sudo apt install gpiodUtiliza el esquema RK3588 para relacionar pines físicos y señales, y localiza el controlador y la línea en gpioinfo. Antes de establecer una salida, consulta gpioset --help para la sintaxis de la versión instalada de libgpiod.
Listar los overlays RK3588 instalados y la configuración de arranque actual:
find /boot -type f -name '*rk3588*.dtbo' -print
grep -E '^(fdtfile|overlay_prefix|overlays|user_overlays)=' /boot/armbianEnv.txtPara I2C, UART, SPI o CAN, selecciona un overlay compatible con la placa y el periférico conectado. Conserva los overlays existentes al editar /boot/armbianEnv.txt; sus parámetros y pines se definen en la documentación del overlay instalado.
USB
Las especificaciones de Seeed Studio indican estas interfaces USB para reComputer RK3588:
| Interfaz / cantidad | Conector físico | Protocolo y funciones | Uso |
|---|---|---|---|
| Host USB 3.0 ×4 | USB Type-A | USB 3.0, señalización nominal de 5 Gbps | Cámaras USB, almacenamiento externo, teclados, ratones y otros periféricos. |
| USB Type-C ×1 | USB Type-C | OTG + DisplayPort | Conexiones OTG y salida DisplayPort con cable o adaptador compatible. |
5 Gbps es la velocidad nominal de señalización USB 3.0, no una velocidad medida de transferencia de archivos. No demuestra un ancho de banda de controlador independiente de 5 Gbps para cada uno de los cuatro puertos Type-A.
Listar los dispositivos USB conectados y su topología:
lsusb
lsusb -t
Utiliza lsusb -t para comprobar la velocidad negociada. Para cámaras o aceleradores USB, sigue también las instrucciones de controladores y aplicaciones del periférico.
Almacenamiento microSD y NVMe
El equipo tiene una ranura microSD y expansión PCIe para SSD NVMe. Identifica los dispositivos por modelo, capacidad y punto de montaje antes de utilizarlos:
lsblk -o NAME,MODEL,SIZE,TYPE,FSTYPE,MOUNTPOINTS
lspci -nn
Para un SSD NVMe, comprobar el enlace PCIe y el controlador:
lspci -nnk | grep -A 3 -i 'Non-Volatile memory'Detectar una unidad no demuestra que permita arrancar el sistema; sigue el procedimiento de instalación de la imagen seleccionada.
Interfaces de expansión M.2
reComputer RK3588 dispone de dos interfaces M.2 Key-M para almacenamiento NVMe o aceleradores de IA PCIe compatibles.
| Tamaño del módulo | Especificación PCIe |
|---|---|
| 2242 (22 × 42 mm) | PCIe 2.1 ×1 |
| 2280 (22 × 80 mm) | PCIe 3.0 ×4 |
×1 y ×4 indican uno y cuatro carriles. PCIe 2.1 ×1 corresponde a la especificación oficial de la interfaz 2242. Comprueba la clave, longitud y fijación del módulo al elegir la ranura. La velocidad y anchura negociadas se consultan con LnkSta más abajo. Consulta la ficha de Seeed Studio.
Interfaz M.2 Key-M 2242 (PCIe 2.1 ×1)

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

Instalar un módulo
- Apaga el sistema y desconecta la alimentación DC o PoE antes de abrir la carcasa.
- Confirma que la clave, longitud y fijación del módulo coincidan con la ranura. Insértalo y sujétalo con un tornillo.
- Comprueba la refrigeración y las conexiones, vuelve a conectar la alimentación e inicia el sistema.
Elige un SSD NVMe para almacenamiento; un acelerador de IA también necesita controladores y un entorno de ejecución compatibles con el sistema RK3588 y su kernel. Utiliza la orden lsblk anterior para consultar la capacidad.
Identificar dispositivos PCIe y controladores
lspci -nnkLocaliza la entrada del SSD o acelerador y consulta su dirección, modelo y Kernel driver in use.
Comprobar velocidad y anchura negociadas
Cuando se solicite, introduce la dirección PCIe obtenida en la salida anterior:
read -rp 'PCIe device address: ' PCIE_DEVICE
sudo lspci -s "$PCIE_DEVICE" -vv | grep -E 'LnkCap:|LnkSta:'LnkCap muestra las capacidades del enlace; LnkSta, la velocidad y anchura negociadas actualmente. Para arrancar desde NVMe, configura el entorno de arranque según el procedimiento de tu imagen Armbian.
SIM y expansión miniPCIe
La ranura nano SIM se utiliza con un módulo celular compatible. Desconecta la alimentación antes de insertar la SIM o un módulo interno. miniPCIe admite módulos opcionales 4G LTE, LoRaWAN o Wi-Fi HaLow; elige antena y software adecuados.

Después de instalar el módulo e iniciar el sistema, consultar la enumeración PCIe, USB y de red:
lspci -nn
lsusb
ip -br linkConsultas del módulo 4G (EC25)
Para un módulo celular USB como EC25, identificar primero los dispositivos serie y los mensajes de los controladores:
ls /dev/ttyUSB*
sudo dmesg | grep -iE 'quectel|option|ttyUSB|qmi_wwan|cdc_ether' | tail -n 50
Identifica el puerto AT mediante la documentación del módulo, e instala y abre minicom. /dev/ttyUSB2 en la solicitud es solo un ejemplo; introduce el puerto AT real del dispositivo:
sudo apt update
sudo apt install minicom
read -rp 'AT serial device (e.g. /dev/ttyUSB2): ' AT_PORT
sudo minicom -D "$AT_PORT" -b 115200Envía estas órdenes una a una dentro de minicom, no en el shell Linux. Envía primero AT y continúa cuando recibas OK:
AT
ATI
AT+CPIN?
AT+CSQ
AT+CREG?
AT+CGREG?
AT+CEREG?
AT+COPS?ATI lee información del módulo, AT+CPIN? el estado de la SIM y AT+CSQ la calidad de señal. AT+CREG?, AT+CGREG? y AT+CEREG? consultan el registro de red, y AT+COPS? el operador actual. Pulsa Ctrl+A y después X para salir de minicom. Consulta el manual AT de Quectel EC25 / EC21.
La conexión de datos también requiere configurar la red del equipo para el APN del operador y el modo de datos USB del módulo. Una SIM preparada o un módulo registrado no demuestra por sí solo acceso a Internet en RK3588.
Identificar interfaces LoRaWAN y Wi-Fi HaLow
Para el módulo USB o SPI instalado, consultar nodos, overlays existentes y mensajes de controladores:
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 linkLos módulos USB y SPI usan transportes distintos. Selecciona los parámetros de prueba LoRaWAN, la configuración de reinicio SPI / GPIO y los overlays HaLow según la imagen RK3588 y la documentación del módulo, sin reutilizar los nombres del RK3576. Sigue la guía específica para transmisión/recepción de la pasarela y los modos AP / estación de HaLow.
Ethernet RJ45
reComputer RK3588 incorpora dos puertos Ethernet RJ45 2.5GbE. Pueden conectar una red superior y dispositivos locales para pasarelas, adquisición de datos o aplicaciones que requieren dos puertos de red.
Un puerto puede alimentar el equipo mediante un módulo PoE adicional. Instala el módulo adecuado y comprueba los requisitos del conmutador o equipo de alimentación antes de usar PoE.
Identificar interfaces de red y direcciones IP
Conecta el cable Ethernet y lista los nombres y direcciones de las interfaces del sistema:
ip -br link
ip -br addrUtiliza los nombres reales del sistema, sin asumir eth0 o eth1. Para relacionar los puertos físicos con sus interfaces, conecta o desconecta cada cable por separado y observa los cambios de estado del enlace.
Comprobar velocidad negociada y estado del enlace
Instala ethtool e introduce el nombre de la interfaz cableada identificada cuando se solicite:
sudo apt update
sudo apt install ethtool
read -rp 'Ethernet interface: ' ETH_IFACE
sudo ethtool "$ETH_IFACE"Revisa Speed, Duplex y Link detected. Link detected: yes indica un enlace físico; Speed: 2500Mb/s, una conexión negociada a 2.5GbE. El puerto, el conmutador o adaptador remoto y el cable determinan la velocidad real.
Configurar conexiones de red
En imágenes con NetworkManager, consultar conexiones y abrir la interfaz de texto para configurar DHCP o una IP estática:
nmcli device status
nmtuiEn nmtui, selecciona la conexión cableada, configura IP, puerta de enlace y DNS, y actívala según el plan de red. Configura ambas conexiones por separado si utilizas los dos puertos.
Wi-Fi y Bluetooth
El dispositivo integra Wi-Fi 6 y Bluetooth 5.4. Consultar bloqueos de radio y el controlador Bluetooth:
rfkill list
bluetoothctl listHDMI y DisplayPort
El equipo ofrece dos salidas HDMI 2.1, una entrada HDMI 2.0 y DisplayPort mediante Type-C. Conecta los monitores a las salidas. La entrada HDMI captura vídeo de una fuente externa.
Comprobar el estado de conexión de las interfaces de pantalla:
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
Para dispositivos de captura, incluida la entrada HDMI o una cámara compatible, listar los dispositivos de vídeo con V4L2:
sudo apt install v4l-utils
v4l2-ctl --list-devices
Utiliza el nodo de vídeo y los formatos indicados para capturar. Configura varias pantallas en los ajustes del escritorio.
RTC
La placa incluye un conector RTC de 2 pines. Confirma polaridad y requisitos de batería en el esquema antes de conectarla. Consultar los dispositivos RTC expuestos por Linux:
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"
doneLos documentos de hardware y las imágenes del sistema están en el resumen de descargas.