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.

  • 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 Oct 1 '17 at 13:23
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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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