Обзор ODROID-H4 Plus – Часть 2: тестирование NAS-комплекта на Intel N97 и пассивного одноплатника в Ubuntu 24.04

В первой части обзора комплекта ODROID-H4+ были рассмотрены аппаратные характеристики и показана установка одноплатника Intel N97 в корпус H4 Type 3 с поддержкой до четырех 2.5-дюймовых SATA-накопителей. Теперь проведено тестирование ODROID-H4 Plus под управлением Ubuntu 24.04 как в конфигурации NAS-комплекта с активным охлаждением, так и в пассивном режиме работы. Во второй части представлены результаты бенчмарков, тесты 2.5GbE и накопителей, проверка воспроизведения видео 4K и 8K на YouTube, поддержка памяти IBECC, замеры энергопотребления и другие аспекты.

ODROID-H4 Plus Ubuntu 24.04 review

Установка Ubuntu 24.04 на ODROID-H4 Plus

Одноплатник ODROID-H4 Plus не поставляется с предустановленной ОС, так как не имеет встроенного хранилища. Ubuntu 24.04 была установлена на 128GB M.2 NVMe SSD, подключенный к плате. Процесс установки прошел относительно гладко, хотя в ретроспективе ОС следовало бы установить до монтажа платы в корпус вместе с SATA-накопителем, так как это несколько усложнило процедуру.

Ubuntu 24.04 manual partitioning

Сложность возникла из-за того, что два SATA-накопителя уже содержали установленную Ubuntu, поэтому пришлось переключиться на «Ручное разбиение», чтобы разобраться в ситуации и выбрать M.2 NVMe SSD в качестве целевого носителя. Этот M.2 SSD ранее использовался для загрузки Raspberry Pi OS, поэтому его раздел был удален и создан заново для Ubuntu. По неизвестной причине (возможно, из-за нехватки места, подробнее об этом позже) M.2 накопитель не был доступен для установки загрузчика, поэтому был выбран один из жестких дисков. В результате Grub оказался на SATA-накопителе, а Ubuntu — на M.2 SSD. Не идеально, но для текущих тестов приемлемо.

Информация о системе Ubuntu 24.04

Остальные этапы установки прошли без проблем. В разделе Settings->About отображается HARDKERNEL ODROID-H4 с четырехъядерным процессором Intel N97, 32 ГБ оперативной памяти и 128 ГБ хранилища (только NVMe).

ODROID-H4 About Ubuntu 24.04

Дополнительные сведения можно получить через командную строку:

jaufranc@ODROID-H4-CNX:~$ uname -a
Linux ODROID-H4-CNX 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
jaufranc@ODROID-H4-CNX:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"
jaufranc@ODROID-H4-CNX:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           3.2G  2.5M  3.2G   1% /run
/dev/nvme0n1p2  117G   14G   97G  13% /
tmpfs            16G  4.0K   16G   1% /dev/shm
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
efivarfs        192K  111K   77K  60% /sys/firmware/efi/efivars
/dev/sdc1       511M  6.1M  505M   2% /boot/efi
tmpfs           3.2G  2.5M  3.2G   1% /run/user/1000
/dev/sdb1       118G  1.5M  118G   1% /media/jaufranc/New Volume
/dev/sda2        70G   68G     0 100% /media/jaufranc/9e1084f6-dfda-4fad-9b71-20062c0507e5
/dev/sdc2       802G  570G  192G  75% /media/jaufranc/NEWHOPE
/dev/sda3       846G  645G  158G  81% /media/jaufranc/NEWHOPE1
/dev/sdc3       116G   93M  116G   1% /media/jaufranc/NTFS_Review
jaufranc@ODROID-H4-CNX:~$ free -mh
               total        used        free      shared  buff/cache   available
Mem:            31Gi       2.6Gi        27Gi       456Mi       2.3Gi        28Gi
Swap:          8.0Gi          0B       8.0Gi

Система работает под управлением Ubuntu 24.04 с ядром Linux 6.8, все три SATA-накопителя корректно определены (/dev/sda, /dev/sdb, /dev/sdc) и смонтированы.

Более детальную информацию предоставляет утилита inxi:

jaufranc@ODROID-H4-CNX:~$ sudo inxi -Fc0
System:
  Host: ODROID-H4-CNX Kernel: 6.8.0-31-generic arch: x86_64 bits: 64
  Console: pty pts/1 Distro: Ubuntu 24.04 LTS (Noble Numbat)
Machine:
  Type: Desktop System: HARDKERNEL product: ODROID-H4 v: 1.0 serial: N/A
  Mobo: HARDKERNEL model: ODROID-H4 v: 1.0 serial: N/A UEFI: American
    Megatrends LLC. v: 1.2 date: 04/29/2024
CPU:
  Info: quad core model: Intel N97 bits: 64 type: MCP cache: L2: 2 MiB
  Speed (MHz): avg: 824 min/max: 800/3600 cores: 1: 800 2: 897 3: 800 4: 800
Graphics:
  Device-1: Intel Alder Lake-N [UHD Graphics] driver: i915 v: kernel
  Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver:
    gpu: i915 tty: 80x24 resolution: 1920x1080
  API: EGL v: 1.5 drivers: iris,swrast platforms: surfaceless,device
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: mesa v: 24.0.5-1ubuntu1
    note: console (EGL sourced) renderer: Mesa Intel Graphics (ADL-N), llvmpipe
    (LLVM 17.0.6 256 bits)
Audio:
  Device-1: Intel Alder Lake-N PCH High Definition Audio driver: snd_hda_intel
  API: ALSA v: k6.8.0-31-generic status: kernel-api
Network:
  Device-1: Intel Ethernet I226-V driver: igc
  IF: enp1s0 state: down mac: 00:1e:06:45:5a:bd
  Device-2: Intel Ethernet I226-V driver: igc
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: 00:1e:06:45:5a:be
Drives:
  Local Storage: total: 2.05 TiB used: 1.26 TiB (61.6%)
  ID-1: /dev/nvme0n1 model: PCIe SSD size: 119.24 GiB
  ID-2: /dev/sda vendor: Toshiba model: MQ01ABD100 size: 931.51 GiB
  ID-3: /dev/sdb model: CJ225128TC size: 118 GiB
  ID-4: /dev/sdc vendor: Toshiba model: HDWL110 size: 931.51 GiB
Partition:
  ID-1: / size: 116.32 GiB used: 13.44 GiB (11.6%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-2: /boot/efi size: 511 MiB used: 6.1 MiB (1.2%) fs: vfat dev: /dev/sdc1
Swap:
  ID-1: swap-1 type: file size: 8 GiB used: 0 KiB (0.0%) file: /swap.img
Sensors:
  System Temperatures: cpu: 45.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 32 GiB available: 31.09 GiB used: 2.67 GiB (8.6%)
    igpu: 60 MiB
  Processes: 256 Uptime: 2h 31m Init: systemd target: graphical (5)
    Shell: Sudo inxi: 3.3.34

Температура в режиме простоя составляет 45°C. Стоит отметить, что большой вентилятор на корпусе крайне редко включается при отсутствии нагрузки.

Бенчмарки ODROID-H4 Plus в Ubuntu 24.04

Hardkernel реализовала режим «Unlimited Performance» для плат ODROID-H3/H4 , который можно активировать в BIOS. Как поясняет Hardkernel , этот режим использует новый параметр Power Limit 4 (PL4), введенный в процессорах Intel 10-го поколения, который устанавливает максимальный лимит энергопотребления на уровне чипа. Изначально предполагалось, что режим по умолчанию отключен, и планировалось провести тесты в штатном режиме и в режиме «Unlimited Performance». Однако при входе в BIOS… Advanced->CPU – Power Management Control показало, что PL4 уже установлен в 0, так называемый режим «Unlimited Performance».

ODROID-H4 Unlimited Performance PL4 Zero

Как обычно, начнем со скрипта sbc-bench.sh от Thomas Kaiser:

jaufranc@ODROID-H4-CNX:~$ sudo ./sbc-bench.sh -r
Starting to examine hardware/software for review purposes...

sbc-bench v0.9.65

Installing needed tools: apt-get -f -qq -y install gcc make build-essential powercap-utils curl git links mmc-utils smartmontools stress-ng, p7zip 16.02, tinymembench, ramlat, mhz, cpufetch, cpuminer. Done.
Checking cpufreq OPP. Done.
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Throttling test: heating up the device, 5 more minutes to wait. Done.
Checking cpufreq OPP again. Done (10 minutes elapsed).

Results validation:

  * Measured clockspeed not lower than advertised max CPU clockspeed
  * No swapping
  * Background activity (%system) OK
  * Too much other background activity: 0% avg, 6% max -> https://tinyurl.com/mr2wy5uv
  * Powercap detected. Details: "sudo powercap-info -p intel-rapl" -> https://tinyurl.com/4jh9nevj


Full results uploaded to https://sprunge.us/8a0Ihc

# HARDKERNEL ODROID-H4 1.0 / N97

Tested with sbc-bench v0.9.65 on Sat, 18 May 2024 14:27:17 +0700. Full info: [https://sprunge.us/8a0Ihc](http://sprunge.us/8a0Ihc)

### General information:

    Information courtesy of cpufetch:
    
    Name:                Intel(R) N97
    Microarchitecture:   Alder Lake
    Technology:          10nm
    Max Frequency:       3.600 GHz
    Cores:               4 cores
    AVX:                 AVX,AVX2
    FMA:                 FMA3
    L1i Size:            64KB (256KB Total)
    L1d Size:            32KB (128KB Total)
    L2 Size:             2MB
    L3 Size:             6MB
    
    N97, Kernel: x86_64, Userland: amd64
    
    CPU sysfs topology (clusters, cpufreq members, clockspeeds)
                     cpufreq   min    max
     CPU    cluster  policy   speed  speed   core type
      0        0        0      800    3600       -
      1        0        1      800    3600       -
      2        0        2      800    3600       -
      3        0        3      800    3600       -

31841 KB available RAM

### Policies (performance vs. idle consumption):

Status of performance related policies found below /sys:

    /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave

### Clockspeeds (idle vs. heated up):

Before at 45.0°C:

    cpu0: OPP: 3600, Measured: 3586 

After at 52.0°C:

    cpu0: OPP: 3600, Measured: 3586 

### Performance baseline

  * memcpy: 12400.1 MB/s, memchr: 18946.1 MB/s, memset: 13755.9 MB/s
  * 16M latency: 106.8 96.56 107.1 96.75 106.0 90.60 92.30 95.84 
  * 128M latency: 116.8 110.6 117.1 110.8 116.4 110.5 107.2 110.4 
  * 7-zip MIPS (3 consecutive runs): 13984, 14045, 14056 (14030 avg), single-threaded: 4151
  * `aes-256-cbc     940911.87k  1244938.58k  1289130.75k  1300187.82k  1303216.13k  1298339.16k`
  * `aes-256-cbc     955928.03k  1246933.67k  1289093.55k  1299651.58k  1301949.10k  1303565.65k`

### PCIe and storage devices:

  * Intel Ethernet I226-V: Speed 5GT/s, Width x1, driver in use: igc, 
  * Intel Ethernet I226-V: Speed 5GT/s, Width x1, driver in use: igc, 
  * ASMedia ASM1064 Serial ATA: Speed 8GT/s, Width x1, driver in use: ahci, 
  * 119.2GB "PCIe SSD" SSD as /dev/nvme0: Speed 8GT/s, Width x4, 0% worn out, drive temp: 38°C, ASPM Disabled
  * 931.5GB "Toshiba TOSHIBA MQ01ABD100" HDD as /dev/sda: SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s), drive temp: 40°C
  * 118GB "CJ225128TC" SSD as /dev/sdb: SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s), drive temp: 40°C
  * 931.5GB "Toshiba TOSHIBA HDWL110" HDD as /dev/sdc: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s), drive temp: 38°C
  * Winbond W25Q128JV 16MB SPI NOR flash, drivers in use: spi-nor/intel-spi

### Challenging filesystems:

The following partitions are NTFS: sdc3 -> https://tinyurl.com/mv7wvzct

### Swap configuration:

  * /swap.img on /dev/nvme0n1p2: 8.0G (0K used)

### Software versions:

  * Ubuntu 24.04 LTS (noble)
  * Compiler: /usr/bin/gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0 / x86_64-linux-gnu
  * OpenSSL 3.0.13, built on 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)    

### Kernel info:

  * `/proc/cmdline: BOOT_IMAGE=/boot/vmlinuz-6.8.0-31-generic root=UUID=9c6e490c-bb54-4870-8aaa-08fc8ac455c4 ro quiet splash vt.handoff=7`
  * Vulnerability Reg file data sampling: Mitigation; Clear Register File
  * Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  * Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  * Kernel 6.8.0-31-generic / CONFIG_HZ=1000

Waiting for the device to cool down...................................... 32.0°C

Как будет видно ниже, результаты несколько лучше, чем у других устройств на Intel N97/N100, благодаря более высокому лимиту мощности PL4 и большому охлаждающему вентилятору.

Также можно проверить лимит мощности.

jaufranc@ODROID-H4-CNX:~$ sudo powercap-info -p intel-rapl
[sudo] password for jaufranc: 
enabled: 1
Zone 0
  name: package-0
  enabled: 1
  max_energy_range_uj: 262143328850
  energy_uj: 14619764453
  Constraint 0
    name: long_term
    power_limit_uw: 12000000
    time_window_us: 27983872
    max_power_uw: 12000000
  Constraint 1
    name: short_term
    power_limit_uw: 25000000
    time_window_us: 2440
    max_power_uw: 0
  Constraint 2
    name: peak_power
    power_limit_uw: 78000000
    max_power_uw: 0
  Zone 0:0
    name: core
    enabled: 0
    max_energy_range_uj: 262143328850
    energy_uj: 3441110636
    Constraint 0
      name: long_term
      power_limit_uw: 0
      time_window_us: 976
  Zone 0:1
    name: uncore
    enabled: 0
    max_energy_range_uj: 262143328850
    energy_uj: 3729055
    Constraint 0
      name: long_term
      power_limit_uw: 0
      time_window_us: 976

Для нашего Intel N97 установлен лимит мощности PL1 в 12W и PL2 в 25W. Hardkernel поясняет, что для Core i3-N305 в ODROID-H4 Ultra PL1 будет установлен на 15W.

Geekbench 6 был запущен через sbc-bench четыре раза для проверки вариативности результатов.

jaufranc@ODROID-H4-CNX:~$ for i in 1 2 3 ; do sudo ./sbc-bench.sh -G ; done

sbc-bench v0.9.65 taking care of Geekbench

Installing needed tools: distro packages already installed, geekbench 6.3.0. Done.
Checking cpufreq OPP. Done.
Executing RAM latency tester. Done.
Executing Geekbench...


Executing on all cores 1st time

Geekbench 6.3.0 : https://www.geekbench.com/

Четыре результата для одноядерного (SC) и многоядерного (MC) тестов:

  1. SC: 1,331 баллов; MC: 3,413 баллов – См. полные результаты на сайте Geekbench
  2. SC: 1,332 балла; MC: 3,429 баллов – См. полные результаты на сайте Geekbench
  3. SC: 1,333 балла; MC: 3,438 баллов – См. полные результаты на сайте Geekbench
  4. SC: 1,332 балла; MC: 3,415 баллов – См. полные результаты на сайте Geekbench
HARDKERNEL ODROID H4 Geekench 6.3.0 benchmarks
Третий запуск Geekbench 6.3.0

Результаты в однопоточном режиме практически идентичны для всех четырех прогонов. В многопоточном режиме наблюдается больший разброс, но незначительный. После третьего прогона был сделан перерыв, и кондиционер был выключен. При работающем кондиционере температура в помещении составляла около 28°C, а без него постепенно повысилась до 30-31°C, что может объяснить небольшое снижение результата в последнем многопоточном тесте. Подробности, включая температуру CPU во время тестирования, доступны в полном логе SBC-bench .

Тестирование производительности GPU началось с Unigine Heaven Benchmark 4.0.

ODROID-H4 Plus Unigine Heaven Benchmark 4.0

Результат составил 17.2 кадра в секунду и 433 балла при стандартном разрешении 1920×1080.

Дополнительно протестирована встроенная графика (iGPU) путем воспроизведения видео на YouTube в Firefox с разрешениями 4K и 8K.

ODROID-H4 Plus YouTube 4K 2160p 30 fps Firefox Ubuntu 24.04

4K 30 FPS в FirefoxВоспроизведение видео 4K 30 fps работает отлично: за 9 минут просмотра было потеряно всего 10 кадров из 6589. Четыре из них пришлись на момент создания скриншота.

ODROID-H4 Plus YouTube 8K 4320p 30 fps Firefox Ubuntu 24.04

