Skip to the content.

TS-877 (planned second reference box)

The owner’s TS-877 is to move to OMV 8. Nothing here has been run on it yet: facts come from upstream source and QNAP’s specifications (researched 2026-10-18) and are tagged [V] verified in source/spec, [I] inferred, [M] must be measured on the box. Compare with the measured ts-253d.md.

Delta from the TS-253D

  TS-253D TS-877
CPU Celeron J4125, coretemp Ryzen 5 1600 / 7 1700 (Zen 1), k10temp [V]
qnap8528 tested entry TS-877 (MB QZ140, BP QZ220), added in v1.15, untested upstream (src/qnap8528.h) [V]
EC IT8528 most likely IT8528: the sibling TS-1277XU-RP probes as one without skip_hw_check (qnap8528 issue #26) [I]
Fans 1 × 70 mm, pwm1 2 × 80 mm system + 2 × 90 mm CPU [V]; driver exposes fan1, fan2, fan7, fan8 and two PWM groups pwm1, pwm7 [V]; which group is the CPU fans [M]
LEDs status, usb, hdd1-2 status, ident, hdd1-6, ssd1-2 (2.5” bays), m2ssd1-2 [V]; usb listed in the driver but not in QNAP’s specs [M]
Hardware activity blink hdd LEDs m2ssd only [V]
Bays 2 SATA 6 × 3.5” + 2 × 2.5” SATA, 2 × M.2 SATA [V]; bay → ATA port map [M]
PCIe 1 (QM2) 3 (Gen3 x8, Gen3 x4, Gen2 x4); 10GbE only via a card [V]
Front panel LEDs, USB Copy 16×2 LCD with Enter/Select, Power, Reset, USB Copy [V]
Buzzer “system warning buzzer” same, plus 2 HD-audio speakers [V]
PSU external internal 450 W, no EC PSU sensors [I]

What already works without changes [I]

Changes made for it

Still to do

  1. Slot discovery for ssdN and m2ssdN LEDs and a bay → ATA port table (10 SATA positions over the chipset and possibly extra AHCI controllers), filled from an LED walk (tools/model-test.py --interactive).
  2. Per-group fan curves (PLAN §11): CPU fans on Tctl, system fans on disks and EC temperatures, failsafe full speed on all groups.
  3. ident LED as a chassis locate.
  4. LCD (ICP A125 module, serial 1200 8N1, usually /dev/ttyS1): commands start with 4D (5E 01|00 backlight, 0C row len text write a row, 0D clear, 28/29 stop/start the built-in clock, 00 board ID, 07 protocol version); replies start with 53 (05 00 mask on every Enter/Select press and release, FA ack). 16×2, write rows ~180 ms apart, at most ~2 updates/s. Sources: lcdproc server/drivers/icp_a106.c (GPL-2+), stephenhouser/QnapLCD-Menu, johnnyvontruant/TruePanel (docs/A125_PROTOCOL.md), marzliak/qnap-ts470-linux (all MIT). Reimplement from the protocol in stdlib Python (termios); do not copy GPL code. Plan: an Lcd thread in qnapd owning the port (status, temperatures, pools, IP; Enter/Select pages), handing back to the clock (4D 29) on stop. Risk: a TrueNAS user never got the TS-877 LCD to answer on ttyS0-3. First run tools/hw/lcd-probe.py (queries only); if no port answers, the UART may need EC/Super I/O routing, which would be a qnap8528 feature, never userspace port access.
  5. Buzzer: qnap8528 has none. QNAP buzzers appear to be the PC-speaker line, driven by the kernel pcspkr driver (EV_SND/SND_TONE on its input device; TruePanel uses this on a TVS-671) [I]; verified on the TS-253D (2026-10-18). Check it beeps on the TS-877 before adding beeps (start, shutdown, fan failure, USB Copy).

Before installing OMV on it