1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

SOLVED Hyperion leads to ext4-fs errors?

Discussion in 'Software Support' started by icefire, 18 August 2017.

  1. icefire

    icefire New Member

    Messages:
    12
    Hardware:
    RPi3, +Arduino
    So I have been using Hyperion with OSMC and Kodi for a few months with no real problem.
    After the last Kodi update the system couldn't boot anymore and showed a lot of ext-4-fs errors (journal interrupted):
    [​IMG]

    So I thought that the SD Card is damaged. Removing it and trying to fix it on another system with fsck brought nothing. So I reinstalled everything using OSMC 2017.07-1 and it all worked - until I installed hyperion.

    If hyperion is running - the system cannot boot, there are ext4-fs errors, connection vis SSH is impossible, the system is completely unresponsive. If I remove the SD card and delete the configuration file from /etc/hyperion, so that the service cannot start, everything works fine.

    Once I put the json file back, everything crashes again.

    I have not changed the json file since February. It seems that something makes hyperion incompatible with the new OSMC release...

    Any help would be much appreciated.... Thank you!
     
  2. penfold42

    penfold42 Moderator Developer

    Messages:
    750
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    What led device driver are you using ?

    The only 2 ways I can see this happening are:
    1) using the rpi_281x driver with a dma channel that conflicts
    2) power issues if your leds and Pi share a power supply that's inadequate
     
  3. icefire

    icefire New Member

    Messages:
    12
    Hardware:
    RPi3, +Arduino
    There is no power issue because the power supply I am using has a lot of power reserve. Furthermore I already tried powering the Raspberry from a phone charger, just to see if anything changes.

    My setup is accorging to this tutorial: https://hyperion-project.org/wiki/3-Wire-PWM

    I am using the driver for "ws281x":

    Code:
    "device" :
      {
      "name"  : "MyPi",
      "type"  : "ws281x",
      "colorOrder" : "grb",
      "leds"  : 189
      },
     
    Last edited: 19 August 2017
  4. icefire

    icefire New Member

    Messages:
    12
    Hardware:
    RPi3, +Arduino
    Ok. It's officially not the SD card.

    First of all, the current SD card had no errors:

    Code:
    [email protected] ~ $ sudo badblocks -v /dev/mmcblk0p1
    [sudo] password for icefire: 
    Checking blocks 0 to 248831
    Checking for bad blocks (read-only test): done                                                
    Pass completed, 0 bad blocks found. (0/0/0 errors)
    
    [email protected] ~ $ sudo badblocks -v /dev/mmcblk0p2
    Checking blocks 0 to 31221759
    Checking for bad blocks (read-only test): done                                                
    Pass completed, 0 bad blocks found. (0/0/0 errors)
    
    Secondly, I tried with another brand new SD card - still the same.

    And finally, I tried all different OSMC Versions (2017.07-1, 2017.06-1, 2017.05.2) and it was still the same. However, one I installed the March version 2017.03-1 it worked like it used to. No problem with hyperion.

    So clearly there is something in the newer versions of OSMC that lets hyperion crash the system.

    Any help would be much appreciated....
     
  5. b1rdhous3

    b1rdhous3 Member Developer

    Messages:
    91
    Hardware:
    RPi1/Zero, RPi3, 32/64bit, +PhilipsHue
    Which hyperion version do you use?
     
  6. icefire

    icefire New Member

    Messages:
    12
    Hardware:
    RPi3, +Arduino
    Version : V1.03.3 (brindosch-2fbbcff/2f01dfa-1495880388

    Code:
    ssh out:     sudo journalctl -u hyperion.service 2>/dev/null
    ssh in:     -- Logs begin at Fri 2017-08-18 22:20:11 CEST, end at Sat 2017-08-19 01:30:00 CEST. --
    ssh in:     Aug 18 22:20:12 osmc systemd[1]: Starting Hyperion Systemd service...
    ssh in:     Aug 18 22:20:12 osmc systemd[1]: Started Hyperion Systemd service.
    ssh in:     Aug 18 22:20:13 osmc hyperiond[301]: Hyperion Ambilight Deamon (301)
    ssh in:     Aug 18 22:20:13 osmc hyperiond[301]: Version   : V1.03.3 (brindosch-2fbbcff/2f01dfa-1495880388
    ssh in:     Aug 18 22:20:13 osmc hyperiond[301]: Build Time: Jun  3 2017 02:06:37
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: INFO: Selected configuration file: /etc/hyperion/hyperion.config.json
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: HYPERION INFO: ColorTransform 'default' => [0; 188]
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: HYPERION INFO: ColorCorrection 'default' => [0; 188]
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: HYPERION INFO: ColorAdjustment 'default' => [0; 188]
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: LEDDEVICE INFO: configuration:
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: {
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: "colorOrder" : "grb",
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: "leds" : 189,
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: "name" : "MyHyperionConfig",
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: "type" : "ws281x"
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: }
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: whiteAlgorithm ::
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: INFO: Creating linear smoothing
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: HYPERION (CS) INFO: Created linear-smoothing(interval_ms=33;settlingTime_ms=100;updateDelay=0
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: EFFECTENGINE INFO: 27 effects loaded from directory /usr/share/hyperion/effects
    ssh in:     Aug 18 22:20:14 osmc hyperiond[301]: EFFECTENGINE INFO: Initializing Python interpreter
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: INFO: Hyperion started and initialised
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: INFO: Boot sequence 'Rainbow swirl fast' EFFECTENGINE INFO: run effect Rainbow swirl fast on channel 0
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: BLACKBORDER INFO: threshold set to 0.08 (21)
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: BLACKBORDER INFO: mode:default
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: started
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: INFO: Kodi checker created and started
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: INFO: Json server created and started on port 19444
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: INFO: Proto server created and started on port 19445
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: DISPMANXGRABBER INFO: Display opened with resolution: 1920x1080
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: BLACKBORDER INFO: threshold set to 0.08 (21)
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: BLACKBORDER INFO: mode:default
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: INFO: Frame grabber created and started
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: KODICHECK ERROR: Kodi Connection error (0)
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 22:20:15 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
    ssh in:     Aug 18 22:20:29 osmc hyperiond[301]: EFFECTENGINE INFO: effect finished
    ssh in:     Aug 18 22:20:35 osmc hyperiond[301]: KODICHECK INFO: Kodi Connected
    ssh in:     Aug 18 22:20:35 osmc hyperiond[301]: KODICHECK INFO: switching to OFF mode
    ssh in:     Aug 18 22:46:48 osmc hyperiond[301]: KODICHECK INFO: switching to VIDEO mode
    ssh in:     Aug 18 22:46:51 osmc hyperiond[301]: KODICHECK INFO: switching to PAUSE mode
    ssh in:     Aug 18 22:47:26 osmc hyperiond[301]: KODICHECK INFO: switching to VIDEO mode
    ssh in:     Aug 18 22:51:10 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 22:51:10 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=2
    ssh in:     Aug 18 22:51:16 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 22:51:16 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
    ssh in:     Aug 18 22:52:23 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 22:52:23 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=9 vert.size=0
    ssh in:     Aug 18 22:52:52 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 22:52:52 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
    ssh in:     Aug 18 23:08:41 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 23:08:41 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=2 vert.size=0
    ssh in:     Aug 18 23:08:51 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 23:08:51 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
    ssh in:     Aug 18 23:26:17 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 23:26:17 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=2 vert.size=0
    ssh in:     Aug 18 23:26:37 osmc hyperiond[301]: BORDER SWITCH REQUIRED!!
    ssh in:     Aug 18 23:26:37 osmc hyperiond[301]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
    ssh in:     Aug 18 23:28:40 osmc hyperiond[301]: KODICHECK INFO: switching to OFF mode
    ssh in:     Aug 19 00:54:56 osmc hyperiond[301]: JSONSERVER INFO: New connection
    ssh in:     Aug 19 00:54:56 osmc hyperiond[301]: BLACKBORDER INFO: threshold set to 0.08 (21)
    ssh in:     Aug 19 00:54:56 osmc hyperiond[301]: BLACKBORDER INFO: mode:default
    ssh in:     Aug 19 00:55:26 osmc hyperiond[301]: JSONSERVER INFO: Connection closed
     
  7. penfold42

    penfold42 Moderator Developer

    Messages:
    750
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    Try setting dmanum to 10 like this;

    Code:
    "device" :
      {
      "name"  : "MyPi",
      "type"  : "ws281x",
      "colorOrder" : "grb",
      "dmanum" : 10,
      "leds"  : 189
      },
     
    • Thank you Thank you x 1
  8. icefire

    icefire New Member

    Messages:
    12
    Hardware:
    RPi3, +Arduino
    That did it! Thank you so much!

    Could you please explain a mortal soul what
    Code:
    "dmanum" : 10
    actually does?
     
  9. penfold42

    penfold42 Moderator Developer

    Messages:
    750
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    No, it's a secret !

    Seriously tho, the rpi281x driver is a bit of a hack. It has to hit the hardware directly to do its magic as it's really abusing the analog audio hardware to drive leds.

    The pwm audio hardware needs a dma channel to automatically feed data without the CPU having to do much work.

    The problem is there only a dozen dma channels and there doesn't appear to be a way to reliably determine which are in use by the OS plus, they sometime change with different OS and firmware versions.

    The default DMA 5 has been safe for a few years and DMA 10 now seems a safer choice as the SD card controller seems to be using 5 now.

    I wrote the ws2812_Spi driver as a much safer replacement but it means you need to change your gpio pin
     
    Last edited: 20 August 2017
  10. penfold42

    penfold42 Moderator Developer

    Messages:
    750
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
  11. icefire

    icefire New Member

    Messages:
    12
    Hardware:
    RPi3, +Arduino
    Thank you for the explanation and for the help!
    [​IMG]
     
  12. IKnowCodeSoup

    IKnowCodeSoup New Member

    Messages:
    12
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +PhilipsHue, +nodeMCU/ESP8266
    Just wanted to add, if anyone else experiences issues and that setting does not solve it (and something to double-check first) is that you're using the right gauge wires. Especially when hooking the frame grabber directly to the Pi instead of a powered hub.

    Ran into this issue a week or so ago where the last bit of wire was inadequate for the amperage. All other projects I had used a powered hub and it took me quite a while to diagnose the issue.

    Glad to read this, however, as I am partial to the 281x and did not know of that setting. Thanks!
     
  13. dolittle

    dolittle New Member

    Messages:
    7
    Hardware:
    RPi3
    This issue hit me as well and drove me almost crazy. Glad that it was solved this way.

    The Wiki should definately be updated on this point.

    Please can you provide a mini how to for the usage with hyperion. I don't get it reading the README.md
     
  14. penfold42

    penfold42 Moderator Developer

    Messages:
    750
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    It's mostly luck that the dma option got added - I was adding something else (invert maybe ?) and just added dmanum for completeness

    The default dma 5 worked fine for years - until recently !
     
  15. Richp123

    Richp123 New Member

    Messages:
    1
    Hardware:
    RPi3
    Hi guys - thanks for this. Took a while to find though!

    Hyperion is working again with dmanum 10 but after hyperion starts, my pi falls of the network and only a reboot fixes it and even then, I have about 30 seconds before it blocks me again (ssh/ip)

    This is a real pain as I can't turn the leds off now!

    Any ideas why this happens?

    Thanks all