0

I'm putting together a lighting system based on a raspi 3 and a fadecandy. I've done a bunch of these and never come across this issue before. The only difference with this project is that it also incorporates a DMX receiver, so I'm using the Open Lighting Project disk image, which uses Wheezy. I've normally always used Jessie before. I've tried to get the OLA daemon and bindings working the way I want on a plain Jessie system, but ran into a bunch of issues.

I've swapped out both the raspi and the fadecandy, and tried booting with no other USB devices attached, so I strongly suspect it's a software issue. When I boot up the pi and try to start fcserver (the fadecandy server) I get the error "Error opening Fadecandy: Resource busy". If I unplug and replug the fadecandy, everything works fine. Dmesg logs the replug in the same way as the initial discover on boot, which is as follows:

[  126.738691] usb 1-1.2: new full-speed USB device number 5 using dwc_otg
[  126.842146] usb 1-1.2: New USB device found, idVendor=1d50, idProduct=607a
[  126.842163] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  126.842176] usb 1-1.2: Product: Fadecandy
[  126.842188] usb 1-1.2: Manufacturer: scanlime
[  126.842201] usb 1-1.2: SerialNumber: CYYELJFLEMPDZBOR

I at one point had installed an init.d script to start the fcserver on boot, but removed it as it was reporting failed status. I can't figure out how to find which process has claimed the usb device, and google has helpfully provided me with a million ways to tell which processes are using a usb flash drive, which is not useful. Any suggestions would be greatly appreciated.

1
  • Update: I've discovered that the issue is that olad has claimed the fadecandy, which I think would have been obvious if I'd slept more.
    – cassm
    Commented Oct 1, 2017 at 13:23

1 Answer 1

0

So, it turned out that olad (the ola daemon) was claiming the fadecandy as well, and was being started first. The solution I've used is to make the olad init script list fcserver as a dependency, and then to run update-rc.d on both of them with default args. I know there's a way to use OLA to output to the fadecandy, but it would only support a limited number of pixels, and anyway I can't figure out how to do it.

1
  • Please accept your own answer with a click on the tick on its left side. Only this will finish the question and it will not pop up again year for year.
    – Ingo
    Commented Feb 18, 2020 at 12:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.