12th Anniversary Sale 12% Off in July & August with the voucher code "SUMMER12" *excludes trade customers
Support Forum

Share your projects and post your questions

Register   or   Sign In
The Forum

RPi warnings regarding irq enable

The IO Pi Plus is a 32 channel MCP23017 GPIO expander for the Raspberry Pi

31/05/2024

Posted by:
Erik63

Erik63 Avatar

Hello, I have an IO Pi Plus, and I am getting constant warnings filling my logs with:
WARNING: CPU: 0 PID: 451 at drivers/gpio/gpiolib.c:3367 gpiochip_enable_irq+0x84/0xa4

If I comment the overlay out of the /usr/config.txt they go away to I can tell it is the expander. Anyone seen this before. I have not been able to find anything in my searches.

Thanks!

31/05/2024

Posted by:
Erik63

Erik63 Avatar

I did find out I could stop the warnings if I disable interrupts with the noints parameter for dtoverlay

31/05/2024

Posted by:
andrew

andrew Avatar

Location:
United Kingdom

andrew Twitter  andrew Website  

Hello

This is not a problem I have seen before. Are you using one of our software libraires to access the IO Pi Plus or the mcp23017 dtoverlay?

If you are using the dtoverlay do you have any other hats or devices on the GPIO header that may be conflicting with the pins for the mcp23017?

31/05/2024

Posted by:
Erik63

Erik63 Avatar

Hi,

I am using the Raspberry Pi mcp23017 overlay. No, the IO PI plus is the only hat and no other devices. Note that with:
dtoverlay=mcp23017,addr=0x20,noints
dtoverlay=mcp23017,addr=0x21,noints

the problem goes away, of course I have no interrupts, which was ok for me since I am not using these GPIOs as inputs.

31/05/2024

Posted by:
andrew

andrew Avatar

Location:
United Kingdom

andrew Twitter  andrew Website  

It could be a conflict in the mcp23017 overlay when using two instances with interrupts. I found this thread on GitHub which mentions a problem with using multiple mcp23017 overlay and recommends disabling the interrupts. The thread is from 2019 but it looks like the problem hasn't been fixed yet.

31/05/2024

Posted by:
Erik63

Erik63 Avatar

Yes, interrupt disabling is the only thing that worked for me, the Warnings recorded by the /var/logs (syslog, kern.log, message) were filling by 5G per day and the massive writes to the uSD card would have killed it. I tried adding names to the GPIO pins in the driver overlay, but that did not work. Patching the mcp23017 kernel

Sign in to post your reply


Note: documents in Portable Document Format (PDF) require Adobe Acrobat Reader 5.0 or higher to view.
Download Adobe Acrobat Reader or other PDF reading software for your computer or mobile device.