hyperion.ng: lightpack doesnt work

  • I confirm that this is an issue rather than a question.

Bug report

hello my lightpack is connected but no lights on. (work well with prismatik) this error in log : 2020-09-21T19:03:20.269Z [hyperiond LEDDEVICE] (ERROR) Unable to write 61 bytes to Lightpack device(-1): LIBUSB_ERROR_IO

Steps to reproduce

What is expected?

What is actually happening?

System

Hyperion Server:

  • Build: (HEAD detached at 08909b8a) (Paulchen-Panther-75963ca9/08909b8a-1600115237)
  • Build time: Sep 14 2020 20:32:45
  • Git Remote: https://github.com/hyperion-project/hyperion.ng
  • Version: 2.0.0-alpha.8
  • UI Lang: auto (BrowserLang: fr)
  • UI Access: default
  • Avail Capt: v4l2,framebuffer,x11,xcb,qt

Hyperion Server OS:

  • Distribution: Ubuntu 20.04.1 LTS
  • Arch: x86_64
  • Kernel: linux (5.4.0-47-generic (WS: 64))
  • Browser: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:80.0) Gecko/20100101 Firefox/80.0

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 3
  • Comments: 19 (7 by maintainers)

Commits related to this issue

Most upvoted comments

For me:

  1. confirmed, no other change than passing the desired version to the libreelec.sh script: ./libreelec.sh 2.0.0-alpha.6

  2. can compile and run, already did that

@Lord-Grey awesome, it works! 🎉

Here are the logs:

