I’ve already checked out the hardware of the UP Squared 7100 fanless SBC in the first part of the review with an unboxing and first boot to Ubuntu Pro 24.04. I’ve now had time to test the features of the Intel N100 SBC with Ubuntu Pro, so I’ll report my experience with the system in this second part of the review.
I’ll report my experience with Ubuntu Pro features, test hardware features of the board including GPIOs, check out BIOS options, run a few benchmarks, and measurement power consumption.
Ubuntu Pro 24.04 System info
Let’s check system information with 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@up2-7100-cnx:~$ sudo inxi -Fc0 System: Host: up2-7100-cnx Kernel: 6.8.0-52-generic arch: x86_64 bits: 64 Console: pty pts/1 Distro: Ubuntu 24.04.1 LTS (Noble Numbat) Machine: Type: Desktop Mobo: AAEON model: UPS-ASL01 v: V1.0 serial: 240206732 UEFI: American Megatrends LLC. v: USASAM12 date: 08/14/2024 CPU: Info: quad core model: Intel N100 bits: 64 type: MCP cache: L2: 2 MiB Speed (MHz): avg: 700 min/max: 700/3400 cores: 1: 700 2: 700 3: 700 4: 700 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: N/A tty: 80x24 API: EGL v: 1.5 drivers: iris,swrast platforms: gbm,surfaceless,device API: OpenGL v: 4.6 compat-v: 4.5 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 Device-2: C-Media Audio Adapter (Unitek Y-247A) driver: cmedia_hs100b,snd-usb-audio,usbhid type: USB API: ALSA v: k6.8.0-52-generic status: kernel-api Network: Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet driver: r8169 IF: enp1s0 state: up speed: 1000 Mbps duplex: full mac: 00:07:32:bf:91:d2 Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet driver: r8169 IF: enp2s0 state: down mac: 00:07:32:bf:91:d3 IF-ID-1: docker0 state: down mac: 02:42:3f:8e:f1:d6 Drives: Local Storage: total: 296.8 GiB used: 13.81 GiB (4.7%) ID-1: /dev/mmcblk0 model: TY2964 size: 58.32 GiB type: Removable ID-2: /dev/nvme0n1 model: PCIe SSD size: 238.47 GiB Partition: ID-1: / size: 56.07 GiB used: 13.8 GiB (24.6%) fs: ext4 dev: /dev/mmcblk0p2 ID-2: /boot/efi size: 1.05 GiB used: 6.1 MiB (0.6%) fs: vfat dev: /dev/mmcblk0p1 Swap: ID-1: swap-1 type: file size: 4 GiB used: 0 KiB (0.0%) file: /swap.img Sensors: System Temperatures: cpu: 66.0 C mobo: N/A Fan Speeds (rpm): N/A Info: Memory: total: 8 GiB available: 7.51 GiB used: 1.12 GiB (14.9%) igpu: 60 MiB Processes: 210 Uptime: 3h 2m Init: systemd target: graphical (5) Shell: Sudo inxi: 3.3.34 |
There’s nothing specific to Ubuntu Pro 24.04 there, but we can confirm we have an Intel Processor N100 system with 8GB RAM, a 64GB eMMC flash, and two Gigabit Ethernet (RTL8111) ports.
Ubuntu Pro status and configuration
I had already installed Ubuntu Pro on my laptop when it was made free (for up to 5 clients) in 2022. At the time, I noted some of the key differences between Ubuntu Pro and Ubuntu LTS as shown in the table below.
Ubuntu LTS | Ubuntu Pro | |
---|---|---|
Security patching - 2,300+ packages in Ubuntu Main repository | 5 years | 10 years |
Security patching - 23,000+ packages in Ubuntu Universe repository | Best effort | 10 years |
NIST-certified FIPS crypto-modules | No | Yes |
USG hardening with CIS and DISA-STIG profiles | No | Yes |
Common Criteria EAL2 | No | Yes |
Kernel Livepatch | No | Yes |
Systems management at scale with Landscape | No | Yes |
Optional support | No | Yes |
When I had to configure Ubuntu Pro on my laptop, I had to register and type a few commands, but the UP Squared 7100 SBC has Ubuntu Pro enabled by default.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
jaufranc@up2-7100-cnx:~$ sudo pro status SERVICE ENTITLED STATUS DESCRIPTION anbox-cloud yes disabled Scalable Android in the cloud esm-apps yes enabled Expanded Security Maintenance for Applications esm-infra yes enabled Expanded Security Maintenance for Infrastructure landscape yes disabled Management and administration tool for Ubuntu livepatch yes disabled Canonical Livepatch service realtime-kernel* yes disabled Ubuntu kernel with PREEMPT_RT patches integrated * Service has variants NOTICES Limited to release: Ubuntu 24.04 LTS (Noble Numbat). For a list of all Ubuntu Pro services and variants, run 'pro status --all' Enable services with: pro enable <service> Account: Aaeon (Devices) Subscription: Ubuntu Pro for Devices - 24.04 LTS Valid until: Thu Jun 1 06:59:59 2034 +07 Technical support level: essential |
esm-apps and esm-infra are enabled by default, but livepatch and landscape are currently disabled.
This uses AAEON account instead of a token like in the free version. We can check the security status with the following command:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
jaufranc@up2-7100-cnx:~$ pro security-status 1970 packages installed: 1845 packages from Ubuntu Main/Restricted repository 86 packages from Ubuntu Universe/Multiverse repository 33 packages from third parties 6 packages no longer available for download To get more information about the packages, run pro security-status --help for a list of available options. This machine is attached to an Ubuntu Pro subscription. Main/Restricted packages are receiving security updates from Ubuntu Pro with 'esm-infra' enabled until 2034. Universe/Multiverse packages are receiving security updates from Ubuntu Pro with 'esm-apps' enabled until 2034. You have received 8 security updates. |
I can find more information about the package with the following command:
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 |
jaufranc@up2-7100-cnx:~$ pro security-status --esm-apps 1970 packages installed: 86 packages from Ubuntu Universe/Multiverse repository Universe/Multiverse packages are receiving security updates from Ubuntu Pro with 'esm-apps' enabled until 2034. You have received 8 security updates. Run 'pro help esm-apps' to learn more Installed packages with an esm-apps update applied: libavcodec60 libavfilter9 libavformat60 libavutil58 libcjson1 libpostproc57 libswresample4 libswscale7 Further installed packages covered by esm-apps: clinfo gstreamer1.0-libav gstreamer1.0-plugins-ugly gstreamer1.0-vaapi hwinfo i965-va-driver intel-gpu-tools intel-media-va-driver inxi liba52-0.7.4 libaacs0 libass9 libbdplus0 libbluray2 libbs2b0 libchromaprint1 libcodec2-1.2 libdav1d7 libdvdread8t64 libflite1 libgme0 libgsm1 libgstreamer-plugins-bad1.0-0 libgupnp-igd-1.6-0 libhd21t64 libhwloc-plugins libhwloc15 libhwy1t64 libjxl0.7 liblilv-0-0 libmbedcrypto7t64 libmfx1 libmpeg2-4 libmysofa1 libnice10 libnorm1t64 libopenmpt0t64 libpgm-5.3-0t64 libplacebo338 libpocketsphinx3 librav1e0 librist4 librubberband2 libserd-0-0 libshine3 libsidplay1v5 libsord-0-0 libsoxr0 libsphinxbase3t64 libsratom-0-0 libsrt1.5-gnutls libsvtav1enc1d1 libtbb12 libtbbbind-2-5 libtbbmalloc2 libudfread0 libunibreak5 libvidstab1.1 libx264-164 libx265-199 libx86emu3 libxvidcore4 libz3-4 libzimg2 libzix-0-0 libzmq5 libzvbi-common libzvbi0t64 lm-sensors mesa-utils mesa-utils-bin ocl-icd-libopencl1 pigz pocketsphinx-en-us slirp4netns tree ubuntu-advantage-tools ubuntu-restricted-addons For example, run: apt-cache show libavformat60 to learn more about that package. |
I have livepatch enabled on my laptop, so I assumed it would be a breeze to enable on the UP Squared 7100 SBC:
1 2 3 4 5 6 7 8 9 10 |
jaufranc@up2-7100-cnx:~$ sudo pro enable livepatch One moment, checking your subscription first Installing Livepatch Installing canonical-livepatch snap Setting up Livepatch Disabling Livepatch prior to re-attach with new token Unable to enable Livepatch: Failed running command '/snap/bin/canonical-livepatch enable <REDACTED>' [exit(1)]. Message: Could not retrieve client information.: unauthorized an unknown error Could not enable Livepatch. |
But it did not quite work as expected. I tried again in the Software & Updates menu, but I got the same results.
I also tried to enable Ubuntu Security Guide:
1 2 3 4 |
jaufranc@up2-7100-cnx:~$ sudo pro enable usg One moment, checking your subscription first Ubuntu Security Guide is not available for Ubuntu 24.04 LTS (Noble Numbat). Could not enable Ubuntu Security Guide. |
But it did not work. That one is a known issue with Ubuntu 24.04. So we’ll give it a pass.
At that point, I contacted AAEON to find out how I could enable Livepatch and how I could use Landscape for remote management. I waited for one month for an answer, but nothing came out. I’m obviously privy to the conversation between AAEON and Canonical, but I have the feeling AAEON tried its best, and Canonical mostly ignored their request. From my point of view, this does not look good for Canonical, as a corporate client (AAEON) did not manage to get answers from (IMHO) rather basic questions. Hopefully, this will be resolved soon.
A quick look at the BIOS
When I reviewed the UP 7100 SBC in December 2023, I was really impressed by its extensive BIOS options. The UP Squared 7100 looks to be no different. You’ll be asked for password, but you can just press Enter to access the BIOS in “user” mode.
Going to the Advanced menu, we’ll find an AAEON Features section.
The Power Management menu allows the user to select the Power Mode (ATX or AT), whether to Restore AC after a Power Loss, Wake on RTC behavior and schedule configuration.
The HAT Pins Configurations menu allows the user to enable/disable I2C, SPI, UART, I2C, and ADC, select whether the LEDs should be ON or OFF at boot time, and define the default behavior of each pin at boot time.
I’ve just told you that a password was not needed to enter the BIOS. However, if you use the password “upassw0rd”, you’ll access the BIOS in administrator mode.
AAEON says the CRB Setup is for testing ONLY! But it’s where you can access a wide range of options that may be useful if you are familiar with the internals of Intel processors.
Most people won’t need to use this.
UP Squared 7100 features testing on Ubuntu Pro 24.04
I’ve also checked all/most ports and features of the UP Squared 7100 SBC as follows:
- HDMI – Video OK, Audio OK
- DisplayPort – Video OK, No Audio (see screenshots below)
- Storage – eMMC flash and M.2 socket with NVMe SSD detected (See benchmarks below for storage performance)
- Gigabit Ethernet
- Top port (close to heatsink) – OK (iperf3 DL: 942 Mbps, UL: 943 Mbps, full-duplex: 938/918 Mbps)
- Bottom port – OK (iperf3 DL: 941 Mbps, UL: 943 Mbps, full-duplex: 938/917 Mbps)
- USB ports tested with an ORICO NVMe SSD enclosure (EXT-4 partition) and an RF dongle for a wireless mouse and keyboard
- Front USB 3.0 port – 10 Gbps; tested up to 993 MB/s with iozone3
- Rear
- USB 3.0 top – 10 Gbps; tested up to 987 MB/s with iozone3
- USB 3.0 bottom – 10 Gbps; tested up to 989 MB/s with iozone3
- RTC – OK
1234567891011jaufranc@up2-7100-cnx:~$ sudo apt install util-linux-extrajaufranc@up2-7100-cnx:~$ timedatectlLocal time: Sat 2025-02-08 15:04:09 +07Universal time: Sat 2025-02-08 08:04:09 UTCRTC time: Sat 2025-02-08 08:04:09Time zone: Asia/Bangkok (+07, +0700)System clock synchronized: yesNTP service: activeRTC in local TZ: nojaufranc@up2-7100-cnx:~$ sudo hwclock -r2025-02-08 15:04:21.293825+07:00 - I/Os – See section below.
Besides the HDMI port, the UP Squared 7100 also has an audio wafer, and I could not test that part, but additional audio output interfaces (Speakers and SPDIF output) are shown in Ubuntu settings.


