How to check if your Celeron J1900 QNAP (TS-251+, etc.) has the fixed CPU revision (Stepping 9)

The Intel LPC bus clock degradation issue (which leads to the infamous “sudden death” boot loop requiring the 100-ohm resistor fix) is well documented on theseg forums. However, I recently came across a Reddit thread indicating that later manufacturing runs of these NAS units shipped with an updated CPU revision that natively fixes the flaw.

Specifically, units featuring Stepping 9 (Intel’s D1 revision) are safe, while earlier units featuring Stepping 8 (C0 revision) or lower are still susceptible to the degradation over time.

If you want to check your own unit, here is how I did it via SSH:

1. Enable SSH in QTS

Go to Control Panel > Network & File Services > Telnet / SSH and check Allow SSH connection. (Note: If you have the default admin account disabled, click “Edit Access Permission” to grant your personal admin account SSH rights).

2. Connect and Run the Check

Use PuTTY (Windows) or Terminal (Mac/Linux) to log into your NAS. If you are greeted by the QNAP Console Menu, exit out of it to the standard command prompt (usually by typing Q and hitting Enter).

Run the following command:

Bash

grep -E 'model name|stepping' /proc/cpuinfo | sort | uniq

The Results

If your output returns stepping : 9, your CPU has the hardware-level fix and you are safe:

model name      : Intel(R) Celeron(R) CPU  J1900  @ 1.99GHz
stepping        : 9

Unfortunately, mine returned stepping : 8, so I guess I’m officially on borrowed time!

Don’t forget to disable SSH in your Control Panel again once you are done checking.

No reason to disable SSH on your NAS. A NAS should never be exposed to the WAN. So having SSH enabled always is an exceptionally useful thing.

Thank you for this bit of advice. I will check by TS-451…

Edit: Bummer. I’m at stepping 8 as well…

Stems from here

I did not find an indication to correlate stepping to revision (e.g. 9 = D1) I posted about trying to to use DMIdecode to check further, but as I do not have a x51+ device to test, I cannot check.

Tell me what I need to enter for the DMIdecode. :smiley:

dmidecode | grep -w ID

I think page 14 of this doc should help ID the stepping

Hmm.. Sending that didn’t give me much useful information…

[jono@NA9D-NAS-2 ~]$ sudo dmidecode | grep -w ID                               
	ID: 0
	ID: 1
	ID: 2
	ID: 3
	ID: 4
	ID: 78 06 03 00 FF FB EB BF

Running with dmidecode w/o the grep results in a long output but in the processor section I found:

Handle 0x0034, DMI type 4, 42 bytes
Processor Information
	Socket Designation: SOCKET 0
	Type: Central Processor
	Family: Celeron
	Manufacturer: Intel
	ID: 78 06 03 00 FF FB EB BF
	Signature: Type 0, Family 6, Model 55, Stepping 8

So it’s a stepping 8 revision just like the results from the command @Spile suggested.

So I’m to quite able to discern what you are getting at…

In the above linked Intel changelog, I did not see a simple stepping to revision indicator, or am I missing a simple 9 = D1 in there?

So I was trying to see if the ID methods mentioned in the document could be used

I’m not able to find anything in the entire DMIdeocde output that has the hex offsets listed in that document…

Was hoping the output would have one of the hex values mentioned

0A/0C/0E/13

Oh wait, you have a TS-251 non plus, so I think your CPU is a J1800 so this doc is only for the J1900

On page 8 they say:

This erratum is not relevant to Intel® Celeron® Processor J1800 since it is not supported for use in
embedded use conditions

Very confusing

Yes, I have a J1800.

We should probably make that code a little more respectable:

grep -E 'model name|stepping' /proc/cpuinfo | sort | uniq

… thus:

[~] # grep -E 'model name|stepping' /proc/cpuinfo | sort | uniq
model name      : Intel(R) Celeron(R) CPU  J1900  @ 1.99GHz
stepping        : 8