Hyperion with WS2812b not working after latest updates

I’ve got: OSMC + RPi2 + WS2812b. After an OSMC upgrade (not sure what it was exactly but it requested a restart) yesterday, the LEDs just stopped working.

I’ve reinstalled Hyperion, then entire OSMC using the latest version, then using older OSMC images, then different combinations in config.txt … I also checked the leds with arduino and the wiring - they’re all fine.

My wiring setup is: a separate PSU for the LEDs and the RPi, with sharing the LEDs’ ground to Rpi and with RPi’s GPIO18 connected to the LEDs through a small resistor. This had worked since September…

Here’s a bunch of files I think might be helpful:

As you can see, I have also asked for advice in the Hyperion website.
Please help.

Need better logs in order to help you. Please see http://osmc.tv/wiki/general/how-to-submit-a-useful-support-request/ for advice on how to help us.

I hope this is enough

This issue will be resolved in the next kernel update Sam forgot some overlays in this month shipment so you can either go back a kernel version or just wait for next version of the kernel or copy the overlay to the folder per instructions above


I already have such a file in /boot/overlays and I do have /dev/spidev0.0 and /dev/spidev0.1 … :confused:

sudo service hyperion stop && sudo /usr/bin/hyperiond /etc/hyperion.config.json

then give me the output of that here please use the codetag around it so it doesnt clutter the discussion

Here’s the output of this command: http://pastebin.com/raw.php?i=d2A3CrpG

hyperion-remote -a osmc.local:19444 -c white

@HarryL recommended that you try this to see if it sets the lights to white cause it doesn’t seem like you got some kinda conflicting config.

No change:
root@osmc:~# hyperion-remote -a osmc.local:19444 -c white
Connected to osmc.local:19444
Set color to 255 255 25

BTW, I’ve got an arduino at hand if you have an idea on how to use it to test the RPi’s GPIO output… :wink:

Is it possible to install packages as of some date? Like I could install an older OSMC image and update the packages up to some date? This way I could update the packages in a controlled way, so we’d be able to see which update exactly breaks it.

its not OSMC thats causing your issue since the software per say forwards the signal without issues and dtparam is enabled in config my guess is that the cables are not correctly connected or loose or even faulty cause the software does what its supposed to.

Sorry for the delay.

No, the cable are all fine: I switched the cables from RPi pins to arduino’s and was able to light the LED’s all correct using Adafruit’s NeoPixel library.

It might be RPi PWM ‘hardware’ that is faulty - I don’t know how to check this alone. Still, it’d be quite a coincidence that the LEDs stopped working after the latest upgrade :confused:

I’ll keep digging…

I’ve managed to get the LED’s blinking using a custom library (instead of Hyperion) - it worked!
All the hardware is correct - there is a bug in the software… somewhere :expressionless:

See https://github.com/tvdzwan/hyperion/issues/416#issuecomment-165275071 for details

ill forward this see if they can find anything

Can you post output of:
sudo vcdbg log msg

Might show if any DT overlays are missing.

The vcdbg log looks okay.

Doesn’t the WS 2812 use PWM ? if so, this is nothing to do with SPI.

is OSMC trying to use analog audio ? This won’t work if you are using PWM.

Yes, WS2812b does use PWM.

This I’m not sure of but I guess that if OSMC were trying to use the analog audio, then I wouldn’t be able to use it for driving the LEDs with a different tool (not Hyperion).

I thought the PWM ws2812 only worked on the Pi1 - you have a Pi2 right ?

Looking at the Hyperion source, it only seems to have the addresses for the low level devices on a Pi1.

I’m not using OSMC but Openelec with the same hardware. Used a RPi 1 before with working Hyperion “out of the box”.
After switching to Rpi2 the same hardware didn’t work any longer. I did a nightmare of a search at Google and found a solution.
The problem really is PWM. There is thread about the problem and finding a solution. A working version of hyperiond is linked there but I can’t find the right posting. The hyperiond was the only file I replaced in a standard hyperion installation to get it work. The config of hyperion has to be changed slightly.
In the sources of hyperion the RPi2 support for WS2812 is included, but you have to compile it with the relating compiler switch.