Closed FrostyMisa closed 4 years ago
@FrostyMisa The error in the log outlines that "/dev/ttyUSB0" is not available or cannot be used (maybe because your SSD is using that USB-Port). It seems not to be an hyperion problem, but that the USB device can be found under a different name assigned by the OS.
[hyperiond LEDDEVICE] (ERROR) Device disabled, device 'adalight' signals error: 'Invalid serial device name: [/dev/ttyUSB0]!'
I would suggest you are going to check which USB devices your systems support "ls -la /dev/ttypUSB*". Alternatively, you can try to put "auto" into the device names configuration element. Then the first device discovered is used. In the log you then also should see the devices name used.
If this fails too, you may want trying PR #855 which has some fixing on serial devices.
Thanks for your reply. I think like you say, maybe is some problem with USB SSD drive I using now. I try your command:
`root@Pi4:~# ls -la /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Jul 2 14:12 /dev/ttyUSB0`
When I remove LED USB I get:
`root@Pi4:~# ls -la /dev/ttyUSB*
ls: cannot access '/dev/ttyUSB*': No such file or directory`
And I try also this:
`root@Pi4:~# dmesg | grep tty
[80863.470276] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[80901.030785] usb 1-1.1: ch341-uart converter now attached to ttyUSB0
[81007.107484] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[81024.958779] usb 1-1.4: ch341-uart converter now attached to ttyUSB0`
Here I try first USB I used before when it works from SD card and after change to diferent USB, but everytime its USB0. Thank you for your time, but I´m little bit lost now,
And I try use "auto" in Output path like: /dev/ttyauto, /dev/auto, /auto and only auto and this doesnt help...
@FrostyMisa 'auto' only works when your USB working on the OS. Note: Is is pure "auto" that you should out in, but prerequisite is that the OS infrastructure works.
I close the issue, as it is OS and configuration related.
Ok, only want to say here I solve the problem for anyone, who will maybe have this problem in future. I do many clean install of system and hyperion for find where is problem, its not with USB SSd, because I do clean instal of OS on SD card and its not working as well. After many thing and trying solve it I use only this:
Original and not working for me after new OS install on SD card or SSD USB disk (I update eeprom for RPi4, so maybe this cause the problem, who know. Output path /dev/ttyUSB0
But after I try only this: Output path ttyUSB0
And its start working again!
So I leave it here for everyone, who can get the same problem after upgrading eeprom from critical to stable because of USB boot and after use USB or SD card for running system.
@FrostyMisa Sorry, I only saw that the SSD scenario is using a newer version of hyperion. The problem ist that due to some Windows compatibility change only the portname is to be defined in that version. Really sorry I missed that.
Would you mind testing PR #855 ? There both variants should work; the Linux and Windows way. I fixed it lately.
Yes I can test it, now backup is really fast with SSD, so no problem with test it. Only problem is you must help me how😂. I do installation with git clone, manual way, because the automated script didn’t finish when I try it last time, but manual way works. If you tell me how do “easy” update of my Hyperion with testing #855 I will do it and test if both works. But maybe if in web interface will be only some note like “You can use /dev/ttyUSB0 or only ttyUSB0” it will solve my problem before in second 😂. Thanks for reply and for this great project!
And one question if you find time for it. In image processing here is Update delay in ms. But I don’t understand how this work. My expectations is lights are more fast then TV. So I will measure time between when lights start and TV screen change and if it will be 150 ms I will put 150 ms in Update delay line. But I trying and it’s strange. Because if I put only 5 ms, it’s looks like one second. If I put for example 10, it’s looks like two second. My lights are faster than TV, maybe 200 ms, and I solve it with put 3 ms here and now it looks it’s ok. But 3 is not 200 😂.
Bug report
Ok, I’ll try to be short. Around one month back I install Hyperion ng from here, CompileHowto and use manual was under the script. When I try script it stop somewhere in the middle. But manually it works. After some fighting and googling, I found everything and it’s start working!
So I enjoy it one month on my Raspberry 4 and today I update eeprom for USB boot and connect SSD. On this SSD I use same system. Make manual installation of Hyperion ng like before. See all the same in webui by what I remember and nothing. After I try to export settings from SD card Hyperion (I remove USB SSD and insert old SD card I use maybe one hour ago and here it’s still working) and after I remove SD card, put back SSD and import this settings. But nothing change. Still doesn’t work.
I try ls /dev if something change before and after reconnecting LED. Only two thing changing, ttyUSB0 and serial. I use adalight USB, so before and now I use ttyUSB0, before it works, now doesn’t. USB for LED stay same. Only thing what I change is remove USB SSD and insert old SD card and it’s working. Remove SD card and insert SSD in USB and it’s not working.
SD card show me LED device is green. SSD isn’t green. Here is debug log from Hyperion. Sorry I don’t paste it nicely. I write this from phone and I don’t know how to make nice block...
[hyperiond EFFECTFILES] (INFO) 39 effects loaded from directory :/effects/ [hyperiond EFFECTFILES] (INFO) 22 effect schemas loaded from directory :/effects/schema/ [hyperiond EFFECTFILES] (INFO) 0 effects loaded from directory /root/.hyperion/custom-effects [hyperiond SettingsManager] (DEBUG) (SettingsManager.cpp:108:SettingsManager()) Settings database initialized [hyperiond BLACKBORDER] (DEBUG) (BlackBorderProcessor.cpp:65:handleSettingsUpdate()) Set mode to: osd [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: enabled [hyperiond DAEMON] (INFO) set screen capture device to 'dispmanx' [hyperiond DISPMANXGRABBER] (DEBUG) (Grabber.cpp:35:setVideoMode()) Set videomode to 0 [hyperiond DISPMANXGRABBER] (INFO) Display opened with resolution: 1920x1080 [hyperiond DISPMANXGRABBER] (DEBUG) (Grabber.cpp:95:setWidthHeight()) Set new width: 160, height: 90 for capture [hyperiond DAEMON] (INFO) DISPMANX frame grabber created [hyperiond V4L2:auto] (DEBUG) (Grabber.cpp:35:setVideoMode()) Set videomode to 0 [hyperiond V4L2:auto] (INFO) Signal threshold set to: {12, 12, 12} [hyperiond V4L2:auto] (INFO) Signal detection is now disabled [hyperiond V4L2:auto] (INFO) Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000 [hyperiond DAEMON] (DEBUG) (hyperiond.cpp:498:handleSettingsUpdate()) V4L2 grabber created [hyperiond JSONSERVER] (DEBUG) (JsonServer.cpp:27:JsonServer()) Created instance [hyperiond JSONSERVER] (INFO) Started on port 19444 [hyperiond LEDDEVICE] (INFO) LedDevice 'adalight' found. [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: enabled [hyperiond LEDDEVICE] (DEBUG) (LedDeviceAdalight.cpp:56:init()) Adalight header for 256 leds: Ada 0x00 0xff 0xaa [hyperiond LEDDEVICE] (INFO) Opening UART: /dev/ttyUSB0 [hyperiond FLATBUFCONNECTION] (INFO) Connecting to Hyperion: 127.0.0.1:19401 [hyperiond PROTOSERVER] (INFO) Started on port 19445 [hyperiond EFFECTENGINE] (INFO) Run effect "Rainbow swirl fast" on channel 0 [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:33:initServer()) Initialize Webserver [hyperiond FLATBUFSERVER] (INFO) Started on port 19400 [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:33:initServer()) Initialize Webserver [hyperiond EFFECTENGINE] (DEBUG) (EffectEngine.cpp:188:runEffectScript()) Start the effect: name [Rainbow swirl fast], smoothCfg [2] [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:158:registerInput()) Register new input 'System/EFFECT' with priority 0 as inactive [hyperiond HYPERION] (INFO) Initial foreground effect 'Rainbow swirl fast' started [hyperiond EFFECTENGINE] (INFO) Run effect "Warm mood blobs" on channel 254 [hyperiond EFFECTENGINE] (DEBUG) (EffectEngine.cpp:188:runEffectScript()) Start the effect: name [Warm mood blobs], smoothCfg [2] [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:158:registerInput()) Register new input 'System/EFFECT' with priority 254 as inactive [hyperiond HYPERION] (INFO) Inital background effect 'Warm mood blobs' started [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:158:registerInput()) Register new input 'System/GRABBER' with priority 250 as inactive [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: enabled [hyperiond Dispmanx] (DEBUG) (GrabberWrapper.cpp:49:start()) Grabber start() [hyperiond BOBLIGHT] (DEBUG) (BoblightServer.cpp:28:BoblightServer()) Instance created [hyperiond HYPERION] (INFO) Hyperion instance 'First LED Hardware instance' has been started [hyperiond LEDDEVICE] (ERROR) Device disabled, device 'adalight' signals error: 'Invalid serial device name: [/dev/ttyUSB0]!' [hyperiond LEDDEVICE] (ERROR) Device disabled, device 'adalight' signals error: 'Error opening device!' [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:91:handleSettingsUpdate()) Apply Webserver settings [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:109:handleSettingsUpdate()) Set document root to: :/webconfig [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:91:handleSettingsUpdate()) Apply Webserver settings [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:109:handleSettingsUpdate()) Set document root to: :/webconfig [hyperiond WEBSERVER] (INFO) Started on port 8090 name 'Hyperion Webserver' [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 250 is now active [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 0 [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:175:handleSettingsUpdate()) Setup SSL certificate [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:191:handleSettingsUpdate()) Setup private SSL key [hyperiond WEBSERVER] (INFO) Started on port 8092 name 'Hyperion Webserver' [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 0 is now active [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:198:setInput()) Priority 254 is now active [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:298:setCurrentTime()) Timeout clear for priority 0 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 250 [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.144.90 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:103:handleInstanceSwitch()) Client '::ffff:192.168.144.90' switch to Hyperion instance 0 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1047:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.144.90
Steps to reproduce
Install Hyperion with working setup same but on USB drive.
What is expected?
It will work sans like on SD card.
What is actually happening?
LED doesn’t work on SSD but work on SD card.
System
Doesn’t work:
Hyperion Server:
Hyperion Server OS:
Working:
Hyperion Server:
Hyperion Server OS: