В первой части обзора комплекта ODROID-H4+ были рассмотрены аппаратные характеристики и показан процесс установки одноплатного компьютера Intel N97 в корпус H4 Type 3 с поддержкой до четырех 2.5-дюймовых SATA-накопителей. Теперь проведено тестирование ODROID-H4 Plus под управлением Ubuntu 24.04 как в конфигурации активного охлаждения NAS-комплекта, так и в пассивном режиме SBC. Вторая часть обзора включает результаты бенчмарков, тесты 2.5GbE и хранилищ, проверку воспроизведения видео YouTube в 4K и 8K, поддержку памяти IBECC, замеры энергопотребления и другие аспекты.
Установка Ubuntu 24.04 на ODROID-H4 Plus
Одноплатный компьютер ODROID-H4 Plus не поставляется с предустановленной ОС, поскольку в базовой комплектации отсутствует хранилище. Ubuntu 24.04 была установлена на 128 ГБ M.2 NVMe SSD, подключенный к плате. Процесс установки прошел относительно гладко, однако в ретроспективе установку ОС следовало выполнить до монтажа SBC в корпус вместе с SATA-накопителем, что несколько усложнило процедуру.
Два SATA-накопителя уже содержали установленную Ubuntu, поэтому пришлось переключиться на «Ручное разбиение», чтобы определить правильный целевой носитель — M.2 NVMe SSD. Этот накопитель ранее использовался для загрузки Raspberry Pi OS, поэтому его раздел был удален и создан заново для Ubuntu. По неизвестной причине M.2 накопитель не был доступен для установки загрузчика (возможно, из-за нехватки места, подробнее далее), поэтому был выбран один из жестких дисков. В результате Grub расположен на SATA-накопителе, а Ubuntu — на M.2. Не идеально, но для текущих целей приемлемо.
Системная информация 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-го поколения, который устанавливает максимальный лимит мощности на уровне пакета. Изначально предполагалось, что режим не активирован по умолчанию, но проверка раздела Advanced->CPU – Power Management Control в BIOS показала, что PL4 уже установлен в 0, что соответствует «Unlimited Performance».
Начнем со скрипта 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 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 (12 Вт) и PL2 (25 Вт). Hardkernel уточняет, что для Core i3-N305 в ODROID-H4 Ultra PL1 составит 15 Вт.
Geekbench 6 запускался четыре раза для оценки вариативности:
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 .
Тестирование графической производительности начато с Unigine Heaven Benchmark 4.0.
Результат: 17.2 кадр/с и 433 балла при стандартном разрешении 1920×1080.
Встроенный GPU (iGPU) протестирован воспроизведением видео YouTube в 4K и 8K через Firefox.

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

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

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

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

8K 60 FPS в ChromeТестирование прервано из-за катастрофического результата: более 50% пропущенных кадров, видео невозможно смотреть. Наблюдалась 100% загрузка всех четырех ядер, хотя аппаратное ускорение декодирования было включено.
4Kp60 в Chrome работает так же хорошо, как в Firefox. Проблема актуальна только для 8K 60 fps, что маловероятно для большинства пользователей. Оба браузера использовали кодек AV1 для всех разрешений и частот кадров.
Производительность веб-рендеринга оценена через Speedometer 2.0 в Firefox.
Результат: 164 прогона в минуту. Повторный тест в Google Chrome:
198 прогонов в минуту — Chrome значительно быстрее.
Поскольку Speedometer 2.0 устаревает, дополнительно запущен Speedometer 3.0 для будущих сравнений.
Mozilla Firefox
Новый результат выражен в баллах: ODROID-H4 Plus набрал 8.15 в Firefox под Ubuntu 24.04. Детализированное представление стало информативнее.
Google Chrome
Chrome подтверждает преимущество в веб-рендеринге с результатом 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, 24.04, Fedora 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. Результаты 7-zip также выше и улучшаются с повторными запусками (13984 -> 14045 -> 14056), что свидетельствует об эффективном охлаждении. Мини-ПК Weibu N10 с восемью ядрами сохраняет лидерство в многоядерных тестах. Сравнение не совсем объективно, поскольку ODROID-H4 Plus — более крупная система с активным охлаждением. Geekbench 6 подтверждает отличную одноядерную и многоядерную производительность. Графика также на хорошем уровне для бюджетного SoC.
Тестирование продолжается с включенным IBECC и в пассивном режиме после извлечения SBC из корпуса.
Тестирование хранилищ
Платы 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 МБ/с, а третий — бюджетным SATA SSD, который ранее тестировался в мини-ПК 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 с пингом cnx-software.com каждые 10 секунд в течение 24+ часов. Сначала убедимся, что 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:
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 (~240 МБ/с в iozone). Причина — кэширование двух файлов в 32 ГБ ОЗУ. Повторим тест после перезагрузки:
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 в корпусе Type 3.
Максимальная температура 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). Это объясняется добавлением бита четности. Для пользователя других изменений нет. Теоретически, ошибки 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, а программные методы неочевидны …
Запустим benchmarks (sbc-bench.sh, Geekbench 6.3, Unigine Heaven 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 — это fanless SBC, в корпусе Type 3 установлен вентилятор. До перехода в «Unlimited Performance» вентилятор периодически включался/выключался в простое. Сейчас он работает постоянно, создавая заметный шум даже на расстоянии 2 метров.
Измерения шума шумомером (5 см от корпуса):
- Простой (вентилятор активен) — 46–47 дБА
- Стресс-тест (4 ядра) — 46–47 дБА
Фоновый шум в комнате — 37.5–38.5 дБА.
Это стандартные настройки, но управление вентилятором можно настроить , учитывая запас по температуре CPU.
Потребление ODROID-H4 Plus (режим «Multimedia NAS»)
Измерим энергопотребление системы в корпусе с включенными IBECC и «Unlimited Performance». Конфигурация: 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 (Примечание: возможно, включена по умолчанию, требует уточнения).
- Вентилятор охлаждения PWM 92x92x15мм – $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.
Оригинал статьи вы можете прочитать здесь.