EVOK on kernel v6 (ie. bookworm)
-
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 theunipi-kernel-modules
unable to work with the new kernel, which then spiraled into additional incompatibilities. We've managed to resolve most of them using yourbookworm
package versions (thanks again!) and a bit of patching on the side of the kernel-modules, theos-configurator
andevok
. 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 thedev-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:
- Both the repository and the
evok_3.0.1-beta
package are missinghw_definitions
. The definitions are however insideevok-data_0.0.1-test
, but a lof of them are missing. Q: Is this intentional? The oldhw_definitions/BuiltIn/S103.yaml
works for theULED
outputs, however, the rest is mostly missing. I tried patching themodes
(according to the new config scheme) of AI,DI but haven't had any success. - We've put together the following
/etc/evok/config.yaml
(omitting the trivialapis
). Themodel
refers to the oldhw_definitions/S103.yaml
. Q: Is this an appropriateconfig.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.
- Both the repository and the
-
@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. -
@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 thedev-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.
-
@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'