8K 30 FPS в FirefoxПереход на разрешение 8K (4320p) с частотой 60 fps также проходит плавно: за 3 минуты просмотра потеряно всего 3 кадра.

ODROID-H4 Plus YouTube 4K 2160p 60 fps Firefox Ubuntu 24.04

4K 60 FPS в FirefoxВидео 4K 60 FPS остается воспроизводимым, но количество потерянных кадров увеличилось до 238 из 48907 за 13 минут просмотра.

ODROID-H4 Plus YouTube 8K 4320p 60 fps Firefox Ubuntu 24.04

8K 60 FPS в Firefox8K 60 FPS часто представляет сложность, но ODROID-H4 Plus справляется относительно хорошо, хотя и не идеально: за 5 минут просмотра потеряно 380 кадров из 18241 (2%). Это может быть приемлемо для одних пользователей, но не для других, поэтому был проведен повторный тест в Google Chrome.

Intel N97 8K 60FPS YouTube Chrome Ubuntu 24.04

8K 60 FPS в ChromeТестирование не заняло много времени, так как результат оказался катастрофическим: потеряно более 50% кадров, видео было невозможно смотреть. Наблюдалась 100% загрузка всех четырех ядер CPU. Проверка показала, что аппаратное ускорение декодирования видео было включено.

Chrome GPU Video Decode

Быстрое тестирование с 4K 60 fps в Chrome показало такие же результаты, как и в Firefox. Проблема в Google Chrome возникает только с 8K 60 FPS, что для большинства пользователей неактуально. Обратите внимание, что и Firefox, и Chrome использовали кодек AV1 для всех тестируемых разрешений и частот кадров.

Для оценки производительности в Speedometer 2.0 снова использовался Firefox.

ODROID H4 Plus NAS Kit Speedometer 2.0 Benchmark
Результат составил 164 прогона в минуту. Тест был повторен в Google Chrome.

ODROID-H4 Plus Speedometer 2.0 Ubuntu Chrome

С результатом 198 прогонов в минуту Google Chrome оказался значительно быстрее Firefox в этом тесте.

Поскольку Speedometer 2.0 устаревает, также был запущен Speedometer 3.0 для сбора данных для будущих обзоров.

Mozilla Firefox

ODROID-H4 Plus Speedometer 3.0 Ubuntu Firefox

Новый результат выражен в баллах и не сопоставим с предыдущими. ODROID-H4 Plus набрал 8.15 баллов в Firefox под Ubuntu 24.04. Детализированное представление результатов стало более информативным.

Speedometer 3.0 details

Google Chrome

ODROID-H4 Plus Speedometer 3.0 Ubuntu Chrome

Google Chrome подтвердил более высокую производительность веб-рендеринга по сравнению с Firefox на ODROID-H4 Plus, набрав 12.2 балла.

Сравнение результатов тестирования ODROID H4 Plus с другими платформами на Alder Lake-N

Теперь сравним результаты тестирования ODROID H4 Plus под Ubuntu 24.04 с другими платформами на Alder Lake-N под Ubuntu 22.04/Fedora 39 , а именно: мини-ПК Blackview MP80 (N97), бесшумный мини-ПК MINIX Z100-0dB (N100), мини-ПК GEEKOM Mini Air12 (N100) и мини-ПК Weibu N10 (Core i3-N305). Основные характеристики этих устройств приведены в таблице ниже.

ODROID-H4 Plus Blackview MP80 (N97) MINIX Z100-0dB GEEKOM Mini Air12 Weibu N10
SoC Intel Processor N97 Intel Processor N97 Intel Processor N100 Intel Processor N100 Intel Core i3-N305
CPU 4-core processor up to 3.6 GHz 4-core processor up to 3.6 GHz 4-core processor up to 3.4 GHz 4-core processor up to 3.4 GHz 8-core processor up to 3.80 GHz
GPU 24EU Intel UHD Graphics @ 1.2 GHz 24EU Intel UHD Graphics @ 1.2 GHz 24EU Intel HD Graphics @ 750 MHz 24EU Intel HD Graphics @ 750 MHz 32EU Intel HD Graphics @ 1.25 GHz
TDP 12W 12W 6W 6W 15W
Memory 32GB DDR5-5600 SO-DIMM (user installed) 16GB LPDDR5 SDRAM 16 GB DDR4-3200 16GB DDR5-4800 8GB DDR4-3200
Storage 128GB M.2 NVMe SSD (user installed) 512GB M.2 SATA SSD 512GB NVMe SSD 512GB NVMe SSD 512GB NVMe SSD
Default OS N/A Windows 11 Pro Windows 11 Pro Windows 11 Pro Windows 11 Pro
Linux OS Ubuntu 24.04 Fedora 39 Ubuntu 22.04 Ubuntu 22.04 Ubuntu 22.04

Использовались разные ОС: Ubuntu 22.04, Ubuntu 24.04 и Fedora Workstation 39, что не идеально, но дает представление об относительной производительности. Результаты тестов под Linux следующие.

ODROID-H4 Plus
«Unlimited Performance» mode
Blackview MP80 (N97) MINIX Z100-0dB GEEKOM Mini Air12 Weibu N10 Core i3-N305
sbc-bench.sh
— memcpy 12400.1 MB/s 8989.0 MB/s 9,572.6 MB/s, 10,459.3 MB/s 9,949.4 MB/s
— memset 13755.9 MB/s 12881.2 MB/s 8,552.2 MB/s 10,665.4 MB/s 8,991.6 MB/s
— 7-zip (average) 14,030 13,230 10,680 13,940 17,615
— 7-zip (top result) 14,056 13,270 12,324 13,976 20,002
— OpenSSL AES-256 16K 1303565.65k 1302822.91k 1,232,743.08k 1,233,283.75k 1,377,211.73k
Geekbench 6 Single 1,332 1,251 1,243 1,213 1,177 (Geekbench 5)
Geekbench 6 Multi 3,429 3,141 3,189 3,272 4,856 (Geekbench 5)
Unigine Heaven score 433 404 294 303 451
Speedometer 2.0 (Firefox) 164 152 146 149 N/A

ODROID-H4 Plus демонстрирует значительно более высокую производительность по сравнению с другими четырехъядерными системами на Alder Lake-N. Более высокая пропускная способность памяти, вероятно, обусловлена использованием модуля Samsung 32GB DDR5-5600 SO-DIMM. Обратите внимание, что это пользовательская память, и для достижения аналогичного уровня производительности потребуется аналогичный тип RAM. Результат в 7-zip также заметно выше и увеличивается с каждым прогоном (13984 -> 14045 -> 14056), что свидетельствует об эффективном охлаждении и возможном влиянии кэширования. Восьмиядерный мини-ПК Weibu N10 остается быстрее в этом многопоточном тесте. Сравнение не совсем справедливо, так как ODROID-H4 Plus — это более крупная система с активным охлаждением, отсутствующим в других мини-ПК. Geekbench 6 подтверждает отличную однопоточную и многопоточную производительность системы. Графика также показывает хорошие результаты для бюджетного SoC с интегрированным GPU.

Тестирование не завершено: дополнительные тесты производительности с включенным IBECC и в бесшумном режиме будут проведены после извлечения платы из корпуса ближе к концу обзора.

Тестирование накопителей

Платы ODROID-H4 не комплектуются накопителями, поэтому тестирование интерфейсов проводилось с дисками, не использующими максимальную пропускную способность.

Начнем с NVMe SSD ( MAKERDISK 128GB drive ) с заявленной скоростью чтения 1 800 МБ/с и записи 560 МБ/с:

jaufranc@ODROID-H4-CNX:~$ sudo iozone -e -I -a -s 1000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
	Iozone: Performance Test of File I/O
	        Version $Revision: 3.506 $
		Compiled for 64 bit mode.
		Build: linux-AMD64 

                                                                    random    random      bkwd     record     stride                                        
              kB  reclen    write    rewrite      read    reread      read     write      read    rewrite       read    fwrite  frewrite     fread   freread
         1024000       4    159418    269909    111528    111859     54083    240251                                                                
         1024000      16    476668    646944    159372    160563    165040    596690                                                                
         1024000     512   2067408   2065507    969863    974640    970443   1898867                                                                
         1024000    1024   2021430   2127022   1319260   1323195   1312995   2066323                                                                
         1024000   16384   2038895   2090161   1867325   1865182   1949199   2103941                                                                

iozone test complete.

