1

Temat: Odroid H3+

Od paru dni eksperymentuję z  ciekawym minikomputerkiem:
Hardkernel Odroid H3+
Kupiłem go jako 'uszkodzony' na ebay za ułamek wartości. Ktoś z południa Europy zmasakrował gniazda sata ale udało się je wymienić i przywrócić go do życia.
Jest ciekawy bo ma oszczędny czterordzeniowy procek N6005 x64, obsługuje PCIe v3 i jest elastyczny jeśli chodzi o przyłączenie dodatkowych kart m.2 pcie.  Bo można do niego przyłączyć:
- albo jedną kartę m.2 pcie x4 lanes,
- albo za pomocą przejściówki dwie karty x2 lanes
- albo cztery karty x1 lane.
Do gniazda m.2 włożyłem dysk nvme, zainstalowałem minimalnego Debiana  i po paru zmianach w zarządzaniu energią w Bios i w sofcie zużycie energii w IDLE mam poniżej 3W cool (z podpiętym kablem ethernet 2.5G i bez monitora).
Test Iperf3 wypada nieźle:

el@akacja:~$ iperf3 -c 127.0.0.1
Connecting to host 127.0.0.1, port 5201
[  5] local 127.0.0.1 port 53020 connected to 127.0.0.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  4.32 GBytes  37.1 Gbits/sec    0    959 KBytes
[  5]   1.00-2.00   sec  4.34 GBytes  37.3 Gbits/sec    0    959 KBytes
[  5]   2.00-3.00   sec  4.35 GBytes  37.3 Gbits/sec    0    959 KBytes
[  5]   3.00-4.00   sec  4.33 GBytes  37.2 Gbits/sec    0    959 KBytes
[  5]   4.00-5.00   sec  4.33 GBytes  37.2 Gbits/sec    0    959 KBytes
[  5]   5.00-6.00   sec  4.34 GBytes  37.3 Gbits/sec    0    959 KBytes
[  5]   6.00-7.00   sec  4.35 GBytes  37.3 Gbits/sec    0    959 KBytes
[  5]   7.00-8.00   sec  4.34 GBytes  37.3 Gbits/sec    0    959 KBytes
[  5]   8.00-9.00   sec  4.34 GBytes  37.3 Gbits/sec    0    959 KBytes
[  5]   9.00-10.00  sec  4.35 GBytes  37.3 Gbits/sec    0    959 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  43.4 GBytes  37.3 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  43.4 GBytes  37.3 Gbits/sec                  receiver

Ciekawe co będzie jak będzie więcej procesów?
Sam hardware i software został zidentyfikowany następująco:

el@akacja:~$ inxi -F
System:
  Host: akacja Kernel: 6.1.0-31-amd64 arch: x86_64 bits: 64 Console: pty pts/0 Distro: Debian
    GNU/Linux 12 (bookworm)
Machine:
  Type: Desktop Mobo: HARDKERNEL model: ODROID-H3 v: 1.0 serial: <superuser required>
    UEFI: American Megatrends v: 5.19 date: 09/21/2024
CPU:
  Info: quad core model: Intel Pentium Silver N6005 bits: 64 type: MCP cache: L2: 1.5 MiB
  Speed (MHz): avg: 800 min/max: 800/3300 cores: 1: 800 2: 800 3: 800 4: 800
Graphics:
  Device-1: Intel JasperLake [UHD Graphics] driver: i915 v: kernel
  Display: server: No display server data found. Headless machine? tty: 157x37
  API: OpenGL Message: GL data unavailable in console. Try -G --display
Audio:
  Device-1: Intel Jasper Lake HD Audio driver: snd_hda_intel
  API: ALSA v: k6.1.0-31-amd64 status: kernel-api
Network:
  Device-1: Realtek RTL8125 2.5GbE driver: r8169
  IF: enp1s0 state: down mac: 00:1e:06:45:24:b6
  Device-2: Realtek RTL8125 2.5GbE driver: r8169
  IF: enp2s0 state: up speed: 2500 Mbps duplex: full mac: 00:1e:06:45:24:b7
