• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    EVOK on kernel v6 (ie. bookworm)

    Official API - Evok
    2
    4
    1902
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tsandrini last edited by

      Hi again!

      Context: We've been successfully running UniPi software on a custom OS on UniPi S130 rpi4 thanks to https://repo.unipi.technology/ and the help provided in https://forum.unipi.technology/topic/1541/hardware-mappings-on-a-non-debian-distro . However, partly due to maintenance and partly due to some other DTOs, we've recently decided to upgrade to the new major kernel version, which unfortunately brought some differences in iio/iio_opaque structs in the linux kernel, which made the unipi-kernel-modules unable to work with the new kernel, which then spiraled into additional incompatibilities. We've managed to resolve most of them using your bookworm package versions (thanks again!) and a bit of patching on the side of the kernel-modules, the os-configurator and evok. iio, spidev, /dev/unipichannel1, unipi_tcp_server is all working without any issues, however, the old version of EVOK (that is, master branch) unfortunately didn't work with the new package versions so we switched to the dev-bookworm branch, which looks like a superb, way cleaner (+tests?) rewrite of the old python2 version and is working mostly okay aside from AI,AO,DOs and some minor configurations.


      Regarding those:

      1. Both the repository and the evok_3.0.1-beta package are missing hw_definitions. The definitions are however inside evok-data_0.0.1-test, but a lof of them are missing. Q: Is this intentional? The old hw_definitions/BuiltIn/S103.yaml works for the ULED outputs, however, the rest is mostly missing. I tried patching the modes (according to the new config scheme) of AI,DI but haven't had any success.
      2. We've put together the following /etc/evok/config.yaml (omitting the trivial apis). The model refers to the old hw_definitions/S103.yaml. Q: Is this an appropriate config.yaml for a Neuron S103 rpi4?
      comm_channels:
        EXT_TCP:
          hostname: 127.0.0.1
          port: 502
          type: MODBUSTCP
          device_info:
            family: Neuron
            model: S103
            board_count: 1
          devices:
            1:
              slave-id: 1
              model: S103
        OWFS:
          type: OWBUS
          interval: 3
          scan_interval: 60
          owpower: 1
      

      Any help would be greatly appreciated and also thanks for the great work that you are doing on EVOK. <3.

      TS.

      C 1 Reply Last reply Reply Quote 0
      • C
        cleve administrators @tsandrini last edited by

        @tsandrini
        Hello, it looks like you are mixing Evok 2 and Evok 3 stuff together, I would recommend you running a clean beta Base OS image and then install Evok according to this guide.

        Best regards,
        Kryštof Černý - Unipi engineer

        T 1 Reply Last reply Reply Quote 0
        • T
          tsandrini @cleve last edited by

          @cleve Hi, thanks for the reply. Can you elaborate further on your answer? I don't really understand how I am mixing the versions. As I stated, this is a custom OS and we cannot really directly use your images and debian packages, instead we are repackaging them using your debian pkgs repository, which has worked very well. I am just confused about some configuration details (those are highlited in my previous message) regarding your new EVOK (that is the bookworm versions based on the dev-bookworm git branch) version, since you've migrated to a completely new configuration style and EVOK API.

          Aside from that everything works perfectly fine as I've stated in my previous message.

          Thanks again for the reply.

          C 1 Reply Last reply Reply Quote 0
          • C
            cleve administrators @tsandrini last edited by

            @tsandrini
            In the new version, the configuration is no longer for the whole unit, but there is one per board. To make it easier for our customers, we encourage them to use autogen, which uses OS configurator to make proper configuration. If you wish to make the configuration on your own, you need to follow these guides: first and second. This is how it will look like for S103:

            comm_channels:
              LOCAL_TCP:
                type: MODBUSTCP
                hostname: 127.0.0.1
                port: 502
                device_info:
                  family: Neuron
                  model: S103
                  sn: xxx
                  board_count: 1
                devices:
                  1:
                    slave-id: 1
                    model: '00'
            

            Best regards,
            Kryštof Černý - Unipi engineer

            1 Reply Last reply Reply Quote 1
            • First post
              Last post