Repurposing a Citrix SD-WAN 410

recently, on a trip to the local computer recyclers, i saw they had some Citrix-branded rack-mount servers. i was looking out for little applicance-like rack-mount gear, but wasn’t sure what these were, so i popped the lid of one of them off, only to be greeted with a Supermicro logo!

without looking at them too much, i figured they’d be Atoms of some description. a quick search for the Supermicro part number on the motherboard didn’t give me an exact match, but revealed a few similar boards, all Atoms - and one in particular looked very similar layout-wise. these looked like they’d be useful, and they were cheap, so i brought three of them home, knowing i’d find a use for them.

the BIOS in these shows the model identifier as Citrix SD-WAN 410, and the Supermicro part number on the motherboard is A1SRM-LN7F-CS045. the closest match i could find on Supermicro’s website is the A1SRM-LN7F-2758, but that is shown as having an Atom C2758, but these Citrix boxes have Atom C2558s. close enough.

i removed the SATA DOM and the internal USB flash drive, threw an mSATA SSD in the conveniently-placed slot, and booted into the debian netinstall media. everything pretty much just worked! one of these is now running proxmox in my homelab.

i did, however, want to put some more RAM in one of them - and that turned out to be an ordeal. turns out these things are extremely picky, and i could not get it to work with any of the spare DDR3 RAM i had sitting around - varying sizes, rank/layout, both ECC and non-ECC. the only DIMMs that work thus far were the ones that came in the damn things. unfortunate.

i thought i’d try updating the BIOS to see if that helped any, but then… if i can’t find the board on Supermicro’s website, how the hell am i gonna get a BIOS update…?

long story short, the BIOS (and BMC) update images for the A1SRM-LN7F-2758 work just fine. i’ve thrown those (and the BIOS updater tool, which runs from an EFI shell) into an archive and rehosted that, just in case: https://archive.catstret.ch/dump/A1SRM-LN7F-CS045.tar.gz

output of lscpu
Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          36 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   4
  On-line CPU(s) list:    0-3
Vendor ID:                GenuineIntel
  BIOS Vendor ID:         Intel(R) Corporation
  Model name:             Intel(R) Atom(TM) CPU  C2558  @ 2.40GHz
    BIOS Model name:      Intel(R) Atom(TM) CPU  C2558  @ 2.40GHz  CPU @ 2.4GHz
    BIOS CPU family:      43
    CPU family:           6
    Model:                77
    Thread(s) per core:   1
    Core(s) per socket:   4
    Socket(s):            1
    Stepping:             8
    CPU(s) scaling MHz:   100%
    CPU max MHz:          2400.0000
    CPU min MHz:          1200.0000
    BogoMIPS:             4800.19
    Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon
                          pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadl
                          ine_timer aes rdrand lahf_lm 3dnowprefetch cpuid_fault epb pti ibrs ibpb stibp tpr_shadow flexpriority ept vpid tsc_adjust smep erms dtherm arat vnmi md_clear
Virtualization features:
  Virtualization:         VT-x
Caches (sum of all):
  L1d:                    96 KiB (4 instances)
  L1i:                    128 KiB (4 instances)
  L2:                     2 MiB (2 instances)
NUMA:
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-3
Vulnerabilities:
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Mitigation; Clear CPU buffers; SMT disabled
  Meltdown:               Mitigation; PTI
  Mmio stale data:        Unknown: No mitigations
  Reg file data sampling: Not affected
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Not affected
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:             Mitigation; Retpolines; IBPB conditional; IBRS_FW; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
  Srbds:                  Not affected
  Tsx async abort:        Not affected
output of lspci
00:00.0 Host bridge: Intel Corporation Atom processor C2000 SoC Transaction Router (rev 03)
00:01.0 PCI bridge: Intel Corporation Atom processor C2000 PCIe Root Port 1 (rev 03)
00:02.0 PCI bridge: Intel Corporation Atom processor C2000 PCIe Root Port 2 (rev 03)
00:03.0 PCI bridge: Intel Corporation Atom processor C2000 PCIe Root Port 3 (rev 03)
00:04.0 PCI bridge: Intel Corporation Atom processor C2000 PCIe Root Port 4 (rev 03)
00:0b.0 Co-processor: Intel Corporation Atom processor C2000 QAT (rev 03)
00:0e.0 Host bridge: Intel Corporation Atom processor C2000 RAS (rev 03)
00:0f.0 IOMMU: Intel Corporation Atom processor C2000 RCEC (rev 03)
00:13.0 System peripheral: Intel Corporation Atom processor C2000 SMBus 2.0 (rev 03)
00:14.0 Ethernet controller: Intel Corporation Ethernet Connection I354 (rev 03)
00:14.1 Ethernet controller: Intel Corporation Ethernet Connection I354 (rev 03)
00:14.2 Ethernet controller: Intel Corporation Ethernet Connection I354 (rev 03)
00:14.3 Ethernet controller: Intel Corporation Ethernet Connection I354 (rev 03)
00:16.0 USB controller: Intel Corporation Atom processor C2000 USB Enhanced Host Controller (rev 03)
00:17.0 SATA controller: Intel Corporation Atom processor C2000 AHCI SATA2 Controller (rev 03)
00:18.0 SATA controller: Intel Corporation Atom processor C2000 AHCI SATA3 Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation Atom processor C2000 PCU (rev 03)
00:1f.3 SMBus: Intel Corporation Atom processor C2000 PCU SMBus (rev 03)
02:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 03)
03:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
05:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)