# Pironman5 max not finding gpiochip

**URL:** <https://forum.sunfounder.com/t/pironman5-max-not-finding-gpiochip/4943>\
**Category:** General\
**Created:** [August 25, 2026, 12:37am UTC](https://forum.sunfounder.com/t/pironman5-max-not-finding-gpiochip/4943 "2026-08-25T00:37:10Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![lugoman](https://avatars.discourse-cdn.com/v4/letter/l/e19b73/32.png) [@lugoman](https://forum.sunfounder.com/u/lugoman)\
**Post date:** [August 25, 2026, 12:37am UTC](https://forum.sunfounder.com/t/pironman5-max-not-finding-gpiochip/4943/1 "2026-08-25T00:37:10Z")

</div>

after a reboot for an update the lights and fans stopped working. I checked, and the pironman5 service had failed.

I tried to start it manually but it could not find the gpiochip. I added a link to point the gpiochip4 to the actual gpio chip at gpiochip15, but it still failed to access it. I went through a couple show commands to see if the mapping worked. Here’s the output i got:

root@raspi516max:~# sudo pironman5 start  
[INFO]  
[INFO] ############################################################  
[INFO] Pironman5 Start  
[INFO] Pironman5 version: 1.3.18  
[INFO] Variant: Pironman 5 Max V2  
[INFO] Config:  
[INFO] {  
[INFO] “system”: {  
[INFO] “data\_interval”: 1,  
[INFO] “database\_retention\_days”: 30,  
[INFO] “temperature\_unit”: “C”,  
[INFO] “enable\_history”: true,  
[INFO] “oled\_enable”: true,  
[INFO] “oled\_rotation”: 0,  
[INFO] “oled\_sleep\_timeout”: 10,  
[INFO] “oled\_pages”: [“mix”, “performance”, “ips”, “disk”],  
[INFO] “rgb\_enable”: true,  
[INFO] “rgb\_color”: “#0a1aff”,  
[INFO] “rgb\_brightness”: 100,  
[INFO] “rgb\_style”: “breathing”,  
[INFO] “rgb\_speed”: 50,  
[INFO] “rgb\_led\_count”: 4,  
[INFO] “rgb\_led\_count\_min”: 4,  
[INFO] “gpio\_fan\_pin”: 6,  
[INFO] “gpio\_fan\_mode”: 0,  
[INFO] “gpio\_fan\_led”: “follow”,  
[INFO] “gpio\_fan\_led\_pin”: 5,  
[INFO] “debug\_level”: “INFO”  
[INFO] }  
[INFO] }  
[INFO] Device info:  
[INFO] {  
[INFO] “name”: “Pironman 5 Max”,  
[INFO] “id”: “pironman5-max”,  
[INFO] “peripherals”: [  
[INFO] “gpio\_fan\_led”,  
[INFO] “clear\_history”,  
[INFO] “network”,  
[INFO] “history”,  
[INFO] “oled\_page\_performance”,  
[INFO] “mac\_address”,  
[INFO] “debug\_level”,  
[INFO] “delete\_log\_file”,  
[INFO] “memory”,  
[INFO] “temperature\_unit”,  
[INFO] “gpio\_fan\_state”,  
[INFO] “pwm\_fan\_speed”,  
[INFO] “oled\_page\_mix”,  
[INFO] “oled\_page\_ips”,  
[INFO] “reboot”,  
[INFO] “ws2812”,  
[INFO] “oled\_page\_disk”,  
[INFO] “oled\_sleep”,  
[INFO] “storage”,  
[INFO] “gpio\_fan\_mode”,  
[INFO] “restart\_service”,  
[INFO] “gpu\_temperature”,  
[INFO] “shutdown”,  
[INFO] “ip\_address”,  
[INFO] “oled”,  
[INFO] “pi5\_power\_button”,  
[INFO] “log”,  
[INFO] “cpu”,  
[INFO] “cpu\_temperature”  
[INFO] ],  
[INFO] “version”: “1.3.18”,  
[INFO] “app\_name”: “pironman5”,  
[INFO] “config\_path”: “/opt/pironman5/config.json”  
[INFO] }  
[INFO] PM\_Auto version: 2.0.5  
[INFO] PM\_Dashboard version: 2.0.3  
Traceback (most recent call last):  
File “/usr/local/bin/pironman5”, line 6, in  
sys.exit(\_cli.main())  
^^^^^^^^^^^  
File “/opt/pironman5/venv/lib/python3.11/site-packages/pironman5/\_cli.py”, line 874, in main  
pironman5 = Pironman5(config\_path=config\_path)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File “/opt/pironman5/venv/lib/python3.11/site-packages/pironman5/pironman5.py”, line 117, in **init**  
self.pm\_auto = PMAuto(self.config[‘system’],  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File “/opt/pironman5/venv/lib/python3.11/site-packages/pm\_auto/pm\_auto.py”, line 53, in **init**  
self.addons = Addons(  
^^^^^^^  
File “/opt/pironman5/venv/lib/python3.11/site-packages/pm\_auto/addons/ **init**.py”, line 59, in **init**  
addons = get\_addons(peripherals)  
^^^^^^^^^^^^^^^^^^^^^^^  
File “/opt/pironman5/venv/lib/python3.11/site-packages/pm\_auto/addons/ **init**.py”, line 37, in get\_addons  
from .ws2812 import WS2812Addon  
File “/opt/pironman5/venv/lib/python3.11/site-packages/pm\_auto/addons/ws2812.py”, line 6, in  
import board  
File “/opt/pironman5/venv/lib/python3.11/site-packages/board.py”, line 45, in  
from adafruit\_blinka.board.raspberrypi.raspi\_5 import \*  
File “/opt/pironman5/venv/lib/python3.11/site-packages/adafruit\_blinka/board/raspberrypi/raspi\_5.py”, line 6, in  
from adafruit\_blinka.microcontroller.bcm2712 import pin  
File “/opt/pironman5/venv/lib/python3.11/site-packages/adafruit\_blinka/microcontroller/bcm2712/pin.py”, line 7, in  
from adafruit\_blinka.microcontroller.generic\_linux.lgpio\_pin import Pin  
File “/opt/pironman5/venv/lib/python3.11/site-packages/adafruit\_blinka/microcontroller/generic\_linux/lgpio\_pin.py”, line 31, in  
CHIP = \_get\_gpiochip()  
^^^^^^^^^^^^^^^  
File “/opt/pironman5/venv/lib/python3.11/site-packages/adafruit\_blinka/microcontroller/generic\_linux/lgpio\_pin.py”, line 26, in \_get\_gpiochip  
return lgpio.gpiochip\_open(int(dev.name[-1]))  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File “/usr/lib/python3/dist-packages/lgpio.py”, line 645, in gpiochip\_open  
return \_u2i(handle)  
^^^^^^^^^^^^  
File “/usr/lib/python3/dist-packages/lgpio.py”, line 458, in \_u2i  
raise error(error\_text(v))  
lgpio.error: ‘can not open gpiochip’  
root@raspi516max:~# ls /dev/gpio\* -al  
crw-rw----+ 1 root gpio 254, 11 Aug 24 19:06 /dev/gpiochip11  
crw-rw----+ 1 root gpio 254, 12 Aug 24 19:06 /dev/gpiochip12  
crw-rw----+ 1 root gpio 254, 13 Aug 24 19:06 /dev/gpiochip13  
crw-rw----+ 1 root gpio 254, 14 Aug 24 19:06 /dev/gpiochip14  
crw-rw----+ 1 root gpio 254, 15 Aug 24 19:06 /dev/gpiochip15  
lrwxrwxrwx 1 root root 10 Aug 24 19:06 /dev/gpiochip4 → gpiochip15  
crw-rw---- 1 root gpio 511, 0 Aug 24 18:37 /dev/gpiomem0  
crw-rw---- 1 root gpio 238, 0 Aug 24 18:37 /dev/gpiomem1  
crw-rw---- 1 root gpio 237, 0 Aug 24 18:37 /dev/gpiomem2  
crw-rw---- 1 root gpio 236, 0 Aug 24 18:37 /dev/gpiomem3  
crw-rw---- 1 root gpio 235, 0 Aug 24 18:37 /dev/gpiomem4  
root@raspi516max:~# gpioinfo /dev/gpiochip4  
gpiochip15 - 54 lines:  
line 0: “ID\_SDA” unused input active-high  
line 1: “ID\_SCL” unused input active-high  
line 2: “GPIO2” unused input active-high  
line 3: “GPIO3” unused input active-high  
line 4: “GPIO4” unused input active-high  
line 5: “GPIO5” unused input active-high  
line 6: “GPIO6” unused input active-high  
line 7: “GPIO7” “spi0 CS1” output active-low [used]  
line 8: “GPIO8” “spi0 CS0” output active-low [used]  
line 9: “GPIO9” unused input active-high  
line 10: “GPIO10” unused input active-high  
line 11: “GPIO11” unused input active-high  
line 12: “GPIO12” unused input active-high  
line 13: “GPIO13” “ir-receiver@d” input active-low [used]  
line 14: “GPIO14” unused input active-high  
line 15: “GPIO15” unused input active-high  
line 16: “GPIO16” unused input active-high  
line 17: “GPIO17” unused input active-high  
line 18: “GPIO18” unused input active-high  
line 19: “GPIO19” unused input active-high  
line 20: “GPIO20” unused input active-high  
line 21: “GPIO21” unused input active-high  
line 22: “GPIO22” unused input active-high  
line 23: “GPIO23” unused input active-high  
line 24: “GPIO24” unused input active-high  
line 25: “GPIO25” unused input active-high  
line 26: “GPIO26” unused input active-high  
line 27: “GPIO27” unused input active-high  
line 28: “PCIE\_RP1\_WAKE” unused output active-high  
line 29: “FAN\_TACH” unused input active-high  
line 30: “HOST\_SDA” unused input active-high  
line 31: “HOST\_SCL” unused input active-high  
line 32: “ETH\_RST\_N” “phy-reset” output active-low [used]  
line 33: “-” unused input active-high  
line 34: “CD0\_IO0\_MICCLK” “cam0\_reg” output active-high [used]  
line 35: “CD0\_IO0\_MICDAT0” unused input active-high  
line 36: “RP1\_PCIE\_CLKREQ\_N” unused input active-high  
line 37: “-” unused input active-high  
line 38: “CD0\_SDA” unused input active-high  
line 39: “CD0\_SCL” unused input active-high  
line 40: “CD1\_SDA” unused input active-high  
line 41: “CD1\_SCL” unused input active-high  
line 42: “USB\_VBUS\_EN” unused output active-high  
line 43: “USB\_OC\_N” unused input active-high  
line 44: “RP1\_STAT\_LED” “PWR” output active-low [used]  
line 45: “FAN\_PWM” unused output active-high  
line 46: “CD1\_IO0\_MICCLK” “cam1\_reg” output active-high [used]  
line 47: “2712\_WAKE” unused input active-high  
line 48: “CD1\_IO1\_MICDAT1” unused input active-high  
line 49: “EN\_MAX\_USB\_CUR” unused output active-high  
line 50: “-” unused input active-high  
line 51: “-” unused input active-high  
line 52: “-” unused input active-high  
line 53: “-” unused input active-high  
root@raspi516max:~#

* * *

Any suggestion for getting this working again?

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [August 25, 2026, 10:03am UTC](https://forum.sunfounder.com/t/pironman5-max-not-finding-gpiochip/4943/2 "2026-08-25T10:03:08Z")

</div>

We are sorry to hear that your Pironman 5 Max lights and fans stopped working after an update, with the service failing to find the gpiochip.

From your logs, we can see that you created a symbolic link pointing gpiochip4 to gpiochip15, but the service still failed. The error lgpio.error: ‘can not open gpiochip’ typically indicates either a kernel mismatch or that the GPIO chip numbers have changed after an update.

Before we proceed with further troubleshooting, could you please let us know which command you used to update the system? There is an important distinction:

apt full-upgrade – This updates to the official stable release. This is the recommended and safe way to update.

rpi-update – This updates the Raspberry Pi kernel and firmware to the latest beta (testing) version, which is not fully tested and is not recommended for production use.

If you used rpi-update, the beta kernel may have caused incompatibility with the GPIO driver, which would explain the changed gpiochip numbers. In some cases, a system reinstall may be required to recover.

To help us confirm the current kernel version, please run the following command and share the output with us:

uname -a

Additionally, please also provide:

Output of ls /dev/gpiochip\* to see the current GPIO chip device numbers.

Service logs from sudo journalctl -u pironman5 -n 50.

With this information, we will be able to determine whether you are running a beta kernel and advise on the best next steps — whether that means reverting to the stable kernel or reinstalling the system.

We appreciate your cooperation and patience.

---

<div class="post-metadata">

**Author:** ![lugoman](https://avatars.discourse-cdn.com/v4/letter/l/e19b73/32.png) [@lugoman](https://forum.sunfounder.com/u/lugoman)\
**Post date:** [August 25, 2026, 3:46pm UTC](https://forum.sunfounder.com/t/pironman5-max-not-finding-gpiochip/4943/3 "2026-08-25T15:46:04Z")

</div>

lugoman@raspi516max:~ $ uname -a  
Linux raspi516max 6.12.96+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.96-1+rpt1 (2026-07-24) aarch64 GNU/Linux  
lugoman@raspi516max:~ $ ls /dev/gpiochip\*  
/dev/gpiochip11 /dev/gpiochip12 /dev/gpiochip13 /dev/gpiochip14 /dev/gpiochip15 /dev/gpiochip4  
lugoman@raspi516max:~ $ sudo journalctl -u pironman5 -n 50  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] “gpio\_fan\_state”,  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] “debug\_level”,  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] “gpu\_temperature”  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] ],  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] “version”: “1.3.18”,  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] “app\_name”: “pironman5”,  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] “config\_path”: “/opt/pironman5/config.json”  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] }  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] PM\_Auto version: 2.0.5  
Aug 24 19:07:04 raspi516max pironman5[4619]: [INFO] PM\_Dashboard version: 2.0.3  
Aug 24 19:07:04 raspi516max pironman5[4619]: Traceback (most recent call last):  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/usr/local/bin/pironman5”, line 6, in  
Aug 24 19:07:04 raspi516max pironman5[4619]: sys.exit(\_cli.main())  
Aug 24 19:07:04 raspi516max pironman5[4619]: ^^^^^^^^^^^  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/pironman5/\_cli.py”, line 874, in main  
Aug 24 19:07:04 raspi516max pironman5[4619]: pironman5 = Pironman5(config\_path=config\_path)  
Aug 24 19:07:04 raspi516max pironman5[4619]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/pironman5/pironman5.py”, line 117, in **init**  
Aug 24 19:07:04 raspi516max pironman5[4619]: self.pm\_auto = PMAuto(self.config[‘system’],  
Aug 24 19:07:04 raspi516max pironman5[4619]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/pm\_auto/pm\_auto.py”, line 53, in **init**  
Aug 24 19:07:04 raspi516max pironman5[4619]: self.addons = Addons(  
Aug 24 19:07:04 raspi516max pironman5[4619]: ^^^^^^^  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/pm\_auto/addons/ **init**.py”, line 59, in **init**  
Aug 24 19:07:04 raspi516max pironman5[4619]: addons = get\_addons(peripherals)  
Aug 24 19:07:04 raspi516max pironman5[4619]: ^^^^^^^^^^^^^^^^^^^^^^^  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/pm\_auto/addons/ **init**.py”, line 37, in get\_addons  
Aug 24 19:07:04 raspi516max pironman5[4619]: from .ws2812 import WS2812Addon  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/pm\_auto/addons/ws2812.py”, line 6, in  
Aug 24 19:07:04 raspi516max pironman5[4619]: import board  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/board.py”, line 45, in  
Aug 24 19:07:04 raspi516max pironman5[4619]: from adafruit\_blinka.board.raspberrypi.raspi\_5 import \*  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/adafruit\_blinka/board/raspberrypi/raspi\_5.py”, line 6, in  
Aug 24 19:07:04 raspi516max pironman5[4619]: from adafruit\_blinka.microcontroller.bcm2712 import pin  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/adafruit\_blinka/microcontroller/bcm2712/pin.py”, line 7, in  
Aug 24 19:07:04 raspi516max pironman5[4619]: from adafruit\_blinka.microcontroller.generic\_linux.lgpio\_pin import Pin  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/adafruit\_blinka/microcontroller/generic\_linux/lgpio\_pin.py”, li\>  
Aug 24 19:07:04 raspi516max pironman5[4619]: CHIP = \_get\_gpiochip()  
Aug 24 19:07:04 raspi516max pironman5[4619]: ^^^^^^^^^^^^^^^  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/opt/pironman5/venv/lib/python3.11/site-packages/adafruit\_blinka/microcontroller/generic\_linux/lgpio\_pin.py”, li\>  
Aug 24 19:07:04 raspi516max pironman5[4619]: return lgpio.gpiochip\_open(int(dev.name[-1]))  
Aug 24 19:07:04 raspi516max pironman5[4619]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/usr/lib/python3/dist-packages/lgpio.py”, line 645, in gpiochip\_open  
Aug 24 19:07:04 raspi516max pironman5[4619]: return \_u2i(handle)  
Aug 24 19:07:04 raspi516max pironman5[4619]: ^^^^^^^^^^^^  
Aug 24 19:07:04 raspi516max pironman5[4619]: File “/usr/lib/python3/dist-packages/lgpio.py”, line 458, in \_u2i  
Aug 24 19:07:04 raspi516max pironman5[4619]: raise error(error\_text(v))  
Aug 24 19:07:04 raspi516max pironman5[4619]: lgpio.error: ‘can not open gpiochip’  
Aug 24 19:07:04 raspi516max systemd[1]: pironman5.service: Main process exited, code=exited, status=1/FAILURE  
Aug 24 19:07:04 raspi516max systemd[1]: pironman5.service: Failed with result ‘exit-code’.  
lugoman@raspi516max:~ $

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [August 26, 2026, 8:44am UTC](https://forum.sunfounder.com/t/pironman5-max-not-finding-gpiochip/4943/4 "2026-08-26T08:44:00Z")

</div>

From your logs, we can see that you are running kernel version 6.12.96+rpt-rpi-2712. After our investigation, this kernel version has a gpiochip compatibility issue that prevents the pironman5 service from accessing the GPIO chip correctly, resulting in the lgpio.error: ‘can not open gpiochip’ error.

The latest Raspberry Pi OS (Trixie) now ships with kernel version 6.18, which resolves this issue. We recommend the following steps:

Back up your important data: Please back up any important files on your Raspberry Pi to an external storage device.

Reinstall the system: Use Raspberry Pi Imager to flash the latest Trixie system image onto your SD card.

Reinstall the pironman5 software: After the system installation is complete, reinstall the pironman5 software and services following the official documentation.

If you encounter any issues during the reinstallation process or have any other questions, please don’t hesitate to reach out.

---

<div class="post-metadata">

**Author:** ![lugoman](https://avatars.discourse-cdn.com/v4/letter/l/e19b73/32.png) [@lugoman](https://forum.sunfounder.com/u/lugoman)\
**Post date:** [August 26, 2026, 3:28pm UTC](https://forum.sunfounder.com/t/pironman5-max-not-finding-gpiochip/4943/5 "2026-08-26T15:28:00Z")

</div>

I was able to use the commands:

sudo apt update

sudo apt full-upgrade

sudo rpi-update rpi-6.18.y

Then after a reboot it started working.

Thanks!

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [August 27, 2026, 9:49am UTC](https://forum.sunfounder.com/t/pironman5-max-not-finding-gpiochip/4943/6 "2026-08-27T09:49:07Z")

</div>

Great to hear that your issue is resolved!  
If you encounter any issues in the future, please don’t hesitate to reach out.  
Enjoy your Pironman 5 Max!
