TrueNAS

Beelink EQ12 Review – An Intel Processor N100 mini PC tested with Windows 11, TrueNAS, pfSense, Ubuntu, and more – CNX Software

Beelink’s new EQ series of mini PCs form their base product range and feature low-powered Jasper Lake and Alder Lake-N processors with relatively basic port and memory/storage configurations. Perhaps more importantly, they are also the cheapest mini PCs they offer.

Having recently announced the EQ12 mini PC featuring an Intel Processor N100 ‘Alder Lake-N’ CPU with up to 16GB RAM, Beelink have now sent one for review. Whilst I’ll cover the basic Windows operation and performance, I’ll also explore how this new mini PC performs when used as an integrated router and NAS.

Beelink list the EQ12 specifications as:

It is worth noting that the Processor N100 processor only supports a single memory channel and that according to Intel’s specification for the processor, the maximum memory supported is only 16 GB. Intel’s specification for the number of graphical execution units (EUs) also states 24 however software such as HWiNFO64 shows there are 32:

Hopefully, Intel knows best.

Product overview

Overview of hardware

The Beelink EQ12 physically consists of a 124 x 113 x 39 mm (4.88 x 4.44 x 1.53 inches) square plastic case and is available with a choice of four colored breathable/waterproof fabric-covered tops: Senior Grey, Pearl White, Millennial Grey, and Navy Blue (the review model). As an actively cooled mini PC, it uses an Alder Lake-N Processor N100 which is a four-core 4-thread (no HyperThreading) 3.40 GHz mobile processor with Intel’s UHD Graphics which has a maximum frequency of 750 MHz.

The front panel has an illuminated power button, a 3.5mm headphone jack, two Type-A USB 3.2 Gen 2 ports, and a reset pin-hole ‘CLR CMOS’. The rear panel includes a Type-C USB port, a Type-A 3.2 Gen 2 port, two 2.5 gigabit Ethernet ports, two HDMI 2.0 ports, and a power jack.

Internally included is an M.2 2280 NVMe PCIe Gen 3.0 SSD drive (the review model included a unmarked 512 GB drive which uses a Maxio MAP1202 controller complete with Windows 11 Pro installed) and this in turn covers an M.2 2230 WiFi 6 (or 802.11ax) Intel AX101 card which also provides Bluetooth 5.2. As mentioned, there is just a single SODIMM memory slot and the review model was ‘maxed-out’ by including a stick of Crucial 16 GB DDR5 4800 MHz memory:

Also included in the bottom of the device is a plastic bay that supports adding a 2.5-inch SATA drive for increased storage and the bay also incorporates a small fan to cool both the drive and the motherboard/memory above it.

In the box, you get a 36 W (12V/3A) power adapter and cord, both a short and a longer HDMI cable, a VESA mounting bracket together with a small packet of miscellaneous screws, a replaceable but different colored fabric top and a multilingual user manual.

Overview of software

The Beelink EQ12 came installed with a licensed copy of Windows 11 Pro version 21H2 build 22000.918 which I upgraded to the latest 22H2 build 22621.1555 for testing purposes:

Key Observations

A quick look at the hardware information shows it is aligned with the specification:

Unfortunately, GPU-Z doesn’t ‘know’ about the iGPU so provides little useful information:

The processor’s ‘Power Limits’ (PL) are configured with ‘PL1’ set to 20 watts and ‘PL2’ set to 25 watts both of which are well above the Thermal Design Power (TDP) of 6 watts:

The memory is DDR5 and configured to run at its maximum speed of 4800 MHz:

The 2.5 gigabit Ethernet ports use Intel I225-V network interface controllers:

and the WiFi 6 uses an Intel HarrisonPeak AX101 M.2 2230 card which supports 1×1 WiFi 6 technology which theoretically could delivery a throughput of up to 600 Mbps as well as providing support for Bluetooth 5.2:

Beelink’s product page lists all of the Type-A USB ports as 3.2 Gen 2 so I tested them using a Samsung 980 PRO PCle 4.0 NVMe M.2 SSD housed in a ‘USB to M.2 NVMe adapter’ (ORICO M2PAC3-G20 M.2 NVMe SSD Enclosure) which showed that the front two ‘blue’ USB ports were indeed USB 3.2 Gen 2×1 i.e. 10 Gbit/s:

as was the rear ‘black’ USB port:

There is also a Type-C USB port on the back panel which when tested also ran as USB 3.2 Gen 2×1 i.e. 10 Gbit/s:

and supports video output through ‘Alternate Mode’ (or DP Alt Mode):

I first set the power mode to ‘High performance’ and ran some well-known benchmarking tools to look at performance under Windows.

Storage performance from the M.2 NVMe was:

The overall Windows performance was:

with CPU performance measured as:

and iGPU performance measured as:

For real-world testing of the iGPU, I played various videos in Edge and there were no issues encountered playing videos up to 4K 60 FPS:

