reComputer RK3588 ハードウェアインターフェース
最終更新:
このガイドでは、Armbian が動作している reComputer RK3588 のハードウェアインターフェースの確認方法と使い方を説明します。セクションのリンクから、接続・テストしたい周辺機器のセクションに移動してください。
はじめに
- 初回起動セットアップを完了し、
sudoを実行できるユーザーでローカルまたは SSH 経由でサインインしてください。 - 周辺機器を接続する前に、ポートとメインボードの図 でコネクタの位置を確認してください。
- 内部カード、リボンケーブル、GPIO 配線を取り付ける前に、デバイスの電源を切って取り外してください。
- 以下のデバイスノード、バス番号、
hwmonインデックスはリファレンスイメージの説明です。設定を変更するコマンドをコピーする前に、お使いのシステム上の実際のデバイスを確認してください。
ファン
reComputer RK3588 は Linux の hwmon サブシステムを通じてファン回転数と PWM 設定を公開します。確認した Armbian イメージではファン名は pwmfan、ノードは hwmon8 です。メーカーのカーネルはデバイスツリーの温度しきい値に従って PWM も調整します。
ハードウェア監視パス
| インターフェース | パス | 説明 |
|---|---|---|
| ファン名 | /sys/class/hwmon/hwmon8/name | pwmfan |
| ファン回転数 | /sys/class/hwmon/hwmon8/fan1_input | 現在の RPM |
| PWM 値 | /sys/class/hwmon/hwmon8/pwm1 | 要求 PWM 値、0–255 |
| PWM 有効化ポリシー | /sys/class/hwmon/hwmon8/pwm1_enable | PWM / 電源ポリシー。観測値:1 |
hwmon の番号はイメージやドライバー設定によって変わることがあります。以下のパスを使う前に名前を確認してください。
for node in /sys/class/hwmon/hwmon*; do
[ -r "$node/name" ] || continue
printf '%s: ' "$node"
cat "$node/name"
doneテスト機では /sys/class/hwmon/hwmon8/name が pwmfan を返しました。
温度ゾーン
| ゾーン | 報告された種類 | 温度パス |
|---|---|---|
| SoC | soc-thermal | /sys/class/thermal/thermal_zone0/temp |
| ビッグコア 0 | bigcore0-thermal | /sys/class/thermal/thermal_zone1/temp |
| ビッグコア 1 | bigcore1-thermal | /sys/class/thermal/thermal_zone2/temp |
| リトルコア | littlecore-thermal | /sys/class/thermal/thermal_zone3/temp |
| センター | 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 |
温度の単位はミリ℃です。1000 で割ると °C になります。このイメージには温度ゾーンが七つあります。RK3576 の番号をそのまま使わず、報告された名前で識別してください。
ファン回転数と温度の読み取り
cat /sys/class/hwmon/hwmon8/fan1_input
cat /sys/class/hwmon/hwmon8/pwm1
cat /sys/class/hwmon/hwmon8/pwm1_enable設定を復元した後の観測値は約 2280 RPM、PWM 25、有効化ポリシー 1 でした。すべての機器で同じ値になるわけではありません。
すべての温度ゾーンを読み取ります。
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観測した SoC 温度は約 37°C でした。
短時間の PWM 書き込みテスト
64、128、255 の値をそれぞれ一度書き込みました。直後には要求値を読み取れましたが、観測時の温度ではメーカーの温度制御が約一秒以内に PWM を 25 に戻しました。
| 要求 PWM | テスト時の直後の値 | 約一秒後の値 |
|---|---|---|
| 64 | 64 | 25 |
| 128 | 128 | 25 |
| 255 | 255 | 25 |
短時間の確認では現在値を保存し、128 を要求して読み取り、保存した値を復元します。
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"最初の読み取りですでに温度制御の値が返った場合、読み取り前にカーネルが要求を上書きした可能性があります。書き込み成功は持続的な手動制御を意味せず、このテスト値は回転数を 25%、50%、最大値に固定できることも示しません。
メーカーの温度制御
確認したデバイスツリーには次の cooling-levels と rockchip,temp-trips 設定があります。
| 温度範囲(°C) | 冷却レベル | 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 |
有効なデバイスツリー設定を確認します。
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このイメージでは pwm1_enable=1 にしてもメーカーの温度制御は無効になりません。汎用的な 1=manual, 2=automatic 切り替えとして扱わないでください。PWM / 電源ポリシーは Linux pwm-fan ドキュメント、Rockchip の温度コールバックはメーカードライバーを参照してください。
テスト後も温度制御は継続しました。別の温度制御スクリプトや systemd サービスはインストールしていません。メーカー制御を置き換える方法や独自サービスの動作は、この機器ではまだ確認していません。
クイックリファレンス
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確認環境
| 項目 | 値 |
|---|---|
| 機器 | reComputer RK3588 |
| OS | Armbian 26.8.7 / Ubuntu 26.04 (resolute), ARM64 |
| カーネル | 6.1.172-vendor-seeed-rk3588 |
| ファン監視 | /sys/class/hwmon/hwmon8 (pwmfan) |
| 復元後の PWM | 25 |
| 復元後の有効化ポリシー | 1 |
| 復元後の観測回転数 | 約 2280 RPM |
| 観測した SoC 温度 | 約 37°C |
LED インジケーターの状態
機器には Power、Status、User のインジケーターがあり、User は RGB LED です。

