Note: PC Engines - End of Life

You might need a BIOS update if your system will not boot from mSATA or if you cannot boot from a USB 3.0 medium.

The latest BIOS update for APU2 is available here.

Note: If you encounter that ipfire hangs on reboot, add reboot=pci to the line with GRUB_CMDLINE_LINUX in the file /etc/default/grub. When done execute /usr/local/bin/update-bootloader. (this is also fixed in newer bios versions)

Specifications

description
Processor AMD GX-412TC SOC, Quad Core @ 1 GHz clock speed
Memory 4GB
L2 Cache 2048KB

More on processor features: CPU-World - AMD G-Series GX-412TC specifications

Storage

[root@ipfire ~]# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads:   1158 MB in  2.00 seconds = 579.07 MB/sec
Timing buffered disk reads: 818 MB in  3.01 seconds = 271.98 MB/sec

Benchmark from a Phision mSATA SSD.

HWRNG

The HWRNG fails the fips test so rngd refuse to use it and will terminated.

Heat Spreader

Due to the lack of a south-bridge chip, the heat spreader only needs to be installed on the SoC.

Networking

Three Intel NICs (Intel Corporation I210 Gigabit Network Connection (rev 03)).

iperf

  1. Desktop (192.168.168.5) as iperf server, IPfire as client:
  [root@ipfire ~]# iperf -c 192.168.168.5 -t 60
------------------------------------------------------------
Client connecting to 192.168.168.5, TCP port 5001
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
  [  3] local 192.168.168.1 port 41773 connected with 192.168.168.5 port 5001
  [ ID] Interval       Transfer     Bandwidth
  [  3]  0.0-60.0 sec  6.58 GBytes   942 Mbits/sec
  1. IPfire (192.168.168.1) as iperf server, desktop as client:
user@desktop:~$ iperf -c 192.168.168.1 -t 60
------------------------------------------------------------
Client connecting to 192.168.168.1, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.168.5 port 51324 connected with 192.168.168.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  6.53 GBytes   935 Mbits/sec
  1. Dual way routing test through the APU2 from a client in green to a server in red:
    (this need a DNAT Rule to forward port 5001 back to the client in green.)
thinkpad ~ # iperf -c 192.168.202.78 -d -t 60
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.202.78, TCP port 5001
TCP window size:  212 KByte (default)
------------------------------------------------------------
[  5] local 192.168.10.13 port 45188 connected with 192.168.202.78 port 5001
[  4] local 192.168.10.13 port 5001 connected with 192.168.202.78 port 45396
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-60.0 sec  6.44 GBytes   921 Mbits/sec
[  4]  0.0-60.0 sec  3.64 GBytes   520 Mbits/sec

This is the only test that show the limitations of the APU2.

AES Stream Encryption

With help of AES-NI, AES encryption/decryption is fast than on the predecessor APU1C/APU1D.

[root@ipfire ~]# openssl speed -elapsed -evp aes-256-cbc
You have chosen to measure elapsed time instead of user CPU time.
Doing aes-256-cbc for 3s on 16 size blocks: 11438528 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 64 size blocks: 4433380 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 256 size blocks: 1358770 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 1024 size blocks: 360039 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 8192 size blocks: 45699 aes-256-cbc's in 3.00s
OpenSSL 1.0.2d 9 Jul 2015
built on: reproducible build, date unspecified
options:bn(64,32) md2(int) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) blowfish(idx)
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT   -DDSO_DLFCN -DHAVE_DLFCN_H -DSSL_FORBID_ENULL -DL_ENDIAN -O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC -fstack-protector-all --param=ssp-buffer-size=4 -march=i686 -mmmx -msse -msse2 -mfpmath=sse -fomit-frame-pointer -DPURIFY -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc      61005.48k    94578.77k   115948.37k   122893.31k   124788.74k

FIXME - Add aes-256-gcm, camellia-256-cbc

References

Photos