6 minutes
Building a N305 based NAS
The Project
Like lots of my basement-dwelling geek comrades, I have a home-made NAS hooked to my LAN. I’m a man of simple tastes, easily satisfied with:
- SMB/NFS/rsync
- Jellyfin, including some transcoding for ‘difficult’ files
- Various containers, such as the Unifi Network Application controller for my wireless AP
I had an old rig based on a venerable Xeon E5472 and a 2007-ish Gigabyte motherboard (with its amazing PCI slots !), which while suprisingly still very functional, was not terribly energy efficient at 100W+ power draw. Unfortunately, the proverbial writing was on the wall, as EL9 (and therefore its derivatives Rocky Linux and Alma Linux) dropped support for everything earlier than x86-64-v2 architecture, and my goold old Xeon chap didn’t make the cut …
Time for replacement it is then!
The Hardware
I don’t want to use OTS offerings from Synology/QNAP/Asustor et al., as I prefer to fully control the software running on my NAS. In particular, I despise the planned obsolescence tactics permeating the industry.
I therefore set out on a journey to find the perfect motherboard, and established the characteristics I was looking for:
- Something standard-ish, x86 or ARM-based
- Fast enough to support transcoding with Jellyfin, special bonus point if hardware acceleration is available
- Low power draw
- Loads of SATA ports, plus M.2 NVME for the boot disk
- Compact format ie. mini-ITX (so that I could install it in a small case in the future, even if for now I will reuse an old ATX tower I’ve already got)
Alas, the journey quickly met a dead-end. It turned out there were no options available on the local online retailers available in my region, nor on Amazon, for mobos meeting those criteria. However, there are some interesting ones on AliExpress based on low-power N100/N305 Alder Lake CPU, with a (respective) TDP of 6W/15W!
While there are a multitude of sellers over there, most products come from a couple OEM, notably:
- BKHD 1264 NAS MB, only available with N100
- CWWK CW-NAS-ADLN-KV10, available with a full lineup of N100/N150/N305/N355 CPU and a fancy purple PCB. It is also sometimes listed under the Topton brand, but my understanding is that they’re only reselling (see below for hardware characteristics)
I first ordered the BKHD as it was generally cheaper. Unfortunately, I experienced spurious reboots with it, and while mobos like that are known to be quite finicky with RAM and I expected it, I couldn’t find a single SODIMM able to succeed at even a single memtest86+ pass. So I definitely do not recommend that one.
I then bought the CWWK (more precisely its N305 variant), and paired with a Crucial 16GB DDR5 SODIMM it works beautifully.
Edit 05/02/2025
Here is a picture of the motherboard assembled in my cheapo mid-size tower in its full glory:

The only actual difficulty I encountered is that the ATX 12V connector sits uncomfortably close to the CPU heatsink. By chance, after trimming a bit the connector (who needs all this extra insulating plastic anyway??) it fits exactly between two heat pipe tips … so don’t be me, chose carefully your cooler and don’t go with the default one offered by most AliExpress sellers 😄

Nerd alert
First, the OEM indeed appears to be CWWK (and not Topton):
# dmidecode -s baseboard-manufacturer
CWWK
So what actually is this N305 CPU?
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 190
model name : Intel(R) Core(TM) i3-N305
stepping : 0
microcode : 0x1a
cpu MHz : 800.000
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 8
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 32
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities
vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_violation_ve ept_mode_based_exec tsc_scaling usr_wait_pause
bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs rfds bhi
bogomips : 3609.60
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
# ... repeat 7 more times ...
So it’s a honest-to-god 8 cores CPU (no HT shenanigans there), with 6MB of cache (still twice less than my 2007-era Xeon 😞). It supports AVX2, AES, and VT-x. And of course it features all the sexy Intel security bugs such as spectre 😁
What does lspci
show then?
# lspci
00:00.0 Host bridge: Intel Corporation Device 4617
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:0d.0 USB controller: Intel Corporation Alder Lake-N Thunderbolt 4 USB Controller
00:14.0 USB controller: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Alder Lake-N PCH Shared SRAM
00:16.0 Communication controller: Intel Corporation Alder Lake-N PCH HECI Controller
00:1c.0 PCI bridge: Intel Corporation Device 54b9
00:1c.2 PCI bridge: Intel Corporation Device 54ba
00:1c.3 PCI bridge: Intel Corporation Device 54bb
00:1c.6 PCI bridge: Intel Corporation Device 54be
00:1f.0 ISA bridge: Intel Corporation Alder Lake-N PCH eSPI Controller
00:1f.3 Audio device: Intel Corporation Alder Lake-N PCH High Definition Audio Controller
00:1f.4 SMBus: Intel Corporation Alder Lake-N SMBus
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-N SPI (flash) Controller
01:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (DRAM-less) (rev 01)
02:00.0 SATA controller: ASMedia Technology Inc. ASM1166 Serial ATA Controller (rev 02)
03:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
04:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
The 6 SATA ports are provided by an ASM1166 controller. Contrarily to other terrible options, at least it doesn’t prevent the CPU to reach deeper C-states. In a nutshell, it’s not great, but not terrible.

It also has a PCIe 3.0 x4 port, as well as 2 M.2 NVME slots, for a total TDP of ~25W under full load.
The Software
I slapped an Alma Linux 9 install on that bad boy. Installation process is as uneventful as possible. Everything works out of the box!
I’ve yet to configure QSV for proper video encoding/decoding hardware acceleration, hopefully I won’t need a more recent kernel than what’s available in EL9. From my limited testing, the N305 CPU appears to be sufficient to transcode 4K streams in software anyway.
Comments
With an account on the Fediverse or Mastodon, you can respond to this post. Known replies are displayed below:
Note: This will load data from toot.gagniard.org.
Learn how this is implemented here.