LED の動作と制御
| インジケーター | 既定の動作 | 制御 |
|---|---|---|
| Power(赤) | 給電中は常時点灯 | ハードウェア電源回路 |
| Status(緑) | 基板上の電源状態回路で制御 | 現在のシステムは対応する LED クラス制御ノードを公開しない |
| User(RGB) | 青はハートビート、赤と緑は消灯 | 三つの色チャネルを Linux LED クラスで制御可能 |
LED の特定
現在の RK3588 イメージは次のノードを公開します。三つのチャネルはいずれも max_brightness が 1 です。
| 色 | ノード | 既定のトリガー |
|---|---|---|
| 赤 | /sys/class/leds/user-led_red | none |
| 緑 | /sys/class/leds/user-led_green | none |
| 青 | /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_brightnesstrigger の出力では、有効なトリガーが [heartbeat] のように角括弧で囲まれます。
手動制御(点灯 / 消灯)
none に書き込む前にトリガーを brightness にします。1 で点灯、0 で消灯します。
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"赤または緑を制御する場合、パス末尾の user-led_blue を user-led_red または user-led_green に置き換えます。三つのチャネルは LED ドライバーが管理するため、gpioset は不要です。
自動トリガー
青チャネルを 500 ms 点灯、500 ms 消灯で交互に動作させます。
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"青のハートビートトリガーを復元します。
echo heartbeat | sudo tee /sys/class/leds/user-led_blue/trigger既定状態の復元
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これらの設定は実行中のシステムにのみ作用し、起動設定を変更しません。明るさとトリガーの動作は Linux LED ドキュメントを参照してください。
ボタン
基板には Power、Recovery、MaskROM ボタンがあります。ファームウェア操作では USB データケーブルを Type-C OTG ポートに接続し、使用する RK3588 イメージの書き込み手順に従います。Recovery と MaskROM は書き込み用モードで、通常のデスクトップ起動手順ではありません。
GPIO と周辺バス