Network Performance

Network connectivity throughput was measured using ‘iperf3’. The 2.5 gigabit Ethernet ports performed as expected with download averaging 2.37 Gb/s and upload averaging 2.34 Gb/s:

WiFi performance was also as expected with download on the 2.4 GHz band averaging 107 Mb/s and upload averaging 103 Mb/s:

For the 5 GHz band, download was 379 Mb/s and upload averaged 382 Mb/s:

Thermal Performance

Running Fire Strike saw the CPU temperature rise to a peak of 64.0°C:

and whilst the ambient temperature was relatively cool at 15.7°C, the top of the device only reached 42.2°C.

The Beelink EQ12 includes two fans which are very quiet during normal use and the maximum recorded on my sound meter was 34.3 dBA which was next to the device during the testing.

Testing as a Router and NAS

Unfortunately, the WiFi 6 performance is not as good as other mini PCs but this is because the WiFi card only has one transmit and one receive stream giving it a theoretical maximum speed of 600 Mbps. Additionally, this particular WiFi card is not readily supported on Linux meaning OSes like Ubuntu and Debian have neither WiFi nor BT support.

Update July 8, 2023: It’s now possible to enable WiFi and Bluetooth on Beelink EQ12 and other mini PCs with an Intel AX101 module.

Besides this issue, testing using an Ubuntu 22.04.2 Live USB…

… confirmed everything else worked fine and there were no issues encountered playing videos up to 4K 60 FPS on Firefox:

so the Beelink EQ12 could be used for typical mini PC scenarios with the one omission of WiFi under Linux.

There is however a further slight limitation, in that the NVMe drive is PCIe 3.0 and only uses a single lane for throughput:

This is effectively limiting the speed of an M.2 drive to just under 1 GB/s as seen by the CrystalDiskMark results above.

A key attraction of the EQ12 however is the dual 2.5 gigabit Ethernet ports, so one possible usage scenario is using the device as a NAS.

Looking in detail at the ‘Linux-unsupported’ WiFi card which is underneath the NVMe M.2 2280 card shows physically it is an M.2 2230 card with an ‘E’ key:

The card can be replaced by an M.2 Key A/E to M.2 Key M (NVMe) adapter which also happens to be very cheap:

and if cut down to 42 mm in length, it can support an NVMe M.2 2242 storage card:

which will then function as PCIe 3.0 using a single lane for throughput:

and gives similar performance to the original NVMe M.2 which can then be re-installed above it:

It is then possible to install a storage OS like TrueNAS CORE to use the device as a NAS.

However, I wanted to use the device as a NAS on its own network so effectively needing to also use the device as a router for which I typically install PROXMOX, pfSense, and TrueNAS. I also wanted to retain the Windows installation as dual-boot and this is only possible by manually partitioning the drives when installing Debian and then adding the PROXMOX packages:

Another option that might be useful when just using the device as a NAS is an additional Ethernet port. For this, I replaced the WiFi card with an M.2 Key A/E to a 2.5 gigabit Ethernet adapter which uses a Realtek RTL8125 network interface controller:

Again the original NVMe M.2 2280 drive can be re-installed above it:

and when the bottom cover is replaced the end result is not as ‘scuffed’ as some of the eGPU configurations I’ve built:

On a Linux OS, for example, Ubuntu, I now had three 2.5 gigabit Ethernet ports:

each performing at an average of 2.35 Gb/s:

and similarly on FreeBSD (TrueNAS VM):

Obviously adding additional 2.5 gigabit Ethernet ports without giving up the replacement NVMe M.2 2242 storage can be achieved more simply by adding a USB to 2.5GbE adapter based on Realtek RTL8156B(G) chip and now relatively cheap. Such as solution is also useful when wanting to keep the original WiFi card for Windows:

On Unix-based OS, the performance was again an average of 2.35 Gb/s:

Finally, the Beelink EQ12 also allows a 2.5-inch SATA drive to be added to the base of the device. I simply used ‘dd’ to copy the original NVMe M.2 2280 drive with Windows on it to a SATA M.2 2280 drive which I enclosed in a M.2 SSD to 2.5 inch SATA adapter. After which I then installed the 2.5-inch SATA adapter into the device:

Obviously, the SSD drive performance is lower than the NVMe drive however it is still quite acceptable for usage in a NAS:

So with a final configuration of the WiFi card being replaced with an NVMe M.2 2242 drive and additional storage provided by a SATA SSD drive I installed PROXMOX with VMs of pfSense and TrueNAS to review the performance.

