rpi-ws281x / rpi-ws281x-python

Python library wrapping for the rpi-ws281x library
BSD 2-Clause "Simplified" License
323 stars 103 forks source link

[Compute Module 4] RuntimeError: ws2811_init failed with code -9 (Failed to create mailbox device) #82

Closed NeusAap closed 1 year ago

NeusAap commented 2 years ago

Hello,

First of all, thanks for the great library! It has helped me a lot during my developments :) I have used this library on a standard Raspberry Pi 4B, without any issues for about a year now. I am now trying to convert my application to a custom OS on a Raspberry Pi Compute Module 4 (8GB eMMC, 4GB RAM, No Wifi)

I have installed the Python package (version 4.3.3) on my custom OS image, based off Poky distro (from the Yocto project) with this kernel: Linux raspberrypi4-64 5.10.81-v8 #1 SMP PREEMPT Mon Nov 22 14:00:03 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux (so 64-bits). My OS image on the standard Pi was 32-bits Raspberry Pi OS (which seems like the biggest difference between the two images in my opinion.)

I've kept the rest of the application exactly the same. When I run my application I get the following errors:

File "/usr/bin/digital-display-v1/classes/controller/led_controller.py", line 41, in __init__
    self.strip.begin()
  File "/usr/lib/python3.9/site-packages/rpi_ws281x/rpi_ws281x.py", line 131, in begin
    raise RuntimeError('ws2811_init failed with code {0} ({1})'.format(resp, str_resp))
RuntimeError: ws2811_init failed with code -9 (Failed to create mailbox device)

To be completly honest, I have no clue what a mailbox device means in this context. After a bit of googling, I found out that it has something to do with low-level hardware (maybe the SPI bus that is used by the library?) I have no clue on how I can start to resolve this problem, or even if this problem lies with the library, or with a mistake I made when creating my OS.

The kernel does not seem to give any errors regarding SPI or mailbox devices when checked with the dmesg command.

Any guidance would be greatly appreciated.

With kind regards, Mats de Waard

EDIT1: Readability changes

Gadgetoid commented 1 year ago

Issues with the underlying rpi_ws281x (https://github.com/jgarff/rpi_ws281x/) are outside the scope of this wrapper library and cannot be fixed here.