現在のデバイスツリーが公開するコントローラーとライン名を確認します。
gpiodetect
gpioinfoツールがない場合はディストリビューションのパッケージをインストールします。
sudo apt update
sudo apt install gpiodRK3588 回路図で物理ピンと信号の対応を確認し、gpioinfo でコントローラーとラインを探します。出力設定前に gpioset --help でインストール済み libgpiod の構文を確認してください。
インストール済み RK3588 オーバーレイと現在の起動設定を表示します。
find /boot -type f -name '*rk3588*.dtbo' -print
grep -E '^(fdtfile|overlay_prefix|overlays|user_overlays)=' /boot/armbianEnv.txtI2C、UART、SPI、CAN では、基板と接続機器に対応するオーバーレイを選択します。/boot/armbianEnv.txt の編集時は既存のオーバーレイを残してください。パラメーターとピン割り当てはインストール済みオーバーレイの説明に従います。
USB
Seeed Studio の仕様では、reComputer RK3588 の USB インターフェースは次のとおりです。
| インターフェース / 数量 | 物理コネクター | バス規格と機能 | 用途 |
|---|---|---|---|
| USB 3.0 ホスト ×4 | USB Type-A | USB 3.0、公称信号速度 5 Gbps | USB カメラ、外部ストレージ、キーボード、マウスなどを接続。 |
| USB Type-C ×1 | USB Type-C | OTG + DisplayPort | 対応ケーブルやアダプターを使った OTG 接続と DisplayPort 出力。 |
5 Gbps は USB 3.0 の公称信号速度であり、実測のファイル転送速度ではありません。四つの Type-A ポートがそれぞれ独立した 5 Gbps のコントローラー帯域を持つことも意味しません。
接続済み USB 機器とトポロジーを表示します。
lsusb
lsusb -t
lsusb -t でネゴシエーションされた速度を確認します。USB カメラやアクセラレーターでは、その機器のドライバーとアプリケーションの手順にも従ってください。
microSD と NVMe ストレージ
機器には microSD スロットと NVMe SSD 向け PCIe 拡張があります。使用前にモデル、容量、マウント先でストレージを識別します。
lsblk -o NAME,MODEL,SIZE,TYPE,FSTYPE,MOUNTPOINTS
lspci -nn
NVMe SSD の PCIe 接続とドライバーを確認します。
lspci -nnk | grep -A 3 -i 'Non-Volatile memory'ドライブの認識だけでは起動対応を確認できません。使用するイメージのインストール手順に従ってください。
M.2 拡張インターフェース
reComputer RK3588 は NVMe ストレージや対応する PCIe AI アクセラレーター向けに 二つの M.2 Key-M インターフェースを備えています。
| モジュール規格 | PCIe 規格 |
|---|---|
| 2242 (22 × 42 mm) | PCIe 2.1 ×1 |
| 2280 (22 × 80 mm) | PCIe 3.0 ×4 |
×1 と ×4 はそれぞれ一つと四つのレーンを意味します。2242 インターフェースは公式製品情報に従い PCIe 2.1 ×1 と表記します。スロット選択時はモジュールのキー、長さ、固定位置を確認してください。実際の接続速度と幅は下記の LnkSta で確認できます。Seeed Studio 製品詳細を参照してください。
M.2 Key-M 2242 インターフェース(PCIe 2.1 ×1)

M.2 Key-M 2280 インターフェース(PCIe 3.0 ×4)

モジュールの取り付け
- システムを終了し、DC または PoE 電源を外してからケースを開けます。
- モジュールのキー、長さ、固定位置がスロットに適合することを確認し、挿入後にねじで固定します。
- 冷却と接続を確認した後、電源を接続して起動します。
ストレージには NVMe SSD を選びます。AI アクセラレーターには RK3588 の OS とカーネルに対応するドライバーとランタイムも必要です。容量は前述の lsblk で確認できます。
PCIe 機器とドライバーの確認
lspci -nnkSSD またはアクセラレーターの項目を探し、機器アドレス、モデル、Kernel driver in use を確認します。
接続速度とレーン幅の確認
プロンプトで直前の出力に表示された PCIe 機器アドレスを入力します。
read -rp 'PCIe device address: ' PCIE_DEVICE
sudo lspci -s "$PCIE_DEVICE" -vv | grep -E 'LnkCap:|LnkSta:'LnkCap はリンクの能力、LnkSta は現在の接続速度と幅を示します。NVMe から起動する場合は、Armbian イメージのインストール手順で起動環境を設定してください。
SIM と miniPCIe 拡張
nano SIM スロットは対応する携帯通信モジュールと組み合わせます。SIM や内部モジュールの取り付け前に電源を外してください。miniPCIe はオプションの 4G LTE、LoRaWAN、Wi-Fi HaLow モジュールに対応し、アンテナとソフトウェアはモジュールに合わせます。

