Subject: 3.11.2 and RPi.GPIO 0.6.5 on Pi Zero : edge detection no longer working

From: David Taillé <[email-masked]>
Date: Thu, 26 Dec 2019 23:39:07 +0100

Hi all,

I just installed Alpine 3.11.2 on a Pi Zero W, and just found RPi.GPIO no
longer works for edge detection.
Package installation :
apk add python3
apk add py3-rpigpio

Test file :
import RPi.GPIO as g
pin=4
g.setmode(g.BCM)
print("pin%d mode is %d\n" % (pin, g.gpio_function(pin)))
g.setup(pin, g.IN, pull_up_down=g.PUD_DOWN)
print("pin%d state=%d\n" % (pin, g.input(pin)))
while True:
   x = g.wait_for_edge(pin, g.BOTH)
   print("pin%d edge %d\n" % (pin, x))

On Alpine 3.10.0, it works as expected, printing a line as you bring pin 4
to ground or 3.3V.
On Alpine 3.11.2, i get :
# python3 testgpio.py
function of pin 4 = 1

pin 4 now is 0
Traceback (most recent call last):
  File "testgpio.py", line 8, in <module>
    x = g.wait_for_edge(pin, g.BOTH)
RuntimeError: Error waiting for edge

Other methods such as add_event_detect also fail with a RuntimeError about
being unable to add edge detection.
Other tests I ran prove reading pins and setting pin state do work.

lsmod shows :
i2c_gpio               16384  0
i2c_algo_bit           16384  1 i2c_gpio

So,
Which do you think is the culprit ? alpine or RPi.GPIO ?
Who would you reach out to to get this fixed ? or at least examined ?

Thanks for any feedback !
David

---

From: David Taillé <[email-masked]>
Date: Fri, 27 Dec 2019 19:28:17 +0100

Hi,

Think i know what the problem is: 3.11 dropped support for deprecated sysfs
gpio in kernel, which breaks RPi.GPIO for edge detection.

Was this intentional ? Or is it just that the config from kernel has those
items turned off by default ?

Can't check right now, but i believe raspbian is still supporting sysfs
gpio.
Don't you think alpine had better support it as well for Pi devices ?

David

Le jeu. 26 déc. 2019 à 23:39, David Taillé <[email-masked]> a