Hyperion Server On Windows 10 With Ubuntu Bash (WSL)

  • Hello, I try to run hyperion on Windows from the ubuntu bash.
    I use Windows 10 insider preview 16179, in order to have access to port com.


    When I launch the Hyprion service, my led flash with the colors I indicated in the arduino sketch. This shows that the com port initializes, but I do not observe a bootsequence of hyperion (Rainbow) and the KnightRider effect does not work.


    I think Hyperion can not communicate with the arduino despite the port com reacting.


    I'm sure it's enough for it to work but I have no idea


    PS: My hyperion config json work well with my hyperion server under linux mint. The only thing I changed is the port com /dev/ttyUSB0 under Linux mint and /dev/ttyS3 under windows because my arduino is connected to port com3

  • Hi penfold42


    The debug argument does not work :


    PHP
    zapoc@DESKTOP-KVERED3:~$ hyperiond --debug
    Hyperion Ambilight Deamon (60)
            Version   : V1.03.2 (brindosch-99d9396/d3713a8-1469452981
            Build Time: Jul 25 2016 06:54:05
    terminate called after throwing an instance of 'vlofgren::Parameter::ParameterRejected'
      what():  Bad parameter: --debug
    Abandon (core dumped)


    I tried to get the log of hyperion via ssh but the ssh server of the preview insider is bugged ...

  • Yop


  • It doesn't complain about any serial port related stuff - I recall some discussion on the WSL GitHub page that implied it was a bit flakey.


    The logs reminded me of something else - it's unlikely that the display capture will work from within WSL. An external framegrabber was played with for windows a few months ago.


    Before we go into full on debugging with strace, what are you planning to do with Hyperion ?

  • interesting.... your strace output doesnt show _any_ attempted writes to the serial port.


    This is the relevant bits from yours:

    Code
    write(1, "Opening UART: /dev/ttyS3\n", 25) = 25
    open("/dev/ttyS3", O_RDWR|O_NOCTTY|O_NONBLOCK) = 6
    ioctl(6, TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0
    ioctl(6, TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0
    ioctl(6, SNDCTL_TMR_START or TCSETS, {B115200 -opost -isig -icanon -echo ...}) = 0
    ioctl(6, TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0
    ioctl(6, TCFLSH, TCOFLUSH)  = 0
    ioctl(6, TCSBRK, 1)  = 0
    ioctl(6, TCFLSH, TCOFLUSH)  = 0


    Heres mine on a pi

  • Nope


    It's weird - I expect to see the write statements even if they didn't work.


    Here's the three lines that do the work every update:
    _rs232Port.flushOutput();
    _rs232Port.write(data, size);
    _rs232Port.flush();


    I can see what I think are the 2 flushes in the output in both of ours but I don't see the write.


    We migrated the serial subsystem to qtserial in Hyperion.ng - you could try that but you'll need to build from source.

  • Hello,


    I compile this morning hyperion.ng. It seems that the json configuration files are different.


    I get one this error:


    Code
    [hyperiond MAIN] <INFO> Selected configuration file: /etc/hyperion/hyperion.config.json
    [root].general: missing member
    [hyperiond MAIN] <ERROR> Hyperion Daemon aborted:
      ERROR: Json validation failed
    [hyperiond MAIN] <ERROR> Hyperion aborted:
      Hyperion::getInstance used without call of Hyperion::initInstance before
  • Hello,


    Been following this as I am the same as zapoc. I just don't want to use a Raspberry PI or even a separate Linux system as I am running a Windows HTPC. Both versions of Hyperion run fine on Windows 10 Linux Subsystem (WSL). The issue is the handshake of the Arduino from Hyperion in WSL.


    My Arduino is connected to COM4 in Windows 10, so WSL it shows as /dev/ttyS4. The other issue is that the permissions for that device and other devices are set to root only. So, you have to change the permissions in order to use that device effectively.


    ls -la /dev/ttyS2 /dev/ttyS3 /dev/ttyS4
    crw-r----- 1 root root 4, 66 Jul 3 21:03 /dev/ttyS2 > COM2
    crw-r----- 1 root root 4, 67 Jul 3 21:03 /dev/ttyS3 > COM3
    crw-rw-rw- 1 root root 4, 68 Jul 3 21:03 /dev/ttyS4 > COM4


    Permission change back when exit BashOnWindows.


    Here is the device settings of the Arduino.
    stty -F /dev/ttyS4 -a
    speed 115200 baud; rows 0; columns 0; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = <undef>; eol = <undef>; eol2 = <undef>; swtch = <undef>;
    start = <undef>; stop = <undef>; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 0; time = 0;
    -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
    -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc


    Then using basic cu with debugging turn on, I am able to connect to the Arduino in WSL.


    cu -l /dev/ttyS4 --debug all
    cu: fconn_open: Opening port /dev/ttyS4 (default speed)
    cu: fsserial_open: Baud rate is 115200
    cu: fconn_set: Changing setting to 0, 0, 2
    Connected.


    Here is a link to GitHub for Microsoft BashOnWindows discussing COM Port access: https://github.com/Microsoft/BashOnWindows/issues/1929
    Another link from MSDN about Serial Support on WSL: https://blogs.msdn.microsoft.c…dows-subsystem-for-linux/

  • @penfold42 Appears to be now working based on my copy of Windows 10 Home Insider Preview Evaluation Copy Build 16237.rs_prelease.170701-0549 that got pushed today.


    I can startup Hyperion and use external frame grabber "Hyperion Screen Capture". Kodi seems flaky when running the capture software or even both are running. Probably due hardware sources, not sure and more in depth look is needed.

  • very nice now i know its possible :D


    im a linux newbie lol alway get a error when i try to start it on windows ubuntu bash...
    when installing it it also gave me a error about ini.d wich also causes the problem with the start...


    Starting hyperiond... /etc/init.d/hyperion: line 37: /var/run/hyperiond.pid: Permission denied
    Ok


    i google alot i dont know how to get it to work... how didu guys got hyperion running on windows in the bash??

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!