Скорость записи вызывает вопросы (около 2 000 МБ/с), если только Cytron не указал неверные характеристики для своих накопителей. Однако скорость чтения соответствует заявленной (1 867 325 КБ/с или 1 823 МБ/с).

Далее протестируем три из четырех интерфейсов SATA. Два из них оснащены HDD с ожидаемой производительностью около 100 МБ/с, а третий — бюджетным SSD SATA, который ранее тестировался в мини-ПК MINIX NEO Z100-0dB с показателями ~252 МБ/с на чтение и ~144 МБ/с на запись.

/dev/sda2 (SATA HDD – раздел EXT-4):

jaufranc@ODROID-H4-CNX:/media/jaufranc/9e1084f6-dfda-4fad-9b71-20062c0507e5$ sudo iozone -e -I -a -s 100M -r 16384k -i 0 -i 1
                                                                    random    random      bkwd     record     stride                                        
              kB  reclen    write    rewrite      read    reread      read     write      read    rewrite       read    fwrite  frewrite     fread   freread
          102400   16384     97879     99553    104155    106871

/dev/sdb1 (SATA SSD – раздел exFAT):

jaufranc@ODROID-H4-CNX:/media/jaufranc/New Volume$ sudo iozone -e -I -a -s 100M -r 16384k -i 0 -i 1
                                                                    random    random      bkwd     record     stride                                        
              kB  reclen    write    rewrite      read    reread      read     write      read    rewrite       read    fwrite  frewrite     fread   freread
          102400   16384    143925    131966    237566    240040

/dev/sdc2 (SATA HDD – раздел EXT-4):

aufranc@ODROID-H4-CNX:/media/jaufranc/NEWHOPE$ sudo iozone -e -I -a -s 100M -r 16384k -i 0 -i 1
                                                                    random    random      bkwd     record     stride                                        
              kB  reclen    write    rewrite      read    reread      read     write      read    rewrite       read    fwrite  frewrite     fread   freread
          102400   16384    135256    134341    136123    141541

Все результаты соответствуют ожиданиям для используемых накопителей.

Тестирование производительности и стабильности 2.5GbE

Проверим скорость работы 2.5GbE на обоих портах RJ45 с помощью iperf3, используя UP Xtreme i11 Edge mini PC (192.168.31.12) на другом конце.

Левый порт RJ45:

  • Отдача
jaufranc@ODROID-H4-CNX:~$ iperf3 -t 60 -c 192.168.31.12 -i 10
Connecting to host 192.168.31.12, port 5201
[  5] local 192.168.31.150 port 52046 connected to 192.168.31.12 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-10.01  sec  2.74 GBytes  2.36 Gbits/sec    0    834 KBytes       
[  5]  10.01-20.01  sec  2.74 GBytes  2.35 Gbits/sec    1    652 KBytes       
[  5]  20.01-30.01  sec  2.74 GBytes  2.35 Gbits/sec    1    680 KBytes       
[  5]  30.01-40.01  sec  2.74 GBytes  2.35 Gbits/sec   23    626 KBytes       
[  5]  40.01-50.01  sec  2.74 GBytes  2.35 Gbits/sec  216    625 KBytes       
[  5]  50.01-60.01  sec  2.74 GBytes  2.35 Gbits/sec    0    840 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.01  sec  16.4 GBytes  2.35 Gbits/sec  241             sender
[  5]   0.00-60.10  sec  16.4 GBytes  2.35 Gbits/sec                  receiver

iperf Done.

  • Загрузка
jaufranc@ODROID-H4-CNX:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 -R
Connecting to host 192.168.31.12, port 5201
Reverse mode, remote host 192.168.31.12 is sending
[  5] local 192.168.31.150 port 57652 connected to 192.168.31.12 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  10.01-20.01  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  20.01-30.01  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  30.01-40.01  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  40.01-50.01  sec  2.74 GBytes  2.35 Gbits/sec                  
[  5]  50.01-60.01  sec  2.74 GBytes  2.35 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.06  sec  16.4 GBytes  2.35 Gbits/sec    1             sender
[  5]   0.00-60.01  sec  16.4 GBytes  2.35 Gbits/sec                  receiver

iperf Done.

  • Полный дуплекс (двунаправленный)
jaufranc@ODROID-H4-CNX:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 --bidir
Connecting to host 192.168.31.12, port 5201
[  5] local 192.168.31.150 port 41682 connected to 192.168.31.12 port 5201
[  7] local 192.168.31.150 port 41692 connected to 192.168.31.12 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-10.01  sec  2.74 GBytes  2.35 Gbits/sec    0    897 KBytes       
[  7][RX-C]   0.00-10.01  sec  2.73 GBytes  2.34 Gbits/sec                  
[  5][TX-C]  10.01-20.01  sec  2.73 GBytes  2.35 Gbits/sec    0   1.30 MBytes       
[  7][RX-C]  10.01-20.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  20.01-30.01  sec  2.73 GBytes  2.35 Gbits/sec    0   1.30 MBytes       
[  7][RX-C]  20.01-30.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  30.01-40.01  sec  2.73 GBytes  2.35 Gbits/sec    0   1.30 MBytes       
[  7][RX-C]  30.01-40.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  40.01-50.01  sec  2.73 GBytes  2.35 Gbits/sec    0   1.30 MBytes       
[  7][RX-C]  40.01-50.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  50.01-60.01  sec  2.73 GBytes  2.35 Gbits/sec    0   1.30 MBytes       
[  7][RX-C]  50.01-60.01  sec  2.73 GBytes  2.35 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-60.01  sec  16.4 GBytes  2.35 Gbits/sec    0             sender
[  5][TX-C]   0.00-60.04  sec  16.4 GBytes  2.35 Gbits/sec                  receiver
[  7][RX-C]   0.00-60.01  sec  16.4 GBytes  2.35 Gbits/sec    1             sender
[  7][RX-C]   0.00-60.04  sec  16.4 GBytes  2.35 Gbits/sec                  receiver

iperf Done.

Отличный результат! Поскольку левый порт работает корректно, перейдем сразу к тестированию полного дуплекса на правом порту RJ45:

jaufranc@ODROID-H4-CNX:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 --bidir 
Connecting to host 192.168.31.12, port 5201
[  5] local 192.168.31.149 port 48584 connected to 192.168.31.12 port 5201
[  7] local 192.168.31.149 port 48586 connected to 192.168.31.12 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-10.01  sec  2.74 GBytes  2.35 Gbits/sec    0    816 KBytes       
[  7][RX-C]   0.00-10.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  10.01-20.01  sec  2.73 GBytes  2.35 Gbits/sec    0    816 KBytes       
[  7][RX-C]  10.01-20.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  20.01-30.01  sec  2.73 GBytes  2.35 Gbits/sec    0   1.18 MBytes       
[  7][RX-C]  20.01-30.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  30.01-40.01  sec  2.73 GBytes  2.35 Gbits/sec    0   1.75 MBytes       
[  7][RX-C]  30.01-40.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  40.01-50.01  sec  2.73 GBytes  2.35 Gbits/sec    0   1.75 MBytes       
[  7][RX-C]  40.01-50.01  sec  2.73 GBytes  2.35 Gbits/sec                  
[  5][TX-C]  50.01-60.01  sec  2.73 GBytes  2.35 Gbits/sec  1027   1.20 MBytes       
[  7][RX-C]  50.01-60.01  sec  2.73 GBytes  2.35 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-60.01  sec  16.4 GBytes  2.35 Gbits/sec  1027             sender
[  5][TX-C]   0.00-60.05  sec  16.4 GBytes  2.35 Gbits/sec                  receiver
[  7][RX-C]   0.00-60.01  sec  16.4 GBytes  2.35 Gbits/sec    0             sender
[  7][RX-C]   0.00-60.05  sec  16.4 GBytes  2.35 Gbits/sec                  receiver

iperf Done.

Все в порядке.

Обычно на этом тестирование Ethernet завершается, но многие отмечают потенциальную проблему с контроллерами Intel 2.5GbE при включенном ASPM и низкой/отсутствующей нагрузке. Hardkernel успешно протестировали эту конфигурацию на ODROID-H4 в течение 400+ часов с пингом Google каждые 30 минут. На ODROID-H4+ с интервалом пинга 2 секунды первый тест завершился ошибкой через 6 часов, возможно, из-за плохого соединения кабеля (требуется проверка).

Но для уверенности повторим тест на ODROID-H4 в течение 24+ часов с пингом cnx-software.com каждые 10 секунд. Сначала убедимся, что ASPM включен:

jaufranc@ODROID-H4-CNX:~$ sudo lspci -vvPPDq | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)?( \w+)? ?((En|Dis)abled)?)';
0000:00:1c.0 PCI bridge: Intel Corporation Device 54ba (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.3 PCI bridge: Intel Corporation Device 54bb (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.6 PCI bridge: Intel Corporation Device 54be (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1d.0 PCI bridge: Intel Corporation Device 54b0 (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.0/01:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.3/02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.6/03:00.0 SATA controller: ASMedia Technology Inc. ASM1064 Serial ATA Controller (rev 02) (prog-if 01 [AHCI 1.0])
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1d.0/04:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5013-E13 PCIe3 NVMe Controller (DRAM-less) (rev 01) (prog-if 02 [NVM Express])
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+

Полный вывод команды lspci доступен на pastebin . Ключевой момент — активированный ASPM. Запустим пинг CNX Software каждые 60 секунд через правый порт RJ45, подключенный к коммутатору TP-Link 2.5GbE, используя следующий скрипт:

#!/bin/bash
while true
do
    CUR=`date '+%m/%d %H:%M:%S'`
    PING=`/usr/bin/ping -c 1 cnx-software.com`
    echo ${CUR} ${PING} | tee --append ping.log
    sleep 60
done

Проблем с соединением во время теста не возникло:

jaufranc@ODROID-H4-CNX:~$ time ./ping-cnx.sh 
05/21 18:27:27 PING cnx-software.com (104.21.91.125) 56(84) bytes of data. 64 bytes from 104.21.91.125: icmp_seq=1 ttl=54 time=10.8 ms --- cnx-software.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 10.835/10.835/10.835/0.000 ms
05/21 18:28:27 PING cnx-software.com (104.21.91.125) 56(84) bytes of data. 64 bytes from 104.21.91.125: icmp_seq=1 ttl=54 time=11.0 ms --- cnx-software.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 11.029/11.029/11.029/0.000 ms

...
05/22 20:00:21 PING cnx-software.com (172.67.219.78) 56(84) bytes of data. 64 bytes from 172.67.219.78: icmp_seq=1 ttl=54 time=12.7 ms --- cnx-software.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 12.659/12.659/12.659/0.000 ms
05/22 20:01:21 PING cnx-software.com (172.67.219.78) 56(84) bytes of data. 64 bytes from 172.67.219.78: icmp_seq=1 ttl=54 time=13.0 ms --- cnx-software.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 12.958/12.958/12.958/0.000 ms
05/22 20:02:21 PING cnx-software.com (172.67.219.78) 56(84) bytes of data. 64 bytes from 172.67.219.78: icmp_seq=1 ttl=54 time=13.4 ms --- cnx-software.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 13.386/13.386/13.386/0.000 ms
^C

real	1535m19.376s
user	0m5.146s
sys	0m15.628s

Изменение IP-адреса ожидаемо, так как CNX Software использует Cloudflare.

На ODROID-H4 Plus настроены два SAMBA-ресурса: на NVMe SSD и SATA SSD (последний недостаточно быстр для насыщения 2.5GbE-канала). Доступ к ним осуществлялся с UP Xtreme i11 mini PC:

devkit@UPX-i11:~$ smbclient -L //192.168.31.149
Password for [WORKGROUP\devkit]:

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	NVME-SHARE      Disk      Samba share on NVMe SSD
	SATA-SSD-SHARE  Disk      Samba share on SATA SSD
	IPC$            IPC       IPC Service (ODROID-H4-CNX server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.
smbXcli_negprot_smb1_done: No compatible protocol selected by server.
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
Unable to connect with SMB1 -- no workgroup available

devkit@UPX-i11:~$ sudo mount -t cifs -o username=jaufranc //192.168.31.149/NVME-SHARE samba-mnt1
Password for jaufranc@//192.168.31.149/NVME-SHARE: ********** 
devkit@UPX-i11:~$ sudo mount -t cifs -o username=jaufranc //192.168.31.149/SATA-SSD-SHARE samba-mnt2
Password for jaufranc@//192.168.31.149/SATA-SSD-SHARE: **********

Скопируем образ Ubuntu 24.04 Desktop (5.7 ГБ) на каждый ресурс:

jaufranc@ODROID-H4-CNX:/$ ls -lh ~/sambashare/
total 5.7G
-rwxr-xr-x 1 jaufranc jaufranc 5.7G May 25 10:31 ubuntu-24.04-desktop-amd64.iso

и перенесем файл в /dev/null с каждого ресурса:

devkit@UPX-i11:~$ time cp samba-mnt1/ubuntu-24.04-desktop-amd64.iso /dev/null

real	0m20,809s
user	0m0,012s
sys	0m2,345s

devkit@UPX-i11:~$ time cp samba-mnt2/ubuntu-24.04-desktop-amd64.iso /dev/null

real	0m20,796s
user	0m0,000s
sys	0m2,470s

Схожие результаты: ~280 МБ/с (2 240 Мбит/с). Для NVMe SSD это ожидаемо, но не для SATA SSD (тесты iozone показывали ~240 МБ/с на чтение). Дело в кэшировании — 32 ГБ ОЗУ легко вмещают два файла по 5.7 ГБ. Перезагрузим систему и повторим тест:

devkit@UPX-i11:~$ time cp samba-mnt2/ubuntu-24.04-desktop-amd64.iso /dev/null

real	0m23,420s
user	0m0,012s
sys	0m2,455s

Скорость немного снизилась до ~249 МБ/с (1 991 Мбит/с), но осталась на хорошем уровне.

Стресс-тест и температура CPU

Проведем стресс-тест, отслеживая температуру процессора Intel N97 (4 ядра) в корпусе Type 3 для ODROID H4 Plus.

ODROID-H4 Plus Stress Test CPU Temperature

Максимальная температура CPU достигла 57°C, стабилизировавшись на 54-55°C в режиме «Unlimited Performance». По данным sbc-bench.sh, частота CPU составила 2 900 МГц. Температура в простое: 37-39°C при комнатной температуре ~28°C. Для сравнения, компактный мини-ПК Blackview MP80 (N97) нагревался до 79°C при той же частоте 2 900 МГц. Позже повторим тест на ODROID-H4 Plus в «fanless SBC»-режиме.

Тестирование ECC-памяти

Поддержка ECC-памяти редко встречается в бюджетных решениях, но Hardkernel модифицировали BIOS для добавления IBECC (In-band ECC). Проверим ее влияние на систему.

Проверим вывод команды free до изменений:

jaufranc@ODROID-H4-CNX:~$ free
               total        used        free      shared  buff/cache   available
Mem:        32605440     3233088    21553464      726936     8985416    29372352
Swap:        8388604           0     8388604

В BIOS перейдем в Chipset -> System Agent (SA) Configuration -> Memory Configuration. Параметр In-Band ECC Support изначально установлен в Disabled .

BIOS In-Band ECC Support Disabled

После активации появится опция «In-Band ECC Operation Mode» со значением по умолчанию 2 («Защищать все запросы и игнорировать проверки диапазона»).

ODROID-H4 Plus enable ECC BIOS

Снова проверим free в Ubuntu 24.04:

jaufranc@ODROID-H4-CNX:~$ free
               total        used        free      shared  buff/cache   available
Mem:        31573252     1155248    30110668      100112      787824    30418004
Swap:        8388604           0     8388604

Объем памяти уменьшился с 32 605 440 до 31 573 252 КБ (~3.16%, что близко к 1/32 (0.03125) из-за добавления бита четности. Для пользователя другие изменения незаметны. Теоретически, ошибки ECC можно отслеживать через rasdaemon:

jaufranc@ODROID-H4-CNX:~$ sudo apt install rasdaemon
jaufranc@ODROID-H4-CNX:~$ ras-mc-ctl --error-count
Label             	CE	UE
MC#0_Chan#1_DIMM#0	0	0
MC#0_Chan#0_DIMM#0	0	0

CE — исправимые ошибки, UE — неисправимые. Проверить это сложно без оборудования для генерации битовых переворотов в RAM, а программные методы для этого неочевидны

Запустим бенчмарки для оценки влияния на производительность: sbc-bench.sh, Geekbench 6.3 и Unigine Heaven Benchmark 4.0 (чувствителен к пропускной способности памяти).

jaufranc@ODROID-H4-CNX:~$ sudo ./sbc-bench.sh -r
[sudo] password for jaufranc: 
Starting to examine hardware/software for review purposes...

sbc-bench v0.9.65

Installing needed tools: distro packages already installed. Done.
Checking cpufreq OPP. Done.
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Throttling test: heating up the device, 5 more minutes to wait. Done.
Checking cpufreq OPP again. Done (10 minutes elapsed).

Results validation:

  * Measured clockspeed not lower than advertised max CPU clockspeed
  * No swapping
  * Background activity (%system) OK
  * Powercap detected. Details: "sudo powercap-info -p intel-rapl" -> https://tinyurl.com/4jh9nevj

# HARDKERNEL ODROID-H4 1.0 / N97

Tested with sbc-bench v0.9.65 on Sat, 25 May 2024 11:53:45 +0700.

### General information:

    Information courtesy of cpufetch:
    
    Name:                Intel(R) N97
    Microarchitecture:   Alder Lake
    Technology:          10nm
    Max Frequency:       3.600 GHz
    Cores:               4 cores
    AVX:                 AVX,AVX2
    FMA:                 FMA3
    L1i Size:            64KB (256KB Total)
    L1d Size:            32KB (128KB Total)
    L2 Size:             2MB
    L3 Size:             6MB
    
    N97, Kernel: x86_64, Userland: amd64
    
    CPU sysfs topology (clusters, cpufreq members, clockspeeds)
                     cpufreq   min    max
     CPU    cluster  policy   speed  speed   core type
      0        0        0      800    3600   Alder Lake
      1        0        1      800    3600   Alder Lake
      2        0        2      800    3600   Alder Lake
      3        0        3      800    3600   Alder Lake

30833 KB available RAM

### Policies (performance vs. idle consumption):

Status of performance related policies found below /sys:

    /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave

### Clockspeeds (idle vs. heated up):

Before at 44.0°C:

    cpu0: OPP: 3600, Measured: 3587 

After at 54.0°C:

    cpu0: OPP: 3600, Measured: 3587 

### Performance baseline

  * memcpy: 11353.5 MB/s, memchr: 15874.7 MB/s, memset: 10534.9 MB/s
  * 16M latency: 126.8 116.0 126.7 116.1 126.4 108.9 114.8 123.4 
  * 128M latency: 137.2 133.2 137.3 134.0 140.6 131.6 136.1 139.5 
  * 7-zip MIPS (3 consecutive runs): 13598, 13680, 13698 (13660 avg), single-threaded: 3991
  * `aes-256-cbc     943324.85k  1247326.19k  1289378.73k  1300250.28k  1303426.39k  1302528.00k`
  * `aes-256-cbc     955762.86k  1246891.97k  1289397.50k  1300363.95k  1297640.11k  1303767.72k`

### PCIe and storage devices:

  * Intel Ethernet I226-V: Speed 5GT/s, Width x1, driver in use: igc, 
  * Intel Ethernet I226-V: Speed 5GT/s, Width x1, driver in use: igc, 
  * ASMedia ASM1064 Serial ATA: Speed 8GT/s, Width x1, driver in use: ahci, 
  * 119.2GB "PCIe SSD" SSD as /dev/nvme0: Speed 8GT/s, Width x4, 0% worn out, drive temp: 36°C, ASPM Disabled
  * 931.5GB "Toshiba TOSHIBA MQ01ABD100" HDD as /dev/sda: SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s), drive temp: 37°C
  * 118GB "CJ225128TC" SSD as /dev/sdb: SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s), drive temp: 40°C
  * 931.5GB "Toshiba TOSHIBA HDWL110" HDD as /dev/sdc: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s), drive temp: 36°C
  * Winbond W25Q128JV 16MB SPI NOR flash, drivers in use: spi-nor/intel-spi

### Challenging filesystems:

The following partitions are NTFS: sdc3 -> https://tinyurl.com/mv7wvzct

### Swap configuration:

  * /swap.img on /dev/nvme0n1p2: 8.0G (0K used)

### Software versions:

  * Ubuntu 24.04 LTS (noble)
  * Compiler: /usr/bin/gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0 / x86_64-linux-gnu
  * OpenSSL 3.0.13, built on 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)    

### Kernel info:

  * `/proc/cmdline: BOOT_IMAGE=/boot/vmlinuz-6.8.0-31-generic root=UUID=9c6e490c-bb54-4870-8aaa-08fc8ac455c4 ro quiet splash vt.handoff=7`
  * Vulnerability Reg file data sampling: Mitigation; Clear Register File
  * Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  * Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  * Kernel 6.8.0-31-generic / CONFIG_HZ=1000

Waiting for the device to cool down............. 37.0°C^C

Geekbench 6.3 (запущен через sbc-bench.sh):

jaufranc@ODROID-H4-CNX:~$ sudo ./sbc-bench.sh -G

ODROID-H4 Plus Geekbench ECC IBECC

Средние результаты двух прогонов: 1 305 (однопоточный) и 3 266 (многопоточный). Полные данные доступны на сайте Geekbench .

ODROID-H4 Plus ECC memory Unigine Heaven Benchmark 4.0

Сравним с результатами при отключенном IBECC (режим «Unlimited Performance»).

ODROID-H4 Plus
IBECC disabled
ODROID-H4 Plus
IBECC enabled
Delta
sbc-bench.sh
— memcpy 12400.1 MB/s 11,353.5 MB/s -8.44%
— memset 13755.9 MB/s 10534.9 MB/s -23.38%
— 7-zip (average) 14,030 13,660 -2.64%
— 7-zip (top result) 14,056 13,698 -2.55%
— OpenSSL AES-256 16K 1303565.65k 1303767.72k +0.015%
Geekbench 6 Single 1,332 1,305 -2.03%
Geekbench 6 Multi 3,429 3,266 -4.75%
Unigine Heaven score 433 409 -5.54%

Как и ожидалось, сильнее всего пострадали тесты пропускной способности памяти. В обычных бенчмарках разница минимальна. Unigine Heaven показал снижение на ~5.5%.

Уровень шума вентилятора в корпусе H4 Type 3

Хотя ODROID-H4 — это плата без вентилятора, в корпусе Type 3 установлен крупный вентилятор на верхней панели. До перехода в «Unlimited Performance»-режим вентилятор периодически включался/выключался в простое и мог оставаться выключенным в прохладных помещениях. Сейчас он работает постоянно, даже после закрытия всех программ. Шум заметен на расстоянии ~2 метров как в простое, так и под нагрузкой.

Измерим уровень шума шумомером на расстоянии ~5 см от корпуса:

  • Простой (вентилятор активен) — 46–47 дБА
  • Стресс-тест (4 ядра) — 46–47 дБА

Фоновый уровень в тихой комнате: 37.5–38.5 дБА.

Это показатели при настройках по умолчанию. Поведение вентилятора можно настроить программно , учитывая значительный запас по температуре CPU.

Потребление энергии ODROID-H4 Plus (режим «Multimedia NAS»)

Измерим энергопотребление ODROID-H4 Plus в корпусе. Система остается в режиме «Unlimited Performance» с включенным IBECC. Тестируем конфигурацию «мультимедийного NAS» с SATA-накопителями, 2.5GbE, HDMI-дисплеем и двумя RF-адаптерами (беспроводные клавиатура/мышь).

  • Выключен — 0.4–0.5 Вт
  • Простой
    • 8.3–8.4 Вт (Вентилятор выключен)
    • 10.5–10.9 Вт (Вентилятор активен)
    • Примечание: в моих условиях вентилятор работает большую часть времени.
  • Передача файлов (SAMBA SATA SSD) – 15.9-16.5 Вт
  • Воспроизведение видео – 19.4 – 22.5 Вт (YouTube 8K60fps в Firefox)
  • Тест нагрузки на CPU (stress -c 4) – 24.4 -24.8 Вт

Теперь последовательно отключим некоторые компоненты для измерения энергопотребления в режиме простоя (вентилятор выключен):

  • Отключение HDMI – 7.3 -7.4 Вт
  • Отключение USB RF-донглов – 6.3 – 6.4 Вт
  • Отключение Ethernet-кабеля – 5.5 – 5.6 Вт

Далее перейдем в BIOS и отключим режим Unlimited Performance (PL4=0), но сначала проверим, активирован ли ASPM для всех устройств:

jaufranc@ODROID-H4-CNX:~$ sudo lspci -vv | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:.]+|ASPM )'
[sudo] password for jaufranc: 
00:1c.0 PCI bridge: Intel Corporation Device 54ba (prog-if 00 [Normal decode])
		LnkCap:	Port #3, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1c.3 PCI bridge: Intel Corporation Device 54bb (prog-if 00 [Normal decode])
		LnkCap:	Port #4, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1c.6 PCI bridge: Intel Corporation Device 54be (prog-if 00 [Normal decode])
		LnkCap:	Port #7, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1d.0 PCI bridge: Intel Corporation Device 54b0 (prog-if 00 [Normal decode])
		LnkCap:	Port #9, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
		LnkCap:	Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <4us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
		LnkCap:	Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <4us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
