-
-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arch Linux: cannot query ebusd anymore after sys upgrade #79
Comments
is it still a jessy distribution or something different? |
It is not a permissions problem on /dev/ttyUSB0 (rw), it more appears to be somewhat similar to this report (cannot write to serial device): https://openenergymonitor.org/forum-archive/node/12360.html For the sake of completness, the upgrade on Arch Linux included:
I found prior binary packages in the package manager's cache, so I will try to downgrade the kernel and/or firmware and check if it helps. P.S. I have two RPis: the main one (RPi 2 B) runs Arch Linux, the spare one (RPi B) runs Debian Jessie with ebusd as a temporary workaround to the above issue. Jessie is still on 4.4 kernel series. |
as written in the forum: |
Increasing the latencies did not help. Although I did not check the buffers, CPU load is like 0.05 to 0.40 or so. I am not really skilled in finding out the source files, which take care about FTDI USB Serial converter (used in the ebus device). It should probably be reported upstream, but where to? P.S. I can test patches (kernel compilation on Arch should be a straighforward issue, hopefully also on ARM). EDIT: For the sake of completeness, this is the device:
|
there were some changes made to the ftdi_sio module at least in kernel 4.9.13, maybe that's the reason for the problems. could you try with latest 4.9.22 again? |
Nope. 4.9.22-0 does still not work. |
too bad, maybe I'll find the time to test it on an updated arch linux |
I'm afraid I can't reproduce this issue with kernel 4.9.23-1-ARCH. Everything works fine. |
I tried again with 4.9.23-1-ARCH but it does not work for me. Did you try ARM or x86? |
on an RPi 2 B, i.e. ARM |
Maybe it is due to FTDI hw used in the coupler. |
I have the same issue. Working: 4.9.12-1 So the issue has to be in somewhere between the first to versions which points to 4.9.13 as you already mentioned. Is there anything I can run with debugs flags or do you want me to test 4.9.13 specifically? |
you could try to directly read from the device (without starting ebusd) in order to see whether it works at all |
I can reproduce with arch linux. Does throw ERR with 4.9.27-1. Works fine with 4.4.39-1. I can provide any data/test you need @john30. |
as said, try to directly read from the device without using ebusd to see whether reading from serial works at all |
I also can reproduce on Raspbian 4.9.27+. Direct reading from the device works and running I'm using Raspberry Pi 1 Model B and eBus Coupler USB from E-Service Online. |
@pbystrov ok, and can you write on the device as well? |
@john30 Yes, |
okay, but the question is, whether sending e.g. some data will also echo that data back, so when you send "AT" to the device then the same sequence should appear also when reading from the device simultaneously. |
@john30 yes, AT clearly echoed back. I tried this several times and it is always returned
|
okay, then please start ebusd with raw logging (--lograwdata) and post some of the log around a read timeout |
EBUSD_OPTS="--scanconfig --logareas=all --loglevel=debug --lograwdata"
|
that's weird as not a single byte is received at all. |
Skipped some
|
okay, it seems it takes 15 ms until a sent byte is received back from the serial connection. please try again with --latency=20000 |
Didn't help
|
too bad: the SYN generator in your configuration creates a SYN symbol 16 ms after ebusd has sent the last symbol and thus interrupts ebusd's sending on the bus. This is less than the latency and as a consequence, ebusd will never be able to communicate thoroughly. Furthermore, different bytes are received back from the bus sometimes, so I guess your interface also has a little trimming issue. |
The latency issue is known to be present on the following kernel versions:
The latency issue is known not to be present on the following kernel versions:
|
found a potential solution: |
succesful writing on the bus after issuing |
Hmm, could you please implement whatever syscall setserial uses into ebusd? Maybe with a simple command line parameter instead of fancy auto detection. If we don't have that ebusd's reconnection feature would be useless |
@Crazyachmed setserial will change the setting on the device until reboot, so this does not influence reconnects at all. I'm adding it to the init script right now. |
The 'setserial $dev low_latency' works for me, too. I created patches & pull requests for contrib/archlinux to reflect the changes done in init script of contrib/debian. |
closed with 79c7383 |
Hi,
I use Arch Linux on RPi 2 and after update of many packages (see below), I cannot query ebusd anymore. I use Ebusd Koppler by eservice-online.de (USB version).
What still works
Ebusd can 'see' the messages broadcasted by the HVAC (well, the 'read timeout' for ACK is a new message):
However, any command to actively query ebus results in errors, e.g. 'ebusctl read RoomTemp':
I tried various versions of ebusd (2.1 - master), but no go. Interestingly, in raspbian jessy ebusd 2.4 (binary downloaded from github) works just fine.
Shortly before the failure, I upgraded many packages (list is attached), although I assume the best candidate might be kernel or rpi firmware or possibly the new boot configuration (there is a new directory /boot/overlays, whose README says that RPi now boots with device tree enabled - I do not understand the architecture much to be able to comment on that).
pacman.log.txt
Any idea?
The text was updated successfully, but these errors were encountered: