NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
Sandshark
Jul 09, 2026Sensei
Links to instructions for installing TrueNAS with front panel display capability on some ReadyNAS
For those looking to install an alternate OS on their RN42x, 52x, or 62x unit, here is a link to some very good instructions on installing TrueNAS Scale: https://www.reddit.com/r/truenas/comments/1o...
riplatt
Sep 01, 2026Tutor
Thanks both.
portalman: the hwmon renumbering is fixable. Don't reference the hwmon numbers at all, look the device up by name. The number changes between boots but the name doesn't:
find_hwmon() {
for h in /sys/class/hwmon/hwmon*; do
[ -r "$h/name" ] || continue
[ "$(cat "$h/name")" = "$1" ] && echo "$h"
done
}
IT="$(find_hwmon it8622 | head -n1)"
Then write to "$IT/pwm2" instead of a fixed path. Worth retrying for a minute at boot too, since the module can register late. That's what tools/it87-fancontrol.sh in the repo does.
No argument on the rest. An offline box that just serves files can stay on OS6. And I've got nothing for the Pro6, I don't even know if its panel is the same design. If you want to find out, tools/rn-probe.sh is read-only and would tell me what's in there (read the safety note at the top first). A negative result still helps.
Sandshark: can you confirm those CPUs for the 526/8 and 626/8, the Pentium D1508 and Xeon D-1521? If that's right, my README is wrong.
I've been claiming the driver covers the RN526 and RN626X because they share the front board with my 426. That holds for the buttons, which really are on the front board. It doesn't hold for the LCD. The LCD never goes through the front board at all, my code drives its pins on the CPU itself, at addresses hard-coded for the Atom C3538 in the 426. On a different CPU those addresses point at nothing and the display just sits on "Booting...", which is what the RN524X owner reported in June.
I only have the 426 so I can't test this myself. I opened an issue rather than quietly editing the README: https://github.com/riplatt/truenas-rn426-panel/issues/4
If you get a 526 or 626 out of storage, rn-probe.sh output settles it. The CPU model line alone is enough. Run that before the gpio_ich test from my last post, if you only run one thing.
Sandshark
Sep 02, 2026Sensei
My main unit is a 628X and my backup unit is a 528X, so no need to get them out of storage. AFAIK, the CPU is the only difference in the units' hardware. Here are the results running rn-probe from OS6. To run under GRML, I'll have to wait for a convenient time. Note the CPU info I gave before is accurate. Since the 528X is only my backup, I can more easily run GRML on it, but it's currently in the middle of a scrub.
------------------------------------------------------------
rn-probe.sh report -- paste this whole thing into your GitHub issue
Generated on: RN528A
------------------------------------------------------------
=== 1. Identity ===
dmidecode system-product-name: # SMBIOS implementations newer than version 2.8 are not
# fully supported by this version of dmidecode.
ReadyNAS 528X
dmidecode system-version: # SMBIOS implementations newer than version 2.8 are not
# fully supported by this version of dmidecode.
11/24/2016 ReadyNAS 528X V2.4
dmidecode baseboard-product-name: # SMBIOS implementations newer than version 2.8 are not
# fully supported by this version of dmidecode.
ReadyNAS 528X
product_name: ReadyNAS 528X
product_version: 11/24/2016 ReadyNAS 528X V2.4
board_name: ReadyNAS 528X
bios_version: RN528v24
bios_date: 11/24/2016
=== 2. CPU (most important field -- this driver's GPIO addresses are Intel Denverton/Atom C3000 specific) ===
Model name: Intel(R) Pentium(R) CPU D1508 @ 2.20GHz
=== 3. Kernel ===
Linux RN528A 4.4.218.x86_64.1 #1 SMP Tue Oct 11 22:26:01 UTC 2022 x86_64 GNU/Linux
=== 4. i2c ===
-- loaded i2c modules --
(none matched 'i2c')
-- i2c-dev adapters --
i2c-0: SMBus I801 adapter at f000 <-- likely the i801 (RN426's MSP430 + RTC bus)
(NOTE: bus numbering is NOT stable across reboots -- identify by name, not number.)
-- i2cdetect (ONE read-byte pass per adapter; 0x1c = expected MSP430 on RN426 family, 0x44 = RTC) --
i2cdetect: not installed (part of i2c-tools) -- skipping i2c bus scan
=== 5. hwmon (fan control side) ===
/sys/class/hwmon/hwmon0: coretemp
temp1_input: 49000
temp2_input: 49000
temp3_input: 49000
/sys/class/hwmon/hwmon1: it8732
fan1_input: 2170
fan2_input: 2163
pwm1: 138
pwm1_auto_channels_temp: 1
pwm1_auto_point1_temp: 127000
pwm1_auto_point1_temp_hyst: 127000
pwm1_auto_point2_temp: 127000
pwm1_auto_point3_temp: 127000
pwm1_auto_slope: 3
pwm1_auto_start: 138
pwm1_enable: 3
pwm1_freq: 31250
pwm2: 138
pwm2_auto_channels_temp: 1
pwm2_auto_point1_temp: 127000
pwm2_auto_point1_temp_hyst: 127000
pwm2_auto_point2_temp: 127000
pwm2_auto_point3_temp: 127000
pwm2_auto_slope: 3
pwm2_auto_start: 138
pwm2_enable: 3
pwm2_freq: 31250
pwm3: 128
pwm3_auto_channels_temp: 1
pwm3_auto_point1_temp: 127000
pwm3_auto_point1_temp_hyst: 127000
pwm3_auto_point2_temp: 127000
pwm3_auto_point3_temp: 127000
pwm3_auto_slope: 0
pwm3_auto_start: 128
pwm3_enable: 0
pwm3_freq: 31250
pwm4: 128
pwm4_auto_channels_temp: 8
pwm4_auto_point1_temp: 127000
pwm4_auto_point1_temp_hyst: 127000
pwm4_auto_point2_temp: 127000
pwm4_auto_point3_temp: 127000
pwm4_auto_slope: 127
pwm4_enable: 3
pwm4_freq: 31250
temp1_input: 48000
temp2_input: 40000
temp3_input: 44000
=== 6. PCI (SMBus / LPC / ISA bridge; 00:1f.1 = P2SB the LCD driver needs to unhide) ===
00:1f.0 ISA bridge [0601]: Intel Corporation C224 Series Chipset Family Server Standard SKU LPC Controller [8086:8c54] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller [8086:8c22] (rev 05)
00:1f.1 (P2SB): not found at that address on this board
=== 7. GPIO (read-only) ===
-- loaded GPIO modules --
(nothing matched 'gpio' or 'lpc_ich')
-- gpiochips via /sys/bus/gpio (the one that works on current kernels) --
/sys/bus/gpio/devices not present
-- gpiodetect (libgpiod) --
gpiodetect: not installed (Debian package 'gpiod').
ReadyNAS OS6 is Jessie-based and too old for it. If that's what you're
running, boot a live USB instead -- GRML works fine -- and run this
script from there.
-- legacy /sys/class/gpio (deprecated, and empty on current kernels) --
gpiochip372: gpio_ich
gpiochip448: gpio_it87
entry: export
entry: gpiochip372
entry: gpiochip448
entry: unexport
*** NO GPIO CONTROLLER IS BOUND RIGHT NOW. ***
This is NOT a negative result. The gpio-ich driver does not load by
itself, so an empty list here tells us nothing either way.
To get the answer that actually matters, run these two commands by
hand and paste the output into your issue:
sudo modprobe lpc_ich gpio-ich
gpiodetect
A chip labelled gpio_ich means this driver should port to your model
without any of the register poking the RN426 needs.
This script will not run that modprobe for you. It is strictly
read-only by design -- see the safety note at the top of the file.
If modprobe fails, check the dmesg lines below for
"gpio_ich: ACPI BAR is busy". That one is usually fixed by booting
with acpi_enforce_resources=lax on the kernel command line.
-- dmesg lines mentioning gpio / lpc / p2sb (needs root on most systems) --
[ 1.051900] gpio_it87: Found Chip IT8732 rev 2. 64 GPIO lines starting at 0a10h
[ 1.085169] gpio_ich: GPIO from 372 to 447 on gpio_ich
[ 1.085177] lpc_ich: Resource conflict(s) found affecting gpio_ich
[ 4.862945] __button_init: button 'reset' gpio_it87:23n (IRQ)
[ 4.863071] __button_init: button 'front-board' gpio_ich:2 (IRQ)
[ 4.863077] i2cfb_init: initializing I2C FB buttons gpio_ich:2 (IRQ)
=== 8. Front panel state ===
(This script cannot see the LCD. Please look at the unit right now and
note in your GitHub issue which of these it's showing:)
- stuck on "Booting..."
- blank / backlight off
- showing real info (hostname, pool, etc. -- i.e. already working)
- something else (describe it)
------------------------------------------------------------
ALSO PLEASE INCLUDE in your GitHub issue (this script cannot determine these):
1. Your exact ReadyNAS model number (e.g. RN424, RN524X, RN214, ...).
2. A PHOTO of the front board's silkscreen -- the small printed marking
that identifies the board revision (e.g. this project's board reads
"RN526&RN626X Front Board V20"). It's on the small board behind the
front bezel, connected to the mainboard by a ribbon cable.
3. What the front-panel LCD is currently displaying (see section 8 above).
4. If section 7 said NO GPIO CONTROLLER IS BOUND, the output of:
sudo modprobe lpc_ich gpio-ich && gpiodetect
This script will not load that module itself. Whether a chip
labelled gpio_ich appears is the single most useful thing you can
tell us, and a negative answer is just as useful as a positive one.
------------------------------------------------------------
------------------------------------------------------------
rn-probe.sh report -- paste this whole thing into your GitHub issue
Generated on: RN628A
------------------------------------------------------------
=== 1. Identity ===
dmidecode system-product-name: # SMBIOS implementations newer than version 2.8 are not
# fully supported by this version of dmidecode.
ReadyNAS 628X
dmidecode system-version: # SMBIOS implementations newer than version 2.8 are not
# fully supported by this version of dmidecode.
01/25/2017 ReadyNAS 528X V3.0
dmidecode baseboard-product-name: # SMBIOS implementations newer than version 2.8 are not
# fully supported by this version of dmidecode.
ReadyNAS 628X
product_name: ReadyNAS 628X
product_version: 01/25/2017 ReadyNAS 528X V3.0
board_name: ReadyNAS 628X
bios_version: RN528v30
bios_date: 01/25/2017
=== 2. CPU (most important field -- this driver's GPIO addresses are Intel Denverton/Atom C3000 specific) ===
Model name: Intel(R) Xeon(R) CPU D-1521 @ 2.40GHz
=== 3. Kernel ===
Linux RN628A 4.4.218.x86_64.1 #1 SMP Tue Oct 11 22:26:01 UTC 2022 x86_64 GNU/Linux
=== 4. i2c ===
-- loaded i2c modules --
(none matched 'i2c')
-- i2c-dev adapters --
i2c-0: SMBus I801 adapter at f000 <-- likely the i801 (RN426's MSP430 + RTC bus)
(NOTE: bus numbering is NOT stable across reboots -- identify by name, not number.)
-- i2cdetect (ONE read-byte pass per adapter; 0x1c = expected MSP430 on RN426 family, 0x44 = RTC) --
i2cdetect: not installed (part of i2c-tools) -- skipping i2c bus scan
=== 5. hwmon (fan control side) ===
/sys/class/hwmon/hwmon0: coretemp
temp1_input: 45000
temp2_input: 45000
temp3_input: 44000
temp4_input: 45000
temp5_input: 44000
/sys/class/hwmon/hwmon1: it8732
fan1_input: 1781
fan2_input: 1771
pwm1: 113
pwm1_auto_channels_temp: 1
pwm1_auto_point1_temp: 127000
pwm1_auto_point1_temp_hyst: 127000
pwm1_auto_point2_temp: 127000
pwm1_auto_point3_temp: 127000
pwm1_auto_slope: 3
pwm1_auto_start: 113
pwm1_enable: 3
pwm1_freq: 31250
pwm2: 113
pwm2_auto_channels_temp: 1
pwm2_auto_point1_temp: 127000
pwm2_auto_point1_temp_hyst: 127000
pwm2_auto_point2_temp: 127000
pwm2_auto_point3_temp: 127000
pwm2_auto_slope: 3
pwm2_auto_start: 113
pwm2_enable: 3
pwm2_freq: 31250
pwm3: 128
pwm3_auto_channels_temp: 1
pwm3_auto_point1_temp: 127000
pwm3_auto_point1_temp_hyst: 127000
pwm3_auto_point2_temp: 127000
pwm3_auto_point3_temp: 127000
pwm3_auto_slope: 0
pwm3_auto_start: 128
pwm3_enable: 0
pwm3_freq: 31250
pwm4: 128
pwm4_auto_channels_temp: 8
pwm4_auto_point1_temp: 127000
pwm4_auto_point1_temp_hyst: 127000
pwm4_auto_point2_temp: 127000
pwm4_auto_point3_temp: 127000
pwm4_auto_slope: 127
pwm4_enable: 3
pwm4_freq: 31250
temp1_input: 45000
temp2_input: 42000
temp3_input: 44000
=== 6. PCI (SMBus / LPC / ISA bridge; 00:1f.1 = P2SB the LCD driver needs to unhide) ===
00:1f.0 ISA bridge [0601]: Intel Corporation C224 Series Chipset Family Server Standard SKU LPC Controller [8086:8c54] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller [8086:8c22] (rev 05)
00:1f.1 (P2SB): not found at that address on this board
=== 7. GPIO (read-only) ===
-- loaded GPIO modules --
(nothing matched 'gpio' or 'lpc_ich')
-- gpiochips via /sys/bus/gpio (the one that works on current kernels) --
/sys/bus/gpio/devices not present
-- gpiodetect (libgpiod) --
gpiodetect: not installed (Debian package 'gpiod').
ReadyNAS OS6 is Jessie-based and too old for it. If that's what you're
running, boot a live USB instead -- GRML works fine -- and run this
script from there.
-- legacy /sys/class/gpio (deprecated, and empty on current kernels) --
gpiochip372: gpio_ich
gpiochip448: gpio_it87
entry: export
entry: gpiochip372
entry: gpiochip448
entry: unexport
*** NO GPIO CONTROLLER IS BOUND RIGHT NOW. ***
This is NOT a negative result. The gpio-ich driver does not load by
itself, so an empty list here tells us nothing either way.
To get the answer that actually matters, run these two commands by
hand and paste the output into your issue:
sudo modprobe lpc_ich gpio-ich
gpiodetect
A chip labelled gpio_ich means this driver should port to your model
without any of the register poking the RN426 needs.
This script will not run that modprobe for you. It is strictly
read-only by design -- see the safety note at the top of the file.
If modprobe fails, check the dmesg lines below for
"gpio_ich: ACPI BAR is busy". That one is usually fixed by booting
with acpi_enforce_resources=lax on the kernel command line.
-- dmesg lines mentioning gpio / lpc / p2sb (needs root on most systems) --
[ 0.977445] gpio_it87: Found Chip IT8732 rev 2. 64 GPIO lines starting at 0a10h
[ 1.006123] gpio_ich: GPIO from 372 to 447 on gpio_ich
[ 1.006130] lpc_ich: Resource conflict(s) found affecting gpio_ich
[ 4.823400] __button_init: button 'reset' gpio_it87:23n (IRQ)
[ 4.823523] __button_init: button 'front-board' gpio_ich:2 (IRQ)
[ 4.823529] i2cfb_init: initializing I2C FB buttons gpio_ich:2 (IRQ)
=== 8. Front panel state ===
(This script cannot see the LCD. Please look at the unit right now and
note in your GitHub issue which of these it's showing:)
- stuck on "Booting..."
- blank / backlight off
- showing real info (hostname, pool, etc. -- i.e. already working)
- something else (describe it)
------------------------------------------------------------
ALSO PLEASE INCLUDE in your GitHub issue (this script cannot determine these):
1. Your exact ReadyNAS model number (e.g. RN424, RN524X, RN214, ...).
2. A PHOTO of the front board's silkscreen -- the small printed marking
that identifies the board revision (e.g. this project's board reads
"RN526&RN626X Front Board V20"). It's on the small board behind the
front bezel, connected to the mainboard by a ribbon cable.
3. What the front-panel LCD is currently displaying (see section 8 above).
4. If section 7 said NO GPIO CONTROLLER IS BOUND, the output of:
sudo modprobe lpc_ich gpio-ich && gpiodetect
This script will not load that module itself. Whether a chip
labelled gpio_ich appears is the single most useful thing you can
tell us, and a negative answer is just as useful as a positive one.
------------------------------------------------------------
Related Content
NETGEAR Academy
Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology!
Join Us!