Rock Pi 4B - Penta Sata Hat top board problem. ROCKPI SATA HAT loading

I’m installing a Penta SATA Hat kit using a Rock Pi 4B board running rock-pi-4b_bookworm_kde_r4.output_512 image. Sata disks appear OK under the OS but the TOP board does not work.Fan does not run and OLED displays only: ROCKPI SATA HAT loading…

Installed rockpi-penta-0.2.2.deb but I’m getting the following error when running it:

radxa@rock-pi-4b:~$ sudo systemctl status rockpi-penta.service
○ rockpi-penta.service - Rockpi SATA Hat
Loaded: loaded (/lib/systemd/system/rockpi-penta.service; enabled; preset: enabled)
Active: inactive (dead) since Wed 2026-08-12 18:41:38 -03; 5min ago
Duration: 1.374s
Process: 717 ExecStart=/usr/bin/python3 /usr/bin/rockpi-penta/main.py (code=exited, status=0/SUCCESS)
Main PID: 717 (code=exited, status=0/SUCCESS)
CPU: 692ms

Aug 12 18:41:38 rock-pi-4b python3[717]: File “/usr/bin/rockpi-penta/fan.py”, line 98, in running
Aug 12 18:41:38 rock-pi-4b python3[717]: pin.period_us(40)
Aug 12 18:41:38 rock-pi-4b python3[717]: File “/usr/bin/rockpi-penta/fan.py”, line 36, in period_us
Aug 12 18:41:38 rock-pi-4b python3[717]: self.period(us * 1000)
Aug 12 18:41:38 rock-pi-4b python3[717]: File “/usr/bin/rockpi-penta/fan.py”, line 32, in period
Aug 12 18:41:38 rock-pi-4b python3[717]: with open(os.path.join(self.filepath, ‘period’), ‘w’) as f:
Aug 12 18:41:38 rock-pi-4b python3[717]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aug 12 18:41:38 rock-pi-4b python3[717]: FileNotFoundError: [Errno 2] No such file or directory: ‘ /sys/class/pwm/pwmchip1/pwm0/period’
Aug 12 18:41:38 rock-pi-4b python3[717]: Waring: init pwm error
Aug 12 18:41:38 rock-pi-4b systemd[1]: rockpi-penta.service: Deactivated successfully.
radxa@rock-pi-4b:~$

DIrectory /sys/class/pwm/pwmchip1/pwm0 does not exist on the OS ! Both subdirectories pwmchip0 and pwmchip1 do not have pwm0 subdirectory or file. Please see below:

radxa@rock-pi-4b:/sys/class/pwm/pwmchip1$ ls
device export npwm power subsystem uevent unexport

/etc/rockpi-penta.env contents:

SDA=I2C7_SDA
SCL=I2C7_SCL
OLED_RESET=GPIO4_D2
PWMCHIP=1
BUTTON_CHIP=4
BUTTON_LINE=18
HARDWARE_PWM=1

radxa@rock-pi-4b:/etc$ cat /etc/os-release
PRETTY_NAME=“Debian GNU/Linux 12 (bookworm)”
NAME=“Debian GNU/Linux”
VERSION_ID=“12”
VERSION=“12 (bookworm)”
VERSION_CODENAME=bookworm
ID=debian
HOME_URL=“https://www.debian.org/”
SUPPORT_URL=“https://www.debian.org/support”
BUG_REPORT_URL=“ I Challenge Thee
radxa@rock-pi-4b:/etc$

radxa@rock-pi-4b:~$ sudo journalctl -u rockpi-penta.service

