compile ebusd on qnap

 Feb, 09 - 2014   2 comments   DevelopmentSmarthome

I always wanted to get a deeper insight into the heating system of our house. And today I did a few steps forward.
Our heating system supports ebus which is a serial bus protocol. And here’s my plan:

1. Get an ebus to USB-converter.
2. Read the ebus-data on my qnap.
3. Graph it.

Today I started research for 1. and 2.
I’ll explain the hardware side of things in a separate post. On the software side, I stumbled upon ebusd which looks promising. But will it run on the qnap? I have a qnap 119P II which runs an ARM CPU. In order to get ebusd compiled, I checked out the source and installed a couple of packages (perl, autoconf) via ipkg
The first problem I ran into was a strange error inside an autoconf script. It turned out that autoconf was complaining that perl was not compiled with threading support.
But, why should we need threads?
At the end it turned out that the perl installation on the qnap does not define if it supports threads (but it does not) and the autoconf seems to default to true.
Therefore I patched the autoconf scripts to not run into the threading support blocks. *sigh*

Next fail was an AWK error. Long story short: It turned out that the busybox AWK version on the qnap is too old for the syntax which is used by autoconf.
You can get rid of it by installing the optware-devel package via ipkg. Make sure to change the path-variable to have /opt/bin before /bin/ to get the newer binaries.

And finally: Success! ebusd seems to run (I have not hardware to test right now) but that a first step into the right direction.

But why oh why does all those things still feel like the 90’ies…

I’ll keep you posted how this story continues…


Related articles

 Comments 2 comments

  • Michael sagt:

    Hi there,

    I’m struggling w/ the same issue „Perl does not support threading“. How did you solve it by editing autoconf? Please advice. Thanks!

  • Schreibe einen Kommentar

    Your email address will not be published. Fields with * are mandatory.

    Time limit is exhausted. Please reload the CAPTCHA.