Drives:
  Local Storage: total: 238.47 GiB used: 1.97 GiB (0.8%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: PM9B1 NVMe 256GB size: 238.47 GiB
Partition:
  ID-1: / size: 232.24 GiB used: 1.96 GiB (0.8%) fs: ext4 dev: /dev/nvme0n1p2
  ID-2: /boot/efi size: 511 MiB used: 5.8 MiB (1.1%) fs: vfat dev: /dev/nvme0n1p1
Swap:
  ID-1: swap-1 type: partition size: 977 MiB used: 0 KiB (0.0%) dev: /dev/nvme0n1p3
Sensors:
  System Temperatures: cpu: 33.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 99 Uptime: 31m Memory: 15.46 GiB used: 448.8 MiB (2.8%) Init: systemd
  target: graphical (5) Shell: Bash inxi: 3.3.26

Wiadomo: to komputerek z końcówki 2022 i są już nowsze modele Odroid H4 ale na domowy serwerek/router/AP/NAS powinien się nadać.
W 'sklepowej' cenie bym go nie kupił bo koszty transportu z Korei i dowalony VAT skutecznie schładzają chęci ale w tym przypadku ryzyko się opłaciło.
Spróbuję zrobić z niego domowy serwerek all-in-one.

2

Odp: Odroid H3+

Fajna maszynka i tak, tym bardziej że masz ją za bezcen. Rób i daj znać co wyszło.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Odroid H3+

Od lutego 2020r. używam starszy model H2 jako swojego serwerka i najpierw Centos 8, a potem migracja na Rocky i śmiga u mnie do dziś. Najlepszy jest pobór prądu w idle: ~3-4W
Jedyny mały problem to ewentualne dodawanie dysków SATA zewn. bo wtedy trzeba dokupywać w hardkernel odpowiednie kabelki albo samemu sobie robić (są opisy co i jak).

4 (edytowany przez bern 2025-03-15 21:59:34)

Odp: Odroid H3+

Maszynka zapowiada się nieźle:)
Do złącza m.2 pcie x4 można dołączyć kartę z czterema portami 5GbE Realtek RTL8126:

https://wiki.odroid.com/accessory/connectivity/netcard3

NetCard 3 for H-series

5

Odp: Odroid H3+

Minęło parę miesięcy. Sprzęt zbiera kurz...
Zabieram się więc aby coś z niego zrobić.
Pomysł nie jest zbyt oryginalny chciałbym mniej więcej powtórzyć to co zrobiłem z Fuitsu Futuro S940

Czyli komputerek do domu 24/7 (jedno urządzenie all in one z Debianem jako OS), na którym można zainstalować i skonfigurować dowolny soft np:
- Router,
- Firewall,
- NAS (2 dyski sata plus ewentualnie nvme)
- WIFI AP
- DLNA server, Lyrion Music Server, MPD itp itd

Tym razem chciałbym pobawić się w ustawienia maksymalnego oszczędzania energii.

6

Odp: Odroid H3+

W końcu poskładałem ten sprzęt.
W tym wpisie skupię się na hardware w następnym opiszę soft.

https://www.dropbox.com/scl/fi/inxv5w0kmq806mml5eie5/IMG_20260216_112818a.jpg?rlkey=83o0rirycaibemmdsp1k5hp8a&amp;st=3i22gk4w&amp;raw=1


Więcej zdjęć TUTAJ

Zabawiłem się w majsterkowicza DIY bo potrzebowałem rozdzielić pojedyncze złącze pci x4 lanes na 4 porty 1x lane. Użyłem  przejściówki Odroid M.2 4×1 Card przystosowanej do nowszego modelu Odroid H4. Płytka elektrycznie jest zgodna z bios ale mechaniczne nie pasuje do mojego H3+. Ale nawet oryginalne mocowanie tej płytki w H4 jest problematyczne bo trzeba ją przykręcić od spodu co zwiększa całkowitą wysokość i niestety grzanie. Postanowiłem użyć krótkiego przedłużacza-kabla m.2 i wywinąć płytkę rozdzielacza na zewnątrz by mieć lepszy dostęp do kart m.2 oraz zapewnić lepsze chłodzenie. Obecnie na rozdzielaczu zajęte mam 3 sloty. Mam tam wetknięty systemowy dysk NVme m.2 oraz 2 karty wifi. Jeden port m.2 pozostaje wolny.

Do zamocowania komputerka, rozdzielacza i innych elementów (zamiast obudowy) postanowiłem użyć zwykłego grubego laminatu (2mm) o wymiarach 17x24cm, kątownika aluminowego (gr 2mm) oraz stare karty płatnicze do sformowania plastikowych kątowników i ostatecznie koszyka na dwa dyski sata 2.5”(SSD+HDD). Do laminatu od spodu przykleiłem gumowe antypoślizgowe i wytłumiające nóżki o wysokości 3mm.

Klasyczna obudowa nie jest mi potrzebna bo komputerek i tak będzie leżał wysoko na regale w salonie (gdzie wzrok nie sięga) a bez zamknięcia w obudowie będzie miał lepsze chłodzenie. 
Z narzędzi potrzebowałem ręcznej piłki do metalu i wrętarko/wiertarki akumulatorowej, wierteł o różnych średnicach. Największym wyzwaniem było precyzyjne pomierzenie i wywiercenie otworów na elementy dystansowe.
Zamocowałem też cichy wentylator Noctua NF-A8 (80x25mm) na wypadek gdyby duży radiator nie mógł sobie poradzić chwilowo z większą temperaturą CPU (w bardziej wymagających operacjach np. w  transkodowaniu materiału video programem ffmpeg).

Po optymalizacji zużycia energii (BIOS i paru ustawień w OS) komputerek z czterema interfejsami sieciowymi (dwa Ethernet 2.5G oraz dwie karty WIFI w AP) oraz trzema dyskami (NVME, Sata SSD, Sata HDD) pobiera w IDLE ok 5W.

https://www.dropbox.com/scl/fi/tbg6gfw5ffchffiv9j6uf/IMG_20260216_125850.jpg?rlkey=se1ml3m2durj7svgdvuno6p0y&amp;st=1avxzdc0&amp;raw=1

Tyle zużywa przez większą część doby. HDD po 5 min bezczynności jest w SpinDown

c. d. n.

7 (edytowany przez bern 2026-02-18 13:25:47)

Odp: Odroid H3+

Jeśli chodzi o OS to zainstalowałem najmniejszy Debian Trixie 13.3 z najnowszym jaki mi się udało znaleźć stabilnym kernelem (połowa 02’2026):

root@akacja:~$ uname –r
6.18.5+deb13-amd64

Poniżej opis sieci.

root@akacja:~# networkctl
IDX LINK    TYPE      OPERATIONAL SETUP
  1 lo      loopback  carrier     unmanaged
  2 wan0    ether     carrier     configured
  3 lan0    ether     routable    configured
  4 br-wlan bridge    routable    configured
  5 wlan0   wlan      enslaved    unmanaged
  6 wlan1   wlan      enslaved    unmanaged
  7 wg0     wireguard routable    unmanaged
  9 ppp0    ppp       routable    unmanaged
8 links listed.

Komputerek H3+  działa jako serwer/NAS ale również jako router/firewall/WIFI AP. Od lokalnego ISP mam publiczny adres IP (obecnie tylko IPV4). W domu światłowód operatora kończy się zwykłym media konwerterem czyli na wejściu konwertera jest światłowód na wyjściu gigabit Ethernet, który połączony jest z jednym z dwóch portów 2.5G Reatek Ethernet H3+ jako wan0. Łącze ISP działa poprzez pppoe stąd interfejs ppp0. Drugi port 2.5G Realtek komputerka połączony jest do switcha lan (lan0).

root@akacja:~# lspci | grep -i ethernet
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)

Serwer DHCP dla lan i wlan to Dnsmasq. Na wejściu mam filtrowanie adresów dns w pihole oraz rekurencyjny serwer DNS (oparty o unbound) czyli własny, lokalny, filtrujący resolver DNS z pełną walidacją i bez zależności od Google/Cloudflare.

