В первой части обзора комплекта ODROID-H4+ были рассмотрены аппаратные характеристики и показана установка одноплатника Intel N97 в корпус H4 Type 3 с поддержкой до четырех 2.5-дюймовых SATA-накопителей. Теперь проведено тестирование ODROID-H4 Plus под управлением Ubuntu 24.04 как в конфигурации NAS-комплекта с активным охлаждением, так и в пассивном режиме работы. Во второй части представлены результаты бенчмарков, тесты 2.5GbE и накопителей, проверка воспроизведения видео 4K и 8K на YouTube, поддержка памяти IBECC, замеры энергопотребления и другие аспекты.
Установка Ubuntu 24.04 на ODROID-H4 Plus
Одноплатник ODROID-H4 Plus не поставляется с предустановленной ОС, так как не имеет встроенного хранилища. Ubuntu 24.04 была установлена на 128GB M.2 NVMe SSD, подключенный к плате. Процесс установки прошел относительно гладко, хотя в ретроспективе ОС следовало бы установить до монтажа платы в корпус вместе с SATA-накопителем, так как это несколько усложнило процедуру.
Сложность возникла из-за того, что два 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).
Дополнительные сведения можно получить через командную строку:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
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».
Как обычно, начнем со скрипта sbc-bench.sh от Thomas Kaiser:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
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 и большому охлаждающему вентилятору.
Также можно проверить лимит мощности.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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 четыре раза для проверки вариативности результатов.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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) тестов:
- SC: 1,331 баллов; MC: 3,413 баллов – См. полные результаты на сайте Geekbench
- SC: 1,332 балла; MC: 3,429 баллов – См. полные результаты на сайте Geekbench
- SC: 1,333 балла; MC: 3,438 баллов – См. полные результаты на сайте Geekbench
- SC: 1,332 балла; MC: 3,415 баллов – См. полные результаты на сайте Geekbench

Результаты в однопоточном режиме практически идентичны для всех четырех прогонов. В многопоточном режиме наблюдается больший разброс, но незначительный. После третьего прогона был сделан перерыв, и кондиционер был выключен. При работающем кондиционере температура в помещении составляла около 28°C, а без него постепенно повысилась до 30-31°C, что может объяснить небольшое снижение результата в последнем многопоточном тесте. Подробности, включая температуру CPU во время тестирования, доступны в полном логе SBC-bench .
Тестирование производительности GPU началось с Unigine Heaven Benchmark 4.0.
Результат составил 17.2 кадра в секунду и 433 балла при стандартном разрешении 1920×1080.
Дополнительно протестирована встроенная графика (iGPU) путем воспроизведения видео на YouTube в Firefox с разрешениями 4K и 8K.

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

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

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

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

8K 60 FPS в ChromeТестирование не заняло много времени, так как результат оказался катастрофическим: потеряно более 50% кадров, видео было невозможно смотреть. Наблюдалась 100% загрузка всех четырех ядер CPU. Проверка показала, что аппаратное ускорение декодирования видео было включено.
Быстрое тестирование с 4K 60 fps в Chrome показало такие же результаты, как и в Firefox. Проблема в Google Chrome возникает только с 8K 60 FPS, что для большинства пользователей неактуально. Обратите внимание, что и Firefox, и Chrome использовали кодек AV1 для всех тестируемых разрешений и частот кадров.
Для оценки производительности в Speedometer 2.0 снова использовался Firefox.
Результат составил 164 прогона в минуту. Тест был повторен в Google Chrome.
С результатом 198 прогонов в минуту Google Chrome оказался значительно быстрее Firefox в этом тесте.
Поскольку Speedometer 2.0 устаревает, также был запущен Speedometer 3.0 для сбора данных для будущих обзоров.
Mozilla Firefox
Новый результат выражен в баллах и не сопоставим с предыдущими. ODROID-H4 Plus набрал 8.15 баллов в Firefox под Ubuntu 24.04. Детализированное представление результатов стало более информативным.
Google 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 МБ/с:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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):
1 2 3 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):
1 2 3 4 |
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):
1 2 3 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:
- Отдача
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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. |
- Загрузка
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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. |
- Полный дуплекс (двунаправленный)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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 включен:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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, используя следующий скрипт:
1 2 3 4 5 6 7 8 |
#!/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 |
Проблем с соединением во время теста не возникло:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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 ГБ) на каждый ресурс:
1 2 3 |
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 с каждого ресурса:
1 2 3 4 5 6 7 8 9 10 11 |
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 ГБ. Перезагрузим систему и повторим тест:
1 2 3 4 5 |
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.
Максимальная температура 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 до изменений:
1 2 3 4 |
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 .
После активации появится опция «In-Band ECC Operation Mode» со значением по умолчанию 2 («Защищать все запросы и игнорировать проверки диапазона»).
Снова проверим free в Ubuntu 24.04:
1 2 3 4 |
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:
1 2 3 4 5 |
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 (чувствителен к пропускной способности памяти).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
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):
1 |
jaufranc@ODROID-H4-CNX:~$ sudo ./sbc-bench.sh -G |
Средние результаты двух прогонов: 1 305 (однопоточный) и 3 266 (многопоточный). Полные данные доступны на сайте Geekbench .
Сравним с результатами при отключенном 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 для всех устройств:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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 ГБ, а свободного места было недостаточно…
На этот раз диск был полностью очищен, и раздел загрузчика создан перед созданием раздела rootfs.
Тесты ODROID-H4 Plus в режиме без вентилятора
Проведем те же тесты в режиме без вентилятора.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
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 отключил его для повышения производительности:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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:
1 |
sudo ./sbc-bench.sh -G |
Результаты практически идентичны результатам с активным охлаждением, поэтому режим «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 баллов.
Однопоточный тест Speedometer 2.0 в браузере (Firefox) практически не изменился.
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 в режиме без вентилятора.
Как и ожидалось, температура значительно выше, чем в корпусе, достигая 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 активирован:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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 и т.д…

РаспиновкаИнструкции по использованию этих интерфейсов доступны в разделе примечаний на вики. Будет протестирован I2C0 с использованием OLED-дисплея на контроллере SSD1306. Сначала установим и запустим i2ctools для проверки подключения дисплея:
1 2 3 4 5 6 7 8 9 10 11 |
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:
1 2 3 4 5 6 |
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" |
Успешно!
Каждый порт I2C может быть включен (по умолчанию) или отключен в BIOS, а скорость может быть установлена от 100 КГц до 3.4 МГц. Для этого перейдите в Chipset->PCH-IO Configuration->SerialIO Configuration в BIOS.
Заключение
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.
Оригинал статьи вы можете прочитать здесь.