Adding a second NIC to Fujitsu Futro S720
I'll preface by pointing out that this is filed under #bad ideas.
Two NICs are better than one
Futro S720 (covered previously here) is a nifty x64-based thin client from Fujitsu. It sits in the middle of its lineup between the tiny S520 and the full-featured S920. The motherboard is in fact shared with S920 (and also the fully-realized industrial model D3313) except for a few unpopulated components. Notably, it lacks the PCIe 4x slot for which the S920 is coveted while still having a lot of empty space inside.
Let's say that we would like to add a second network card to the S720 anyway. There are a few ways to go about it.
1. Use an original PoE module
Fujitsu offers an optional PoE module (PN: S26361-F3466-L3) which adds an additional NIC over a strange proprietary connector next to the PCIe slot. These however seem to be manufactured from refined unobtanium to the point where even finding a picture of one is hard. With prices between €60-€100 (many times the price of the thin client) and none on the secondary market it is not a feasible solution.
2. Solder in the missing PCIe slot
The most tempting solution, but also one most difficult. Apart from the slot itself there are some surface mount components missing and reverse-engineering it without a datasheet (or at least a functional motherboard) would be quite difficult.
3. Use a USB-Ethernet dongle
Probably the easiest option, but I have my reservations about running just about anything that is not a mouse or a keyboard over USB. The trauma probably has its roots in my time spent on various SBCs that had everything on USB with all its consequences (looking at you, Raspberry Pi).
4. Use a mini PCIe card with an extender
What seems to be the tidiest solution is a miniPCIe ethernet card with an extender cable and a little daugherboard with the RJ45 socket on a PCIe bracket. I will not link any particular product but you can find them easily on aliexpress at around €5-6 a piece. The downside is that they are all unbranded chinese stuff almost exclusively based on RTL8111.
5. Use a mini PCIe riser
What if you already have a decent network card? A bit of a middle ground would be to use a PCIe riser and plug into mini PCIe. The risers sell for about €3 on aliexpress.
Here is how it looks assembled.
However, there are some limitations. First, while it might look nice and tidy the photo does not show a problem. Since the PCI bracket is very close to the top of the unit the riser actually protrudes a bit making it impossible to close the case. It would require making a bit of a dent in the top cover.
Second, mPCIe is wired for x1 only, so anything more than a single interface gigabit NIC will suffer on performance.
Third, there is power supply to consider. PCI Express Mini Card specification allows for 1100 mA normal power draw which at 3.3V comes up to 3.6W. Fortunately, the 82574L-based card I have should fit right in that envelope. The riser can be also externally powered with a SATA power cable and it should not be a problem to nick 3.3V from somewhere else (like the unused PoE interface). This way you could plug in a dual-port card based on e.g. 82576NS although it would not reach full bandwidth on both ports with a x1 link.
The performance is as expected:
#iperf3 -c 192.168.0.2 -p 1111 Connecting to host 192.168.0.2, port 1111 [...] - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 1.09 GBytes 940 Mbits/sec receiver
Was it worth it?
While the mod works I would not necessarily recommend it due to the 'spatial' limitations mentioned above. Deforming the case is not a pretty solution. However, at about €5 for the riser (incl. shipping) it is a fairly simple and accessible one.