/storage/hyperion/bin/hyperiond --userdata /storage/hyperion/ --debug
2020-09-25T11:52:43.897 hyperiond MAIN         : <INFO> Set user data path to '/storage/hyperion'
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
2020-09-25T11:52:43.936 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:44:PythonInit() | Initializing Python interpreter
2020-09-25T11:52:43.980 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:107:SettingsManager() | Settings database initialized
2020-09-25T11:52:43.981 hyperiond DAEMON       : <INFO> CEC handler created
2020-09-25T11:52:43.989 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
2020-09-25T11:52:43.993 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-09-25T11:52:43.993 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory /storage/hyperion//custom-effects
2020-09-25T11:52:44.009 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:107:SettingsManager() | Settings database initialized
2020-09-25T11:52:44.010 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:64:handleSettingsUpdate() | Set mode to: default
2020-09-25T11:52:44.010 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
2020-09-25T11:52:44.029 hyperiond DAEMON       : <INFO> set screen capture device to 'dispmanx'
2020-09-25T11:52:44.029 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:30:setVideoMode() | Set videomode to 0
2020-09-25T11:52:44.030 hyperiond DISPMANXGRAB : <INFO> Display opened with resolution: 1920x1080
2020-09-25T11:52:44.031 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:90:setWidthHeight() | Set new width: 80, height: 45 for capture
2020-09-25T11:52:44.031 hyperiond DAEMON       : <INFO> DISPMANX frame grabber created
2020-09-25T11:52:44.031 hyperiond V4L2:/DEV/VI : <DEBUG> Grabber.cpp:30:setVideoMode() | Set videomode to 0
2020-09-25T11:52:44.033 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'lightpack'.
2020-09-25T11:52:44.033 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
2020-09-25T11:52:44.033 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:147:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"hardwareLedCount":1,"latchTime":11,"rewriteTime":5000,"serial":"","type":"lightpack"}]
2020-09-25T11:52:44.033 hyperiond V4L2:/DEV/VI : <DEBUG> Grabber.cpp:90:setWidthHeight() | Set new width: 1920, height: 1080 for capture
2020-09-25T11:52:44.033 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:403:setLatchTime() | LatchTime updated to 11ms
2020-09-25T11:52:44.033 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:423:setRewriteTime() | Refresh interval = 5000ms
2020-09-25T11:52:44.033 hyperiond V4L2:/DEV/VI : <INFO> Signal threshold set to: {12, 12, 12}
2020-09-25T11:52:44.033 hyperiond V4L2:/DEV/VI : <INFO> CEC detection is now disabled
2020-09-25T11:52:44.033 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:429:setRewriteTime() | RewriteTime updated to 5000ms
2020-09-25T11:52:44.033 hyperiond V4L2:/DEV/VI : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2020-09-25T11:52:44.034 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:568:handleSettingsUpdate() | V4L2 grabber created
2020-09-25T11:52:44.034 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 127.0.0.1:19401
2020-09-25T11:52:44.034 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:28:JsonServer() | Created instance
2020-09-25T11:52:44.035 hyperiond JSONSERVER   : <INFO> Started on port 19444
2020-09-25T11:52:44.039 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
2020-09-25T11:52:44.041 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:183:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2020-09-25T11:52:44.042 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:159:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
2020-09-25T11:52:44.043 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
2020-09-25T11:52:44.043 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
2020-09-25T11:52:44.043 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:183:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
2020-09-25T11:52:44.044 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:159:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
2020-09-25T11:52:44.044 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
2020-09-25T11:52:44.045 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:159:registerInput() | Register new input 'System/V4L' with priority 240 as inactive
2020-09-25T11:52:44.045 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | V4L capture device: enabled
2020-09-25T11:52:44.046 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
2020-09-25T11:52:44.047 hyperiond PROTOSERVER  : <INFO> Started on port 19445
2020-09-25T11:52:44.047 hyperiond V4L2:/DEV/VI : <INFO> configured v4l device: /dev/video0
2020-09-25T11:52:44.048 hyperiond V4L2:/DEV/VI : <DEBUG> V4L2Grabber.cpp:582:init_device() | Set device input to: Camera 1
2020-09-25T11:52:44.068 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
2020-09-25T11:52:44.068 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:33:initServer() | Initialize Webserver
2020-09-25T11:52:44.069 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:33:initServer() | Initialize Webserver
2020-09-25T11:52:44.069 hyperiond LEDDEVICE    : <DEBUG> LedDeviceLightpack.cpp:83:init() | USB context initialized
2020-09-25T11:52:44.069 hyperiond LEDDEVICE    : <INFO> Found a Lightpack device. Retrieving more information...
2020-09-25T11:52:44.069 hyperiond LEDDEVICE    : <DEBUG> LedDeviceLightpack.cpp:202:searchDevice() | vendorIdentifier : 0x1d50
2020-09-25T11:52:44.070 hyperiond LEDDEVICE    : <DEBUG> LedDeviceLightpack.cpp:203:searchDevice() | productIdentifier: 0x6022
2020-09-25T11:52:44.070 hyperiond LEDDEVICE    : <DEBUG> LedDeviceLightpack.cpp:204:searchDevice() | release_number   : 0x1
2020-09-25T11:52:44.071 hyperiond V4L2:/DEV/VI : <DEBUG> V4L2Grabber.cpp:696:init_device() | Set resolution to width=1920 height=1080
2020-09-25T11:52:44.072 hyperiond LEDDEVICE    : <DEBUG> LedDeviceLightpack.cpp:205:searchDevice() | manufacturer     : lightpack.googlecode.com
2020-09-25T11:52:44.075 hyperiond LEDDEVICE    : <DEBUG> LedDeviceLightpack.cpp:213:searchDevice() | Lightpack device found: bus=1 address=4 serial=95230303231351D00132
2020-09-25T11:52:44.078 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:91:handleSettingsUpdate() | Apply Webserver settings
2020-09-25T11:52:44.078 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:91:handleSettingsUpdate() | Apply Webserver settings
2020-09-25T11:52:44.078 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:109:handleSettingsUpdate() | Set document root to: :/webconfig
2020-09-25T11:52:44.078 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:109:handleSettingsUpdate() | Set document root to: :/webconfig
2020-09-25T11:52:44.079 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
2020-09-25T11:52:44.081 hyperiond LEDDEVICE    : <DEBUG> LedDeviceLightpack.cpp:271:searchDevice() | Lightpack device found: bus=1 address=4 serial=95230303231351D00132 version=7.5.
2020-09-25T11:52:44.082 hyperiond LEDDEVICE    : <INFO> Lightpack device successfully opened
2020-09-25T11:52:44.083 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
2020-09-25T11:52:44.093 hyperiond V4L2:/DEV/VI : <DEBUG> V4L2Grabber.cpp:713:init_device() | Set framerate to 5 fps
2020-09-25T11:52:44.094 hyperiond V4L2:/DEV/VI : <DEBUG> V4L2Grabber.cpp:735:init_device() | Pixel format=YUYV
2020-09-25T11:52:44.150 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
2020-09-25T11:52:44.151 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
2020-09-25T11:52:44.151 hyperiond HYPERION     : <DEBUG> Hyperion.cpp:538:handlPriorityChangedLedDevice() | priority[0], previousPriority[255]
2020-09-25T11:52:44.151 hyperiond HYPERION     : <DEBUG> Hyperion.cpp:548:handlPriorityChangedLedDevice() | new source available -> switch LED-Device on
2020-09-25T11:52:44.156 hyperiond V4L2:/DEV/VI : <INFO> Started
2020-09-25T11:52:44.157 hyperiond V4L2:/dev/vi : <DEBUG> GrabberWrapper.cpp:48:start() | Grabber start()
2020-09-25T11:52:44.158 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been started
2020-09-25T11:52:44.172 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
2020-09-25T11:52:44.193 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:175:handleSettingsUpdate() | Setup SSL certificate
2020-09-25T11:52:44.194 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:191:handleSettingsUpdate() | Setup private SSL key
2020-09-25T11:52:44.194 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
2020-09-25T11:52:44.671 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 240 is now active
2020-09-25T11:52:47.305 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
2020-09-25T11:52:47.482 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.5
2020-09-25T11:52:47.482 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:81:handleInstanceSwitch() | Client '::ffff:192.168.1.5' switch to Hyperion instance 0
2020-09-25T11:52:47.555 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 240
2020-09-25T11:52:47.556 hyperiond HYPERION     : <DEBUG> Hyperion.cpp:538:handlPriorityChangedLedDevice() | priority[240], previousPriority[0]
^C
Hyperion caught signal :SIGINT
2020-09-25T11:53:11.066 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:174:freeObjects() | Cleaning up Hyperion before quit.
2020-09-25T11:53:11.068 hyperiond FLATBUFSERVE : <INFO> Stopped
2020-09-25T11:53:11.069 hyperiond PROTOSERVER  : <INFO> Stopped
2020-09-25T11:53:11.071 hyperiond WEBSERVER    : <INFO> Stopped Hyperion Webserver
2020-09-25T11:53:11.072 hyperiond WEBSERVER    : <INFO> Stopped Hyperion Webserver
2020-09-25T11:53:11.074 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been stopped
2020-09-25T11:53:11.155 hyperiond LEDDEVICE    : <INFO>  Stopped LedDevice 'lightpack'
2020-09-25T11:53:11.161 hyperiond Dispmanx     : <DEBUG> GrabberWrapper.cpp:42:~GrabberWrapper() | Close grabber: Dispmanx
2020-09-25T11:53:11.170 hyperiond V4L2:/DEV/VI : <INFO> Stopped
2020-09-25T11:53:11.170 hyperiond V4L2:/dev/vi : <DEBUG> GrabberWrapper.cpp:58:stop() | Grabber stop()
2020-09-25T11:53:11.170 hyperiond V4L2:/dev/vi : <DEBUG> GrabberWrapper.cpp:42:~GrabberWrapper() | Close grabber: V4L2:/dev/video0
2020-09-25T11:53:11.170 hyperiond MAIN         : <INFO> Application closed with code 0
2020-09-25T11:53:11.170 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:57:~PythonInit() | Cleaning up Python interpreter

@pdecat Could you check, what the following refactored code does?

https://ufile.io/9n4lpj65

Extract the two files in the hyperion home directory and compile.

Many thanks! PS: Please share the log output after your test.

Thanks for highlighting. The “old” debug routine was marked as deprecated, so I used the latest version… Anyway that statement will be removed/disabled in the final version.

Sure, no problem for further testing.

Disabling then re-enabling the LED device in Remote Control page works fine with the patched version.

@pdecat Hey, that is great to hear and thanks for the test. I may need to do some additional refactoring, ensuring that the Multi-Lightpack device works too and things get simpler. It will get back for testing to you again, if it is ok with you?

In the meantime, could you also test, if disabling and then enabling the device via the “Remote Control” page in the UI works well too? The main changes I did before (the device failed), were to be able to disable and enable a device and it catches up again properly.

@pdecat Thank you! I think I found a problem… During refactoring, I am opening the device two times… Let me clean-up the code and get it ready for a test at your end.