Mam też dwa interfejsy wifi wlan0 i wlan1 w trybie AP oparte na dwóch popularnych laptopowych kartach mediateka MT7921

root@akacja:~# lspci | grep -i network
03:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter
04:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter

z firmware:

root@akacja:~# ethtool -i wlan0
driver: mt7921e
version: 6.18.5+deb13-amd64
firmware-version: ____010000-20251223091148
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
root@akacja:~#

spięte w bridge br-wlan w paśmie 2.4G i 5G:

root@akacja:~# iw dev
phy#1
        Interface wlan1
                ifindex 6
                wdev 0x100000001
                addr c0:bf:be:59:5a:41
                ssid Fire
                type AP
                channel 128 (5640 MHz), width: 80 MHz, center1: 5610 MHz
                txpower 3.00 dBm
                multicast TXQ:
                        qsz-byt qsz-pkt flows   drops   marks   overlmt hashcol tx-bytes        tx-packets
                        0       0       190     0       0       0       0       78712           328
phy#0
        Interface wlan0
                ifindex 5
                wdev 0x1
                addr 2c:3b:70:d7:32:17
                ssid Fire
                type AP
                channel 11 (2462 MHz), width: 20 MHz, center1: 2462 MHz
                txpower 3.00 dBm
                multicast TXQ:
                        qsz-byt qsz-pkt flows   drops   marks   overlmt hashcol tx-bytes        tx-packets
                        0       0       5003    0       0       0       0       1337913         6597

Powyżej oczywiście txpower jest błędnie raportowana. W rzeczywistości działa zgodnie z regulacjami.
Do połączenia z zewnątrz sieci używam WIreGuard stąd interfejs wg0.
Routing i firewall skonfigurowałem za pomocą Shorewall.

root@akacja:~# ip route
default dev ppp0 scope link
10.10.10.0/24 dev lan0 proto kernel scope link src 10.10.10.1
10.10.11.0/24 dev br-wlan proto kernel scope link src 10.10.11.1
10.20.10.0/24 dev wg0 proto kernel scope link src 10.20.10.1
46.xxx.xxx.0 dev ppp0 proto kernel scope link src 46.xxx.xxx.xxx

Jeśli chodzi o dyski mam zamontowane 3 dyski:

root@akacja:~# lshw -short -C disk
H/W path           Device          Class          Description
=============================================================
/0/100/17/0        /dev/sda        disk           1TB SATA SSD CT1000MX500SSD1
/0/100/17/1        /dev/sdb        disk           5TB SATA HDD ST5000LM000-2AN1
/0/100/1c.7/0/1    /dev/nvme0n1    disk           256GB NVMe PM9B1

po rozdzeleniu złącza m.2 4xlanes na cztery złącza dysk nvme działa tylko z 1xlane pcie v.3.0
Poniżej na szybko testy odczytu:

root@akacja:~# hdparm -t --direct /dev/sda1
/dev/sda1:
 Timing O_DIRECT disk reads: 1364 MB in  3.00 seconds = 454.05 MB/sec

root@akacja:~# hdparm -t --direct /dev/sdb1
/dev/sdb1:
 Timing O_DIRECT disk reads: 430 MB in  3.01 seconds = 142.77 MB/sec
root@akacja:~# hdparm -t --direct /dev/nvme0n1

/dev/nvme0n1:
 Timing O_DIRECT disk reads: 2362 MB in  3.00 seconds = 787.15 MB/sec
root@akacja:~# hdparm -t --direct /dev/nvme0n1

Dyski sda  oraz sdb działają w sieci z smbd.

Teraz pytanie po co to wszystko?
Ano po to by mieć jedno urządzenie bez nadmiernej plątaniny kabli. Normalnie zapewne potrzebowałbym 3 lub 4 urządzeń: rourera,  NAS, osobnego serwera, Access Piont. Każde zajmuje miejsce każde ma swoje okablowanie, każde pobiera energię. Ja wole mieć jedno oszczędne urządzenie w domu, które mogę dowolnie skonfigurować.