----------------------------------------
OEM Production 2550L2D-MxPC
July 27th, 2026
----------------------------------------
I've been messing around with a little old PC I have laying around which
I formerly ran pfsense on, it has an Intel Atom D2550 and two Broadcom
BCM57788 gigabit NICs... When I bought the machine from Newegg in 2017,
the only quirks folks in the listing complained about were LOUD CPU fan
and the strange RAM expansion slots in the machine... The D2550
officially only supports 4GB of RAM, but at the time almost everyone
did this with just one of the two slots, making me wonder why there's a
second slot...
Today I found out just how quirky this machine really is...
The machine has UEFI firmware on it, but linux is unable to populate
anything in the EFIVARFS, weird... I can get it to UEFI boot from the
USB 2.0 ports on it, but I am unsure if it's IA32 or x86_64 UEFI boot.
Attempting to get it to UEFI boot from the SATA ports is useless. Ended
up using CSM booting, not a deal breaker, but I really dislike having
GRUB on my machines. [1]
The SuperIO chip on the machine appears to be a W83627DHG-P, and it's
wired up rather strangely. I've noticed that out of the hardware
monitoring capabilities on this chip the two populated temperature
sensors NEVER change, and the fan DC or PWM control never changes
either. When I investigated closer I discovered that the PWM control is
tied to the never changing temperature sensors; the ACPI sensor on this
machine also returns bullshit values too. I suspect that whoever wired
up those sensors just used a resistor to always return a healthy looking
value instead of real temperature; of course that's also why the stock
fan was a source of complaint for the folks who used them: always runs
at full speed.
Fortunately the Linux 7.1.2 kernel allows controlling the fan manually,
and it is able to read the core temperature from the two Intel Atom
cores, as well as the hard drive temperature. [2]
While stress testing the CPU to find an optimal fan curve, I noticed
that this machine at room temperature is most likely NEVER to experience
a core overheat, I couldn't get the CPU cores to break 60°C with the
stock heat sink and fan completely disabled... In fact the only reason
to have the fan turned on is to cool the components adjacent to the
heat sink; or for industrial/high ambient operation.
In my machine I had replaced the loud stock fan with the Noctua NF-A4x10
PWM, and determined that the PWM duty cycle for this combo results in
100% speed at the /sys/class/hwmon/hwmon2/pwm2 value of 201 and, minimum
room temperature startup speed at approximately 16 (8% duty cycle), and
stall at approximately 10 (5% duty cycle).
The machine is rated for ambient operation of 0°C to 55°C, the core
temperature has a max of 100°C, the SSD I am using is rated to 70°C, and
the RAM is rated to 95°C... I decided to aim for maximum fan speed at
55°C which resulted in a fan curve of approximately:
pwm2 value = °C x 3.65454545455
With the fact that this machine is difficult to overheat, I ended up
writing a simple cron.hourly shell script to adjust the fan speed once
an hour, it's seriously not worth wasting CPU cycles otherwise.
The voltage readouts that the SuperIO chip provides make a lot more
sense than the temperature readouts, while lmsensors bungles up the
description and min/max alarm values for most of them, I was able to
collaborate MOST of them with the readouts in the UEFI setup screen,
except for the +12VDC and +5VDC rails; I think the w83627dhg-p accepts
inputs of 0-4VDC, so there must be resistors for those rails, but I do
not know their values or the formula required to correct the display.
They appear to be attached to in1 and in6, but unsure which is which
also... Fun!
Note 1:
Yes I tried the EFI fallback paths, both 32 and 64 bit.
Note 2:
Use the coretemp, drivetemp, and w83627ehf kernel modules to expose as
many temperature sensors as possible.
----------------------------------------
(DIR) Back to phlog index
(DIR) gopher.zcrayfish.soy gopher root
This phlog entry has been read 133 times.
(QRY) Comments are enabled for this post, select here to leave yours
Nobody has commented on this post.