Regarding the installation of PROXMOX which started with the installation of Debian 11 (Bullseye), care needs to be taken with the manual partitioning of the drives. The first step I took was to shrink the Windows partition so that I could allocate some space on that drive to TrueNAS. In calculating the VM storage, I wanted to keep it relatively minimal and only allocate 8 GiB to pfSense and 32 GiB to TrueNAS. I also wanted to allocate 24 GiB to PROXMOX as its root filesystem and a further 8 GiB as swap which adds up to require a 72 GiB logical volume in LVM. However somewhere along the way I managed to interchange gigabytes (GB) and gibibytes (GiB), so for example the PROXMOX application shows the two VMs as being 8.59 and 34.36 GBs (i.e. 8 and 32 GiBs):

and in Debian, i.e. the PROXMOX OS, in ‘lsblk’ they show correctly up as 8 and 32 GiBs however I must have created all the partitions during the Debian installation in gigabytes (GB):

Moving swiftly on, the reason for having two disks available to PROXMOX:

is to be able to pass a partition on each of them through to TrueNAS:

so as to leverage the redundancy capabilities of mirroring across two drives when creating the storage pool:

In terms of the hardware configuration for the VMs, pfSense was allocated with 4 GiB of memory and 2 processors (1 socket, 2 cores), and TrueNAS was allocated with 12 GiB memory 2 processors (1 socket, 2 cores), and yes, 4 + 12 GiB ≠ 16 GB but that’s memory marketing for you!

The first performance test used a PC connected to the same subnet as the Beelink EQ12 and consisted of downloading a ten gigabyte um gibibyte large file from the NAS which transferred at an average speed of 282 MB/s.

Uploading the same file initially started off at a similar speed:

However, that speed couldn’t be maintained and tailed off substantially towards the end:

likely due to delays in compressing and writing the file caused by caching limitations.

To simulate actual NAS usage I created a script on the connected PC which repeatedly copied a two gibibyte file to the NAS every minute.

First, looking at the OS i.e. PROXMOX statistics for CPU usage, server load, memory usage, and network traffic:

shows that the overall demand on the Beelink EQ12 is light and the device easily copes with the workload.

Next, the router or pfSense statistics from the PROXMOX host viewpoint for CPU usage, memory usage, network traffic, and disk I/O :

and from the pfSense VM itself:

confirm very little load on pfSense mainly because the copying is LAN based and is over the same subnet.

Finally, the NAS or TrueNAS statistics. First, the CPU usage from both the PROXMOX host and TrueNAS VM viewpoints:

which shows plenty of CPU headroom.

Next are the memory and network traffic statistics:

which shows the VM’s memory is allocated to ZFS Adaptive Replacement Cache (ARC) and that the network traffic over ‘Interface Traffic vtnet1’, which is the LAN port for this NAS, reached a peak receive speed of 1.42 Gb/s or 178 MB/s.

Now for the disk statistics:

which shows that the faster NVMe drive (Disk Busy da1) is consequently less busy than the slower SATA drive (Disk Busy da2).

Finally, the ZFS caching on the NAS shows it was all performed within the ARC first level caching without the need to use ‘Level 2’ (L2) caching effectively showing that the Beelink’s 16GB of RAM was sufficient for this level of NAS usage bearing in mind only 12 GiB was allocated to the TrueNAS VM:

Overall, because the CPU usage was low for this simulated NAS usage, the core temperatures were stable and ranged around the mid 40s°C:

The power consumption was measured as follows:

  • Powered off – 0.8 watts (shutdown 1E*) or 1.0 watts (shutdown 2E*)
  • UEFI (BIOS) – 11.8 watts
  • Idle – 12.1 watts (Windows 1E*) and 13.9 watts (Ubuntu 1E*) or 13.0 watts (Windows 2E*) and 14.3 watts (Ubuntu 2E*)
  • CPU stressed** – 28.9 watts peak dropping to 26.5 watts (Windows ‘Cinebench’) and 28.4 watts peak dropping to 26.5 watts (Ubuntu ‘stress’)
  • Video playback* – 17.8 watts (Windows Edge 4K60FPS)
  • Network – 17.6 watts downloading and 21.0 watts uploading (Ubuntu iperf3)

* 1E for one Ethernet cable connected and 2E for two Ethernet cables connected.
** The power figures fluctuate in part due to the fan so the value is the average of the median high and median low power readings.

Summary

I really like the Beelink EQ12. For a ‘cheap’ mini PC the performance under Windows 11 is perfectly adequate for the type of usage typically seen for these lower-powered computers. However, the device is powerful enough to use as a low-cost router and NAS. Furthermore, the device’s I/O can easily be extended by adding an inexpensive adapter to convert the WiFi slot to an additional NVMe storage slot and/or, as required, additional Ethernet ports can be added through USB adapters if not connecting to a switch. Coupled with this port flexibility is that the power usage is relatively low and that the mini PC is virtually silent when running.

I’d like to thank Beelink for providing the Beelink EQ12 for review. It can be found on their website for $259 for the same configuration as the review model as well as on Amazon.

Ian is interested in mini PCs and helps with reviews of mini PCs running Windows, Ubuntu and other Linux operating systems. You can follow him on Facebook or Twitter.