DisplayPort is shown with the HDMI option, but there’s no specific option for DisplayPort Audio. I’m also not sure whether the board is at fault, or it might be the cable or even monitor, since it’s the first time I’ve used DisplayPort with this setup.
I tested dual 4K video output with HDMI and DisplayPort successfully using two KTC A32Q8 4K monitors.
UP Squared 7100 GPIO testing
The wiki has instructions to control GPIOs. It’s very similar to my experience using GPIO pins with the UP 7000 SBC, so I’ll go quickly, except for parts that didn’t work for now last time around.
The layout of the 40-pin GPIO is the same for all UP Squared boards, although some pins on the Pro models have additional functions.
We can find the two GPIO chips in /dev/:
1 2 3 |
jaufranc@up2-7100-cnx:~$ ls -l /dev/gpiochip* crw------- 1 root root 254, 0 Feb 8 16:46 /dev/gpiochip0 crw------- 1 root root 254, 1 Feb 8 16:46 /dev/gpiochip1 |
We can list all GPIOs with gpioinfo:
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@up2-7100-cnx:~$ sudo apt install libgpiod-dev gpiod jaufranc@up2-7100-cnx:~$ sudo gpioinfo 0 gpiochip0 - 360 lines: line 0: unnamed unused input active-high line 1: unnamed unused input active-high line 2: unnamed unused input active-high line 3: unnamed unused input active-high line 4: unnamed unused input active-high line 5: unnamed unused input active-high line 6: unnamed unused input active-high line 7: unnamed unused input active-high line 8: unnamed unused input active-high ... jaufranc@up2-7100-cnx:~$ sudo gpioinfo 1 gpiochip1 - 28 lines: line 0: unnamed unused input active-high line 1: unnamed unused input active-high line 2: unnamed unused input active-high line 3: unnamed unused input active-high line 4: unnamed unused input active-high line 5: unnamed unused input active-high line 6: unnamed unused input active-high line 7: unnamed unused input active-high line 8: unnamed unused input active-high ... |
I did a quick test with the three user LEDs on top of the Ethernet port:
1 2 3 |
jaufranc@up2-7100-cnx:~$ sudo sh -c 'echo 1 > /sys/class/leds/upboard\:green\:/brightness' jaufranc@up2-7100-cnx:~$ sudo sh -c 'echo 1 > /sys/class/leds/upboard\:red\:/brightness' jaufranc@up2-7100-cnx:~$ sudo sh -c 'echo 1 > /sys/class/leds/upboard\:yellow\:/brightness' |
This will turn on the three LEDs. We can turn them off with echo 0 instead, for example:
1 |
jaufranc@up2-7100-cnx:~$ sudo sh -c 'echo 0 > /sys/class/leds/upboard\:green\:/brightness' |
Interrupt can be tested with the the following test program
1 2 3 4 |
wget https://github.com/up-board/up-community/raw/main/scripts/irqtest.zip unzip irqtest.zip sudo apt install python3-periphery sudo python3 irqtest.py <pin> |
I used GPIO3 (pin 3) for testing:
1 2 3 4 5 6 |
jaufranc@up2-7100-cnx:~$ sudo python3 irqtest2.py 2 [sudo] password for jaufranc: IRQ testing pin 2 rising rising falling |
A falling edge was detected after connecting pin 3 (GPIO2) and pin 6 (GND) with a jumper cable.
I installed the BootTerm utility to quickly list the UART interfaces:
1 2 3 4 5 6 7 |
jaufranc@up2-7100-cnx:~/bootterm$ sudo bt -l port | age (sec) | device | driver | description ------+------------+------------+------------------+---------------------- 0 | 259 | ttyS0 | port | 1 | 259 | ttyS1 | port | 2 | 258 | ttyS4 | port | * 3 | 258 | ttyS5 | port | |
I was expecting the driver to be “dw-apb-uart”, but it just shows as “port”. We can check the UART interfaces in sysfs too, and there’s no association with tty devices:
1 2 |
jaufranc@up2-7100-cnx:~/Desktop$ ls -l /sys/bus/pci/devices/0000\:00\:1e.?/dw-apb-uart.*/tty ls: cannot access '/sys/bus/pci/devices/0000:00:1e.?/dw-apb-uart.*/tty': No such file or directory |
But the UART devices are there (one on the GPIO header, and the other on the header):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
jaufranc@up2-7100-cnx:~/Desktop$ ls -l /sys/bus/pci/devices/0000\:00\:1e.?/dw-apb-uart.*/ '/sys/bus/pci/devices/0000:00:1e.0/dw-apb-uart.5/': total 0 lrwxrwxrwx 1 root root 0 Mar 8 14:53 driver -> ../../../../bus/platform/drivers/dw-apb-uart -rw-r--r-- 1 root root 4096 Mar 8 14:56 driver_override drwxr-xr-x 4 root root 0 Mar 8 14:56 dw-apb-uart.5:0 lrwxrwxrwx 1 root root 0 Mar 8 14:56 firmware_node -> ../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:75 -r--r--r-- 1 root root 4096 Mar 8 14:56 modalias drwxr-xr-x 2 root root 0 Mar 8 14:56 power lrwxrwxrwx 1 root root 0 Mar 8 14:56 software_node -> ../../../../kernel/software_nodes/node2 lrwxrwxrwx 1 root root 0 Mar 8 14:53 subsystem -> ../../../../bus/platform -rw-r--r-- 1 root root 4096 Mar 8 14:56 uevent '/sys/bus/pci/devices/0000:00:1e.1/dw-apb-uart.6/': total 0 lrwxrwxrwx 1 root root 0 Mar 8 14:53 driver -> ../../../../bus/platform/drivers/dw-apb-uart -rw-r--r-- 1 root root 4096 Mar 8 14:56 driver_override drwxr-xr-x 4 root root 0 Mar 8 14:56 dw-apb-uart.6:0 lrwxrwxrwx 1 root root 0 Mar 8 14:56 firmware_node -> ../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:76 -r--r--r-- 1 root root 4096 Mar 8 14:56 modalias drwxr-xr-x 2 root root 0 Mar 8 14:56 power lrwxrwxrwx 1 root root 0 Mar 8 14:56 software_node -> ../../../../kernel/software_nodes/node2 lrwxrwxrwx 1 root root 0 Mar 8 14:53 subsystem -> ../../../../bus/platform -rw-r--r-- 1 root root 4096 Mar 8 14:56 uevent |
I haven’t found a way to resolve that one yet.
We can check I2C with i2c-tools:
1 2 3 4 5 6 7 8 9 10 11 |
jaufranc@up2-7100-cnx:~$ sudo apt install i2c-tools jaufranc@up2-7100-cnx:~$ sudo i2cdetect -y -r 3 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- |
We can list the SPI device in sysfs:
1 2 3 |
jaufranc@up2-7100-cnx:~$ ls -l /dev/spidev0.* crw------- 1 root root 153, 0 Feb 8 21:18 /dev/spidev0.0 crw------- 1 root root 153, 1 Feb 8 21:18 /dev/spidev0.1 |
and also used the spi-config to confirm they are detected and can be configured:
1 2 3 4 5 |
jaufranc@up2-7100-cnx:~$ sudo apt install spi-tools jaufranc@up2-7100-cnx:~$ sudo spi-config -d /dev/spidev0.0 -q /dev/spidev0.0: mode=0, lsb=0, bits=8, speed=1000000, spiready=0 jaufranc@up2-7100-cnx:~$ sudo spi-config -d /dev/spidev0.1 -q /dev/spidev0.1: mode=0, lsb=0, bits=8, speed=1000000, spiready=0 |
Last time around, I had an issue with PWM using the UP 7000 SBC. AAEON eventually provided the pwmset.sh script so I tried it again with the UP Squared 7100. Usage:
1 2 3 4 5 6 7 |
$ sudo ./pwmset.sh Usage: The first argument is channel The second argument is frequency The 3rd argument is duty_cycle |
Two PWM chips are listed in sysfs:
1 2 3 |
jaufranc@up2-7100-cnx:~$ ls -l /sys/class/pwm/pwmchip* lrwxrwxrwx 1 root root 0 Feb 8 21:18 /sys/class/pwm/pwmchip0 -> ../../devices/platform/INTC1057:00/pwm/pwmchip0 lrwxrwxrwx 1 root root 0 Feb 8 21:18 /sys/class/pwm/pwmchip1 -> ../../devices/platform/upboard-pwm/pwm/pwmchip1 |
When I first tried it returned a write error:
1 2 3 4 5 |
jaufranc@up2-7100-cnx:~$ sudo ./pwmset.sh 0 1000 50 channel 0 set freq 1000 duty 50% skip export channel 0 ./pwmset.sh: line 19: echo: write error: Device or resource busy set ok |
The original code used pwnchip0, so I changed the code to use pwmchip1 instead, and this time there was no error:
1 2 3 |
jaufranc@up2-7100-cnx:~$ sudo ./pwmset.sh 0 1000 50 channel 0 set freq 1000 duty 50% set ok |
I dusted my Ikascope pen oscilloscope to check the waveform on my Android smartphone, and it does indeed work
Changing the duty cycle to 20% output does indeed work too.
The ADC input device can be found in sysfs:
1 2 3 4 5 |
jaufranc@up2-7100-cnx:~$ ls /sys/bus/iio/devices/iio\:device0 buffer firmware_node power uevent buffer0 in_voltage_raw scan_elements waiting_for_supplier current_timestamp_clock in_voltage_scale subsystem dev name t |
We can list the raw voltage with the following command:
1 2 |
jaufranc@up2-7100-cnx:~$ cat /sys/bus/iio/devices/iio\:device0/in_voltage_raw 235 |
AAEON UP Squared 7100 Benchmarks in Ubuntu Pro 24.04
The performance of the Intel Processor N100 is well known, but I’ll still run a few benchmarks on the UP Squared 7100 SBC to find out if there’s anything unusual.
sbc-bench.sh won’t run because the board is “Too busy for benchmarking”.
That’s because there’s one process in D “uninterruptible sleep” state:
1 2 3 |
jaufranc@up2-7100-cnx:~$ ps auxwww | grep " D " root 7607 0.5 0.0 0 0 ? D 18:40 0:20 [kworker/2:3+pm] jaufranc 8898 0.0 0.0 17980 2304 pts/0 S+ 19:42 0:00 grep --color=auto D |
So I modified the script to skip the load average test, and tried again:
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 |
jaufranc@up2-7100-cnx:~$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... sbc-bench v0.9.70 Installing needed tools: apt-get -f -qq -y install powercap-utils 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 (12 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 Full results uploaded to https://0x0.st/8PDN.bin # AAEON UPS-ASL01 V1.0 / N100 Tested with sbc-bench v0.9.70 on Sun, 09 Feb 2025 20:01:52 +0700. Full info: [https://0x0.st/8PDN.bin](http://0x0.st/8PDN.bin) ### General information: Information courtesy of cpufetch: Name: Intel(R) N100 Microarchitecture: Alder Lake Technology: 10nm Max Frequency: 3.400 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 N100, 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 700 3400 - 1 0 1 700 3400 - 2 0 2 700 3400 - 3 0 3 700 3400 - 7684 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 69.0°C: cpu0: OPP: 3400, Measured: 3384 After at 71.0°C: cpu0: OPP: 3400, Measured: 3362 (-1.1%) ### Performance baseline * memcpy: 4718.4 MB/s, memchr: 7174.0 MB/s, memset: 4718.5 MB/s * 16M latency: 223.4 199.3 210.6 184.2 198.1 159.0 158.4 172.4 * 128M latency: 242.0 229.9 227.8 228.1 227.9 204.8 199.1 206.7 * 7-zip MIPS (3 consecutive runs): 6672, 6644, 6646 (6650 avg), single-threaded: 2882 * `aes-256-cbc 698444.03k 1015647.38k 1100619.18k 1126108.50k 1131520.00k 1124990.98k` * `aes-256-cbc 740983.39k 1025240.21k 1107475.54k 1127382.70k 1127527.77k 1135318.36k` ### PCIe and storage devices: * Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet: Speed 2.5GT/s, Width x1, driver in use: r8169, * Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet: Speed 2.5GT/s, Width x1, driver in use: r8169, * 238.5GB "PCIe SSD" SSD as /dev/nvme0: Speed 8GT/s, Width x2 (downgraded), 0% worn out, drive temp: 52°C, ASPM Disabled * 58.3GB "Kingston TY2964" HS400 Enhanced strobe eMMC 5.1 card as /dev/mmcblk0: date 08/2024, manfid/oemid: 0x000070/0x0100, hw/fw rev: 0x0/0x5b00000000000000 * Winbond W25Q256JW 32MB SPI NOR flash, drivers in use: spi-nor/intel-spi ### Swap configuration: * /swap.img on /dev/mmcblk0p2: 4.0G (0K used) on MMC storage ### Software versions: * Ubuntu 24.04.1 2025.01.13 LTS (Cubic 2025-01-13 14:34) (noble) * Compiler: /usr/bin/gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.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-52-generic root=UUID=3f129138-f4bf-45fc-b02d-dcab3c9c2ad1 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-52-generic / CONFIG_HZ=1000 Waiting for the device to cool down..................................................................... 66.0°C^C |
Something is seriously wrong, as a 7-zip score is well below the typical 13,xxx score for an Intel N100 mini PC, and even slower than a Raspberry Pi 5. There’s no thermal throttling with the CPU temperature reaching only up to 76.0°C.
Let’s check the power limits:
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 |
jaufranc@up2-7100-cnx:~$ sudo powercap-info -p intel-rapl enabled: 1 Zone 0 name: package-0 enabled: 1 max_energy_range_uj: 262143328850 energy_uj: 235678433710 Constraint 0 name: long_term power_limit_uw: 6000000 time_window_us: 27983872 max_power_uw: 6000000 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: 5765154430 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: 7662455 Constraint 0 name: long_term power_limit_uw: 0 time_window_us: 976 |
PL1 is set to 6W and PL2 to 25W. But for reference, PL1 is set to 15W and PL2 to 25W in the GEEKOM Mini Air12 mini PC. I suspeect that may be because the UP Squared 7100 SBC is design to run properly with an ambient temperature of up to 60°C.
We can enter the BIOS to confirm that, and change PL1 to 15000 mW.
After the change, PL1 is indeed set to 15W, and PL2 remains at 25W:
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@up2-7100-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: 1708036154 Constraint 0 name: long_term power_limit_uw: 15000000 time_window_us: 27983872 max_power_uw: 6000000 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: 166117433 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: 1729792 Constraint 0 name: long_term power_limit_uw: 0 time_window_us: 976 |
Let’s run sbc-bench.sh again with the updated power limits:
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@up2-7100-cnx:~$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... sbc-bench v0.9.70 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 (11 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 Full results uploaded to https://0x0.st/8PD_.bin # AAEON UPS-ASL01 V1.0 / N100 Tested with sbc-bench v0.9.70 on Sun, 09 Feb 2025 20:38:32 +0700. Full info: [https://0x0.st/8PD_.bin](http://0x0.st/8PD_.bin) ### General information: Information courtesy of cpufetch: Name: Intel(R) N100 Microarchitecture: Alder Lake Technology: 10nm Max Frequency: 3.400 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 N100, 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 700 3400 Alder Lake 1 0 1 700 3400 Alder Lake 2 0 2 700 3400 Alder Lake 3 0 3 700 3400 Alder Lake 7684 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 65.0°C: cpu0: OPP: 3400, Measured: 3383 After at 98.0°C: cpu0: OPP: 3400, Measured: 3387 ### Performance baseline * memcpy: 9436.6 MB/s, memchr: 14476.7 MB/s, memset: 9642.1 MB/s * 16M latency: 158.9 147.2 158.8 147.2 158.3 124.3 117.3 122.3 * 128M latency: 172.2 171.5 172.4 172.0 172.3 149.1 138.6 139.9 * 7-zip MIPS (3 consecutive runs): 13143, 13210, 13293 (13220 avg), single-threaded: 3520 * `aes-256-cbc 878757.96k 1160181.03k 1199250.52k 1209499.31k 1212405.08k 1211897.17k` * `aes-256-cbc 899064.32k 1172657.88k 1212056.32k 1222621.87k 1224196.10k 1225375.74k` ### PCIe and storage devices: * Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet: Speed 2.5GT/s, Width x1, driver in use: r8169, * Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet: Speed 2.5GT/s, Width x1, driver in use: r8169, * 238.5GB "PCIe SSD" SSD as /dev/nvme0: Speed 8GT/s, Width x2 (downgraded), 0% worn out, drive temp: 57°C, ASPM Disabled * 58.3GB "Kingston TY2964" HS400 Enhanced strobe eMMC 5.1 card as /dev/mmcblk0: date 08/2024, manfid/oemid: 0x000070/0x0100, hw/fw rev: 0x0/0x5b00000000000000 * Winbond W25Q256JW 32MB SPI NOR flash, drivers in use: spi-nor/intel-spi ### Swap configuration: * /swap.img on /dev/mmcblk0p2: 4.0G (0K used) on MMC storage ### Software versions: * Ubuntu 24.04.1 2025.01.13 LTS (Cubic 2025-01-13 14:34) (noble) * Compiler: /usr/bin/gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.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-52-generic root=UUID=3f129138-f4bf-45fc-b02d-dcab3c9c2ad1 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-52-generic / CONFIG_HZ=1000 Waiting for the device to cool down................ 81.0°C^ |
The 7-zip score is now 13,220 points or about as expected for a fanless Intel N100 SBC. As previously mentioned, the lower default PL1 power limit is not necessarily a misconfiguration since the UP Squared 7100 is supposed to work in a 0°C ~ 60°C temperature range, and it may make sense to set PL1 to 6W for hotter environments. The ambient temperature (about 28°C) during our test is relatively warm for a consumer device, but it may be considered a cool room for industrial applications…
Storage benchmarks
I tested the performance of the eMMC flash with iozone:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
jaufranc@up2-7100-cnx:~$ iozone -e -I -a -s 100M -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 102400 4 54055 62800 39069 39208 35769 62060 102400 16 127272 138660 92418 92357 71011 134988 102400 512 219336 213146 267535 269494 263948 212083 102400 1024 223848 221540 282969 284233 281687 221670 102400 16384 230131 235639 311930 312284 312131 230898 iozone test complete. |
Around 311 MB/s and 230 MB/s sequential read and write speeds are similar to the results with the flash used on the UP 7100 SBC, and pretty good for an eMMC flash. Random I/O results look good too. and better than on the UP 4000.
Let’s now run the same tested on the MAKERDISK NVMe SSD mostly to test the PCIe interface:
1 2 3 4 5 6 7 8 9 10 |
jaufranc@up2-7100-cnx:/media/nvme0n1p6$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 152507 272471 21413 21415 59198 265015 102400 16 447079 640528 77261 77186 178723 626755 102400 512 1383559 1277078 861112 871326 867223 1457527 102400 1024 1442194 1468521 1129621 1141735 1140783 1448351 102400 16384 1551388 1595975 1535020 1572667 1567298 1532219 iozone test complete. |
At 1500 MB/s, the results are consistent with PCIe Gen3 x2 from the specs of the SBC. The SSD itself is rated 2050 MB/s (Read) and 1,000 MB/s (Write), so that’s normal, except for the write speed that’s higher than expected/possible. I used an ext4 partition, so there should not be any issues with caching, and I’m not sure what happened here.
3D Graphics Benchmark
I went with the usual Unigine Heaven Benchmark 4.0 to test 3D graphics performance in Linux.
The UP Squared 7100 board could render the benchmark scene at 11.3 FPS on average with a score of 284 points at the standard 1920×1080 resolution (and PL1 set to 15W). The score is a little lower than actively cooled mini PC, but closer to the 294 points achieved by the MINIX NEO Z100-0dB fanless mini PC.
Video Playback in YouTube
I could play YouTube videos in Firefox and Chrome at 1920×1080 60 FPS with just a couple of frames dropped at the beginning. Switching to 4K 60 FPS in Chrome was more challenging by the board could still cope.

However, at 8K 60 FPS the video was unwatchable due to constant loading and a large number of frames dropped.

Power Consumption
Finally, I measured power consumption with a wall meter:
- Power off – 2.1 – 2.2 Watts
- Idle – 8.4 – 8.6 Watts
- Full HD 60 fps YouTube video in Firefox – 13.6 to 14.4 Watts (AVC codec)
- Full HD 60 fps YouTube video in Chrome – 15.3 to 19.3 Watts (AV1 codec)
- 4K 60 fps YouTube video in Chrome – 21.9 to 25.1 Watts
- Stress test with “stress -c 4” – 21.9 to 22.1 Watts
Note: An HDMI monitor, one RF dongle for a wireless keyboard and mouse, and an Ethernet cable were connected to the board during measurements. It looks like the power supply provided with the board might not be the most efficient… Power consumption is quite higher than that of the Processor N100-based UP 700 SBC I tested in 2023.
Conclusion
The UP Squared 7100 Intel N100-powered SBC works well in Ubuntu Pro 24.04 LTS with most features working as expected, and some improvements over the UP 7000 SBC like support for dual 4K video output using HDMI and DisplayPort video outputs. 4Kp60 YouTube video playback was also relatively smooth, an improvement over the UP 7000 SBC.
It’s better than most other x86 SBC when it comes to GPIO with a BIOS that can define the behavior of each pin, and there’s also a CRB Setup menu in the BIOS in administrator mode with an impressive number of options. A few things that did not work for me were DisplayPort audio output, and the UART interfaces were not mapped to /dev/tty devices. Apart from that, everything works as expected after I changed PL1 from 6W to 15W, as otherwise, the performance was quite lower than on other Intel N100 systems. I suspect it was done on purpose since the board needs to operate in the 0 to 60°C temperature range.
Another highlight of the UP Squared 7100 SBC is that it can ship with Ubuntu Pro, instead of just Ubuntu 24.04 LTS, so if your organization needs Ubuntu Pro, it’s just plug-and-play and there’s no need to manually configure each board. I could get updates through Ubuntu Pro just fine, but I was unable to enable Livepatch, and it was unclear to me how to use Landscape for remote management. AAEON asked Canonical, but we were unable to get an answer after one month. Hopefully, it will be fixed soon.
I’d like to thank AAEON for sending the UP Squared 7100 SBC with an Intel N100, 8GB RAM, and a 64GB eMMC flash preloaded with Ubuntu Pro for review. The sample reviewed here can be purchased for $306.99 including the 72W power adapter ($15.99) and Ubuntu Pro 24.04 LTS license + installation service ($30 + $17.99). The price is $259 without those before taxes and shipping.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress