embedded adventures

Alpine Linux on Fujitsu Futro S520/S720

A new year - a new thin client! Two, actually. I wanted to buy a Fujitsu Futro S520 but the seller noticed it would not POST so he upgraded me to a S720 and threw in the dead S520 as a freebie.

S520 and S720 share a lot of the design language, with many similarities in the mainboard layout. The notable differences are:

Feature S520 S720
SoC GX-212ZC 2x1.4GHz GX-217GA 2x1.65GHz
TDP 7W 15W
SODIMM 1x 1333MT/s 1x 1600MT/s
4GiB NAND Yes No
mSATA unpopulated Yes
USB 2.0 2x 4x
Internal USB 2.0 header unpopulated Yes
Serial unpopulated Yes
Video output DVI-D + DVI-I DVI-I + DP
PoE addon option No Yes
Idle power draw 5W 6W


There is also S920 with PCIe x4 on a low-profile riser but these are less common (much like HP t620 Plus).

Both devices have a Realtek 8111G NIC, ALC671 audio, 2x PS/2, 2x USB 3.0 and 4 analogue audio mini-jack connectors.

SoCs may vary. S720s with GX-222GC and quad-core GX-424CC have been spotted in the wild. Earlier S520s came with GX-210HA instead. Notably, between the two I have, GX-212ZC is the newer one, based on Puma cores and Mullins integrated GPU.

In fact, both boards have a lot of stuff unpopulated! Anything from LVDS, GPIO, SPDIF, parallel port, fan connectors to a SATA power connector and PCIe x4 on the S720. Apparently Fujitsu used to sell a full-featured version of S720 as a part of their industrial motherboard lineup (D3313). The thin client versions are heavily stripped down to reduce cost. Regrettably it is not just the sockets missing but also some components so restoring functionality may not be easy. I am however very curious about that unpopulated mSATA connector on S520 though.

Weirdly, S720 reports half of its specified memory speed (800MT/s with a 12800 module and 667MT/s with a 10600 module) while S520 runs both at 1333MT/s as expected. Might be a BIOS/memory compatibility issue.

Interestingly, BIOS indicates ECC support available, but I do not have a DDR3 SODIMM ECC memory to test that. I tested with Apacer ECC SODIMM and unfortunately it would not boot.

Reviving the S520

The S520 would not in fact POST. Power LED would come up with no signal on either of the DVI ports. I poked around the motherboard with a multimeter and probed correct voltages at different spots - it seemed to be powered correctly. Visual inspection did not reveal any burned or broken components or traces either. The most likely cause was BIOS corruption or SoC failure.

And luckily for me, it was the BIOS! After flashing from recovery mode (described here) and following a long series of beeps and one power cycle later the board happily booted up. Two terminals for the price of one - not bad!

I was wondering if the soldered NAND memory would be easily accessible (some embedded devices use proprietary drivers for NAND) so I booted a Linux live stick. It turns out that it is not just a raw NAND chip but has its own little SATA controller too. 4GB is not exactly a whole lot of real estate but a smaller distro should fit just fine. I will attempt to solder in the missing mSATA connector, if that works it will make a nice little box.

Booting Linux

Due to space constraints I decided to try Alpine Linux. Since the last time I tried it several years ago it has reimagined itself as a distribution for containers but it still remains a lightweight and featureful choice for embedded devices. Both terminals feature UEFI so I should be able to go with either EFI boot or more traditional MBR bootloader. Syslinux - Alpine's bootloader of choice - supports either but the default installation scripts favour MBR so I went with that. Installation was a breeze and took only three minutes. The only modification was that I opted to go without a swap file with setup-disk -s 0. With 5.10 kernel everything seems to be supported out-of-the-box.