03:00.0 SATA controller: ASMedia Technology Inc. ASM1064 Serial ATA Controller (rev 02) (prog-if 01 [AHCI 1.0])
		LnkCap:	Port #0, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
04:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5013-E13 PCIe3 NVMe Controller (DRAM-less) (rev 01) (prog-if 02 [NVM Express])
		LnkCap:	Port #1, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 unlimited
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+

Похоже, ASPM активирован для всех устройств. В BIOS установлен PL4=30000 и отключен IBECC. Затем проверено энергопотребление в режиме простоя с теми же подключенными периферийными устройствами:

  • Режим простоя (вентилятор выключен) – 8.8 – 8.9 Вт
  • Режим простоя (вентилятор активен) – 9.0 – 9.1 Вт
  • Отключение HDMI – 7.2 – 7.4 Вт (вентилятор выключен)
  • Отключение USB RF-донглов – 6.3 – 6.4 Вт (вентилятор выключен)

Разница незначительна, за исключением режима с активным вентилятором, где возможно снижение скорости вращения…

Одноплатный компьютер без вентилятора – тесты производительности, энергопотребление и проверка GPIO

До этого момента рассматривался ODROID-H4 Plus в корпусе H4 Type 3 с активным охлаждением. Теперь плата будет извлечена из корпуса для работы без вентилятора, а в BIOS снова установлен PL4=0 перед проведением тестов, проверкой температурного режима, измерением энергопотребления и быстрой проверкой контактов GPIO-разъема.

Потребовалась переустановка Ubuntu 24.04 на ODROID-H4 Plus, так как EFI-раздел находился на одном из SATA-накопителей. В первый раз не удалось выбрать NVMe SSD из-за того, что EFI-файлы превышали 1 ГБ, а свободного места было недостаточно…

Ubuntu 24.04 manual partitioning FAT32 EFI

На этот раз диск был полностью очищен, и раздел загрузчика создан перед созданием раздела rootfs.

ODROID-H4 Plus Intel Processor N97 fanless SBC with Ubuntu 22.04

Тесты ODROID-H4 Plus в режиме без вентилятора

Проведем те же тесты в режиме без вентилятора.

jaufranc@ODROID-H4-CNX:~$ sudo ./sbc-bench.sh -r
Starting to examine hardware/software for review purposes...

sbc-bench v0.9.66

Installing needed tools: apt-get -f -qq -y install gcc make build-essential lm-sensors powercap-utils curl git links mmc-utils smartmontools stress-ng, p7zip 16.02, tinymembench, ramlat, mhz, cpufetch, cpuminer. Done.
Checking cpufreq OPP. Done.
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Throttling test: heating up the device, 5 more minutes to wait. Done.
Checking cpufreq OPP again. Done (10 minutes elapsed).

Results validation:

  * Measured clockspeed not lower than advertised max CPU clockspeed
  * No swapping
  * Background activity (%system) OK
  * Powercap detected. Details: "sudo powercap-info -p intel-rapl" -> https://tinyurl.com/4jh9nevj

# HARDKERNEL ODROID-H4 1.0 / N97

Tested with sbc-bench v0.9.66 on Sat, 25 May 2024 17:11:35 +0700.

### General information:

    Information courtesy of cpufetch:
    
    Name:                Intel(R) N97
    Microarchitecture:   Alder Lake
    Technology:          10nm
    Max Frequency:       3.600 GHz
    Cores:               4 cores
    AVX:                 AVX,AVX2
    FMA:                 FMA3
    L1i Size:            64KB (256KB Total)
    L1d Size:            32KB (128KB Total)
    L2 Size:             2MB
    L3 Size:             6MB
    
    N97, Kernel: x86_64, Userland: amd64
    
    CPU sysfs topology (clusters, cpufreq members, clockspeeds)
                     cpufreq   min    max
     CPU    cluster  policy   speed  speed   core type
      0        0        0      800    3600       -
      1        0        1      800    3600       -
      2        0        2      800    3600       -
      3        0        3      800    3600       -

31841 KB available RAM

### Policies (performance vs. idle consumption):

Status of performance related policies found below /sys:

    /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave

### Clockspeeds (idle vs. heated up):

Before at 61.0°C:

    cpu0: OPP: 3600, Measured: 3587 

After at 87.0°C:

    cpu0: OPP: 3600, Measured: 3587 

### Performance baseline

  * memcpy: 12347.0 MB/s, memchr: 18861.7 MB/s, memset: 13637.3 MB/s
  * 16M latency: 107.0 96.78 107.2 97.14 106.1 91.04 92.47 96.34 
  * 128M latency: 117.1 111.1 117.3 111.2 116.8 111.0 107.6 111.1 
  * 7-zip MIPS (3 consecutive runs): 13996, 14030, 13926 (13980 avg), single-threaded: 4156
  * `aes-256-cbc     942131.38k  1247398.53k  1289545.64k  1300334.25k  1303486.46k  1302593.54k`
  * `aes-256-cbc     951613.39k  1247000.30k  1289383.42k  1300343.81k  1302405.12k  1303876.95k`

### PCIe and storage devices:

  * Intel Ethernet I226-V: Speed 5GT/s, Width x1, driver in use: igc, 
  * Intel Ethernet I226-V: Speed 5GT/s, Width x1, driver in use: igc, 
  * ASMedia ASM1064 Serial ATA: Speed 8GT/s, Width x1, driver in use: ahci, 
  * 119.2GB "PCIe SSD" SSD as /dev/nvme0: Speed 8GT/s, Width x4, 0% worn out, unhealthy drive temp: 61°C, ASPM Disabled
  * Winbond W25Q128JV 16MB SPI NOR flash, drivers in use: spi-nor/intel-spi

"smartctl -x /dev/nvme0" could be used to get further information about the reported issues.

### Swap configuration:

  * /swap.img on /dev/nvme0n1p2: 8.0G (0K used)

### Software versions:

  * Ubuntu 24.04 LTS (noble)
  * Compiler: /usr/bin/gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0 / x86_64-linux-gnu
  * OpenSSL 3.0.13, built on 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)    

### Kernel info:

  * `/proc/cmdline: BOOT_IMAGE=/boot/vmlinuz-6.8.0-31-generic root=UUID=f09bfb56-7068-4aa0-bc33-4fbb387f3778 ro quiet splash vt.handoff=7`
  * Vulnerability Reg file data sampling: Mitigation; Clear Register File
  * Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  * Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  * Kernel 6.8.0-31-generic / CONFIG_HZ=1000

Waiting for the device to cool down.......................................................................... 55.0°C

Температура значительно выше, чем с активным охлаждением, производительность немного ниже, а sbc-bench.sh также сообщает о высокой температуре NVMe SSD. Также отмечается, что ASPM отключен, как и ранее. После выполнения той же команды, что и в разделе энергопотребления, выяснилось, что ASPM отключен для всех устройств, так как sbc-bench.sh отключил его для повышения производительности:

jaufranc@ODROID-H4-CNX:~$ sudo lspci -vv | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:.]+|ASPM )'
00:1c.0 PCI bridge: Intel Corporation Device 54ba (prog-if 00 [Normal decode])
		LnkCap:	Port #3, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
00:1c.3 PCI bridge: Intel Corporation Device 54bb (prog-if 00 [Normal decode])
		LnkCap:	Port #4, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
00:1c.6 PCI bridge: Intel Corporation Device 54be (prog-if 00 [Normal decode])
		LnkCap:	Port #7, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
00:1d.0 PCI bridge: Intel Corporation Device 54b0 (prog-if 00 [Normal decode])
		LnkCap:	Port #9, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
		LnkCap:	Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <4us
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
		LnkCap:	Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <4us
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
03:00.0 SATA controller: ASMedia Technology Inc. ASM1064 Serial ATA Controller (rev 02) (prog-if 01 [AHCI 1.0])
		LnkCap:	Port #0, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
04:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5013-E13 PCIe3 NVMe Controller (DRAM-less) (rev 01) (prog-if 02 [NVM Express])
		LnkCap:	Port #1, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 unlimited
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+

Это повлияет на измерения энергопотребления, поэтому потребуется перезагрузка платы. Но продолжим тесты. Следующий – Geekbench 6.3:

sudo ./sbc-bench.sh -G

ODROID-H4 Plus Fanless SBC Geekbench 6.3

Результаты практически идентичны результатам с активным охлаждением, поэтому режим «Unlimited Performance» работает хорошо и без вентилятора, по крайней мере, для ODROID-H4 и ODROID-H4 Plus на процессоре N97, но ситуация может отличаться для ODROID-H4 Ultra на Core i3-N305. Полные результаты доступны на сайте Geekbench , а вывод sbc-bench.sh – на Pastebin .

Результаты Unigine Heaven Benchmark 4.0 немного снизились – 411 баллов.

Unigine Heaven Benchmark 4.0 ODROID H4 Plus Fanless

Однопоточный тест Speedometer 2.0 в браузере (Firefox) практически не изменился.

ODROID-H4 Plus Fanless Speedometer 2.0 Benchmark

ODROID-H4 Plus
Active cooling
ODROID-H4 Plus
Fanless
Delta
sbc-bench.sh
— memcpy 12400.1 MB/s 12347.0 MB/s -0.42%
— memset 13755.9 MB/s 13637.3 MB/s -0.86%
— 7-zip (average) 14,030 13980 -0.35%
— 7-zip (top result) 14,056 14030 -0.18%
— OpenSSL AES-256 16K 1303565.65k 1303876.95k +0.023%
Geekbench 6 Single 1,332 1326 -0.45%
Geekbench 6 Multi 3,429 3425 -0.12%
Unigine Heaven score 433 411 -5.08%
Speedometer 2.0 (Firefox) 164 163 -0.61%

Сводка результатов показывает, что ODROID-H4 Plus без вентилятора работает так же хорошо, как и в корпусе с активным охлаждением, за исключением 3D-графики, где система теряет около 5% производительности в Unigine Heaven Benchmark 4.0.

Тест нагрузки

Повторим тест нагрузки в Ubuntu 24.04 и проверим температуру CPU в режиме без вентилятора.

Fanless stress test ODROID-H4 Plus Ubuntu 24.04

Как и ожидалось, температура значительно выше, чем в корпусе, достигая 96°C, и через некоторое время начинается небольшое троттлинг с постепенным снижением частоты CPU с 2900 МГц до 2500 МГц, где она стабилизируется при длительном тесте. Тест проводился при комнатной температуре около 27°C и в режиме «Unlimited Performance».

Энергопотребление ODROID-H4 Plus

После удаления трех SATA-накопителей и вентилятора энергопотребление может быть ниже. После перезагрузки проведены повторные измерения с теми же аксессуарами (HDMI-дисплей, Ethernet и 2 RF-донгла).

  • Выключенное состояние – 0.4 Вт (Примечание: на плате горит красный светодиод, а на блоке питания – зеленый, что может немного влиять на энергопотребление)
  • Режим простоя – 7.0 – 7.1 Вт
  • Воспроизведение видео – 17.1 – 20.6 Вт (YouTube 8K60fps в Firefox)
  • Тест нагрузки на CPU (stress -c 4) – 24.0 – 24.5 Вт

Подтверждено, что ASPM активирован:

jaufranc@ODROID-H4-CNX:~$ sudo lspci -vv | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:.]+|ASPM )'
[sudo] password for jaufranc: 
00:1c.0 PCI bridge: Intel Corporation Device 54ba (prog-if 00 [Normal decode])
		LnkCap:	Port #3, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1c.3 PCI bridge: Intel Corporation Device 54bb (prog-if 00 [Normal decode])
		LnkCap:	Port #4, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1c.6 PCI bridge: Intel Corporation Device 54be (prog-if 00 [Normal decode])
		LnkCap:	Port #7, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1d.0 PCI bridge: Intel Corporation Device 54b0 (prog-if 00 [Normal decode])
		LnkCap:	Port #9, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
		LnkCap:	Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <4us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
		LnkCap:	Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <4us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
03:00.0 SATA controller: ASMedia Technology Inc. ASM1064 Serial ATA Controller (rev 02) (prog-if 01 [AHCI 1.0])
		LnkCap:	Port #0, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
04:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5013-E13 PCIe3 NVMe Controller (DRAM-less) (rev 01) (prog-if 02 [NVM Express])
		LnkCap:	Port #1, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 unlimited
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+

Вернемся к режиму простоя и последовательно отключим несколько компонентов:

  • Отключение HDMI – 5.6 – 5.7 Вт
  • Отключение USB RF-донглов – 4.6 – 4.7 Вт
  • Отключение 2.5GbE – 3.4 – 3.5 Вт

GPIO-разъем ODROID-H4 Plus

Платы ODROID-H4 оснащены 24-контактным GPIO-разъемом с 2x I2C, UART, HDMI CEC, 3x USB 2.0 и т.д…

ODROID-H4 GPIO header pinout

РаспиновкаИнструкции по использованию этих интерфейсов доступны в разделе примечаний на вики. Будет протестирован I2C0 с использованием OLED-дисплея на контроллере SSD1306. Сначала установим и запустим i2ctools для проверки подключения дисплея:

jaufranc@ODROID-H4-CNX:~$ sudo apt install i2c-tools
jaufranc@ODROID-H4-CNX:~$ sudo i2cdetect -y -r  0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Дисплей обнаружен по адресу 0x3c. Можно вывести текст, собрав и запустив проект SSD1306 OLED:

git clone https://github.com/armlabs/ssd1306_linux
cd ssd1306-linux
make -j 4
sudo ./ssd1306_bin -I 128x32
sudo ./ssd1306_bin -c
sudo ./ssd1306_bin -m "CNX Software\nODROID-H4+\nReview"

Успешно!

ODROID-H4 Plus I2C OLED

Каждый порт I2C может быть включен (по умолчанию) или отключен в BIOS, а скорость может быть установлена от 100 КГц до 3.4 МГц. Для этого перейдите в Chipset->PCH-IO Configuration->SerialIO Configuration в BIOS.

BIOS I2C settings Aptio Setup I2C speed

Заключение

ODROID-H4 Plus – это надежный одноплатный компьютер на Alder Lake-N, который обычно работает быстрее, чем аналогичные мини-ПК под управлением Ubuntu 22.04/24.04, благодаря эффективным решениям охлаждения (как активного, так и пассивного) и оптимизации в BIOS. Это также универсальная платформа с SATA-портами, которую легко превратить в полноценный NAS с четырьмя накопителями, используя различные корпуса. Hardkernel предлагает ряд аксессуаров. Энергопотребление немного ниже, чем у других систем, но, возможно, не настолько, как заявлено…

Недостатки включают немного большие габариты, отсутствие M.2-слота для беспроводных модулей (единственный вариант – USB-донглы для WiFi 5/6 и Bluetooth), а также более высокую цену по сравнению с аналогичными системами. Однако немногие системы предлагают четыре SATA-порта и GPIO-разъем, что может оправдывать цену за универсальность.

На этом всё. Благодарим Hardkernel за предоставленный комплект ODROID-H4+ для обзора. Читатели могут повторить эту конфигурацию, используя следующие компоненты:

  • Одноплатный компьютер ODROID-H4+ – $139
  • Корпус H4 Type 3 – $17
  • Блок питания 15В/4А – $9.40 (опция при заказе платы). Также подойдет блок питания для ноутбука 19В~20В. Важно проверить полярность.
  • SATA-кабели (данные и питание) –    $3 за комплект, или $12 всего
  • Батарейка для RTC – $2.50 (Примечание: возможно, включена по умолчанию, требуется уточнение).
  • Вентилятор охлаждения 92x92x15 мм PWM – $4
  • Память Samsung 32GB DDR5-5600 SO-DIMM – $95 на Hardkernel . Неплохая цена по сравнению с модулями Samsung 32GB DDR5-5600, продаваемыми на Amazon . Модули CRUCIAL немного дешевле.

Итоговая стоимость составит $278.90 плюс доставка, к которой нужно добавить M.2 SSD для ОС (если не использовать один из SATA-накопителей) и несколько SATA-дисков. Версия без вентилятора обойдется примерно в $245.9 плюс доставка.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments