unicorn:~# python -m pdb /usr/lib/python2.7/site-packages/unicornhat.py
> /usr/lib/python2.7/site-packages/unicornhat.py(1)<module>()
-> from neopixel import *
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(2)<module>()
-> import atexit
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(3)<module>()
-> import colorsys
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(6)<module>()
-> LED_COUNT = 64 # Number of LED pixels.
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(7)<module>()
-> LED_PIN = 18 # GPIO pin connected to the pixels (must support PWM!).
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(8)<module>()
-> LED_FREQ_HZ = 800000 # LED signal frequency in hertz (usually 800khz)
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(9)<module>()
-> LED_DMA = 5 # DMA channel to use for generating signal (try 5)
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(10)<module>()
-> LED_BRIGHTNESS = 128 # Set to 0 for darkest and 255 for brightest
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(11)<module>()
-> LED_INVERT = False # True to invert the signal (when using NPN transistor level shift)
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(13)<module>()
-> ws2812 = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS)
(Pdb) n
> /usr/lib/python2.7/site-packages/unicornhat.py(14)<module>()
-> ws2812.begin()
(Pdb) n
[process hangs]
where ws2812.begin is import _rpi_ws281x as ws
[...]
def begin(self):
print('ay')
resp = ws.ws2811_render(self._LEDS)
import unicornhat hangs when it gets to:
noepixel.py def begin(self): resp = ws.ws2811_render(self._LEDS)
[process hangs]
where ws2812.begin is import _rpi_ws281x as ws [...] def begin(self): print('ay') resp = ws.ws2811_render(self._LEDS)
_rpi_ws281x.so is build with musl libc
Here is the last bit of an strace