Evok Does Not Recon Any Devices



  • Hi,

    I just installed Evok 2.0.5a on a freshly installed Raspbian (Neuron M103). I can access the Web-Frontend through http://hostname.of.neuron but it does not show any items. See screenshot:

    0_1525269033218_Bildschirmfoto vom 2018-05-02 15-46-29.png

    Logfile say Python tracebacks:

    2018-05-02 13:50:48,586 - evok - ERROR - 'NoneType' object has no attribute 'do_scan'
    Traceback (most recent call last):
      File "/opt/evok/neuron.py", line 209, in scan_boards
        yield self.modbus_cache_map.do_scan()
    AttributeError: 'NoneType' object has no attribute 'do_scan'
    2018-05-02 13:50:48,688 - evok - ERROR - 'NoneType' object has no attribute 'do_scan'
    Traceback (most recent call last):
      File "/opt/evok/neuron.py", line 209, in scan_boards
        yield self.modbus_cache_map.do_scan()
    AttributeError: 'NoneType' object has no attribute 'do_scan'
    2018-05-02 13:50:48,789 - evok - ERROR - 'NoneType' object has no attribute 'do_scan'
    Traceback (most recent call last):
      File "/opt/evok/neuron.py", line 209, in scan_boards
        yield self.modbus_cache_map.do_scan()
    AttributeError: '
    

    After the installation I waited always several minutes before rebooting and already rebooted several times. Noch change.

    dmesg| grep -i neuron
    

    does not give any output.

    Any clues?

    /KNEBB
    What


  • administrators

    Could you post the output from "systemctl status neurontcp"? It could help us diagnose the issue further.

    Regardless, it looks like the installation did not finish correctly for some reason. You could try using the UniPi OpenSource image instead of Raspbian, from https://files.unipi.technology/s/public?path=%2FSoftware%2FOpen-Source Images. It is really just standard Raspbian anyhow, but it comes with EVOK and our kernel drivers preinstalled.



  • @TomasKnot :

    root@zentrale:~# systemctl status neurontcp
    * neurontcp.service - Unipi Neuron Modbus/Tcp Server
       Loaded: loaded (/lib/systemd/system/neurontcp.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2018-05-02 13:41:15 UTC; 4h 14min ago
     Main PID: 319 (neuron_tcp_serv)
       CGroup: /system.slice/neurontcp.service
               `-319 /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware
    
    Mai 02 13:41:15 zentrale systemd[1]: Started Unipi Neuron Modbus/Tcp Server.
    

    I will download the image including Evok. Is it possible to update this image with apt upgrade to get bug fixes from DEbian and so on?


  • administrators

    We are working on our own package server (in fact it is already running), but for now you have to run the commands from this topic before performing apt-get update:

    https://github.com/UniPiTechnology/evok/issues/51

    i.e.

    apt-mark hold raspberrypi-bootloader
    apt-mark hold python-tornado
    apt-mark hold raspberrypi-kernel
    

    This is also true for any EVOK installation. Essentially certain packages have to be a specific version to be compatible.



  • I do have exactly same problem as described when installing Evok on UniPi Neuron with Rasbian Lite using steps here https://github.com/UniPiTechnology/evok#installation-process-for-the-20-evok-version



  • This post is deleted!


  • @TomasKnot said in Evok Does Not Recon Any Devices:

    apt-mark hold raspberrypi-bootloader
    apt-mark hold python-tornado
    apt-mark hold raspberrypi-kernel
    

    This is also true for any EVOK installation. Essentially certain packages have to be a specific version to be compatible.

    Will there be an official announcement when your repo server is available?
    I would wait until then and follow official steps...

    BTW: My system is now working with the image. I have proper WEB-GUI. Thanks so far!



  • I've also failed to install latest version (2.0.5) on Neuron. I've also tried with clean version of Raspbian Lite Stretch (latest from April 2018 and one from Dec 2017), same issues as reported.

    I've also tried UniPi image (2018-03-09 and 2018-03-16-BETA) which works, but upgrade to 2.0.5 haven't worked out.

    BTW, how I can find out which version of Evok API is installed on images, is there some REST endpoint which will return release version or I can look somewhere in the FS?

    At the end, what is the recommended way of installing latest version of Evok API on Neuron, since everything I've tried is not working?

    Thanks!



  • @dgajic
    As statet: Only way seems to be to use the image and NEVER, EVER do updates....


  • administrators

    It's a problem caused by the new version of Tornado and the kernel, unfortunately it's not easy to solve, ultimately with the packaging we do an equivalent to the commands above.

    I can't give a firm date when the package system will be ready. We already have it running internally, but we need to upgrade all of our images to use it first.



  • @TomasKnot

    I don't mind using your image, but looking at dates it seems latest one is from March, I assume corresponding version of Evok API on it is also from March? I don't know how to check version of API on the image itself.

    Would be an option to build new image after each release of Evok API?


  • administrators

    It's not really simple unfortunately, the images are built via booting from ethernet and copying over to an empty card, to ensure that they are as clean as possible, and the process takes a while.

    I'll see if we can't come up with a better way of managing EVOK versioning.



  • I don't really care which version of Raspbian I have, I just wanted to get the latest EVOK sw for any bugfixes before sending them out to clients. Should I use an image of Raspbian before Stretch? I'm using Stretch Lite atm


  • administrators

    @Boy-Lenssen
    Please start a new topic or reply in the other one, thanks

    It shouldn't matter which version of Raspbian you use.



  • @TomasKnot can you point me to the other topic. If you mean my other question about the extension, that is a different case.

    I have the same issue @dgajic was point out, clean install of Stretch lite doesn't seem to work.


  • administrators

    @Boy-Lenssen

    I believe that @dgajic was asking about updating UniPian as opposed to Raspbian in this topic.

    Anyhow - here's an answer to you. All of EVOK installations done since yesterday are broken as of right now, as a recent update of the pymodbus https://pypi.org/project/pymodbus/1.5.2/#history (~3 days ago) library broke the installation. UniPian does not have this issue.

    It does not matter which version of EVOK or Raspbian you use, this is an issue with the library breaking the compatibility. We will get it fixed within today, but you will have to perform a new install afterwards.

    I have only found this out now, through the issues you are having, and so thank you for the bug report.

    We will have a look at figuring out a way to package the libraries with EVOK, but it's not a simple process since python libraries are distributed as source code under various licenses.



  • @TomasKnot that is awesome news! Thanks !

    I think it is just bad luck that I started to update the software at the time this bug arised :)

    Will be patient ...



  • @TomasKnot because you said it was an issue with PyModbus, I removed it from the system and installed 1.5.0 => still same issue. Then I just went back a lot more and installed 1.3.2 (via sudo pip install pymodbus==1.3.2 )

    Now it seems to work (haven't tested thoroughly, but the test webpage loads and I can toggle the switches succesfully!)


  • administrators

    @Boy-Lenssen

    That's exactly what I did in the recent commit on Github. Glad to hear it works now. I believe the version 1.4.0 should work as well. I am slightly surprised it took so long before this came up, since it seems even 1.5.0 is broken.

    I am testing it now and will have a new release out soon. But it does seem like the issue. UniPian has EVOK and all the libraries pre-installed, which is why it does not have the problem.


  • administrators

    I have now released version 2.0.5c (hotfix) which should have the pymodbus library version forced to 1.4. The changes are big enough that it would not be trivial to port EVOK to the newer version, though we'll have a look at it in the future.