モジュール取り付けと起動後、PCIe、USB、ネットワーク機器の列挙結果を確認します。
lspci -nn
lsusb
ip -br link4G モジュール(EC25)の確認
EC25 などの USB 携帯通信モジュールでは、まずシリアル機器とドライバーメッセージを確認します。
ls /dev/ttyUSB*
sudo dmesg | grep -iE 'quectel|option|ttyUSB|qmi_wwan|cdc_ether' | tail -n 50
モジュールの説明で AT コマンドポートを確認し、minicom をインストールして開きます。プロンプト内の /dev/ttyUSB2 は例であり、実際の AT ポートを入力してください。
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以下のコマンドは Linux シェルではなく minicom 内で一つずつ送信します。最初に AT を送信し、OK を受け取ってから続けます。
AT
ATI
AT+CPIN?
AT+CSQ
AT+CREG?
AT+CGREG?
AT+CEREG?
AT+COPS?ATI はモジュール情報、AT+CPIN? は SIM 状態、AT+CSQ は信号品質を確認します。AT+CREG?、AT+CGREG?、AT+CEREG? は登録状態、AT+COPS? は現在の通信事業者を確認します。Ctrl+A、続いて X で minicom を終了します。Quectel EC25 / EC21 AT コマンドマニュアルを参照してください。
データ通信には事業者の APN とモジュールの USB データモードに合わせたホスト側ネットワーク設定も必要です。SIM が使用可能、またはモジュールが登録済みでも、RK3588 のインターネット接続が確立したとは限りません。
LoRaWAN と Wi-Fi HaLow の機器識別
取り付けた USB または SPI モジュールに合わせ、機器ノード、既存のオーバーレイ、ドライバーメッセージを確認します。
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 linkUSB と SPI では通信方式が異なります。LoRaWAN テスト引数、SPI / GPIO リセット設定、HaLow オーバーレイは RK3588 イメージとモジュールの説明で選び、RK3576 のオーバーレイ名を流用しないでください。ゲートウェイ送受信と HaLow AP / ステーション設定は各モジュールの手順に従います。
Ethernet RJ45
reComputer RK3588 は 二つの RJ45 2.5GbE Ethernet ポートを備えます。上位ネットワークとローカル機器を接続し、エッジゲートウェイ、データ収集、デュアルポートのネットワークアプリケーションに利用できます。
一方のポートは追加の PoE モジュールで本体に給電できます。対応モジュールを取り付け、スイッチや給電機器の電源要件を確認してから使用してください。
ネットワークインターフェースと IP アドレスの確認
Ethernet ケーブルを接続し、現在のシステムのインターフェース名とアドレスを表示します。
ip -br link
ip -br addreth0 や eth1 と決めつけず、システムが表示した名前を使います。物理ポートとの対応はケーブルを一本ずつ接続・切断し、リンク状態の変化で確認できます。
接続速度とリンク状態の確認
ethtool をインストールし、プロンプトで先ほど確認した有線インターフェース名を入力します。
sudo apt update
sudo apt install ethtool
read -rp 'Ethernet interface: ' ETH_IFACE
sudo ethtool "$ETH_IFACE"Speed、Duplex、Link detected を確認します。Link detected: yes は物理リンク検出、Speed: 2500Mb/s は 2.5GbE の接続確立を示します。実際の速度は本体ポート、接続先のスイッチやアダプター、ケーブルによって決まります。
ネットワーク接続の設定
NetworkManager を使うイメージでは、接続状態を確認し、DHCP または固定 IP 用の文字設定画面を開けます。
nmcli device status
nmtuinmtui で有線接続を選び、IP アドレス、ゲートウェイ、DNS を設定してネットワーク計画に従って有効にします。両ポートを使う場合は接続ごとに設定します。
Wi-Fi と Bluetooth
機器は Wi-Fi 6 と Bluetooth 5.4 を搭載します。無線のブロック状態と Bluetooth コントローラーを確認します。
rfkill list
bluetoothctl listHDMI と DisplayPort
機器は 二つの HDMI 2.1 出力、一つの HDMI 2.0 入力、Type-C 経由の DisplayPort を備えます。モニターは出力に接続します。HDMI 入力は外部映像ソースのキャプチャー用です。
ディスプレイ端子の接続状態を確認します。
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
HDMI 入力や対応カメラなどのキャプチャー機器は、V4L2 で映像機器を一覧表示します。
sudo apt install v4l-utils
v4l2-ctl --list-devices
キャプチャーでは確認した映像ノードと対応形式を使用します。複数画面の配置はデスクトップの表示設定で行います。
RTC
基板には 2 ピンの RTC コネクターがあります。電池の接続前に回路図で極性と電池要件を確認してください。Linux が公開する RTC 機器を確認します。
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ハードウェア資料とシステムイメージはリソースダウンロード一覧から入手できます。