Aug 12 19:59:14 rock-pi-4b systemd[1]: Started rockpi-penta.service - Rockpi SATA Hat.
Aug 12 19:59:14 rock-pi-4b python3[2530]: OSError: [Errno 16] Device or resource busy
Aug 12 19:59:14 rock-pi-4b python3[2530]: During handling of the above exception, another exception occurred:
Aug 12 19:59:14 rock-pi-4b python3[2530]: Traceback (most recent call last):
Aug 12 19:59:14 rock-pi-4b python3[2530]: File “/usr/bin/rockpi-penta/fan.py”, line 24, in init
Aug 12 19:59:14 rock-pi-4b python3[2530]: with open(f"/sys/class/pwm/{chip}/export", ‘w’) as f:
Aug 12 19:59:14 rock-pi-4b python3[2530]: OSError: [Errno 16] Device or resource busy
Aug 12 19:59:14 rock-pi-4b python3[2530]: Exception in thread Thread-4 (running):
Aug 12 19:59:14 rock-pi-4b python3[2530]: Traceback (most recent call last):
Aug 12 19:59:14 rock-pi-4b python3[2530]: File “/usr/lib/python3.11/threading.py”, line 1038, in _bootstrap_inner
Aug 12 19:59:14 rock-pi-4b python3[2530]: self.run()
Aug 12 19:59:14 rock-pi-4b python3[2530]: File “/usr/lib/python3.11/threading.py”, line 975, in run
Aug 12 19:59:14 rock-pi-4b python3[2530]: self._target(*self._args, **self._kwargs)
Aug 12 19:59:14 rock-pi-4b python3[2530]: File “/usr/bin/rockpi-penta/fan.py”, line 98, in running
Aug 12 19:59:14 rock-pi-4b python3[2530]: pin.period_us(40)
Aug 12 19:59:14 rock-pi-4b python3[2530]: File “/usr/bin/rockpi-penta/fan.py”, line 36, in period_us
Aug 12 19:59:14 rock-pi-4b python3[2530]: self.period(us * 1000)
Aug 12 19:59:14 rock-pi-4b python3[2530]: File “/usr/bin/rockpi-penta/fan.py”, line 32, in period
Aug 12 19:59:14 rock-pi-4b python3[2530]: with open(os.path.join(self.filepath, ‘period’), ‘w’) as f:
Aug 12 19:59:14 rock-pi-4b python3[2530]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aug 12 19:59:14 rock-pi-4b python3[2530]: FileNotFoundError: [Errno 2] No such file or directory: ‘/sys/class/pwm/pwmchip1/pwm0/period’
Aug 12 19:59:14 rock-pi-4b python3[2530]: Waring: init pwm error
Aug 12 19:59:14 rock-pi-4b systemd[1]: rockpi-penta.service: Deactivated successfully.

Any hints how to fix this problem? Any overlay I’m missing?

Thanks for any help.

MH

More information:

  1. Replaced FAN and now FAN is at 100% max speed always
  2. OLED display still showing: ROCKPi SATA HAT Loading…

More info on I2C:

radxa@rock-pi-4b:~$ sudo i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – UU – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: UU UU – – – – – – – – – – – – – –
50: 50 51 52 53 54 55 56 57 – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
radxa@rock-pi-4b:~$ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – UU – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –

In order for the Top Module to work using latest Debian Bookworm version you need to use rsetup utility and ENABLE I2C7 overlay !!

Regards

Mauricio

Hello guys

I managed to get most of the Penta SATA Hat working when running under the newest Debian Bookwork release. OLED panel and Fan are working as expected, but a few problems persist and I’d like some hints on how to troubleshoot them:

  1. The disk activity leds are not working. Diks are OK, configured in RAID5 but the disk activity LEDs are not lighting up. Am I missing any overlay that need to be enabled, besides IC27? Is there any way I can identify what is missing using commands such as i2cdetect or gpioinfo?

  2. The SATA TOP Board button is not working. Not a major issue, but I’d like to troubleshoot further. The error message is Button not available, running without button control: failed to configure GPIO pin as input: sysfs-gpio (GPIO18): doesn’t support pull-up/pull-down. Env file is configured with BUTTON_CHIP=4 and BUTTON_LINE=18. Is there any way to identify via commands the correct Chip/Line associated with the top button? Any overlay I’m missing?

  3. Is there any command sequence we can use to properly map and populate the rockpi-penta.env file?

Thanks and Regards
Mauricio

Hello again

Executed new installation from scratch.

  1. Installed rock-pi-4b_bookworm_kde_r4.output_512.img on EMMC card
    1. Linux rock-pi-4b 6.1.115-8-rk2501 #8 SMP Thu Nov 27 11:48:13 UTC 2025 aarch64 GNU/Linux
  2. updated Operating System
  3. Enabled I2C7 and PWM1 overlay, as per Penta SATA HAT top board documentation
  4. Installed rockpi-penta-0.2.3.deb
  5. reboot the system

After editing rockpi-penta.env file, changing PWMCHIP=1 to PWMCHIP=0, rockpi-penta service is running with full functionality: OLED, Top Button and Fan. Only remaining issue are the disk activity LEDs not working, but as far as I understood, those LEDs are not dependent on rockpi-penta service. Rather, they are directly controlled by the JMB585 controller on the Penta SATA Hat board. Utility dmesg shows some errors, but I don’t think they are related to the activity LEDs.

rock@rock-pi-4b: $ sudo dmesg | grep -i pcie

[ 9.723483] reg-fixed-voltage vcc3v3-pcie-regulator: Looking up vin-supply from device tree

[ 9.723501] vcc3v3_pcie: supplied by vcc5v0_sys

[ 9.723563] vcc3v3_pcie: at 5000 mV, enabled

[ 9.723728] reg-fixed-voltage vcc3v3-pcie-regulator: vcc3v3_pcie supplying 0uV

[ 11.108902] phy phy-ff770000.syscon:pcie-phy.5: Looking up phy-supply from device tree

[ 11.108919] phy phy-ff770000.syscon:pcie-phy.5: Looking up phy-supply property in node /syscon@ff770000/pcie-phy failed

[ 11.109033] phy phy-ff770000.syscon:pcie-phy.6: Looking up phy-supply from device tree

[ 11.109046] phy phy-ff770000.syscon:pcie-phy.6: Looking up phy-supply property in node /syscon@ff770000/pcie-phy failed

[ 11.109132] phy phy-ff770000.syscon:pcie-phy.7: Looking up phy-supply from device tree

[ 11.109144] phy phy-ff770000.syscon:pcie-phy.7: Looking up phy-supply property in node /syscon@ff770000/pcie-phy failed

[ 11.109236] phy phy-ff770000.syscon:pcie-phy.8: Looking up phy-supply from device tree

[ 11.109248] phy phy-ff770000.syscon:pcie-phy.8: Looking up phy-supply property in node /syscon@ff770000/pcie-phy failed

[ 11.415454] rockchip-pcie f8000000.pcie: host bridge /pcie@f8000000 ranges:

[ 11.415531] rockchip-pcie f8000000.pcie: MEM 0x00fa000000..0x00fbdfffff → 0x00fa000000

[ 11.415559] rockchip-pcie f8000000.pcie: IO 0x00fbe00000..0x00fbefffff → 0x00fbe00000

[ 11.416329] rockchip-pcie f8000000.pcie: Looking up vpcie12v-supply from device tree

[ 11.416353] rockchip-pcie f8000000.pcie: Looking up vpcie12v-supply property in node /pcie@f8000000 failed

[ 11.416411] rockchip-pcie f8000000.pcie: no vpcie12v regulator found

[ 11.416424] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply from device tree

[ 11.416805] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply from device tree

[ 11.416976] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply from device tree

[ 11.457774] rockchip-pcie f8000000.pcie: PCI host bridge to bus 0000:00

[ 11.467003] pci 0000:01:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x2 link at 0000:00:00.0 (capable of 15.752 Gb/s with 8.0 GT/s PCIe x2 link)

[ 11.468150] pcieport 0000:00:00.0: enabling device (0000 → 0002)

[ 11.468553] pcieport 0000:00:00.0: PME: Signaling with IRQ 82

rock@rock-pi-4b: $