calimero-project / calimero-server

KNXnet/IP server for KNX IP, KNX (RF) USB, FT1.2, and TP-UART
Other
53 stars 17 forks source link

How to use Calimero with KNX Raspberry Pi HAT properly? ETS fails #21

Closed aleksusklim closed 4 months ago

aleksusklim commented 5 months ago

I am trying to use https://www.tindie.com/products/cpu20/knx-raspberry-pi-hat/ (without installing knxd) for Raspberry Pi 3 Model B Rev 1.2

I've changed my previous config to this: <knxSubnet type="tpuart" medium="tp1">/dev/ttyAMA0</knxSubnet>

I also followed some steps according to https://hackaday.io/project/171850/instructions

Now Calimero seems to work fine in both tunnel and router modes: I can send reads, I hear responses, and I can write.

But I fail to flush/download a device configuration with ETS! Previously, with USB connection I had to set-up my Calimero interface as a Coupler between TP and IP (in line properties inside ETS), otherwise only "Full" download worked (with pressing of the programming button); but a normal flushing failed.

Now I'm sure I have set this up correctly, but ETS fails to configure a device anyhow: neither tunnel nor multicast, and cannot complete an individual address change. But Group/Bus monitors are working!

What have I missed?

After attempts to establish a tunnel in ETS sometimes Calimero stops accepting tunnel requests anymore. I see in logs

[DEBUG  ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 10): 14 8b bc 11 04 32 01 e1 00 40
[ERROR  ] io.calimero.serial.tpuart:/dev/ttyAMA0: error creating L-Data from TP1 data (length 14 8b bc 11 04 32 01 e1 00 40): java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-2)

But I'm not sure that it's the main error here.

More logs: ``` WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads 13:40:01.385 [TRACE ] io.calimero.xml.XmlResolver: resolve server-config.xml 13:40:01.394 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 13:40:02.204 [TRACE ] io.calimero.xml.XmlResolver: resolve jar:file:///usr/app/calimero-server-3.0-SNAPSHOT/lib/calimero-core-3.0-SNAPSHOT.jar!/properties.xml 13:40:02.224 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 13:40:02.722 [DEBUG ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml 13:40:02.731 [TRACE ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml 13:40:02.737 [DEBUG ] io.calimero.device.knx-server: no interface object server resource, create resource on closing device: /usr/app/knx-server-ios.xml (No such file or directory) 13:40:02.998 [INFO ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT 13:40:03.172 [INFO ] io.calimero.server.knx-server: use configuration 'Calimero KNX' with 1 service container, discovery: listen on [eth0] send on [eth0] interfaces service container /dev/ttyAMA0: server: listen on eth0 (port 3671), KNX IP routing multicast group 224.0.23.12 Tpuart /dev/ttyAMA0 connection: TP1 medium, device 6.6.0 13:40:03.241 [DEBUG ] io.calimero.server.knx-server: setup Tpuart subnet {1} 13:40:03.326 [INFO ] io.calimero.server.gateway.knx-server: activate '/dev/ttyAMA0' disruption buffer on ports [5,555-5,559], disruption timeout 30 s 13:40:03.346 [TRACE ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116 13:40:03.350 [TRACE ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000 13:40:03.354 [TRACE ] io.calimero.device.knx-server: sync Group Object Table Object from address 0x3000 type 'stop' to stop the gateway and shutdown the server 13:40:03.629 [TRACE ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown 13:40:03.732 [TRACE ] io.calimero.server.knx-server: found network interfaces eth0 [192.168.31.22] 13:40:03.738 [INFO ] io.calimero.server.knx-server: discovery endpoint [eth0] is up and running 13:40:03.748 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 control endpoint bound to 192.168.31.22:3671 13:40:03.760 [DEBUG ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: join multicast group 224.0.23.12 on eth0 13:40:03.763 [TRACE ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.serial.provider.jni.TtySerialComProvider 13:40:03.764 [INFO ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled 13:40:03.779 [TRACE ] io.calimero.serial.provider.jni: check Java library path /usr/java/packages/lib:/lib:/usr/lib 13:40:03.786 [DEBUG ] io.calimero.serial.provider.jni: opening serial port /dev/ttyAMA0 13:40:03.793 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 KNX IP routing service (eth0 224.0.23.12) is up and running 13:40:03.846 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 secure mgmt/tunneling connections: optional/optional 13:40:03.890 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 tcp service (eth0 192.168.31.22:3671) is up and running 13:40:03.897 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 control endpoint (eth0 192.168.31.22:3671) is up and running 13:40:03.922 [DEBUG ] io.calimero.serial.ConnectionFactory: io.calimero.serial.provider.jni.TtySerialComProvider@97bbb8 port setup: baudrate 19200, even parity, 8 databits, 1 stopbits, timeouts: read 0 read total 0 constant 100 write total 0 write constant 0 13:40:03.943 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: drained rx queue (0 bytes) 13:40:03.947 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset TP-UART controller 13:40:03.952 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART reset.ind 13:40:03.958 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,376 us 13:40:03.962 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: wait for initial TP-UART state 13:40:03.972 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:03.977 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 343 us 13:40:03.986 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: hop count set to 6 13:40:03.996 [DEBUG ] io.calimero.server.gateway.knx-server: set maximum APDU length of '/dev/ttyAMA0' to 15 13:40:04.090 [DEBUG ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.connectionStatus(io.calimero.serial.ConnectionStatus) 13:40:04.094 [DEBUG ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.baosService(io.calimero.baos.BaosService) 13:40:04.962 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:48864 on [any] 13:40:04.971 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:48864 on [any] 13:40:07.419 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 02 05 00 1a 08 01 00 00 00 00 00 00 08 01 00 00 00 00 00 00 04 04 02 00 13:40:07.429 [DEBUG ] io.calimero.server.knx-server: responses to client use route-back control endpoint 192.168.31.101:5559 13:40:07.433 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0: setup data endpoint (UDP NAT, channel 1) for connection request from 192.168.31.101:5559 13:40:07.436 [DEBUG ] io.calimero.server.knx-server: responses use route-back data endpoint 192.168.31.101:5559 13:40:07.457 [INFO ] io.calimero.server.knx-server: assign additional individual address 6.6.2 to channel 1 13:40:07.462 [DEBUG ] io.calimero.server.knx-server: created socket on 192.168.31.22:35069 13:40:07.550 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2) is up and running 13:40:07.556 [DEBUG ] io.calimero.server.gateway.knx-server: established connection KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2) 13:40:07.560 [DEBUG ] io.calimero.server.gateway.ReplayBuffer: activate replay buffer for KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2) 13:40:07.649 [INFO ] io.calimero.server.gateway.ReplayBuffer: match for Key[hostAddress=192.168.31.101, port=5559, timestamp=1713015607563] in open connections with missing events: [] 13:40:07.653 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 02 07 00 10 01 00 08 01 00 00 00 00 00 00 13:40:07.659 [TRACE ] io.calimero.server.knx-server: received connection-state request (channel 1) from 192.168.31.101:5559 13:40:08.632 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20029 on [any] 13:40:08.641 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20029 on [any] 13:40:09.002 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,492 us 13:40:09.006 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:09.009 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,817 us 13:40:10.426 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 20 00 15 04 01 00 00 11 00 bc e0 66 d3 32 01 01 00 00 13:40:10.445 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 21 00 0a 04 01 00 00 13:40:10.462 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 20 00 15 04 01 01 00 11 00 bc e0 66 d3 31 01 01 00 81 13:40:10.466 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 21 00 0a 04 01 01 00 13:40:10.471 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2): 6.6.211->6/2/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 00: T_Group, A_Group.read 13:40:10.480 [TRACE ] io.calimero.server.gateway.knx-server: send positive cEMI L_Data.con 13:40:10.490 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.211->6/2/1 using KNX IP routing service (eth0 224.0.23.12) 13:40:10.499 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 6.6.211->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00 13:40:10.510 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 d3 32 01 01 00 00 13:40:10.515 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 0, WaitForAck, attempt 1 (channel 1) 06 10 04 20 00 15 04 01 00 00 2e 00 bc e0 66 d3 32 01 01 00 00 13:40:10.517 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.6.211->6/2/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 00 to all tunneling clients (except 6.6.211) 13:40:10.518 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.211->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00 13:40:10.518 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 20 00 15 04 01 00 00 2e 00 bc e0 66 d3 32 01 01 00 00 13:40:10.523 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 6.6.211->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00 13:40:10.528 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 01 00 00 13:40:10.528 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 d3 32 01 01 00 00 13:40:10.533 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.211->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00 13:40:10.534 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 0 from 192.168.31.101:5559 (channel 1) 13:40:10.542 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 6.6.211->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 00 13:40:10.544 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 6.6.211->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 00 13:40:10.550 [TRACE ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 66 d3 32 01 01 00 00 13:40:10.555 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 66 82 d3 83 32 84 01 85 d1 86 00 87 00 48 14 13:40:10.558 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con 13:40:10.582 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 1,577,458 us 13:40:10.612 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 13:40:10.615 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 299 us 13:40:10.619 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 30,000 us 13:40:10.623 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset receive buffer after 29,581 us, char 0x0, discard partial frame (length 6) bc 66 d3 32 01 d1 13:40:10.626 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 351 us 13:40:10.629 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 48 us 13:40:10.633 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 6 bytes after 1,757 us 13:40:10.636 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 1,948 us 13:40:10.640 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 82 us 13:40:10.643 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 51 us 13:40:10.646 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 10): 14 8b bc 11 04 32 01 e1 00 40 13:40:10.649 [ERROR ] io.calimero.serial.tpuart:/dev/ttyAMA0: error creating L-Data from TP1 data (length 14 8b bc 11 04 32 01 e1 00 40): java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-2) 13:40:10.652 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 937 us 13:40:10.655 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 1,584 us 13:40:10.661 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 13:40:10.665 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 211 us 13:40:10.668 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 34,243 us 13:40:10.673 [WARNING] io.calimero.server.gateway.knx-server: timeout sending to 6/2/1: no ACK for L-Data.con 13:40:10.672 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset receive buffer after 30,358 us, char 0x0, discard partial frame (length 6) 9c 11 04 32 01 e1 13:40:10.676 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 385 us 13:40:10.676 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2): 6.6.211->6/1/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 81: T_Group, A_Group.write 13:40:10.680 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 51 us 13:40:10.681 [TRACE ] io.calimero.server.gateway.knx-server: send positive cEMI L_Data.con 13:40:10.683 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.211->6/1/1 using KNX IP routing service (eth0 224.0.23.12) 13:40:10.683 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 39 us 13:40:10.685 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 6.6.211->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 13:40:10.686 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: no ACK received after 83 ms 13:40:10.687 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 1, WaitForAck, attempt 1 (channel 1) 06 10 04 20 00 15 04 01 01 00 2e 00 bc e0 66 d3 31 01 01 00 81 13:40:10.691 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 20 00 15 04 01 01 00 2e 00 bc e0 66 d3 31 01 01 00 81 13:40:10.691 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 d3 31 01 01 00 81 13:40:10.696 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.211->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 13:40:10.699 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.6.211->6/1/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 81 to all tunneling clients (except 6.6.211) 13:40:10.702 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 6.6.211->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 13:40:10.702 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 01 01 00 13:40:10.707 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 1 from 192.168.31.101:5559 (channel 1) 13:40:10.707 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 d3 31 01 01 00 81 13:40:10.712 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.211->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 13:40:10.712 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 6.6.211->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81 13:40:10.716 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 6.6.211->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81 13:40:10.719 [TRACE ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 66 d3 31 01 01 00 81 13:40:10.722 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 66 82 d3 83 31 84 01 85 d1 86 00 87 81 48 96 13:40:10.725 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con 13:40:10.781 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/1/1 13:40:10.786 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 77 us 13:40:10.789 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 30,049 us 13:40:10.789 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: confirmation of 6/1/1 13:40:10.793 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset receive buffer after 29,960 us, char 0x0, discard partial frame (length 6) bc 66 d3 31 01 d1 13:40:10.796 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 190 us 13:40:10.799 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 41 us 13:40:10.803 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 39 us 13:40:10.805 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: positive L_Data.con 13:40:10.808 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: ACK received after 30 ms 13:40:10.812 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 2e 00 bc d0 66 d3 31 01 01 00 81 13:40:10.815 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 10,528 us 13:40:10.912 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 13:40:10.915 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 78 us 13:40:10.919 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 26,519 us 13:40:10.923 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset receive buffer after 22,627 us, char 0x0, discard partial frame (length 6) bc 11 04 32 01 e1 13:40:10.927 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 192 us 13:40:10.931 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 41 us 13:40:10.934 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 38 us 13:40:12.390 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:39522 on [any] 13:40:12.398 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:39522 on [any] 13:40:14.032 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 3,119,394 us 13:40:14.035 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:14.038 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 307 us 13:40:15.435 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 20 00 15 04 01 02 00 11 00 bc e0 66 d3 31 01 01 00 80 13:40:15.439 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 21 00 0a 04 01 02 00 13:40:15.445 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2): 6.6.211->6/1/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 80: T_Group, A_Group.write 13:40:15.446 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 20 00 15 04 01 03 00 11 00 bc e0 66 d3 32 01 01 00 80 13:40:15.449 [TRACE ] io.calimero.server.gateway.knx-server: send positive cEMI L_Data.con 13:40:15.449 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 21 00 0a 04 01 03 00 13:40:15.451 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.211->6/1/1 using KNX IP routing service (eth0 224.0.23.12) 13:40:15.454 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 6.6.211->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.456 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 2, WaitForAck, attempt 1 (channel 1) 06 10 04 20 00 15 04 01 02 00 2e 00 bc e0 66 d3 31 01 01 00 80 13:40:15.458 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 d3 31 01 01 00 80 13:40:15.461 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 20 00 15 04 01 02 00 2e 00 bc e0 66 d3 31 01 01 00 80 13:40:15.462 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.211->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.463 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.6.211->6/1/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 80 to all tunneling clients (except 6.6.211) 13:40:15.467 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 6.6.211->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.471 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 d3 31 01 01 00 80 13:40:15.475 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 01 02 00 13:40:15.475 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 6.6.211->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 13:40:15.475 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.211->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.480 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 6.6.211->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 13:40:15.480 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 2 from 192.168.31.101:5559 (channel 1) 13:40:15.483 [TRACE ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 66 d3 31 01 01 00 80 13:40:15.486 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 66 82 d3 83 31 84 01 85 d1 86 00 87 80 48 97 13:40:15.489 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con 13:40:15.522 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 1,489,756 us 13:40:15.551 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/1/1 13:40:15.552 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: confirmation of 6/1/1 13:40:15.555 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 67 us 13:40:15.558 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 30,132 us 13:40:15.559 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2): 6.6.211->6/2/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 80: T_Group, A_Group.write 13:40:15.562 [TRACE ] io.calimero.server.gateway.knx-server: send positive cEMI L_Data.con 13:40:15.562 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset receive buffer after 29,935 us, char 0x0, discard partial frame (length 6) bc 66 d3 31 01 d1 13:40:15.564 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.211->6/2/1 using KNX IP routing service (eth0 224.0.23.12) 13:40:15.566 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 241 us 13:40:15.567 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 6.6.211->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.568 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 3, WaitForAck, attempt 1 (channel 1) 06 10 04 20 00 15 04 01 03 00 2e 00 bc e0 66 d3 32 01 01 00 80 13:40:15.570 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 45 us 13:40:15.572 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 20 00 15 04 01 03 00 2e 00 bc e0 66 d3 32 01 01 00 80 13:40:15.573 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 d3 32 01 01 00 80 13:40:15.573 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 39 us 13:40:15.576 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: positive L_Data.con 13:40:15.577 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.6.211->6/2/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 80 to all tunneling clients (except 6.6.211) 13:40:15.577 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.211->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.580 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 2e 00 bc d0 66 d3 31 01 01 00 80 13:40:15.582 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 6.6.211->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.583 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: ACK received after 32 ms 13:40:15.586 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,449 us 13:40:15.586 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 d3 32 01 01 00 80 13:40:15.591 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.211->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.591 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 6.6.211->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 13:40:15.596 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 6.6.211->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 13:40:15.596 [WARNING] io.calimero.serial.tpuart:/dev/ttyAMA0: 4 partial frames discarded, increase max. inter-byte delay to 5,750 us 13:40:15.598 [TRACE ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 66 d3 32 01 01 00 80 13:40:15.599 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 13:40:15.601 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 13:40:15.602 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 128 us 13:40:15.606 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 8,294 us 13:40:15.609 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 110 us 13:40:15.612 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 57 us 13:40:15.615 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 11 04 32 01 e1 00 80 04 13:40:15.619 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc e0 11 04 32 01 01 00 80 13:40:15.621 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 66 82 d3 83 32 84 01 85 d1 86 00 87 80 48 94 13:40:15.624 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 8,479 us 13:40:15.630 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 01 03 00 13:40:15.633 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 13:40:15.635 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 3 from 192.168.31.101:5559 (channel 1) 13:40:15.636 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 86 us 13:40:15.640 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 29,393 us 13:40:15.644 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset receive buffer after 24,500 us, char 0x0, discard partial frame (length 6) 9c 11 04 32 01 e1 13:40:15.647 [TRACE ] io.calimero.server.gateway.ReplayBuffer: record io.calimero.FrameEvent[source=Tpuart link tpuart:/dev/ttyAMA0 TP1 medium, device 6.6.0, hopcount 6] as event '3,228,589,164,001' 13:40:15.647 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 262 us 13:40:15.650 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 13:40:15.650 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 49 us 13:40:15.653 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 13:40:15.653 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 39 us 13:40:15.657 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: UART ready for sending after 46,537 us 13:40:15.657 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 80 13:40:15.659 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con 13:40:15.662 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 13:40:15.665 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 4, WaitForAck, attempt 1 (channel 1) 06 10 04 20 00 15 04 01 04 00 29 00 bc d0 11 04 32 01 01 00 80 13:40:15.668 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 04 20 00 15 04 01 04 00 29 00 bc d0 11 04 32 01 01 00 80 13:40:15.704 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 01 04 00 13:40:15.710 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 4 from 192.168.31.101:5559 (channel 1) 13:40:15.712 [DEBUG ] io.calimero.server.gateway.ReplayBuffer: KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2) successfully completed event '3,228,589,164,001/3,228,589,164,001' 13:40:15.713 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 13:40:15.715 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 13:40:15.716 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 70 us 13:40:15.720 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 30,323 us 13:40:15.723 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset receive buffer after 30,372 us, char 0x0, discard partial frame (length 6) bc 66 d3 32 01 d1 13:40:15.726 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 429 us 13:40:15.729 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 159 us 13:40:15.733 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 1 bytes after 5,658 us 13:40:15.736 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 5,967 us 13:40:15.764 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: no ACK received after 82 ms 13:40:15.764 [WARNING] io.calimero.server.gateway.knx-server: timeout sending to 6/2/1: no ACK for L-Data.con 13:40:16.152 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:21292 on [any] 13:40:16.159 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:21292 on [any] 13:40:19.062 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 3,342,637 us 13:40:19.065 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset receive buffer after 3,345,712 us, char 0x7, discard partial frame (length 2) 94 8b 13:40:19.068 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:19.070 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 3,138 us 13:40:19.931 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20030 on [any] 13:40:19.937 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20030 on [any] 13:40:22.209 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:20035 06 10 02 03 00 0e 08 01 00 00 00 00 00 00 13:40:22.217 [DEBUG ] io.calimero.server.knx-server: responses use route-back control endpoint 192.168.31.101:20035 13:40:22.305 [INFO ] io.calimero.server.knx-server: send KNXnet/IP description to 192.168.31.101:20035: "Calimero KNX", KNX address 6.6.0, KNX medium TP1, Installation 0 - Project 0 (ID 0), KNX IP multicast address 224.0.23.12, MAC address b8:27:eb:eb:0c:43, S/N 0000:00000000, Core (v2), Device Management (v2), Tunneling (v2), Routing (v2), 6.6.2, 6.6.3, 6.6.4, KNX manufacturer ID 0x0, data 0x626d323031312020 13:40:22.358 [INFO ] io.calimero.server.knx-server: accepted /dev/ttyAMA0 tcp connection 192.168.31.101:22565 13:40:22.361 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:22565 06 10 02 05 00 1a 08 02 00 00 00 00 00 00 08 02 00 00 00 00 00 00 04 04 02 00 13:40:22.365 [DEBUG ] io.calimero.server.knx-server: responses to client use route-back control endpoint 192.168.31.101:22565 13:40:22.367 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0: setup data endpoint (TCP, channel 2) for connection request from 192.168.31.101:22565 13:40:22.370 [DEBUG ] io.calimero.server.knx-server: responses use route-back data endpoint 192.168.31.101:22565 13:40:22.373 [TRACE ] io.calimero.server.knx-server: address 6.6.2 already assigned 13:40:22.376 [INFO ] io.calimero.server.knx-server: assign additional individual address 6.6.3 to channel 2 13:40:22.378 [DEBUG ] io.calimero.server.knx-server: created socket on 192.168.31.22:52752 13:40:22.382 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint KNX IP LinkLayer 192.168.31.101:22565 (TCP, channel 2, 6.6.3) is up and running 13:40:22.385 [DEBUG ] io.calimero.server.gateway.knx-server: established connection KNX IP LinkLayer 192.168.31.101:22565 (TCP, channel 2, 6.6.3) 13:40:22.426 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:22565 06 10 04 24 00 0d 04 02 00 00 08 00 01 13:40:22.438 [DEBUG ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:22565: received tunneling-feat.set enable feature info service 01 13:40:22.442 [DEBUG ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:22565: respond with tunneling-feat.res enable feature info service 01 13:40:22.481 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:22565 06 10 02 07 00 10 02 00 08 02 00 00 00 00 00 00 13:40:22.483 [TRACE ] io.calimero.server.knx-server: received connection-state request (channel 2) from 192.168.31.101:22565 13:40:22.517 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:22565 06 10 02 09 00 10 02 00 08 02 00 00 00 00 00 00 13:40:22.521 [DEBUG ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:22565: close connection for channel 2 - client request 13:40:22.525 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint 192.168.31.101:22565 closed 13:40:22.527 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP LinkLayer 192.168.31.101:22565 (client request) 13:40:22.545 [INFO ] io.calimero.server.knx-server: close tcp connection to 192.168.31.101:22565 13:40:22.813 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:32482 on [any] 13:40:22.820 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:32482 on [any] 13:40:23.684 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:32485 on [any] 13:40:23.691 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:32485 on [any] 13:40:24.092 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,026,862 us 13:40:24.095 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:24.098 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 289 us 13:40:27.453 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:27109 on [any] 13:40:27.460 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:27109 on [any] 13:40:29.122 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,633 us 13:40:29.124 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:29.127 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,776 us 13:40:29.301 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 02 05 00 1a 08 01 00 00 00 00 00 00 08 01 00 00 00 00 00 00 04 04 02 00 13:40:29.305 [DEBUG ] io.calimero.server.knx-server: responses to client use route-back control endpoint 192.168.31.101:5559 13:40:29.308 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0: setup data endpoint (UDP NAT, channel 3) for connection request from 192.168.31.101:5559 13:40:29.310 [DEBUG ] io.calimero.server.knx-server: responses use route-back data endpoint 192.168.31.101:5559 13:40:29.313 [TRACE ] io.calimero.server.knx-server: address 6.6.2 already assigned 13:40:29.316 [INFO ] io.calimero.server.knx-server: assign additional individual address 6.6.3 to channel 3 13:40:29.319 [DEBUG ] io.calimero.server.knx-server: created socket on 192.168.31.22:48255 13:40:29.322 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.6.3) is up and running 13:40:29.323 [DEBUG ] io.calimero.server.gateway.knx-server: established connection KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.6.3) 13:40:29.325 [DEBUG ] io.calimero.server.gateway.ReplayBuffer: activate replay buffer for KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.6.3) 13:40:29.328 [INFO ] io.calimero.server.gateway.ReplayBuffer: found exact match for Key[hostAddress=192.168.31.101, port=5559, timestamp=1713015629326] in disrupted connections: [KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2)] 13:40:29.332 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 02 07 00 10 03 00 08 01 00 00 00 00 00 00 13:40:29.334 [TRACE ] io.calimero.server.knx-server: received connection-state request (channel 3) from 192.168.31.101:5559 13:40:31.227 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:45383 on [any] 13:40:31.234 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:45383 on [any] 13:40:34.152 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,027,166 us 13:40:34.153 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:34.155 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,099 us 13:40:34.981 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20029 on [any] 13:40:34.988 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20029 on [any] 13:40:36.254 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 02 05 00 1a 08 01 00 00 00 00 00 00 08 01 00 00 00 00 00 00 04 04 02 00 13:40:36.256 [DEBUG ] io.calimero.server.knx-server: responses to client use route-back control endpoint 192.168.31.101:5559 13:40:36.258 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0: setup data endpoint (UDP NAT, channel 4) for connection request from 192.168.31.101:5559 13:40:36.260 [DEBUG ] io.calimero.server.knx-server: responses use route-back data endpoint 192.168.31.101:5559 13:40:36.262 [TRACE ] io.calimero.server.knx-server: address 6.6.2 already assigned 13:40:36.264 [TRACE ] io.calimero.server.knx-server: address 6.6.3 already assigned 13:40:36.266 [INFO ] io.calimero.server.knx-server: assign additional individual address 6.6.4 to channel 4 13:40:36.268 [DEBUG ] io.calimero.server.knx-server: created socket on 192.168.31.22:46590 13:40:36.272 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 4, 6.6.4) is up and running 13:40:36.273 [DEBUG ] io.calimero.server.gateway.knx-server: established connection KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 4, 6.6.4) 13:40:36.277 [DEBUG ] io.calimero.server.gateway.ReplayBuffer: activate replay buffer for KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 4, 6.6.4) 13:40:36.280 [INFO ] io.calimero.server.gateway.ReplayBuffer: found exact match for Key[hostAddress=192.168.31.101, port=5559, timestamp=1713015636278] in disrupted connections: [KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2), KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.6.3)] 13:40:36.293 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:5559 06 10 02 07 00 10 04 00 08 01 00 00 00 00 00 00 13:40:36.296 [TRACE ] io.calimero.server.knx-server: received connection-state request (channel 4) from 192.168.31.101:5559 13:40:38.750 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20029 on [any] 13:40:38.760 [DEBUG ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20029 on [any] 13:40:39.182 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,027,935 us 13:40:39.184 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:39.187 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 739 us 13:40:39.916 [INFO ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown 13:40:39.954 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint 13:40:39.956 [INFO ] io.calimero.server.knx-server: knx-server discovery endpoint closed 13:40:39.959 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending disconnect request for KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 1, 6.6.2) 13:40:39.961 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 02 09 00 10 01 00 08 01 00 00 00 00 00 00 13:40:44.212 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,146 us 13:40:44.214 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:44.217 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 300 us 13:40:49.242 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,669 us 13:40:49.244 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:49.247 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 298 us 13:40:49.964 [INFO ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: close connection for channel 1 - quit service container /dev/ttyAMA0 13:40:49.966 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint 192.168.31.101:5559 closed 13:40:49.966 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP LinkLayer 192.168.31.101:5559 (quit service container /dev/ttyAMA0) 13:40:49.971 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending disconnect request for KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.6.3) 13:40:49.973 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 02 09 00 10 03 00 08 01 00 00 00 00 00 00 13:40:54.272 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,661 us 13:40:54.274 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:54.277 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 280 us 13:40:59.302 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,726 us 13:40:59.304 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:40:59.306 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 325 us 13:40:59.975 [INFO ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: close connection for channel 3 - quit service container /dev/ttyAMA0 13:40:59.977 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP LinkLayer 192.168.31.101:5559 (quit service container /dev/ttyAMA0) 13:40:59.977 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint 192.168.31.101:5559 closed 13:40:59.979 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending disconnect request for KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 4, 6.6.4) 13:40:59.981 [TRACE ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.31.22:3671->192.168.31.101:5559 06 10 02 09 00 10 04 00 08 01 00 00 00 00 00 00 13:41:04.332 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,608 us 13:41:04.334 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:41:04.337 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 357 us 13:41:09.362 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,552 us 13:41:09.364 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 13:41:09.367 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,419 us 13:41:09.984 [INFO ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: close connection for channel 4 - quit service container /dev/ttyAMA0 13:41:09.985 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint 192.168.31.101:5559 closed 13:41:09.985 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP LinkLayer 192.168.31.101:5559 (quit service container /dev/ttyAMA0) 13:41:09.988 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server control endpoint /dev/ttyAMA0 13:41:09.988 [DEBUG ] io.calimero.server.knxnetip.KNX IP routing service (eth0 224.0.23.12): close connection - user request 13:41:09.989 [INFO ] io.calimero.server.knx-server: knx-server control endpoint /dev/ttyAMA0 closed 13:41:09.991 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server routing service 224.0.23.12 13:41:09.991 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP routing service (eth0 224.0.23.12) (user request) 13:41:09.994 [INFO ] io.calimero.server.knx-server: knx-server routing service 224.0.23.12 closed 13:41:09.999 [DEBUG ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml 13:41:10.071 [DEBUG ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml 13:41:10.086 [TRACE ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter ```

Even longer run: logs_uart.log

bmalinowsky commented 5 months ago

Some things I noticed:

aleksusklim commented 5 months ago

I have two new KNX-USB cheap interfaces from China. I will test them (I hope the installed UART HAT won't affect that anyhow, as long as I give a correct XML config)

Then I'll conclude side-by-side logs between UART and USB runs, with the same ETS operations, ensuring restarts of both ETS and Raspberry to provide cleaner logs. Thank you.

aleksusklim commented 5 months ago

Surprisingly, both my cheap interfaces are not working with Calimero!

Directly ETS lists and uses them just fine (monitor and flash/download), they both are identified as KNX-USB Interface (surface mounter) (Busch-Jaeger Elektro) And also ETS shows "Largest telegram length (or smth.) = 15"

But Calimero actually throws [ERROR ] io.calimero.link.connector: initial connection attempt io.calimero.KNXTimeoutException: waiting for response – and no bus communications can be made. Why?


Back to the UART HAT: I send via multicast: read('6/2/1') + write('6/1/1',1,'1.001'), then write('6/1/1',0,'1.001') + write('6/2/1',0,'1.001')

The target relay actuator takes actions, but now I don't get a Response back to KNXUltimate (while in case of GIRA USB it was received) on my read-request.

ETS errors with Interface not found after I press Test when choosing Calimero.


Here are logs of that attempt:

I used the same physical KNX line connector (with firmly attached wires), just plugging it in those three devices, rebooting Raspberry in-between.


UPD: forgot to add my config:

<?xml version="1.0" encoding="UTF-8"?>
<knxServer name="knx-server" friendlyName="Calimero KNX" appData="/usr/app">
  <discovery listenNetIf="eth0" outgoingNetIf="eth0" activate="true" />
  <serviceContainer activate="true" routing="true" networkMonitoring="true" udpPort="3671" listenNetIf="eth0">
    <knxAddress type="individual">6.6.0</knxAddress>
    <routing latencyTolerance="1000">224.0.23.12</routing>
    <disruptionBuffer expirationTimeout="30" udpPort="5555-5559" />
    <knxSubnet type="tpuart" medium="tp1">/dev/ttyAMA0</knxSubnet>
    <additionalAddresses>
      <knxAddress type="individual">6.6.2</knxAddress>
      <knxAddress type="individual">6.6.3</knxAddress>
      <knxAddress type="individual">6.6.4</knxAddress>
     </additionalAddresses>
  </serviceContainer>
</knxServer>

And for USB the relevant line is replaced with <knxSubnet type="usb" medium="tp1" knxAddress="6.6.1"></knxSubnet>

bmalinowsky commented 5 months ago

Regarding the china stick: reading the EMI type is optional if only one type is supported, so that's something I can fix (that's where the timeout exception comes from).

In the UART log I see several discovery and also description responses, so I'm quite sure they are for ETS. I can't say why it tells that the interface was not found, because it obviously was found.

aleksusklim commented 5 months ago

Oh, it would be great if cheap USB ones would work with Calimero!

As for HAT: I am planning to get Raspberry Pi 4 and try it there. Maybe it will be more compatible with newer model.

bmalinowsky commented 5 months ago

I pushed a new docker image, where the init of your other usb stick should work better.

aleksusklim commented 5 months ago

It fails with expected service confirmation msg code 0x4b Did I everything correctly?

alpi@rpi3:~ $ sudo docker rmi calimeroproject/knxserver
Untagged: calimeroproject/knxserver:latest
Untagged: calimeroproject/knxserver@sha256:5e9fe18cbed5664559fcdd84d5a38ad118c12cc46ff1343506051d56bbe66833
Deleted: sha256:0c6bf6316c03375b8d38c1b15694df826490ec4de7ba74fd8958f0e94402f8ec
Deleted: sha256:057c7e6266130fe2358acb784085bc045bbe604aa05178ecb0a9053ab646253a
Deleted: sha256:495de9cd07eeef5ba86f126986abedb24d71164b2ce085a32a8d2420542a43cb
Deleted: sha256:dc50656af8146e237e8e4d205dbf7bd604dd6e1a29564530de066eb9c761f138
Deleted: sha256:f9a0dbf0f15da4d13b52f909194e5717f8cb060d0a351f8ab049510bdba0cae2
Deleted: sha256:9a0366d2114392dd3c7279f2e53b086701f474cfb7fe1ea000d1b5e9ab44e608
Deleted: sha256:315bd5088587f904ce90b0801a0c8db45648746faf106758d6946f4ef96ae5d0
alpi@rpi3:~ $ sudo docker pull calimeroproject/knxserver
Using default tag: latest
latest: Pulling from calimeroproject/knxserver
622a0779436e: Pull complete 
9a1e23160bca: Pull complete 
c4e788a87cd8: Pull complete 
d2bd141cd659: Pull complete 
5a4b7cae764d: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:fe26f30f15ad7646f621b8edd382749be531bf7761de1a49f053e77fed06f221
Status: Downloaded newer image for calimeroproject/knxserver:latest
docker.io/calimeroproject/knxserver:latest
alpi@rpi3:~ $ sudo docker run --name my_knx --rm --tty --net host --privileged --volume /srv/my/dock/app/server-config.xml:/usr/app/server-config.xml --volume /dev/bus/usb/:/dev/bus/usb/ calimeroproject/knxserver -vvv --no-stdin server-config.xml
WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads
11:12:05.934 [TRACE  ] io.calimero.xml.XmlResolver: resolve server-config.xml
11:12:05.943 [TRACE  ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
11:12:06.969 [TRACE  ] io.calimero.xml.XmlResolver: resolve jar:file:///usr/app/calimero-server-3.0-SNAPSHOT/lib/calimero-core-3.0-SNAPSHOT.jar!/properties.xml
11:12:06.994 [TRACE  ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
11:12:07.492 [DEBUG  ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml
11:12:07.500 [TRACE  ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml
11:12:07.506 [DEBUG  ] io.calimero.device.knx-server: no interface object server resource, create resource on closing device: /usr/app/knx-server-ios.xml (No such file or directory)
11:12:07.634 [INFO   ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT
11:12:07.776 [INFO   ] io.calimero.server.knx-server: use configuration 'Calimero KNX' with 1 service container, discovery: listen on [wlan0] send on [wlan0] interfaces
service container Usb-6.6.0:
    server: listen on wlan0 (port 3671), KNX IP routing multicast group 224.0.23.12
    Usb connection: TP1 medium, device 6.6.0
11:12:07.854 [DEBUG  ] io.calimero.server.knx-server: setup Usb subnet 'Usb-6.6.0'
11:12:07.940 [INFO   ] io.calimero.server.gateway.knx-server: activate 'Usb-6.6.0' disruption buffer on ports [5,555-5,559], disruption timeout 30 s
11:12:07.962 [TRACE  ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116
11:12:07.965 [TRACE  ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000
11:12:07.970 [TRACE  ] io.calimero.device.knx-server: sync Group Object Table Object from address 0x3000
11:12:08.275 [TRACE  ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown
11:12:08.364 [TRACE  ] io.calimero.server.knx-server: found network interfaces wlan0 [192.168.31.21]
11:12:08.370 [INFO   ] io.calimero.server.knx-server: discovery endpoint [wlan0] is up and running
11:12:08.445 [TRACE  ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider
11:12:08.446 [TRACE  ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint bound to 192.168.31.21:3671
11:12:08.494 [DEBUG  ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: join multicast group 224.0.23.12 on wlan0
11:12:08.500 [INFO   ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled
11:12:08.525 [INFO   ] io.calimero.server.knx-server: Usb-6.6.0 KNX IP routing service (wlan0 224.0.23.12) is up and running
11:12:08.566 [INFO   ] io.calimero.server.knx-server: Usb-6.6.0 secure mgmt/tunneling connections: optional/optional
11:12:08.654 [INFO   ] io.calimero.server.knx-server: Usb-6.6.0 tcp service (wlan0 192.168.31.21:3671) is up and running
11:12:08.664 [INFO   ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint (wlan0 192.168.31.21:3671) is up and running
11:12:08.997 [DEBUG  ] io.calimero.usb.provider.javax: Attached USB devices:
Root hub
 |--Bus 1 Device 1: ID 1d6b:0002 Linux 6.1.21-v7+ dwc_otg_hcd DWC OTG Controller S/N 3f980000.usb
     High Speed USB
      |--Bus 1 Device 2: ID 0424:9514
          Attached at port 1 (bus:1/1)
          High Speed USB
           |--Bus 1 Device 3: ID 0424:ec00
           |   Attached at port 1 (bus:1/1/1)
           |   High Speed USB
           |--Bus 1 Device 4: ID 145c:1490 KNX USB KNX USB 1518for8C09VG22
               Attached at port 3 (bus:1/1/3)
               Full Speed USB
11:12:09.009 [INFO   ] io.calimero.usb.provider.javax: Found 1 KNX USB devices:
 |--Bus 1 Device 4: ID 145c:1490 KNX USB KNX USB 1518for8C09VG22
 |   Attached at port 3 (bus:1/1/3)
 |   Full Speed USB
11:12:09.075 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: USB interface 00, setting 0
11:12:09.083 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 OUT
11:12:09.089 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN
11:12:09.094 [DEBUG  ] io.calimero.usb.provider.javax.145c:1490: Found USB device endpoint addresses OUT 0x1, IN 0x81
11:12:09.170 [DEBUG  ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 004: ID 145c:1490 USB interface 00
11:12:09.213 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000001
11:12:09.244 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130b000800030f020000010001
11:12:09.250 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000002
11:12:10.760 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000004
11:12:12.373 [TRACE  ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus)
11:12:12.378 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000003
11:12:12.387 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130a000800020f0200000301
11:12:12.408 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010300004c010109
11:12:14.390 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: release USB interface 0, active=true, claimed=true
11:12:14.410 [DEBUG  ] io.calimero.link.145c:1490: link closed by client (user request)
11:12:14.419 [ERROR  ] io.calimero.link.connector: initial connection attempt
io.calimero.KNXTimeoutException: expected service confirmation msg code 0x4b
    at io.calimero.core/io.calimero.link.BcuSwitcher.waitForResponse(BcuSwitcher.java:316)
    at io.calimero.core/io.calimero.link.BcuSwitcher.read(BcuSwitcher.java:263)
    at io.calimero.core/io.calimero.link.BcuSwitcher.enter(BcuSwitcher.java:150)
    at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.linkLayerMode(KNXNetworkLinkUsb.java:254)
    at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.<init>(KNXNetworkLinkUsb.java:166)
    at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.<init>(KNXNetworkLinkUsb.java:117)
    at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.gateway.SubnetConnector.lambda$openNetworkLink$9(SubnetConnector.java:336)
    at io.calimero.core/io.calimero.link.Connector$Link.connect(Connector.java:424)
    at io.calimero.core/io.calimero.link.Connector$Link.<init>(Connector.java:195)
    at io.calimero.core/io.calimero.link.Connector.newLink(Connector.java:151)
    at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.gateway.SubnetConnector.openNetworkLink(SubnetConnector.java:381)
    at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.gateway.KnxServerGateway.run(KnxServerGateway.java:729)
    at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.Launcher.run(Launcher.java:655)
    at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.Launcher.main(Launcher.java:620)

11:12:24.471 [DEBUG  ] io.calimero.link.connector: execute scheduled connect 2 (no max)
11:12:24.476 [TRACE  ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider
11:12:24.524 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: USB interface 00, setting 0
11:12:24.529 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 OUT
11:12:24.532 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN
11:12:24.535 [DEBUG  ] io.calimero.usb.provider.javax.145c:1490: Found USB device endpoint addresses OUT 0x1, IN 0x81
11:12:24.571 [DEBUG  ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 004: ID 145c:1490 USB interface 00
11:12:24.575 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000001
11:12:24.586 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130b000800030f020000010001
11:12:24.590 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000002
11:12:26.099 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000004
11:12:27.637 [TRACE  ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus)
11:12:27.641 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000003
11:12:27.649 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130a000800020f0200000301
11:12:27.654 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010300004c010109
11:12:29.651 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: release USB interface 0, active=true, claimed=true
11:12:29.660 [DEBUG  ] io.calimero.link.145c:1490: link closed by client (user request)
11:12:29.671 [WARNING] io.calimero.link.connector: connection attempt 2: expected service confirmation msg code 0x4b
11:12:39.676 [DEBUG  ] io.calimero.link.connector: execute scheduled connect 3 (no max)
11:12:39.679 [TRACE  ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider
11:12:39.691 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: USB interface 00, setting 0
11:12:39.694 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 OUT
11:12:39.698 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN
11:12:39.701 [DEBUG  ] io.calimero.usb.provider.javax.145c:1490: Found USB device endpoint addresses OUT 0x1, IN 0x81
11:12:39.719 [DEBUG  ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 004: ID 145c:1490 USB interface 00
11:12:39.728 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000001
11:12:39.738 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130b000800030f020000010001
11:12:39.742 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000002
11:12:41.258 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000004
11:12:42.767 [TRACE  ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus)
11:12:42.769 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000003
11:12:42.779 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130a000800020f0200000301
11:12:42.782 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010300004c010109
11:12:44.780 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: release USB interface 0, active=true, claimed=true
11:12:44.787 [DEBUG  ] io.calimero.link.145c:1490: link closed by client (user request)
11:12:44.794 [WARNING] io.calimero.link.connector: connection attempt 3: expected service confirmation msg code 0x4b
11:12:54.799 [DEBUG  ] io.calimero.link.connector: execute scheduled connect 4 (no max)
11:12:54.803 [TRACE  ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider
11:12:54.816 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: USB interface 00, setting 0
11:12:54.819 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 OUT
11:12:54.822 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN
11:12:54.825 [DEBUG  ] io.calimero.usb.provider.javax.145c:1490: Found USB device endpoint addresses OUT 0x1, IN 0x81
11:12:54.848 [DEBUG  ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 004: ID 145c:1490 USB interface 00
11:12:54.853 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000001
11:12:54.863 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130b000800030f020000010001
11:12:54.868 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000002
11:12:56.375 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000004
^C
11:12:57.224 [INFO   ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown
11:12:57.249 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint
11:12:57.250 [DEBUG  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): close connection - user request
11:12:57.252 [INFO   ] io.calimero.server.knx-server: knx-server discovery endpoint closed
11:12:57.254 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server control endpoint Usb-6.6.0
11:12:57.258 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server routing service 224.0.23.12
11:12:57.260 [INFO   ] io.calimero.server.knx-server: knx-server control endpoint Usb-6.6.0 closed
11:12:57.263 [INFO   ] io.calimero.server.knx-server: knx-server routing service 224.0.23.12 closed
11:12:57.266 [DEBUG  ] io.calimero.server.gateway.knx-server: removed connection KNX IP routing service (wlan0 224.0.23.12) (user request)
11:12:57.273 [DEBUG  ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml
11:12:57.356 [DEBUG  ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml
11:12:57.369 [TRACE  ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter
alpi@rpi3:~ $ 
bmalinowsky commented 5 months ago

Yes, your steps were completely fine. The stick just trips on the next thing. Because I don't have that particular interface of yours, I can only act on what I see in the log. I again updated the docker image to trace any error when switching the BCU (and subsequently ignore it) and see how far it gets. It would help if you give it a try.

I also find it interesting that the china stick vendor/product ID shows busch-jaeger, that's actually a German manufacturer. AFAIR they weren't that cheap when we used them.

aleksusklim commented 5 months ago

Thank you; I would be able to test that only in two days!

UPD: that were (both around $50)

bmalinowsky commented 5 months ago

No problem, have a nice weekend :)

aleksusklim commented 5 months ago

Weird. At first I re-downloaded the docker image to test Chine USB, and it threw errors in console. I tried to connect KNXUltimate in Multicast mode anyway, and it was not working. But then I pressed some KNX buttons and noticed new log lines.

Then I checked LogicMachine (LM) which was also on my backbone IP segment, and it showed updates for proper group addresses! So it was working…

I connected KNXUltimate in Tunnel mode and Calimero was indeed working with China USB interface. And since LM was hearing multicasts, it means my KNXUltimate script somehow broke. I decided to quickly check GIRA interface – and it flooded the console with a lot of zeros again, on any communication attempt.

I already got a Raspberry Pi 4B rev 1.2 for testing, so I disassembled the test rig and connected KNX HAT to model PI 4 now, installing the Raspbian 64-bit OS.

Firstly I've tested GIRA again. It worked perfectly in Tunnel mode, in ETS programming (I quickly changed the firmware/settings of a KNX device successfully), and from LM. But KNXUltimate have still not worked in router/multicast; I think this might have something to do with wlan0 wireless interface (I will test more isolated setup)

Secondly I checked China USB – and now it was not working! No tunnel, no ETS, nothing. I think ETS threw "no more connections available" since it failed every single attempt to connect (Test button never showed "OK")

Lastly, I tried to use KNX HAT. It worked (but kinda "slowly", compared to GIRA) in Tunnel mode for KNXUltimate and in Multicast for LM, but not in ETS: again, it gave errors like "The device is not responding in time" and "No answer for telegram" (these are not the exact English wording). Yeah, ETS clearly "sees" the interface itself, but cannot flash/download: it starts, the green bar fills for a tiny bit, and then stuck.

ETS errors

Also I think ETS could not discover Calimero device on its own (I had to enter IP manually) now. For any setup I've tested! Which is strange because previously it was detecting Calimero quickly, showing it in the interfaces list. (That might be related to other new KNX routers in the same LAN; again I would need a clear environment for testing further)

For reference, this is my config:

<?xml version="1.0" encoding="UTF-8"?>
<knxServer name="knx-server" friendlyName="Calimero KNX" appData="/usr/app">
  <discovery listenNetIf="wlan0" outgoingNetIf="wlan0" activate="true" />
  <serviceContainer activate="true" routing="true" networkMonitoring="true" udpPort="3671" listenNetIf="wlan0">
    <knxAddress type="individual">6.6.0</knxAddress>
    <routing latencyTolerance="1000">224.0.23.12</routing>
    <disruptionBuffer expirationTimeout="30" udpPort="5555-5559" />
    <!-- knxSubnet type="usb" medium="tp1" knxAddress="6.6.1"></knxSubnet -->
    <knxSubnet type="tpuart" medium="tp1">/dev/ttyAMA0</knxSubnet>
    <additionalAddresses>
      <knxAddress type="individual">6.6.2</knxAddress>
      <knxAddress type="individual">6.6.3</knxAddress>
      <knxAddress type="individual">6.6.4</knxAddress>
     </additionalAddresses>
  </serviceContainer>
</knxServer>

This is the log of Raspberry 3 when China USB was working: logs3_china_working.txt

This is the log of Raspberry 4 with GIRA: logs3_gira_ets.log

I did roughly this: tunnel from KNXUltimate, multicast from KNXUltimate, press some KNX buttons, then tried ETS programming.

The same procedure with KNX HAT instead, ETS failed: (the log size is bigger) logs3_uart_ets.log

And for China USB one; it failed badly, so I could not connect neither from KNXUltimate nor from ETS: logs3_china_ets1.log

Also it did not stop the execution when I was mashing Ctrl+C into the console! logs3_china_ets2.log Flooded with java.lang.Runtime: Runtime.exit() called with status: 130, but eventually closed anyway.


Say… have you updated your 64-bit build of the docker image? Was I testing the correct version?

Also, I cannot be sure that my previous attempt to run China USB on Raspberry 3 was actually unsuccessful if Multicast in KNXUltimate might have been already broken; I cannot say for sure that I've tested Tunnel mode back then.

bmalinowsky commented 5 months ago

I only updated the armv7 version -> now I've updated all other platforms, too; your new raspi (the Linux 6.6.20+rpt-rpi-v8 one) probably downloads another docker image. That's why the china stick on that raspi showed the old error for initial connection attempt. -> It should now skip over those exceptions like the armv7 version.

I see in the log (e.g., logs3_china_ets2), that there are several warnings "could not accept new connection (maximum reached)", so all your configured 3 additional addresses are already used up by other established connections. The ETS or any other client won't be able to connect.

When you use the TPUART, can you try to disable routing in the server config? You still have a loop in there, where frames addressed to 6.6.10 get looped around (i.e. the server receives them again from the client side which doesn't make sense). And ETS uses a TCP tunnel so that should be no problem.

java.lang.Runtime: Runtime.exit() called with status: 130

This comes from the Jvm, meaning the process received SIGTERM (like Ctrl+C), and the server log shows it initiates shutdown. The reason it takes exactly 30 seconds for shutdown is that you have 3 open connections which don't respond to the disconnect request. Those requests are sent sequentially, each reaching its timeout of 10 seconds (-> 3 * 10 = 30). I probably could do them in parallel, which would avoid the scaling effect.

aleksusklim commented 5 months ago

I only updated the armv7 version

Okay, I'll test again, then!

there are several warnings "could not accept new connection (maximum reached)", so all your configured 3 additional addresses are already used up by other established connections

They are "broken", for me it's something like "ETS/KNXUltimate attempts to connect → fails → I try again → fails → I try again → whoops, no more connections!"

the TPUART, can you try to disable routing in the server config? You still have a loop in there, where frames addressed to 6.6.10 get looped around

I don't understand where the loop is coming from, but in worst case I could just run another routed Calimero on the same device, pointing it to the gateway of the first one as its TP target, right?

bmalinowsky commented 5 months ago

Regarding ETS downloads: depending on the ETS version, there is a configuration like Setting -> Troubleshooting -> Enable extended logging. (Maybe one has to restart ETS). ETS logs its stuff in the AppData\Local folder (e.g., mine is C:\Users\b\AppData\Local\KNX\ETS6\Log\ETS6.log) and its output hasn't much localization. You can take a look there. Or remove that file, then try flashing a device and attach the resulting log file here.

Regarding routing: you said before that you have other KNX routers, so if they use the same multicast group 224.0.23.12, that would be a cause for looping. There should be only a single multicast forwarder (for a mcast group) for any KNX subnet.

aleksusklim commented 5 months ago

I've collected logs from Raspberry 3 again, with enabled debugging for ETS5 and with disabled routing in XML.

Raspberry was connected with eth0 directly to my laptop with ETS, making a private network.

Config:

<?xml version="1.0" encoding="UTF-8"?>
<knxServer name="knx-server" friendlyName="Calimero KNX" appData="/usr/app">
  <discovery listenNetIf="eth0" outgoingNetIf="eth0" activate="true" />
  <serviceContainer activate="true" routing="false" networkMonitoring="true" udpPort="3671" listenNetIf="eth0">
    <knxAddress type="individual">6.6.0</knxAddress>
    <!-- routing latencyTolerance="1000">224.0.23.12</routing -->
    <disruptionBuffer expirationTimeout="30" udpPort="5555-5559" />
    <knxSubnet type="tpuart" medium="tp1">/dev/ttyAMA0</knxSubnet>
    <!-- knxSubnet type="usb" medium="tp1" knxAddress="6.6.1"></knxSubnet -->
    <additionalAddresses>
      <knxAddress type="individual">6.6.2</knxAddress>
      <knxAddress type="individual">6.6.3</knxAddress>
      <knxAddress type="individual">6.6.4</knxAddress>
     </additionalAddresses>
  </serviceContainer>
</knxServer>

Setup:

alpi@rpi3:~ $ sudo docker rmi calimeroproject/knxserver
Untagged: calimeroproject/knxserver:latest
Untagged: calimeroproject/knxserver@sha256:c60b5799f4f3cf9ad3a23eff4aa2567f5dd2828061dfc3526c54c241aac576f6
Deleted: sha256:3c80409804e9d8da210c17e58756a08c96cfcd3d454f47af4ede52d1fabfd429
Deleted: sha256:69f1424c2fe210100b39a839b7f31149b8e5f1ec22793c08f68420238ea4f492
Deleted: sha256:fe86cd882f905af40cf86ab1b5a828d5b55f759d2fe88105d3c6f26c2edad221
Deleted: sha256:209e92ec964c827a5db54afedd4daf9f199781a97289bb91309dd7d003319265
Deleted: sha256:7532c6b90892f90cbe4935235566ae54724f4c8d05e68cf81f2031b1ef4cb9e3
Deleted: sha256:9a0366d2114392dd3c7279f2e53b086701f474cfb7fe1ea000d1b5e9ab44e608
Deleted: sha256:315bd5088587f904ce90b0801a0c8db45648746faf106758d6946f4ef96ae5d0
alpi@rpi3:~ $ sudo docker pull calimeroproject/knxserver
Using default tag: latest
latest: Pulling from calimeroproject/knxserver
622a0779436e: Pull complete 
9a1e23160bca: Pull complete 
ffac431f6856: Pull complete 
711d29ff1936: Pull complete 
39ebe57858ab: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:2d897604a8abe3b2f70d6cbf7faed32ed4d970bfe5e2487c62136b564a9b85bb
Status: Downloaded newer image for calimeroproject/knxserver:latest
docker.io/calimeroproject/knxserver:latest
alpi@rpi3:~ $ sudo docker run --name my_knx --rm --tty --net host --privileged --volume /srv/my/dock/app/server-config.xml:/usr/app/server-config.xml --volume /dev/bus/usb/:/dev/bus/usb/ calimeroproject/knxserver -vvv --no-stdin server-config.xml | tee Desktop/logs3_x86_gira1.log

Two attempts with GIRA, both apparently failed to communicate with the bus properly: for some reason, when I press a KNX button I see EP 1 IN is not a KNX USB report (wrong report ID 0x0): 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 – as if receive events were generated, but with bad data. (Now I am sure no external inference could influence on wires)

ETS failed; actually I couldn't flash at all, not even with china or uart. Also my ETS crashed several times, probably because of enabled logging.

Logs from Raspberry: logs3_x86_gira1.log logs3_x86_gira2.log

Corresponding logs from ETS: logs3_ETS5_gira1.log logs3_ETS5_gira2.log

Then I tried china stick, and it looked like connected, and KNXUltimate showed some events, but threw errors on them. (By chance, can you recommend a simple software tool that has implemented tunnel and multicast protocols correctly, so we can use it as a reliable diagnostic tool?)

ETS failed flashing, and also couldn't show anything at bus monitor; sometimes it refused to connect with random reasons.

Log from Raspberry: logs3_x86_china3.log

Log from ETS: logs3_ETS5_china3.log

Finally, KNX HAT. It worked initially, as before: KNXUltimate succeeds, sending and receiving telegrams. ETS bus monitor worked.

But flashing hangs. I tried to use "full download" with pressing the programming button – but even that did not help, the LED didn't even stop blinking.

Log from Raspberry: logs3_x86_uart4.log

Log from ETS: logs3_ETS5_uart4.log

I'm up to repeat this on Rasberry 4, exactly noting all actions I am doing externally in the process of testing.

bmalinowsky commented 5 months ago

It's interesting that the Gira stick now also exhibits the problem with init like the china one and doesn't get a response (the several exceptions in the beginning waiting for msg code 0x4b). And it does not get any correct knx frames. This did work in your previous logs.

I hadn't implemented the workaround for busmonitor as for the normal link, so that's why ETS wouldn't show anything. The thing is this does require the init sequence, so at least the china sticks probably won't busmonitor.

The UART does have a lot of "reset receive buffer after ..." lines, meaning that the bytes which are received are delayed (inter-byte delay).

To be continued...

bmalinowsky commented 5 months ago

[Edit: no need to install setserial]

Several things:

I updated the docker images to address some tangent issues you reported:

For TP-UART, there are 2 options I can think of:

1) using setserial: check setserial /dev/ttyAMA0 on your raspi, it probably doesn't have the low latency flag set. Use setserial /dev/ttyAMA0 low_latency, and see if that makes a difference. This change should also be reflected inside a docker container (you can check that by starting the container with the additional option --entrypoint ash (e.g., docker run --rm -ti --net host -v /home/b/server-config.xml:/usr/app/server-config.xml --privileged --device /dev/ttyAMA0 --entrypoint ash calimeroproject/knxserver), and inside check the port using setserial again). 2) if 1. doesn't help, you can address the inter-byte delay I mentioned before using a command-line option: as that is inside the docker container, too, again use --entrypoint ash, then inside the container export CALIMERO_SERVER_OPTS="-Dio.calimero.serial.tpuart.maxInterByteDelay=20000". Then still inside the container start the server calimero-server-3.0-SNAPSHOT/bin/calimero-server -vvv server-config.xml. In the log you should see an entry like "io.calimero.serial.tpuart: using io.calimero.serial.tpuart.maxInterByteDelay of 20,000 us"

For 1., this is a setting that needs to be done on every restart of the raspi, and for 2. it is specific to a single docker container. So if you remove the container, you have to redo it. But the goal is to see if any of those options help, then we can take it further.

Regarding tools, since you use Windows, you could try Net'n'Node by Weinzierl, it's nice. (Free, you need to register). If you want to see decoded message traffic between applications, you can install Wireshark (in the display filter type "kip"). (You can also use the knxtools docker, because I know what does work and what not; the disadvantage is that a problem in the core library will affect both the tools and the server.)

aleksusklim commented 5 months ago

Looks like the cheap sdcard in my Raspberry PI 3 has failed – so I got a Samsung one, reinstalling 32-bit Raspbian again from scratch.

I did everything you told me, but unable to get past last errors. I even tried disabling detailed logs (omit -vvv) and disabled "disruption buffer".

I decided to type Enter into the console so that later I can see when I did something. I annotated my logs with that information:

This is KNXUltimate configuration:

knxUltimateClient = new knx.KNXClient({
    ipAddr: "192.168.8.24",
    ipPort: "3671",
    physAddr: "6.6.3",
    suppress_ack_ldatareq: false,
    loglevel: "warn",
    localEchoInTunneling: true,
    hostProtocol: 'TunnelUDP',
    isSecureKNXEnabled: false,
    jKNXSecureKeyring: "",
    localIPAddress: "192.168.8.20",
    KNXEthInterface: "Manual",
});

…

setTimeout(() => {
    knxUltimateClient.read('6/2/1');
    knxUltimateClient.write('6/1/1', 1, "1.001")
}, 5000);
setTimeout(() => {
    knxUltimateClient.write('6/1/1', 0, "1.001")
    knxUltimateClient.write('6/2/1', 0, "1.001")
}, 10000);

Calimero config:

<?xml version="1.0" encoding="UTF-8"?>
<knxServer name="knx-server" friendlyName="Calimero KNX" appData="/usr/app">
  <discovery listenNetIf="enxb827ebeb0c43" outgoingNetIf="enxb827ebeb0c43" activate="true" />
  <serviceContainer activate="true" routing="false" networkMonitoring="true" udpPort="3671" listenNetIf="enxb827ebeb0c43">
    <knxAddress type="individual">6.6.0</knxAddress>
    <!-- routing latencyTolerance="1000">224.0.23.12</routing -->
    <!-- disruptionBuffer expirationTimeout="30" udpPort="5555-5559" / -->
    <!--knxSubnet type="tpuart" medium="tp1">/dev/ttyAMA0</knxSubnet -->
    <knxSubnet type="usb" medium="tp1" knxAddress="6.6.1"></knxSubnet>
    <additionalAddresses>
      <knxAddress type="individual">6.6.2</knxAddress>
      <knxAddress type="individual">6.6.3</knxAddress>
      <knxAddress type="individual">6.6.4</knxAddress>
     </additionalAddresses>
  </serviceContainer>
</knxServer>

The first is the china stick (the second one; previously both two logs were from the first one): log4_china.txt KNXUltimate cannot send to the bus (not effect), cannot read from the bus (not response) but sometimes can hear the bus (events from button presses), but they seem to be delayed sometimes in tunnel mode

The next is Gira: log4_gira.txt I see zeroes in console on button press again. Similarly, I can't do any actual bus communication.

Finally, KNX HAT: log4_uart.txt KNXUltimate is working, as before: relay switches on my write, and I see telegrams on button press.

But this is another attempt for ETS: log4_uart_ets.txt

If fails to do a "full download" of the program (where I need to press a button on the device). The line [INFO ] io.calimero.serial.tpuart: using io.calimero.serial.tpuart.maxInterByteDelay of 20,000 us is there.

What else? Why Gira sends nonsense again? Why China sticks were working once previously?

In multicast mode everything feels to be faster, but telegrams are not sent anyway: log4_china_route.txt

aleksusklim commented 5 months ago

For some reason I fail to flash/download a device with ETS via KNX-USB interface (directly connected to the computer) if device's physical address does not have zero in the second position, e.g. 6.6.20 (and thus attached to the third line segment in topology hierarchy). I even updated ETS to v5.7.7

To make programming work, I had to move the device to the second line in topology, and ETS assigned 6.0.1 to it; then if I change the address to, for example, 6.0.20 – flashing via china USB stick works.

I'm not sure what change in the project caused this (physically I have only one isolated KNX line, with Raspberry being the only bus coupler on it), but I decided to check if this solved the main issue?

Unfortunately not: Calimero (with adjusted 6.0.x addresses) still fails in ETS with KNX HAT, both in router and in tunnel mode. Other than in ETS, it looks like KNX HAT works properly, routing normal telegrams in both directions.

Calimero with china USB interface fail not only in ETS (cannot even disable device's programming mode when full downloading), but also cannot route outer telegrams to KNX bus. I can see only messages from KNX gets dispatched to IP.

aleksusklim commented 5 months ago

Oh, wait! If Calimero is running on UART – then I cannot program with ETS even if I am connected via KNX-USB from a computer! It somehow floods the bus… Even with routing disabled. Probably this is why I couldn't flash normally in my latest experiment (because with disconnected everything I seem to be able to use third line hierarchy)

If Calimero is not running – the connected KNX bus to UART HAT (on powered Raspberry) does not interfere on its own.

aleksusklim commented 5 months ago

After testing GIRA with ETS and found no errors whatsoever, I thought that maybe it fails with Raspberry PI 3 because of low power? For Raspberry PI 4 I have a better power supply, so I updated Calimero there to try x64 version.

Nope, zeros on incoming KNX messages again!

alpi@rpi4:/srv/my/dock/app $ sudo docker pull calimeroproject/knxserver
Using default tag: latest
latest: Pulling from calimeroproject/knxserver
579b34f0a95b: Pull complete
5cb4808b3474: Pull complete
58f472f04910: Pull complete
b8e9c10f91ba: Pull complete
8f560a992f44: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:f070e02c4211ae770461ff99eff9895d2c315254801946663a85969aa695c3d2
Status: Downloaded newer image for calimeroproject/knxserver:latest
docker.io/calimeroproject/knxserver:latest
alpi@rpi4:/srv/my/dock/app $ sudo docker run --name my_knx --rm --tty --net host --privileged --volume /srv/my/dock/app/server-config.xml:/usr/app/server-config.xml --volume /dev/bus/usb/:/dev/bus/usb/ calimeroproject/knxserver -vvv --no-stdin server-config.xml
WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads
13:59:45.019 [TRACE  ] io.calimero.xml.XmlResolver: resolve server-config.xml
13:59:45.022 [TRACE  ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
13:59:45.314 [TRACE  ] io.calimero.xml.XmlResolver: resolve jar:file:///usr/app/calimero-server-3.0-SNAPSHOT/lib/calimero-core-3.0-SNAPSHOT.jar!/properties.xml
13:59:45.322 [TRACE  ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
13:59:45.485 [DEBUG  ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml
13:59:45.488 [TRACE  ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml
13:59:45.490 [DEBUG  ] io.calimero.device.knx-server: no interface object server resource, create resource on closing device: /usr/app/knx-server-ios.xml (No such file or directory)
13:59:45.537 [INFO   ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT
13:59:45.586 [INFO   ] io.calimero.server.knx-server: use configuration 'Calimero KNX' with 1 service container, discovery: listen on [wlan0] send on [wlan0] interfaces
service container Usb-6.6.0:
        server: listen on wlan0 (port 3671), KNX IP routing multicast group 224.0.23.12
        Usb connection: TP1 medium, device 6.6.0
13:59:45.611 [DEBUG  ] io.calimero.server.knx-server: setup Usb subnet 'Usb-6.6.0'
13:59:45.637 [INFO   ] io.calimero.server.gateway.knx-server: activate 'Usb-6.6.0' disruption buffer on ports [5,555-5,559], disruption timeout 30 s
13:59:45.644 [TRACE  ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116
13:59:45.645 [TRACE  ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000
13:59:45.647 [TRACE  ] io.calimero.device.knx-server: sync Group Object Table Object from address 0x3000
13:59:45.778 [TRACE  ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown
13:59:45.811 [TRACE  ] io.calimero.server.knx-server: found network interfaces wlan0 [192.168.31.21]
13:59:45.814 [INFO   ] io.calimero.server.knx-server: discovery endpoint [wlan0] is up and running
13:59:45.819 [TRACE  ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider
13:59:45.828 [TRACE  ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint bound to 192.168.31.21:3671
13:59:45.833 [DEBUG  ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: join multicast group 224.0.23.12 on wlan0
13:59:45.840 [INFO   ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled
13:59:45.851 [INFO   ] io.calimero.server.knx-server: Usb-6.6.0 KNX IP routing service (wlan0 224.0.23.12) is up and running
13:59:45.855 [INFO   ] io.calimero.server.knx-server: Usb-6.6.0 secure mgmt/tunneling connections: optional/optional
13:59:45.875 [INFO   ] io.calimero.server.knx-server: Usb-6.6.0 tcp service (wlan0 192.168.31.21:3671) is up and running
13:59:45.878 [INFO   ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint (wlan0 192.168.31.21:3671) is up and running
13:59:46.032 [DEBUG  ] io.calimero.usb.provider.javax: Attached USB devices:
Root hub
 |--Bus 1 Device 1: ID 1d6b:0002 Linux 6.6.20+rpt-rpi-v8 xhci-hcd xHCI Host Controller S/N 0000:01:00.0
 |   High Speed USB
 |    |--Bus 1 Device 2: ID 2109:3431 USB2.0 Hub
 |        Attached at port 1 (bus:1/1)
 |        High Speed USB
 |         |--Bus 1 Device 3: ID 135e:0022 Gira Giersiepen GmbH & Co. KG KNX-USB Data Interface
 |             Attached at port 2 (bus:1/1/2)
 |             Full Speed USB
 |--Bus 2 Device 1: ID 1d6b:0003 Linux 6.6.20+rpt-rpi-v8 xhci-hcd xHCI Host Controller S/N 0000:01:00.0
     Super Speed USB
13:59:46.037 [INFO   ] io.calimero.usb.provider.javax: Found 1 KNX USB devices:
 |--Bus 1 Device 3: ID 135e:0022 Gira Giersiepen GmbH & Co. KG KNX-USB Data Interface
 |   Attached at port 2 (bus:1/1/2)
 |   Full Speed USB
13:59:46.058 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: USB interface 00, setting 0
13:59:46.059 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 2 OUT
13:59:46.060 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN
13:59:46.061 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: Found USB device endpoint addresses OUT 0x2, IN 0x81
13:59:46.078 [DEBUG  ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 003: ID 135e:0022 USB interface 00
13:59:46.088 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000001
13:59:46.096 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000010001
13:59:46.098 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000002
13:59:46.105 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000020012
13:59:46.108 [DEBUG  ] io.calimero.link.135e:0022: KNX device descriptor 0 (Mask Version): 0012 - System 1 (BCU 1)
13:59:46.109 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000004
13:59:46.115 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000040008
13:59:46.117 [DEBUG  ] io.calimero.link.135e:0022: KNX manufacturer code: 8
13:59:46.157 [TRACE  ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus)
13:59:46.158 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000003
13:59:46.165 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130a000800020f0200000301
13:59:46.172 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010300004c010109
13:59:47.176 [WARNING] io.calimero.link.135e:0022: timeout reading PEI type (expected service confirmation msg code 0x4b)
13:59:47.177 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010300004c010116
13:59:48.180 [WARNING] io.calimero.link.135e:0022: timeout reading Address Table location (expected service confirmation msg code 0x4b)
13:59:48.181 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010300004c010060
13:59:49.187 [WARNING] io.calimero.link.135e:0022: timeout reading current operation mode (expected service confirmation msg code 0x4b)
13:59:49.189 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010300004601010901
13:59:49.196 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 23 ms
13:59:49.229 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010300004c010109
13:59:50.236 [WARNING] io.calimero.link.135e:0022: timeout setting PEI type 1 (expected service confirmation msg code 0x4b)
13:59:50.238 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010300004c010101
13:59:51.244 [WARNING] io.calimero.link.135e:0022: timeout setting busmonitor config (expected service confirmation msg code 0x4b)
13:59:51.248 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010300004601006012
13:59:51.255 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 23 ms
13:59:51.280 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010300004c010060
13:59:52.286 [WARNING] io.calimero.link.135e:0022: timeout setting operation mode LinkLayer (expected service confirmation msg code 0x4b)
13:59:52.288 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010300004601011600
13:59:52.293 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 25 ms
13:59:52.320 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010300004c010116
13:59:53.327 [WARNING] io.calimero.link.135e:0022: timeout setting address table (expected service confirmation msg code 0x4b)
13:59:53.328 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010300004c020117
13:59:54.335 [WARNING] io.calimero.link.135e:0022: timeout reading KNX individual address (expected service confirmation msg code 0x4b)
13:59:54.349 [DEBUG  ] io.calimero.link.135e:0022: hop count set to 6
13:59:54.358 [DEBUG  ] io.calimero.server.gateway.knx-server: set maximum APDU length of 'Usb-6.6.0' to 15
13:59:54.371 [TRACE  ] io.calimero.event: registered void io.calimero.server.gateway.KnxServerGateway$SubnetListener.connectionStatus(io.calimero.serial.ConnectionStatus)
13:59:54.373 [DEBUG  ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.baosService(io.calimero.baos.BaosService)
13:59:59.269 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN is not a KNX USB report (wrong report ID 0x0): 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
13:59:59.655 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN is not a KNX USB report (wrong report ID 0x0): 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
14:00:00.112 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN is not a KNX USB report (wrong report ID 0x0): 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
14:00:00.477 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN is not a KNX USB report (wrong report ID 0x0): 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
14:00:01.223 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN is not a KNX USB report (wrong report ID 0x0): 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
14:00:01.836 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN is not a KNX USB report (wrong report ID 0x0): 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
^C14:00:04.544 [DEBUG  ] java.lang.Runtime: Runtime.exit() called with status: 130
java.lang.Throwable: Runtime.exit(130)
        at java.base/java.lang.Shutdown.logRuntimeExit(Unknown Source)
        at java.base/java.lang.Shutdown.exit(Unknown Source)
        at java.base/java.lang.Terminator$1.handle(Unknown Source)
        at java.base/jdk.internal.misc.Signal$1.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)

14:00:04.557 [INFO   ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown
14:00:04.568 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint
14:00:04.570 [INFO   ] io.calimero.server.knx-server: knx-server discovery endpoint closed
14:00:04.575 [DEBUG  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): close connection - user request
14:00:04.576 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server control endpoint Usb-6.6.0
14:00:04.577 [INFO   ] io.calimero.server.knx-server: knx-server control endpoint Usb-6.6.0 closed
14:00:04.580 [DEBUG  ] io.calimero.server.gateway.knx-server: removed connection KNX IP routing service (wlan0 224.0.23.12) (user request)
14:00:04.581 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server routing service 224.0.23.12
14:00:04.584 [INFO   ] io.calimero.server.knx-server: knx-server routing service 224.0.23.12 closed
14:00:04.587 [DEBUG  ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml
14:00:04.606 [DEBUG  ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml
14:00:04.613 [TRACE  ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter
alpi@rpi4:/srv/my/dock/app $
bmalinowsky commented 5 months ago

ETS checks the address in the lines where it wants to download, so that makes sense. But in the end, having assigned the same address to the USB stick as the server address should be OK. Because that is what the server does on its own (not for EMI1 though). I have an implementation of the EMI1 address check on the radar, but since the setup sequence does not work for your stick for some reason, it won't make a difference.

If Calimero is running on UART – then I cannot program with ETS even if I am connected via KNX-USB from a computer! It somehow floods the bus…

That's interesting, because normally this only happens with routing (a routing loop over Ethernet).

Why the GIRA worked and now doesn't I cannot explain, also because nothing changed in the software wrt that. In the end, I only suppressed the exceptions.

Did you try another tool, like the Weinzierl one, to init the USB sticks? It also shows the used init sequences. One could compare those. Or see if they do anything useful.

aleksusklim commented 5 months ago

I used 2 computers to connect my 2 china KNX-USB to 2 ETS. One ETS is used as "Bus monitor" only. Another ETS is used to flash/download a device, with extended logs enabled.

KNX line is isolated. Raspberry PI 3 connects via Wi-Fi with UART KNX-HAT on it, connected to this KNX bus. I disabled routing (along with "networkMonitoring") and did NOT connect to Calimero anyhow:

alpi@rpi3:/srv/my/dock/app $ cat server-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<knxServer name="knx-server" friendlyName="Calimero KNX" appData="/usr/app">
  <discovery listenNetIf="wlan0" outgoingNetIf="wlan0" activate="true" />
  <serviceContainer activate="true" routing="false" networkMonitoring="false" udpPort="3671" listenNetIf="wlan0">
    <knxAddress type="individual">6.0.0</knxAddress>
    <routing latencyTolerance="1000">224.0.23.12</routing>
    <!-- disruptionBuffer expirationTimeout="30" udpPort="5555-5559" / -->
    <knxSubnet type="tpuart" medium="tp1">/dev/ttyAMA0</knxSubnet>
    <!-- knxSubnet type="usb" medium="tp1" knxAddress="6.0.51"></knxSubnet -->
    <additionalAddresses>
      <knxAddress type="individual">6.0.52</knxAddress>
      <knxAddress type="individual">6.0.53</knxAddress>
      <knxAddress type="individual">6.0.54</knxAddress>
     </additionalAddresses>
  </serviceContainer>
</knxServer>
sudo docker run --name my_knx --rm --tty --net host --privileged --volume /srv/my/dock/app/server-config.xml:/usr/app/server-config.xml --volume /dev/bus/usb/:/dev/bus/usb/ calimeroproject/knxserver -vvv --no-stdin server-config.xml >../log5_uart.txt

I try to program a device ("partial", without pressing a programming button). When Calimero docker is active – ETS fails. I restart it and close Calimero – is succeeds.

Logs from ETS with Calimero active: log5_ets_fail.log.txt Logs from Bus Monitor during this: log5_bus_fail.xml.txt Logs from Calimero itself: log5_uart.txt

Logs from restarted ETS after stopping Calimero: log5_ets_ok.log.txt Logs from Bus Monitor again: log5_bus_ok.xml.txt (You should probably rename XML files from bus monitor to load them back into ETS)

I hope you can deduce something from this!

bmalinowsky commented 4 months ago

Thank you! Yes, I found a regression in frame dispatching from a recent refactoring, which I think is responsible for the issue you observe.

I pushed new docker images.

aleksusklim commented 4 months ago

Yay, it's working!

For KNX HAT, I can use KNXUltimate in Tunnel and Multicast modes to read, write and hear. I also was able to program with ETS without major errors. Here is what I observed:

  1. Until I set low_latency + maxInterByteDelay, some read-request responses for KNXUltimate were lost. Also, sometimes there was a significant pause between my commands and actual sending data over the bus: for example, I give 2 commands, wait 5 seconds and give 2 more; but the relay quickly turns on/off/on/off executing all four only after yet another 5 seconds! Looks like setserial (or maxInterByteDelay) fixed this.
  2. While I used Bus Monitor in ETS (connected as Tunnel) – I could not connect another Tunnel from KNXUltimate, no matter what "additional address" would I choose. Generally, I find Multicast mode more reliable.
  3. Sometimes ETS fails to connect to Calimero gateway in Tunnel mode! It just disappears from the list after I click to select it. During this split-second, ETS shows empty list of "additional addresses" to pick. Adding manually via IP works I think; also the discovery may randomly work too, after restarting both ETS and Calimero.
  4. China USB still cannot send to KNX bus, but it is able to hear telegrams back.

Here is a part of Calimero logs when I tried to pick its tunnel in ETS but it disappeared:

08:27:03.921 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:03.922 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 169 us
08:27:05.561 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:44888 06 10 02 03 00 0e 08 01 00 00 00 00 00 00
08:27:05.563 [DEBUG  ] io.calimero.server.knx-server: responses use route-back control endpoint 192.168.31.101:44888
08:27:05.565 [INFO   ] io.calimero.server.knx-server: send KNXnet/IP description to 192.168.31.101:44888: "Calimero KNX", KNX address 6.0.0, KNX medium TP1, Installation 0 - Project 0 (ID 0), KNX IP multicast address 224.0.23.12, MAC address b8:27:eb:be:59:16, S/N 0000:00000000, Core (v2), Device Management (v2), Tunneling (v2), Routing (v2), 6.0.52, 6.0.53, 6.0.54, KNX manufacturer ID 0x0, data 0x626d323031312020
08:27:05.608 [INFO   ] io.calimero.server.knx-server: accepted /dev/ttyAMA0 tcp connection 192.168.31.101:28133
08:27:05.609 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28133 06 10 02 05 00 1c 08 02 00 00 00 00 00 00 08 02 00 00 00 00 00 00 06 04 02 00 60 35
08:27:05.610 [DEBUG  ] io.calimero.server.knx-server: responses to client use route-back control endpoint 192.168.31.101:28133
08:27:05.610 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0: setup data endpoint (TCP, channel 8) for connection request from 192.168.31.101:28133
08:27:05.611 [DEBUG  ] io.calimero.server.knx-server: responses use route-back data endpoint 192.168.31.101:28133
08:27:05.613 [INFO   ] io.calimero.server.knx-server: assign additional individual address 6.0.53 to channel 8
08:27:05.615 [DEBUG  ] io.calimero.server.knx-server: created socket on 192.168.28.184:52297
08:27:05.620 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint KNX IP LinkLayer 192.168.31.101:28133 (TCP, channel 8, 6.0.53) is up and running
08:27:05.621 [DEBUG  ] io.calimero.server.gateway.knx-server: established connection KNX IP LinkLayer 192.168.31.101:28133 (TCP, channel 8, 6.0.53)
08:27:05.630 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28133 06 10 04 24 00 0d 04 08 00 00 08 00 01
08:27:05.632 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: received tunneling-feat.set enable feature info service 01
08:27:05.633 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: respond with tunneling-feat.res enable feature info service 01
08:27:05.647 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28133 06 10 04 22 00 0c 04 08 01 00 06 00
08:27:05.648 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: received tunneling-feat.get individual address
08:27:05.649 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: respond with tunneling-feat.res individual address 6035
08:27:05.669 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28133 06 10 04 22 00 0c 04 08 02 00 07 00
08:27:05.671 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: received tunneling-feat.get max apdu length
08:27:05.672 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: respond with tunneling-feat.res max apdu length 000f
08:27:05.689 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28133 06 10 04 22 00 0c 04 08 03 00 02 00
08:27:05.691 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: received tunneling-feat.get device descriptor type 0
08:27:05.692 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: respond with tunneling-feat.res device descriptor type 0 091a
08:27:05.717 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28133 06 10 02 09 00 10 08 00 08 02 00 00 00 00 00 00
08:27:05.718 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28133: close connection for channel 8 - client request
08:27:05.719 [DEBUG  ] io.calimero.server.gateway.knx-server: removed connection KNX IP LinkLayer 192.168.31.101:28133 (client request)
08:27:05.720 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint 192.168.31.101:28133 closed
08:27:05.729 [INFO   ] io.calimero.server.knx-server: close tcp connection to 192.168.31.101:28133
08:27:08.795 [DEBUG  ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:20012 on [any]
08:27:08.951 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,831 us
08:27:08.951 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:08.952 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 172 us
08:27:13.981 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,824 us
08:27:13.982 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:13.982 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 172 us
08:27:19.011 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,821 us
08:27:19.011 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:19.012 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 173 us
08:27:21.084 [DEBUG  ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:21717 on [any]
08:27:24.051 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,039,812 us
08:27:24.052 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:24.053 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 174 us
08:27:25.280 [DEBUG  ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:21722 on [any]
08:27:29.081 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,834 us
08:27:29.082 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:29.083 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 184 us
08:27:29.380 [DEBUG  ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX' for container /dev/ttyAMA0 to 192.168.31.101:21727 on [any]
08:27:32.038 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:21728 06 10 02 03 00 0e 08 01 00 00 00 00 00 00
08:27:32.039 [DEBUG  ] io.calimero.server.knx-server: responses use route-back control endpoint 192.168.31.101:21728
08:27:32.043 [INFO   ] io.calimero.server.knx-server: send KNXnet/IP description to 192.168.31.101:21728: "Calimero KNX", KNX address 6.0.0, KNX medium TP1, Installation 0 - Project 0 (ID 0), KNX IP multicast address 224.0.23.12, MAC address b8:27:eb:be:59:16, S/N 0000:00000000, Core (v2), Device Management (v2), Tunneling (v2), Routing (v2), 6.0.52, 6.0.53, 6.0.54, KNX manufacturer ID 0x0, data 0x626d323031312020
08:27:32.068 [INFO   ] io.calimero.server.knx-server: accepted /dev/ttyAMA0 tcp connection 192.168.31.101:28177
08:27:32.069 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28177 06 10 02 05 00 1a 08 02 00 00 00 00 00 00 08 02 00 00 00 00 00 00 04 04 02 00
08:27:32.070 [DEBUG  ] io.calimero.server.knx-server: responses to client use route-back control endpoint 192.168.31.101:28177
08:27:32.071 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0: setup data endpoint (TCP, channel 9) for connection request from 192.168.31.101:28177
08:27:32.072 [DEBUG  ] io.calimero.server.knx-server: responses use route-back data endpoint 192.168.31.101:28177
08:27:32.073 [INFO   ] io.calimero.server.knx-server: assign additional individual address 6.0.52 to channel 9
08:27:32.074 [DEBUG  ] io.calimero.server.knx-server: created socket on 192.168.28.184:59981
08:27:32.077 [DEBUG  ] io.calimero.server.gateway.knx-server: established connection KNX IP LinkLayer 192.168.31.101:28177 (TCP, channel 9, 6.0.52)
08:27:32.077 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint KNX IP LinkLayer 192.168.31.101:28177 (TCP, channel 9, 6.0.52) is up and running
08:27:32.092 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28177 06 10 04 24 00 0d 04 09 00 00 08 00 01
08:27:32.093 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28177: received tunneling-feat.set enable feature info service 01
08:27:32.094 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28177: respond with tunneling-feat.res enable feature info service 01
08:27:32.107 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28177 06 10 02 07 00 10 09 00 08 02 00 00 00 00 00 00
08:27:32.107 [TRACE  ] io.calimero.server.knx-server: received connection-state request (channel 9) from 192.168.31.101:28177
08:27:32.128 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28177 06 10 02 09 00 10 09 00 08 02 00 00 00 00 00 00
08:27:32.129 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28177: close connection for channel 9 - client request
08:27:32.130 [DEBUG  ] io.calimero.server.gateway.knx-server: removed connection KNX IP LinkLayer 192.168.31.101:28177 (client request)
08:27:32.132 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint 192.168.31.101:28177 closed
08:27:32.163 [INFO   ] io.calimero.server.knx-server: close tcp connection to 192.168.31.101:28177
08:27:32.169 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:21729 06 10 02 03 00 0e 08 01 00 00 00 00 00 00
08:27:32.170 [DEBUG  ] io.calimero.server.knx-server: responses use route-back control endpoint 192.168.31.101:21729
08:27:32.174 [INFO   ] io.calimero.server.knx-server: send KNXnet/IP description to 192.168.31.101:21729: "Calimero KNX", KNX address 6.0.0, KNX medium TP1, Installation 0 - Project 0 (ID 0), KNX IP multicast address 224.0.23.12, MAC address b8:27:eb:be:59:16, S/N 0000:00000000, Core (v2), Device Management (v2), Tunneling (v2), Routing (v2), 6.0.52, 6.0.53, 6.0.54, KNX manufacturer ID 0x0, data 0x626d323031312020
08:27:32.197 [INFO   ] io.calimero.server.knx-server: accepted /dev/ttyAMA0 tcp connection 192.168.31.101:28178
08:27:32.198 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28178 06 10 02 05 00 1a 08 02 00 00 00 00 00 00 08 02 00 00 00 00 00 00 04 04 02 00
08:27:32.198 [DEBUG  ] io.calimero.server.knx-server: responses to client use route-back control endpoint 192.168.31.101:28178
08:27:32.199 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0: setup data endpoint (TCP, channel 10) for connection request from 192.168.31.101:28178
08:27:32.199 [DEBUG  ] io.calimero.server.knx-server: responses use route-back data endpoint 192.168.31.101:28178
08:27:32.200 [INFO   ] io.calimero.server.knx-server: assign additional individual address 6.0.52 to channel 10
08:27:32.202 [DEBUG  ] io.calimero.server.knx-server: created socket on 192.168.28.184:60916
08:27:32.204 [DEBUG  ] io.calimero.server.gateway.knx-server: established connection KNX IP LinkLayer 192.168.31.101:28178 (TCP, channel 10, 6.0.52)
08:27:32.204 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint KNX IP LinkLayer 192.168.31.101:28178 (TCP, channel 10, 6.0.52) is up and running
08:27:32.224 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28178 06 10 04 24 00 0d 04 0a 00 00 08 00 01
08:27:32.225 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: received tunneling-feat.set enable feature info service 01
08:27:32.226 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: respond with tunneling-feat.res enable feature info service 01
08:27:32.262 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28178 06 10 04 22 00 0c 04 0a 01 00 06 00
08:27:32.263 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: received tunneling-feat.get individual address
08:27:32.265 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: respond with tunneling-feat.res individual address 6034
08:27:32.275 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28178 06 10 04 22 00 0c 04 0a 02 00 07 00
08:27:32.277 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: received tunneling-feat.get max apdu length
08:27:32.278 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: respond with tunneling-feat.res max apdu length 000f
08:27:32.289 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28178 06 10 04 22 00 0c 04 0a 03 00 02 00
08:27:32.290 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: received tunneling-feat.get device descriptor type 0
08:27:32.292 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: respond with tunneling-feat.res device descriptor type 0 091a
08:27:32.308 [TRACE  ] io.calimero.server.knx-server: /dev/ttyAMA0 received 192.168.31.101:28178 06 10 02 09 00 10 0a 00 08 02 00 00 00 00 00 00
08:27:32.309 [DEBUG  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:28178: close connection for channel 10 - client request
08:27:32.310 [DEBUG  ] io.calimero.server.gateway.knx-server: removed connection KNX IP LinkLayer 192.168.31.101:28178 (client request)
08:27:32.311 [INFO   ] io.calimero.server.knx-server: /dev/ttyAMA0 data endpoint 192.168.31.101:28178 closed
08:27:32.320 [INFO   ] io.calimero.server.knx-server: close tcp connection to 192.168.31.101:28178
08:27:34.111 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,797 us
08:27:34.112 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:34.112 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 173 us
08:27:39.141 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,822 us
08:27:39.142 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:39.142 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 170 us
08:27:44.171 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,029,819 us
08:27:44.172 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK
08:27:44.172 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 174 us
08:27:44.954 [TRACE  ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 1.1.54->4/5/0 L_Data.ind, low priority hop count 6, tpdu 00 80 0c fb: T_Group, A_Group.write
08:27:44.954 [TRACE  ] io.calimero.server.gateway.knx-server: forward 1.1.54->4/5/0 L_Data.ind, low priority hop count 6, tpdu 00 80 0c fb to all tunneling clients (except 1.1.54)
08:27:44.955 [TRACE  ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 1.1.54->4/5/0 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 0c fb
08:27:44.955 [DEBUG  ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 1.1.54->4/5/0 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 0c fb
08:27:44.955 [TRACE  ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 11 36 25 00 03 00 80 0c fb
08:27:44.956 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 11 82 36 83 25 84 00 85 d3 86 00 87 80 88 0c 89 fb 4a e5
08:27:44.956 [DEBUG  ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con
08:27:44.981 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 809,975 us
08:27:45.011 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 4/5/0
08:27:45.011 [DEBUG  ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 1.1.54->4/5/0 L_Data.ind, low priority hop count 5, tpdu 00 80 0c fb
08:27:45.012 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 43 us
08:27:45.012 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 29,975 us
08:27:45.012 [TRACE  ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 1.1.54->4/5/0 L_Data.ind, low priority hop count 5, tpdu 00 80 0c fb: T_Group, A_Group.write
08:27:45.013 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 68 us
08:27:45.012 [DEBUG  ] io.calimero.link.tpuart:/dev/ttyAMA0: confirmation of 4/5/0
08:27:45.014 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 23 us
08:27:45.014 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 21 us
08:27:45.015 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 20 us
08:27:45.015 [DEBUG  ] io.calimero.server.gateway.knx-server: dispatch 1.1.54->4/5/0 to all server-side connections
08:27:45.016 [DEBUG  ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 11): bc 11 36 25 00 d3 00 80 0c fb e5
08:27:45.016 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.54->4/5/0 L_Data.ind, low priority hop count 4, tpdu 00 80 0c fb
08:27:45.016 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 13): 29 00 bc d0 11 36 25 00 03 00 80 0c fb
08:27:45.017 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 1,041 us
08:27:45.017 [DEBUG  ] io.calimero.serial.tpuart:/dev/ttyAMA0: positive L_Data.con
08:27:45.018 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 13 29 00 bc c0 11 36 25 00 03 00 80 0c fb
08:27:45.020 [TRACE  ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0
08:27:45.018 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 13): 2e 00 bc d0 11 36 25 00 03 00 80 0c fb
08:27:45.021 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: ACK received after 31 ms
08:27:45.021 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.54->4/5/0 L_Data.ind, low priority hop count 4, tpdu 00 80 0c fb
08:27:45.022 [TRACE  ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,075 us
^C
08:27:46.205 [INFO   ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown
08:27:46.228 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint
08:27:46.229 [INFO   ] io.calimero.server.knx-server: knx-server discovery endpoint closed
08:27:46.233 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server control endpoint /dev/ttyAMA0
08:27:46.234 [DEBUG  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): close connection - user request
08:27:46.234 [INFO   ] io.calimero.server.knx-server: knx-server control endpoint /dev/ttyAMA0 closed
08:27:46.234 [DEBUG  ] io.calimero.server.gateway.knx-server: removed connection KNX IP routing service (wlan0 224.0.23.12) (user request)
08:27:46.235 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server routing service 224.0.23.12
08:27:46.237 [INFO   ] io.calimero.server.knx-server: knx-server routing service 224.0.23.12 closed
08:27:46.243 [DEBUG  ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml
08:27:46.251 [DEBUG  ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml
08:27:46.261 [TRACE  ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter

The corresponding extended ETS log part:

2024-05-10 13:27:05,166 [3] INFO  Knx.Falcon.Bus - opening connector KnxIpTunneling with params Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX" in mode LinkLayer
2024-05-10 13:27:05,166 [3] INFO  Knx.Falcon.ConnectionManager - New connection Con-ID: KnxIpTunneling, Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX" (Ch=0) (Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX")
2024-05-10 13:27:05,166 [3] INFO  Falcon.TunnelingBusConnector - Connect bus connector to Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX", type Tunneling, useNat False, mode LinkLayer
2024-05-10 13:27:05,286 [6] INFO  Falcon.TunnelingBusConnector - IP Unicast - Connected as Tunneling to 192.168.28.184:3671 Ch#8
2024-05-10 13:27:05,366 [3] INFO  Knx.Falcon.Bus - LocalConfig of Connector KnxIpTunneling, OpenParams=Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX", ChnId# 8 is IA: 6.0.53 Mask: 091A Medium: Tp ApduLenSupported: 15 
2024-05-10 13:27:05,366 [3] INFO  Knx.Falcon.Bus - disconnecting interface Connector KnxIpTunneling, OpenParams=Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX", ChnId# 8
2024-05-10 13:27:05,366 [3] INFO  Knx.Falcon.ConnectionManager - Release connector 'Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX"'; new ref count=0.
2024-05-10 13:27:05,366 [3] INFO  Knx.Falcon.ConnectionManager - ...Finally released connector 'Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX"'.
2024-05-10 13:27:05,366 [3] INFO  Falcon.TunnelingBusConnector - DisconnectLocalDevice
2024-05-10 13:27:05,366 [3] INFO  Knx.Falcon.TunnelingHeartbeat - Disposing
2024-05-10 13:27:05,366 [3] INFO  Falcon.TunnelingBusConnector - Disconnect TunnelingBusConnector bus connector CH=8 from Type=KnxIpTunneling;IndividualAddress=6.0.53;FallbackToAnyIndividualAddress=True;HostAddress=192.168.28.184;Name="Calimero KNX"
2024-05-10 13:27:05,366 [3] INFO  Falcon.TunnelingBusConnector - IP Unicast - Disconnecting as Tunneling from 192.168.28.184:3671 Ch#8
2024-05-10 13:27:31,577 [1] INFO  Knx.Falcon.Bus - opening connector KnxIpTunneling with params Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX" in mode LinkLayer
2024-05-10 13:27:31,579 [1] INFO  Knx.Falcon.ConnectionManager - New connection Con-ID: KnxIpTunneling, Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX" (Ch=0) (Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX")
2024-05-10 13:27:31,581 [1] INFO  Falcon.TunnelingBusConnector - Connect bus connector to Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX", type Tunneling, useNat False, mode LinkLayer
2024-05-10 13:27:31,747 [12] INFO  Falcon.TunnelingBusConnector - IP Unicast - Connected as Tunneling to 192.168.28.184:3671 Ch#9
2024-05-10 13:27:31,760 [1] INFO  Knx.Falcon.Bus - CheckCommunication for open params Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX"
2024-05-10 13:27:31,761 [1] INFO  Falcon.TunnelingBusConnector - Check communication Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX"  state: Connected
2024-05-10 13:27:31,774 [1] INFO  Falcon.TunnelingBusConnector - ConnectionStateResponse(192.168.28.184:3671) -> NoError
2024-05-10 13:27:31,775 [1] INFO  Knx.Falcon.Bus - ...Result Ok
2024-05-10 13:27:31,776 [1] INFO  Knx.Falcon.Bus - disconnecting interface Connector KnxIpTunneling, OpenParams=Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX", ChnId# 9
2024-05-10 13:27:31,776 [1] INFO  Knx.Falcon.ConnectionManager - Release connector 'Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX"'; new ref count=0.
2024-05-10 13:27:31,777 [1] INFO  Knx.Falcon.ConnectionManager - ...Finally released connector 'Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX"'.
2024-05-10 13:27:31,779 [1] INFO  Falcon.TunnelingBusConnector - DisconnectLocalDevice
2024-05-10 13:27:31,780 [1] INFO  Knx.Falcon.TunnelingHeartbeat - Disposing
2024-05-10 13:27:31,781 [1] INFO  Falcon.TunnelingBusConnector - Disconnect TunnelingBusConnector bus connector CH=9 from Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX"
2024-05-10 13:27:31,782 [1] INFO  Falcon.TunnelingBusConnector - IP Unicast - Disconnecting as Tunneling from 192.168.28.184:3671 Ch#9
2024-05-10 13:27:31,820 [1] INFO  Knx.Falcon.Bus - opening connector KnxIpTunneling with params Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX" in mode LinkLayer
2024-05-10 13:27:31,822 [1] INFO  Knx.Falcon.ConnectionManager - New connection Con-ID: KnxIpTunneling, Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX" (Ch=0) (Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX")
2024-05-10 13:27:31,823 [1] INFO  Falcon.TunnelingBusConnector - Connect bus connector to Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX", type Tunneling, useNat False, mode LinkLayer
2024-05-10 13:27:31,872 [7] INFO  Falcon.TunnelingBusConnector - IP Unicast - Connected as Tunneling to 192.168.28.184:3671 Ch#10
2024-05-10 13:27:31,956 [1] INFO  Knx.Falcon.Bus - LocalConfig of Connector KnxIpTunneling, OpenParams=Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX", ChnId# 10 is IA: 6.0.52 Mask: 091A Medium: Tp ApduLenSupported: 15 
2024-05-10 13:27:31,958 [1] INFO  Knx.Falcon.Bus - disconnecting interface Connector KnxIpTunneling, OpenParams=Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX", ChnId# 10
2024-05-10 13:27:31,958 [1] INFO  Knx.Falcon.ConnectionManager - Release connector 'Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX"'; new ref count=0.
2024-05-10 13:27:31,960 [1] INFO  Knx.Falcon.ConnectionManager - ...Finally released connector 'Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX"'.
2024-05-10 13:27:31,961 [1] INFO  Falcon.TunnelingBusConnector - DisconnectLocalDevice
2024-05-10 13:27:31,961 [1] INFO  Knx.Falcon.TunnelingHeartbeat - Disposing
2024-05-10 13:27:31,962 [1] INFO  Falcon.TunnelingBusConnector - Disconnect TunnelingBusConnector bus connector CH=10 from Type=KnxIpTunneling;HostAddress=192.168.28.184;Name="Calimero KNX"
2024-05-10 13:27:31,963 [1] INFO  Falcon.TunnelingBusConnector - IP Unicast - Disconnecting as Tunneling from 192.168.28.184:3671 Ch#10
2024-05-10 13:27:39,141 [1] INFO  Knx.Ets.Ets5.MainWindow - MainWindow is closing
2024-05-10 13:27:39,153 [1] INFO  Knx.Ets.Ets5.MainWindow - Window settings saved
2024-05-10 13:27:39,156 [1] INFO  Knx.Updater.Logger - Launcher.End called with parameter finalEnd = True
2024-05-10 13:27:39,157 [DoThreadPooling] INFO  Knx.Updater.Logger - Aborting thread 'DoIdle'.
2024-05-10 13:27:39,157 [DoThreadPooling] INFO  Knx.Updater.Logger - Thread 'DoIdle' aborted.
2024-05-10 13:27:39,158 [DoThreadPooling] INFO  Knx.Updater.Logger - Thread 'DoCheckForAvailableUpdates' was terminated.
2024-05-10 13:27:39,158 [DoThreadPooling] INFO  Knx.Updater.Logger - Thread pooling finished
2024-05-10 13:27:39,203 [1] INFO  Knx.Ets.UserControls.Sidebar.SidebarPendingOperations - Pending Operations: Disposing

And here is a log of USB stick while I tried to send with KNXUltimate; I see it says that sending was succeeding, but it was not:

09:08:02.330 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 02 05 00 1a 08 01 00 00 00 00 00 00 08 01 00 00 00 00 00 00 04 04 02 00
09:08:02.332 [DEBUG  ] io.calimero.server.knx-server: responses to client use route-back control endpoint 192.168.31.101:5559
09:08:02.335 [INFO   ] io.calimero.server.knx-server: Usb-6.0.0: setup data endpoint (UDP NAT, channel 3) for connection request from 192.168.31.101:5559
09:08:02.336 [DEBUG  ] io.calimero.server.knx-server: responses use route-back data endpoint 192.168.31.101:5559
09:08:02.339 [INFO   ] io.calimero.server.knx-server: assign additional individual address 6.0.52 to channel 3
09:08:02.342 [DEBUG  ] io.calimero.server.knx-server: created socket on 192.168.28.184:50818
09:08:02.346 [INFO   ] io.calimero.server.knx-server: Usb-6.0.0 data endpoint KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.0.52) is up and running
09:08:02.346 [DEBUG  ] io.calimero.server.gateway.knx-server: established connection KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.0.52)
09:08:02.348 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000002
09:08:03.855 [WARNING] io.calimero.server.gateway.knx-server: skip verifying knx address of 'Usb-6.0.0' subnet interface (waiting for response)
09:08:03.857 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 02 07 00 10 03 00 08 01 00 00 00 00 00 00
09:08:03.858 [TRACE  ] io.calimero.server.knx-server: received connection-state request (channel 3) from 192.168.31.101:5559
09:08:05.281 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 04 20 00 15 04 03 00 00 11 00 bc e0 66 04 32 01 01 00 00
09:08:05.283 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 21 00 0a 04 03 00 00
09:08:05.286 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 04 20 00 15 04 03 01 00 11 00 bc e0 66 04 31 01 01 00 81
09:08:05.287 [TRACE  ] io.calimero.server.gateway.knx-server: server-side KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.0.52): 6.6.4->6/2/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 00: T_Group, A_Group.read
09:08:05.288 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 21 00 0a 04 03 01 00
09:08:05.290 [DEBUG  ] io.calimero.server.gateway.knx-server: dispatch 6.6.4->6/2/1 using KNX IP routing service (wlan0 224.0.23.12)
09:08:05.292 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00
09:08:05.291 [TRACE  ] io.calimero.server.gateway.knx-server: send positive cEMI L_Data.con
09:08:05.295 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 04 32 01 01 00 00
09:08:05.298 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00
09:08:05.295 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 0, WaitForAck, attempt 1 (channel 3) 06 10 04 20 00 15 04 03 00 00 2e 00 bc e0 66 04 32 01 01 00 00
09:08:05.298 [TRACE  ] io.calimero.server.gateway.knx-server: forward 6.6.4->6/2/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 00 to all tunneling clients (except 6.6.4)
09:08:05.300 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 20 00 15 04 03 00 00 2e 00 bc e0 66 04 32 01 01 00 00
09:08:05.302 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00
09:08:05.305 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 04 32 01 01 00 00
09:08:05.309 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00
09:08:05.312 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 6, WaitForAck, attempt 1 (channel 2) 06 10 04 20 00 15 04 02 06 00 29 00 bc e0 66 04 32 01 01 00 00
09:08:05.314 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 20 00 15 04 02 06 00 29 00 bc e0 66 04 32 01 01 00 00
09:08:05.326 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 03 00 00
09:08:05.329 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 0 from 192.168.31.101:5559 (channel 3)
09:08:06.317 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 6, WaitForAck, attempt 2 (channel 2) 06 10 04 20 00 15 04 02 06 00 29 00 bc e0 66 04 32 01 01 00 00
09:08:06.319 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 20 00 15 04 02 06 00 29 00 bc e0 66 04 32 01 01 00 00
09:08:07.322 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending disconnect request for KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 2, 6.0.53)
09:08:07.324 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 02 09 00 10 02 00 08 01 00 00 00 00 00 00
09:08:10.318 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 04 20 00 15 04 03 02 00 11 00 bc e0 66 04 31 01 01 00 80
09:08:10.322 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 21 00 0a 04 03 02 00
09:08:10.325 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 04 20 00 15 04 03 03 00 11 00 bc e0 66 04 32 01 01 00 80
09:08:10.327 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 21 00 0a 04 03 03 00
09:08:17.326 [ERROR  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: close connection for channel 2 - maximum send attempts
io.calimero.KNXAckTimeoutException: maximum send attempts, no service acknowledgment received
        at io.calimero.core/io.calimero.knxnetip.ConnectionBase.send(ConnectionBase.java:260)
        at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.knxnetip.DataEndpoint.send(DataEndpoint.java:206)
        at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.gateway.KnxServerGateway.send(KnxServerGateway.java:1658)
        at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.gateway.KnxServerGateway.onServerFrameReceived(KnxServerGateway.java:1166)
        at io.calimero.server@3.0-SNAPSHOT/io.calimero.server.gateway.KnxServerGateway$1.run(KnxServerGateway.java:509)
        at java.base/java.lang.Thread.run(Unknown Source)

09:08:17.328 [DEBUG  ] io.calimero.server.gateway.knx-server: removed connection KNX IP LinkLayer 192.168.31.101:5559 (maximum send attempts)
09:08:17.328 [INFO   ] io.calimero.server.knx-server: Usb-6.0.0 data endpoint 192.168.31.101:5559 closed
09:08:17.330 [WARNING] io.calimero.server.gateway.knx-server: sending on KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 2, 6.0.53) failed: maximum send attempts, no service acknowledgment received (6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00)
09:08:17.334 [TRACE  ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.51->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 00
09:08:17.335 [TRACE  ] io.calimero.link.145c:1490: EMI 11 0c 00 00 32 01 d1 00 00
09:08:17.337 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901030000110c00003201d10000
09:08:17.343 [TRACE  ] io.calimero.link.145c:1490: send to 6/2/1 succeeded
09:08:17.346 [TRACE  ] io.calimero.server.gateway.knx-server: server-side KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.0.52): 6.6.4->6/1/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 81: T_Group, A_Group.write
09:08:17.348 [TRACE  ] io.calimero.server.gateway.knx-server: send positive cEMI L_Data.con
09:08:17.348 [DEBUG  ] io.calimero.server.gateway.knx-server: dispatch 6.6.4->6/1/1 using KNX IP routing service (wlan0 224.0.23.12)
09:08:17.350 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.4->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81
09:08:17.352 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 1, WaitForAck, attempt 1 (channel 3) 06 10 04 20 00 15 04 03 01 00 2e 00 bc e0 66 04 31 01 01 00 81
09:08:17.352 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 04 31 01 01 00 81
09:08:17.355 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 20 00 15 04 03 01 00 2e 00 bc e0 66 04 31 01 01 00 81
09:08:17.355 [TRACE  ] io.calimero.server.gateway.knx-server: forward 6.6.4->6/1/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 81 to all tunneling clients (except 6.6.4)
09:08:17.357 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.4->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81
09:08:17.358 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.4->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81
09:08:17.360 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 04 31 01 01 00 81
09:08:17.362 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.4->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81
09:08:17.363 [TRACE  ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.51->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81
09:08:17.365 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 03 01 00
09:08:17.366 [TRACE  ] io.calimero.link.145c:1490: EMI 11 0c 00 00 31 01 d1 00 81
09:08:17.368 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901030000110c00003101d10081
09:08:17.370 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 1 from 192.168.31.101:5559 (channel 3)
09:08:17.374 [TRACE  ] io.calimero.link.145c:1490: send to 6/1/1 succeeded
09:08:17.376 [TRACE  ] io.calimero.server.gateway.knx-server: server-side KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.0.52): 6.6.4->6/1/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 80: T_Group, A_Group.write
09:08:17.377 [TRACE  ] io.calimero.server.gateway.knx-server: send positive cEMI L_Data.con
09:08:17.378 [DEBUG  ] io.calimero.server.gateway.knx-server: dispatch 6.6.4->6/1/1 using KNX IP routing service (wlan0 224.0.23.12)
09:08:17.381 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.4->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80
09:08:17.381 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 2, WaitForAck, attempt 1 (channel 3) 06 10 04 20 00 15 04 03 02 00 2e 00 bc e0 66 04 31 01 01 00 80
09:08:17.383 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 20 00 15 04 03 02 00 2e 00 bc e0 66 04 31 01 01 00 80
09:08:17.384 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 04 31 01 01 00 80
09:08:17.387 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.4->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80
09:08:17.387 [TRACE  ] io.calimero.server.gateway.knx-server: forward 6.6.4->6/1/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 80 to all tunneling clients (except 6.6.4)
09:08:17.390 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.4->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80
09:08:17.391 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 03 02 00
09:08:17.394 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 2 from 192.168.31.101:5559 (channel 3)
09:08:17.394 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 04 31 01 01 00 80
09:08:17.397 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.4->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80
09:08:17.400 [TRACE  ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.51->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80
09:08:17.402 [TRACE  ] io.calimero.link.145c:1490: EMI 11 0c 00 00 31 01 d1 00 80
09:08:17.403 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901030000110c00003101d10080
09:08:17.410 [TRACE  ] io.calimero.link.145c:1490: send to 6/1/1 succeeded
09:08:17.413 [TRACE  ] io.calimero.server.gateway.knx-server: server-side KNX IP LinkLayer 192.168.31.101:5559 (UDP NAT, channel 3, 6.0.52): 6.6.4->6/2/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 80: T_Group, A_Group.write
09:08:17.414 [TRACE  ] io.calimero.server.gateway.knx-server: send positive cEMI L_Data.con
09:08:17.415 [DEBUG  ] io.calimero.server.gateway.knx-server: dispatch 6.6.4->6/2/1 using KNX IP routing service (wlan0 224.0.23.12)
09:08:17.418 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80
09:08:17.420 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: sending cEMI frame seq 3, WaitForAck, attempt 1 (channel 3) 06 10 04 20 00 15 04 03 03 00 2e 00 bc e0 66 04 32 01 01 00 80
09:08:17.421 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 04 32 01 01 00 80
09:08:17.423 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: send 192.168.28.184:3671->192.168.31.101:5559 06 10 04 20 00 15 04 03 03 00 2e 00 bc e0 66 04 32 01 01 00 80
09:08:17.424 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80
09:08:17.426 [TRACE  ] io.calimero.server.gateway.knx-server: forward 6.6.4->6/2/1 L_Data.req, low priority hop count 6 repeat, tpdu 00 80 to all tunneling clients (except 6.6.4)
09:08:17.428 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80
09:08:17.431 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 66 04 32 01 01 00 80
09:08:17.433 [TRACE  ] io.calimero.server.knx-server: Usb-6.0.0 received 192.168.31.101:5559 06 10 04 21 00 0a 04 03 03 00
09:08:17.434 [TRACE  ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.51->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80
09:08:17.436 [TRACE  ] io.calimero.link.145c:1490: EMI 11 0c 00 00 32 01 d1 00 80
09:08:17.435 [TRACE  ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80
09:08:17.438 [TRACE  ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901030000110c00003201d10080
09:08:17.438 [TRACE  ] io.calimero.server.knxnetip.KNX IP LinkLayer 192.168.31.101:5559: received service ack 3 from 192.168.31.101:5559 (channel 3)
09:08:17.444 [TRACE  ] io.calimero.link.145c:1490: send to 6/2/1 succeeded
bmalinowsky commented 4 months ago

Good to know. I also see that setserial does speed up serial timing on my quite old raspberry 2 B. Running in a docker container might incur additional overhead wrt that (but I don't know what docker does internally).

If you run a busmonitor, you cannot connect via tunneling. It's not supported by KNX, the hardware is setup differently for each mode.

I will take a look at the logs...

bmalinowsky commented 4 months ago

In the logs there is again a dangling client connection, you seem to have a lot of them. Anyway, the server should not delay processing due to such things, so now most client tunneling interaction is asynchronous.

I think I found the culprit with the EMI1 issue, so there should be some progress.

You mentioned multicast being more reliable: if you communicate on the same host (i.e., using a loopback interface), or in your own LAN, a multicasted datagram basically never gets lost. So there is not really a downside in using that type of communication. Just as a side note: the KNX multicasting protocol in itself is an unreliable protocol.

(Docker images updated.)

aleksusklim commented 4 months ago

I was thinking about using the same host with "reliable" Tunnel connection to Calimero by using your "disruption buffer". So that if my client crashes and restarts – it would not miss anything. But looks like this way would:

So, what are my options? Scratch "disruption buffer", use localhost Multicast, do not ever crash (this is possible if I'll use another process to separate socket functions and main application logic, effectively making a TCP proxy between me and multicasts to Calimero), but leave Tunnel with a few "additional addresses" just for ETS to optionally use?

bmalinowsky commented 4 months ago
  • Make reconnection randomly fail if Calimero will think that it has no spare "additional addresses"

In your config you use 3 additional addresses, which is on the low side if you also want ETS to connect, and test things, or have software which quickly connects/disconnects (or forgets to disconnect).

  • Make clients connected via tunneling randomly hang, potentially affecting my own master connection

Is this a new thing? Or is this related to before with the dangling connection of another client? (Because I did work around that.)

  • Make ETS unable to use Bus Monitor because my own connection is already used, since you said the monitoring mode cannot be used in parallel with tunneling

Yes, using busmonitor and link-layer at the same time requires two different KNX HW modules. Bus monitoring is a diagnostic tool if you suspect problems with a KNX device or the KNX bus itself. So unless you are interested in the ACKs etc., the ETS group monitor or bus activity tab is sufficient, and does work with other clients.

aleksusklim commented 4 months ago

When I was testing updated docker images with KNX HAT on Raspberry 3, for some reason KNXUltimate was not heard in Calimero: all my sent Multicast messages didn't even show up in console. But KNXUltimate could hear back telegrams from the bus.

But since Logic Machine in the same Wi-Fi could both send and receive routed messages, I concluded either a misconfiguration of KNXUltimate (which I did not update in any way) or my LAN.

Now I decided to test Raspberry 4, and it turned out to be a huge success!!

I would close this Issue after I'd test PI 3 again. But what should I do with cheap sticks? I tried to register in Weinzierl to get Net'n Node 5 working, but they didn't seem to send me an e-mail with the license or anything so far.

What other software can get use of KNX-USB interfaces? Is it possible to dump ETS communications with USB anyhow?


Current Logs: ``` alpi@rpi4:/srv/my/dock/app $ cat server-config.xml 6.6.0 224.0.23.12 6.6.2 6.6.3 6.6.4 alpi@rpi4:/srv/my/dock/app $ sudo docker rmi calimeroproject/knxserver Untagged: calimeroproject/knxserver:latest Untagged: calimeroproject/knxserver@sha256:f070e02c4211ae770461ff99eff9895d2c315254801946663a85969aa695c3d2 Deleted: sha256:135544bd4cb4bfacdd43987c1edaeec7f6a6b34c392b2adbc06288e0a26e26a2 Deleted: sha256:1674f84ed6f60946d91f1d3acea7a7eb8c6715a4e708f4ce275aed54972ee937 Deleted: sha256:28d227b0b54ebec867e6e1a66e1bb16d4e1b8032543b652f4b3f73a7236447ae Deleted: sha256:ea2b12ec49b76a8f49597f7537e0655d1d90b5e68c5501c0e96aa03220ff7bc6 Deleted: sha256:a0a20e694ed82950f3f488870e62fcb1f5fb5d4ee6df1aee78834524bc3c8e79 Deleted: sha256:b4d8cda4490797039d58f99c05f9c7f56f264e9693a6c24c0eafa0a486341f74 Deleted: sha256:5f4d9fc4d98de91820d2a9c81e501c8cc6429bc8758b43fcb2cd50f4cab9a324 alpi@rpi4:/srv/my/dock/app $ sudo docker pull calimeroproject/knxserver Using default tag: latest latest: Pulling from calimeroproject/knxserver 579b34f0a95b: Pull complete 5cb4808b3474: Pull complete e1e9e719a69e: Pull complete 6d4f0d375038: Pull complete b3a605520c4f: Pull complete 4f4fb700ef54: Pull complete Digest: sha256:3a9599f043e4aa39f3fac473d616ea13c0f95cfb690beedfcbc5d63ea7766c0b Status: Downloaded newer image for calimeroproject/knxserver:latest docker.io/calimeroproject/knxserver:latest alpi@rpi4:/srv/my/dock/app $ sudo docker run --name my_knx --rm --tty --net host --privileged --volume /srv/my/dock/app/server-config.xml:/usr/app/server-config.xml --volume /dev/bus/usb/:/dev/bus/usb/ calimeroproject/knxserver -vvv --no-stdin server-config.xml ```
China USB: ``` WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads 15:09:55.170 [TRACE ] io.calimero.xml.XmlResolver: resolve server-config.xml 15:09:55.174 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 15:09:55.465 [TRACE ] io.calimero.xml.XmlResolver: resolve jar:file:///usr/app/calimero-server-3.0-SNAPSHOT/lib/calimero-core-3.0-SNAPSHOT.jar!/properties.xml 15:09:55.473 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 15:09:55.637 [DEBUG ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml 15:09:55.640 [TRACE ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml 15:09:55.643 [DEBUG ] io.calimero.device.knx-server: no interface object server resource, create resource on closing device: /usr/app/knx-server-ios.xml (No such file or directory) 15:09:55.688 [INFO ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT 15:09:55.737 [INFO ] io.calimero.server.knx-server: use configuration 'Calimero KNX' with 1 service container, discovery: listen on [wlan0] send on [wlan0] interfaces service container Usb-6.6.0: server: listen on wlan0 (port 3671), KNX IP routing multicast group 224.0.23.12 Usb connection: TP1 medium, device 6.6.0 15:09:55.761 [DEBUG ] io.calimero.server.knx-server: setup Usb subnet 'Usb-6.6.0' 15:09:55.788 [TRACE ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116 15:09:55.789 [TRACE ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000 15:09:55.791 [TRACE ] io.calimero.device.knx-server: sync Group Object Table Object from address 0x3000 15:09:55.923 [TRACE ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown 15:09:55.953 [DEBUG ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: join multicast group 224.0.23.12 on wlan0 15:09:55.958 [TRACE ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint bound to 192.168.31.21:3671 15:09:55.958 [INFO ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled 15:09:55.958 [TRACE ] io.calimero.server.knx-server: found network interfaces wlan0 [192.168.31.21] 15:09:55.960 [INFO ] io.calimero.server.knx-server: discovery endpoint [wlan0] is up and running 15:09:55.961 [TRACE ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider 15:09:55.969 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 KNX IP routing service (wlan0 224.0.23.12) is up and running 15:09:55.985 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 secure mgmt/tunneling connections: optional/optional 15:09:56.003 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 tcp service (wlan0 192.168.31.21:3671) is up and running 15:09:56.007 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint (wlan0 192.168.31.21:3671) is up and running 15:09:56.163 [DEBUG ] io.calimero.usb.provider.javax: Attached USB devices: Root hub |--Bus 1 Device 1: ID 1d6b:0002 Linux 6.6.20+rpt-rpi-v8 xhci-hcd xHCI Host Controller S/N 0000:01:00.0 | High Speed USB | |--Bus 1 Device 2: ID 2109:3431 USB2.0 Hub | Attached at port 1 (bus:1/1) | High Speed USB | |--Bus 1 Device 3: ID 145c:1490 KNX USB KNX USB 1518for8C09VG22 | Attached at port 1 (bus:1/1/1) | Full Speed USB |--Bus 2 Device 1: ID 1d6b:0003 Linux 6.6.20+rpt-rpi-v8 xhci-hcd xHCI Host Controller S/N 0000:01:00.0 Super Speed USB 15:09:56.171 [INFO ] io.calimero.usb.provider.javax: Found 1 KNX USB devices: |--Bus 1 Device 3: ID 145c:1490 KNX USB KNX USB 1518for8C09VG22 | Attached at port 1 (bus:1/1/1) | Full Speed USB 15:09:56.217 [TRACE ] io.calimero.usb.provider.javax.145c:1490: USB interface 00, setting 0 15:09:56.218 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 OUT 15:09:56.219 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN 15:09:56.220 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: Found USB device endpoint addresses OUT 0x1, IN 0x81 15:09:56.245 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01131000080008010100004e00000000000000 15:09:56.245 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc660c4902e10081 15:09:56.246 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4e00000000000000 15:09:56.247 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 0113090008000101010000a0 15:09:56.247 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc660c4902e10081 15:09:56.247 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame a0 15:09:56.252 [DEBUG ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 003: ID 145c:1490 USB interface 00 15:09:56.258 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000001 15:09:56.266 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130b000800030f020000010001 15:09:56.268 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130a000800020f0300000501 15:09:56.272 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000002 15:09:57.777 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000004 15:09:59.361 [TRACE ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus) 15:09:59.363 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000003 15:09:59.371 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130a000800020f0200000301 15:09:59.384 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010109 15:09:59.389 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01010901 15:09:59.390 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01010901 15:09:59.392 [INFO ] io.calimero.link.145c:1490: PEI type 1 15:09:59.393 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 20 ms 15:09:59.414 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010116 15:09:59.419 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01011600 15:09:59.420 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01011600 15:09:59.422 [DEBUG ] io.calimero.link.145c:1490: Address Table location 00 15:09:59.423 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010060 15:09:59.432 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01006012 15:09:59.434 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01006012 15:09:59.437 [DEBUG ] io.calimero.link.145c:1490: current operation mode (LinkLayer) 15:09:59.439 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 14 ms 15:09:59.454 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601010901 15:09:59.459 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 9 ms 15:09:59.469 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010109 15:09:59.477 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01010901 15:09:59.478 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01010901 15:09:59.479 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 10 ms 15:09:59.491 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010101 15:10:00.495 [WARNING] io.calimero.link.145c:1490: timeout setting busmonitor config (expected service confirmation msg code 0x4b) 15:10:00.496 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601006012 15:10:00.500 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 27 ms 15:10:00.528 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010060 15:10:00.534 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01006012 15:10:00.535 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01006012 15:10:00.536 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601011600 15:10:00.540 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 27 ms 15:10:00.568 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010116 15:10:00.574 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01011600 15:10:00.575 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01011600 15:10:00.576 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c020117 15:10:00.581 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130e00080006010100004b0201176063 15:10:00.582 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b0201176063 15:10:00.584 [INFO ] io.calimero.link.145c:1490: KNX individual address 6.0.99 15:10:00.593 [DEBUG ] io.calimero.link.145c:1490: hop count set to 6 15:10:00.596 [DEBUG ] io.calimero.server.gateway.knx-server: set maximum APDU length of 'Usb-6.6.0' to 15 15:10:00.605 [TRACE ] io.calimero.event: registered void io.calimero.server.gateway.KnxServerGateway$SubnetListener.connectionStatus(io.calimero.serial.ConnectionStatus) 15:10:00.607 [DEBUG ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.baosService(io.calimero.baos.BaosService) 15:10:51.632 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00: T_Group, A_Group.read 15:10:51.634 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00 to all tunneling clients (except 6.0.55) 15:10:51.639 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 00 15:10:51.643 [TRACE ] io.calimero.link.145c:1490: EMI 11 0c 00 00 32 01 d1 00 00 15:10:51.645 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901010000110c00003201d10000 15:10:51.650 [TRACE ] io.calimero.link.145c:1490: send to 6/2/1 succeeded 15:10:51.654 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:10:51.656 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 to all tunneling clients (except 6.0.55) 15:10:51.657 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81 15:10:51.659 [TRACE ] io.calimero.link.145c:1490: EMI 11 0c 00 00 31 01 d1 00 81 15:10:51.660 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901010000110c00003101d10081 15:10:51.665 [TRACE ] io.calimero.link.145c:1490: send to 6/1/1 succeeded 15:10:56.627 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:10:56.630 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 6.0.55) 15:10:56.632 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:10:56.633 [TRACE ] io.calimero.link.145c:1490: EMI 11 0c 00 00 31 01 d1 00 80 15:10:56.635 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901010000110c00003101d10080 15:10:56.640 [TRACE ] io.calimero.link.145c:1490: send to 6/1/1 succeeded 15:10:56.643 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:10:56.645 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 6.0.55) 15:10:56.646 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:10:56.648 [TRACE ] io.calimero.link.145c:1490: EMI 11 0c 00 00 32 01 d1 00 80 15:10:56.650 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901010000110c00003201d10080 15:10:56.655 [TRACE ] io.calimero.link.145c:1490: send to 6/2/1 succeeded 15:11:06.730 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc660c4902e10080 15:11:06.732 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc660c4902e10080 15:11:06.737 [DEBUG ] io.calimero.link.145c:1490: indication 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 80 15:11:06.738 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:11:06.743 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/2 to all server-side connections 15:11:06.754 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:11:06.756 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 80 15:11:06.764 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 02 01 00 80 15:11:06.767 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 80 15:11:09.592 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc660c4904e10081 15:11:09.593 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc660c4904e10081 15:11:09.596 [DEBUG ] io.calimero.link.145c:1490: indication 6.6.12->9/1/4 L_Data.ind, low priority hop count 6, tpdu 00 81 15:11:09.596 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 6.6.12->9/1/4 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:11:09.598 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/4 to all server-side connections 15:11:09.601 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:11:09.605 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/4 L_Data.ind, low priority hop count 5, tpdu 00 81 15:11:09.608 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 04 01 00 81 15:11:09.611 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/4 L_Data.ind, low priority hop count 5, tpdu 00 81 ^C15:11:17.071 [DEBUG ] java.lang.Runtime: Runtime.exit() called with status: 130 java.lang.Throwable: Runtime.exit(130) at java.base/java.lang.Shutdown.logRuntimeExit(Unknown Source) at java.base/java.lang.Shutdown.exit(Unknown Source) at java.base/java.lang.Terminator$1.handle(Unknown Source) at java.base/jdk.internal.misc.Signal$1.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) 15:11:17.084 [INFO ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown 15:11:17.106 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint 15:11:17.109 [INFO ] io.calimero.server.knx-server: knx-server discovery endpoint closed 15:11:17.113 [DEBUG ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): close connection - user request 15:11:17.114 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server routing service 224.0.23.12 15:11:17.115 [INFO ] io.calimero.server.knx-server: knx-server routing service 224.0.23.12 closed 15:11:17.117 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP routing service (wlan0 224.0.23.12) (user request) 15:11:17.117 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server control endpoint Usb-6.6.0 15:11:17.119 [INFO ] io.calimero.server.knx-server: knx-server control endpoint Usb-6.6.0 closed 15:11:17.121 [DEBUG ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml 15:11:17.124 [DEBUG ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml 15:11:17.128 [TRACE ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter ```
GIRA: ``` WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads 15:13:04.185 [TRACE ] io.calimero.xml.XmlResolver: resolve server-config.xml 15:13:04.188 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 15:13:04.478 [TRACE ] io.calimero.xml.XmlResolver: resolve jar:file:///usr/app/calimero-server-3.0-SNAPSHOT/lib/calimero-core-3.0-SNAPSHOT.jar!/properties.xml 15:13:04.486 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 15:13:04.651 [DEBUG ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml 15:13:04.654 [TRACE ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml 15:13:04.656 [DEBUG ] io.calimero.device.knx-server: no interface object server resource, create resource on closing device: /usr/app/knx-server-ios.xml (No such file or directory) 15:13:04.702 [INFO ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT 15:13:04.751 [INFO ] io.calimero.server.knx-server: use configuration 'Calimero KNX' with 1 service container, discovery: listen on [wlan0] send on [wlan0] interfaces service container Usb-6.6.0: server: listen on wlan0 (port 3671), KNX IP routing multicast group 224.0.23.12 Usb connection: TP1 medium, device 6.6.0 15:13:04.775 [DEBUG ] io.calimero.server.knx-server: setup Usb subnet 'Usb-6.6.0' 15:13:04.803 [TRACE ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116 15:13:04.804 [TRACE ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000 15:13:04.805 [TRACE ] io.calimero.device.knx-server: sync Group Object Table Object from address 0x3000 15:13:04.936 [TRACE ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown 15:13:04.966 [TRACE ] io.calimero.server.knx-server: found network interfaces wlan0 [192.168.31.21] 15:13:04.968 [TRACE ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider 15:13:04.968 [INFO ] io.calimero.server.knx-server: discovery endpoint [wlan0] is up and running 15:13:04.969 [TRACE ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint bound to 192.168.31.21:3671 15:13:04.979 [DEBUG ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: join multicast group 224.0.23.12 on wlan0 15:13:04.984 [INFO ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled 15:13:04.994 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 secure mgmt/tunneling connections: optional/optional 15:13:04.996 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 KNX IP routing service (wlan0 224.0.23.12) is up and running 15:13:05.014 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 tcp service (wlan0 192.168.31.21:3671) is up and running 15:13:05.017 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint (wlan0 192.168.31.21:3671) is up and running 15:13:05.170 [DEBUG ] io.calimero.usb.provider.javax: Attached USB devices: Root hub |--Bus 1 Device 1: ID 1d6b:0002 Linux 6.6.20+rpt-rpi-v8 xhci-hcd xHCI Host Controller S/N 0000:01:00.0 | High Speed USB | |--Bus 1 Device 2: ID 2109:3431 USB2.0 Hub | Attached at port 1 (bus:1/1) | High Speed USB | |--Bus 1 Device 4: ID 135e:0022 Gira Giersiepen GmbH & Co. KG KNX-USB Data Interface | Attached at port 1 (bus:1/1/1) | Full Speed USB |--Bus 2 Device 1: ID 1d6b:0003 Linux 6.6.20+rpt-rpi-v8 xhci-hcd xHCI Host Controller S/N 0000:01:00.0 Super Speed USB 15:13:05.176 [INFO ] io.calimero.usb.provider.javax: Found 1 KNX USB devices: |--Bus 1 Device 4: ID 135e:0022 Gira Giersiepen GmbH & Co. KG KNX-USB Data Interface | Attached at port 1 (bus:1/1/1) | Full Speed USB 15:13:05.226 [TRACE ] io.calimero.usb.provider.javax.135e:0022: USB interface 00, setting 0 15:13:05.227 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 2 OUT 15:13:05.228 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN 15:13:05.229 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: Found USB device endpoint addresses OUT 0x2, IN 0x81 15:13:05.251 [DEBUG ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 004: ID 135e:0022 USB interface 00 15:13:05.260 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000001 15:13:05.270 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000010001 15:13:05.272 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130a000800020f0300000501 15:13:05.276 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000002 15:13:05.284 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000020012 15:13:05.287 [DEBUG ] io.calimero.link.135e:0022: KNX device descriptor 0 (Mask Version): 0012 - System 1 (BCU 1) 15:13:05.288 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000004 15:13:05.296 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000040008 15:13:05.299 [DEBUG ] io.calimero.link.135e:0022: KNX manufacturer code: 8 15:13:05.339 [TRACE ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus) 15:13:05.341 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000003 15:13:05.348 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130a000800020f0200000301 15:13:05.354 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010109 15:13:05.360 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010901 15:13:05.361 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010901 15:13:05.364 [INFO ] io.calimero.link.135e:0022: PEI type 1 15:13:05.366 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 17 ms 15:13:05.384 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010116 15:13:05.392 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01011600 15:13:05.393 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01011600 15:13:05.394 [DEBUG ] io.calimero.link.135e:0022: Address Table location 00 15:13:05.395 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 1 ms 15:13:05.397 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010060 15:13:05.404 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b0100601e 15:13:05.406 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b0100601e 15:13:05.412 [DEBUG ] io.calimero.link.135e:0022: current operation mode (ApplicationLayer) 15:13:05.415 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 11 ms 15:13:05.427 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010100004601010901 15:13:05.432 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 12 ms 15:13:05.445 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010109 15:13:05.454 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010901 15:13:05.455 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010901 15:13:05.457 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 5 ms 15:13:05.463 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010101 15:13:05.470 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010109 15:13:05.471 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010109 15:13:05.473 [DEBUG ] io.calimero.link.135e:0022: Base configuration flags 1001 15:13:05.474 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 12 ms 15:13:05.487 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010100004601010109 15:13:05.491 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 14 ms 15:13:05.506 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010101 15:13:05.514 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010109 15:13:05.515 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010109 15:13:05.517 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 5 ms 15:13:05.523 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010100004601006012 15:13:05.528 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 18 ms 15:13:05.547 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010060 15:13:05.554 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01006012 15:13:05.555 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01006012 15:13:05.557 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 1 ms 15:13:05.559 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010100004601011600 15:13:05.564 [TRACE ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 23 ms 15:13:05.588 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010116 15:13:05.596 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01011600 15:13:05.597 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01011600 15:13:05.598 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c020117 15:13:05.606 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130e00080006010100004b0201176663 15:13:05.607 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b0201176663 15:13:05.609 [INFO ] io.calimero.link.135e:0022: KNX individual address 6.6.99 15:13:05.617 [DEBUG ] io.calimero.link.135e:0022: hop count set to 6 15:13:05.621 [DEBUG ] io.calimero.server.gateway.knx-server: set maximum APDU length of 'Usb-6.6.0' to 15 15:13:05.629 [TRACE ] io.calimero.event: registered void io.calimero.server.gateway.KnxServerGateway$SubnetListener.connectionStatus(io.calimero.serial.ConnectionStatus) 15:13:05.631 [DEBUG ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.baosService(io.calimero.baos.BaosService) 15:13:08.231 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 1.2.84->9/1/31 L_Data.ind, low priority hop count 6, tpdu 00 80 0c 97: T_Group, A_Group.write 15:13:08.232 [TRACE ] io.calimero.server.gateway.knx-server: forward 1.2.84->9/1/31 L_Data.ind, low priority hop count 6, tpdu 00 80 0c 97 to all tunneling clients (except 1.2.84) 15:13:08.234 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->9/1/31 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 0c 97 15:13:08.237 [TRACE ] io.calimero.link.135e:0022: EMI 11 0c 00 00 49 1f d3 00 80 0c 97 15:13:08.238 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 0113130008000b01010000110c0000491fd300800c97 15:13:08.242 [TRACE ] io.calimero.link.135e:0022: send to 9/1/31 succeeded 15:13:08.276 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 0113130008000b010100004ebc6663491fd300800c97 15:13:08.277 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4ebc6663491fd300800c97 15:13:08.280 [DEBUG ] io.calimero.link.135e:0022: confirmation of 9/1/31 15:13:30.239 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00: T_Group, A_Group.read 15:13:30.240 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00 to all tunneling clients (except 6.0.55) 15:13:30.241 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 00 15:13:30.242 [TRACE ] io.calimero.link.135e:0022: EMI 11 0c 00 00 32 01 d1 00 00 15:13:30.243 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 0113110008000901010000110c00003201d10000 15:13:30.250 [TRACE ] io.calimero.link.135e:0022: send to 6/2/1 succeeded 15:13:30.254 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:13:30.256 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 to all tunneling clients (except 6.0.55) 15:13:30.257 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81 15:13:30.258 [TRACE ] io.calimero.link.135e:0022: EMI 11 0c 00 00 31 01 d1 00 81 15:13:30.260 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 0113110008000901010000110c00003101d10081 15:13:30.266 [TRACE ] io.calimero.link.135e:0022: send to 6/1/1 succeeded 15:13:30.280 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01131100080009010100004ebc66633201d10000 15:13:30.282 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4ebc66633201d10000 15:13:30.283 [DEBUG ] io.calimero.link.135e:0022: confirmation of 6/2/1 15:13:30.308 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01131100080009010100004ebc66633101d10081 15:13:30.309 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4ebc66633101d10081 15:13:30.310 [DEBUG ] io.calimero.link.135e:0022: confirmation of 6/1/1 15:13:30.326 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 011311000800090101000049bc11043201e10040 15:13:30.327 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 49bc11043201e10040 15:13:30.330 [DEBUG ] io.calimero.link.135e:0022: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 40 15:13:30.331 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 40: T_Group, A_Group.response 15:13:30.335 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 15:13:30.342 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:13:30.343 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 40 15:13:30.349 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 40 15:13:30.351 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 40 15:13:30.386 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 011311000800090101000049bc11043201e10081 15:13:30.387 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 49bc11043201e10081 15:13:30.388 [DEBUG ] io.calimero.link.135e:0022: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 81 15:13:30.390 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:13:30.391 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 15:13:30.393 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:13:30.393 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 81 15:13:30.396 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 81 15:13:30.399 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 81 15:13:35.256 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:13:35.258 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 6.0.55) 15:13:35.260 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:13:35.261 [TRACE ] io.calimero.link.135e:0022: EMI 11 0c 00 00 31 01 d1 00 80 15:13:35.263 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 0113110008000901010000110c00003101d10080 15:13:35.267 [TRACE ] io.calimero.link.135e:0022: send to 6/1/1 succeeded 15:13:35.271 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:13:35.272 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 6.0.55) 15:13:35.274 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:13:35.276 [TRACE ] io.calimero.link.135e:0022: EMI 11 0c 00 00 32 01 d1 00 80 15:13:35.277 [TRACE ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 0113110008000901010000110c00003201d10080 15:13:35.283 [TRACE ] io.calimero.link.135e:0022: send to 6/2/1 succeeded 15:13:35.297 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01131100080009010100004ebc66633101d10080 15:13:35.299 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4ebc66633101d10080 15:13:35.300 [DEBUG ] io.calimero.link.135e:0022: confirmation of 6/1/1 15:13:35.326 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01131100080009010100004ebc66633201d10080 15:13:35.327 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4ebc66633201d10080 15:13:35.329 [DEBUG ] io.calimero.link.135e:0022: confirmation of 6/2/1 15:13:35.387 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 011311000800090101000049bc11043201e10080 15:13:35.387 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 49bc11043201e10080 15:13:35.389 [DEBUG ] io.calimero.link.135e:0022: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 15:13:35.390 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:13:35.392 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 15:13:35.394 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:13:35.394 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 15:13:35.396 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 80 15:13:35.398 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 15:13:38.163 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 011311000800090101000049bc660c4902e10081 15:13:38.165 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 49bc660c4902e10081 15:13:38.167 [DEBUG ] io.calimero.link.135e:0022: indication 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 81 15:13:38.168 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:13:38.169 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/2 to all server-side connections 15:13:38.173 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:13:38.174 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 81 15:13:38.177 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 02 01 00 81 15:13:38.180 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 81 15:13:40.390 [TRACE ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 011311000800090101000049bc660c4904e10080 15:13:40.391 [DEBUG ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 49bc660c4904e10080 15:13:40.393 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 6.6.12->9/1/4 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:13:40.393 [DEBUG ] io.calimero.link.135e:0022: indication 6.6.12->9/1/4 L_Data.ind, low priority hop count 6, tpdu 00 80 15:13:40.395 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/4 to all server-side connections 15:13:40.398 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:13:40.401 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/4 L_Data.ind, low priority hop count 5, tpdu 00 80 15:13:40.404 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 04 01 00 80 15:13:40.407 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/4 L_Data.ind, low priority hop count 5, tpdu 00 80 ^C15:13:46.751 [DEBUG ] java.lang.Runtime: Runtime.exit() called with status: 130 java.lang.Throwable: Runtime.exit(130) at java.base/java.lang.Shutdown.logRuntimeExit(Unknown Source) at java.base/java.lang.Shutdown.exit(Unknown Source) at java.base/java.lang.Terminator$1.handle(Unknown Source) at java.base/jdk.internal.misc.Signal$1.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) 15:13:46.762 [INFO ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown 15:13:46.775 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint 15:13:46.777 [INFO ] io.calimero.server.knx-server: knx-server discovery endpoint closed 15:13:46.782 [DEBUG ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): close connection - user request 15:13:46.784 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server routing service 224.0.23.12 15:13:46.784 [INFO ] io.calimero.server.knx-server: knx-server routing service 224.0.23.12 closed 15:13:46.785 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server control endpoint Usb-6.6.0 15:13:46.785 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP routing service (wlan0 224.0.23.12) (user request) 15:13:46.786 [INFO ] io.calimero.server.knx-server: knx-server control endpoint Usb-6.6.0 closed 15:13:46.791 [DEBUG ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml 15:13:46.794 [DEBUG ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml 15:13:46.801 [TRACE ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter ```
UART: (I think I forgot to capture logs of the actual discovery…) ``` WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads 15:22:17.424 [TRACE ] io.calimero.xml.XmlResolver: resolve server-config.xml 15:22:17.428 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 15:22:17.678 [TRACE ] io.calimero.xml.XmlResolver: resolve jar:file:///usr/app/calimero-server-3.0-SNAPSHOT/lib/calimero-core-3.0-SNAPSHOT.jar!/properties.xml 15:22:17.686 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 15:22:17.869 [DEBUG ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml 15:22:17.872 [TRACE ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml 15:22:17.874 [DEBUG ] io.calimero.device.knx-server: no interface object server resource, create resource on closing device: /usr/app/knx-server-ios.xml (No such file or directory) 15:22:17.963 [INFO ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT 15:22:18.024 [INFO ] io.calimero.server.knx-server: use configuration 'Calimero KNX' with 1 service container, discovery: listen on [wlan0] send on [wlan0] interfaces service container /dev/ttyAMA0: server: listen on wlan0 (port 3671), KNX IP routing multicast group 224.0.23.12 Tpuart /dev/ttyAMA0 connection: TP1 medium, device 6.6.0 15:22:18.048 [DEBUG ] io.calimero.server.knx-server: setup Tpuart subnet '/dev/ttyAMA0' 15:22:18.079 [TRACE ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116 15:22:18.080 [TRACE ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000 15:22:18.082 [TRACE ] io.calimero.device.knx-server: sync Group Object Table Object from address 0x3000 15:22:18.223 [TRACE ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown 15:22:18.249 [DEBUG ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: join multicast group 224.0.23.12 on wlan0 15:22:18.254 [TRACE ] io.calimero.server.knx-server: /dev/ttyAMA0 control endpoint bound to 192.168.31.21:3671 15:22:18.256 [TRACE ] io.calimero.server.knx-server: found network interfaces wlan0 [192.168.31.21] 15:22:18.256 [INFO ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled 15:22:18.259 [INFO ] io.calimero.server.knx-server: discovery endpoint [wlan0] is up and running 15:22:18.268 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 KNX IP routing service (wlan0 224.0.23.12) is up and running 15:22:18.274 [TRACE ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.serial.provider.jni.TtySerialComProvider 15:22:18.280 [TRACE ] io.calimero.serial.provider.jni: check Java library path /usr/lib/jvm/jdk-21/lib/custom:/usr/lib/jvm/jdk-21/lib:/usr/lib/jvm/jdk-21/../lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib 15:22:18.285 [DEBUG ] io.calimero.serial.provider.jni: opening serial port /dev/ttyAMA0 15:22:18.291 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 secure mgmt/tunneling connections: optional/optional 15:22:18.309 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 tcp service (wlan0 192.168.31.21:3671) is up and running 15:22:18.312 [INFO ] io.calimero.server.knx-server: /dev/ttyAMA0 control endpoint (wlan0 192.168.31.21:3671) is up and running 15:22:18.327 [DEBUG ] io.calimero.serial.ConnectionFactory: io.calimero.serial.provider.jni.TtySerialComProvider@6973b51b port setup: baudrate 19200, even parity, 8 databits, 1 stopbits, timeouts: read 0 read total 0 constant 100 write total 0 write constant 0 15:22:18.335 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: reset TP-UART controller 15:22:18.338 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: drained rx queue (0 bytes) 15:22:18.338 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART reset.ind 15:22:18.340 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,032 us 15:22:18.343 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: wait for initial TP-UART state 15:22:18.359 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 15:22:18.361 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 166 us 15:22:18.369 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: hop count set to 6 15:22:18.372 [DEBUG ] io.calimero.server.gateway.knx-server: set maximum APDU length of '/dev/ttyAMA0' to 15 15:22:18.414 [DEBUG ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.connectionStatus(io.calimero.serial.ConnectionStatus) 15:22:18.416 [DEBUG ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.baosService(io.calimero.baos.BaosService) 15:22:23.372 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,011,847 us 15:22:23.374 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 15:22:23.376 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 361 us … 15:24:13.640 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 5,011,736 us 15:24:13.641 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 15:24:13.642 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 259 us 15:24:16.997 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00: T_Group, A_Group.read 15:24:16.998 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00 to all tunneling clients (except 6.0.55) 15:24:17.005 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 6.0.55->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 00 15:24:17.006 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 6.0.55->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 00 15:24:17.010 [TRACE ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 60 37 32 01 01 00 00 15:24:17.014 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 60 82 37 83 32 84 01 85 d1 86 00 87 00 48 f6 15:24:17.016 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con 15:24:17.039 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 3,396,048 us 15:24:17.051 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.053 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 268 us 15:24:17.055 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 15,955 us 15:24:17.057 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 98 us 15:24:17.058 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 6.0.55->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 00 15:24:17.059 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 53 us 15:24:17.062 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 60 37 32 01 d1 00 00 f6 15:24:17.063 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 6.0.55->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 00: T_Group, A_Group.read 15:24:17.064 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc d0 60 37 32 01 01 00 00 15:24:17.064 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:24:17.066 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 8,748 us 15:24:17.067 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: confirmation of 6/2/1 15:24:17.068 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: positive L_Data.con 15:24:17.070 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.0.55->6/2/1 to all server-side connections 15:24:17.066 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 to all tunneling clients (except 6.0.55) 15:24:17.073 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 6.0.55->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81 15:24:17.071 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 2e 00 bc d0 60 37 32 01 01 00 00 15:24:17.074 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 6.0.55->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81 15:24:17.076 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: ACK received after 26 ms 15:24:17.078 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 7,743 us 15:24:17.080 [TRACE ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 60 37 31 01 01 00 81 15:24:17.081 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 40 15:24:17.081 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.085 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 85 us 15:24:17.087 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.0.55->6/2/1 L_Data.ind, low priority hop count 4, tpdu 00 00 15:24:17.086 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:17.089 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 11,967 us 15:24:17.093 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 40: T_Group, A_Group.response 15:24:17.092 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 110 us 15:24:17.095 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc c0 60 37 32 01 01 00 00 15:24:17.096 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 15:24:17.097 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 52 us 15:24:17.100 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.0.55->6/2/1 L_Data.ind, low priority hop count 4, tpdu 00 00 15:24:17.099 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 11 04 32 01 e1 00 40 c4 15:24:17.102 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 40 15:24:17.101 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:17.102 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc e0 11 04 32 01 01 00 40 15:24:17.103 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 60 82 37 83 31 84 01 85 d1 86 00 87 81 48 74 15:24:17.103 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 40 15:24:17.104 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,000 us 15:24:17.105 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.106 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 88 us 15:24:17.106 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 40 15:24:17.106 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 16,581 us 15:24:17.107 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 72 us 15:24:17.108 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 24 us 15:24:17.109 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 40 e4 15:24:17.110 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:17.111 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 147 us 15:24:17.115 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.116 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 58 us 15:24:17.117 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 10,635 us 15:24:17.118 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 70 us 15:24:17.119 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 23 us 15:24:17.120 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 40 e4 15:24:17.120 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:17.121 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 72 us 15:24:17.131 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.132 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 59 us 15:24:17.133 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 10,558 us 15:24:17.134 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 48 us 15:24:17.135 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 24 us 15:24:17.136 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 40 e4 15:24:17.137 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:17.138 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 72 us 15:24:17.147 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: UART ready for sending after 64,308 us 15:24:17.148 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con 15:24:17.183 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/1/1 15:24:17.183 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 6.0.55->6/1/1 L_Data.ind, low priority hop count 5, tpdu 00 81 15:24:17.184 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: confirmation of 6/1/1 15:24:17.184 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 43 us 15:24:17.185 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 16,038 us 15:24:17.185 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 6.0.55->6/1/1 L_Data.ind, low priority hop count 5, tpdu 00 81: T_Group, A_Group.write 15:24:17.186 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 32 us 15:24:17.188 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.0.55->6/1/1 to all server-side connections 15:24:17.187 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 22 us 15:24:17.189 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 60 37 31 01 d1 00 81 74 15:24:17.190 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:17.190 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc d0 60 37 31 01 01 00 81 15:24:17.191 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.0.55->6/1/1 L_Data.ind, low priority hop count 4, tpdu 00 81 15:24:17.192 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 690 us 15:24:17.192 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc c0 60 37 31 01 01 00 81 15:24:17.193 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: positive L_Data.con 15:24:17.194 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 2e 00 bc d0 60 37 31 01 01 00 81 15:24:17.195 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.0.55->6/1/1 L_Data.ind, low priority hop count 4, tpdu 00 81 15:24:17.195 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: ACK received after 17 ms 15:24:17.196 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 701 us 15:24:17.267 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.267 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 81 15:24:17.268 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 38 us 15:24:17.269 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 10,623 us 15:24:17.269 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:24:17.270 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 33 us 15:24:17.270 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 15:24:17.271 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 21 us 15:24:17.272 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 11 04 32 01 e1 00 81 05 15:24:17.273 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:17.273 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc e0 11 04 32 01 01 00 81 15:24:17.274 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 81 15:24:17.274 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 1,339 us 15:24:17.276 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 81 15:24:17.277 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 81 15:24:17.283 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.284 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 60 us 15:24:17.285 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 14,582 us 15:24:17.286 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 68 us 15:24:17.287 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 23 us 15:24:17.288 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 81 25 15:24:17.289 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:17.290 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 65 us 15:24:17.303 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.304 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 89 us 15:24:17.305 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 14,665 us 15:24:17.306 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 59 us 15:24:17.307 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 22 us 15:24:17.308 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 81 25 15:24:17.309 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:17.310 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 63 us 15:24:17.323 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:17.324 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 62 us 15:24:17.325 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 19,841 us 15:24:17.325 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 80 us 15:24:17.326 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 23 us 15:24:17.328 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 81 25 15:24:17.328 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:17.329 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 69 us 15:24:18.651 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 1,327,627 us 15:24:18.652 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 15:24:18.653 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 106 us 15:24:21.991 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:24:21.991 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 6.0.55) 15:24:21.992 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 6.0.55->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:24:21.993 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 6.0.55->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:24:21.993 [TRACE ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 60 37 31 01 01 00 80 15:24:21.994 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 60 82 37 83 31 84 01 85 d1 86 00 87 80 48 75 15:24:21.995 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con 15:24:22.019 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 3,363,961 us 15:24:22.031 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/1/1 15:24:22.031 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 6.0.55->6/1/1 L_Data.ind, low priority hop count 5, tpdu 00 80 15:24:22.032 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 33 us 15:24:22.033 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 16,075 us 15:24:22.034 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 61 us 15:24:22.032 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: confirmation of 6/1/1 15:24:22.035 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 22 us 15:24:22.036 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 60 37 31 01 d1 00 80 75 15:24:22.037 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 6.0.55->6/1/1 L_Data.ind, low priority hop count 5, tpdu 00 80: T_Group, A_Group.write 15:24:22.037 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc d0 60 37 31 01 01 00 80 15:24:22.037 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:24:22.038 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 731 us 15:24:22.038 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.0.55->6/1/1 to all server-side connections 15:24:22.038 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: positive L_Data.con 15:24:22.039 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 6.0.55) 15:24:22.040 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.0.55->6/1/1 L_Data.ind, low priority hop count 4, tpdu 00 80 15:24:22.039 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:22.039 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 2e 00 bc d0 60 37 31 01 01 00 80 15:24:22.041 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet /dev/ttyAMA0: 6.0.55->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:24:22.043 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: ACK received after 19 ms 15:24:22.043 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 3,029 us 15:24:22.044 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc c0 60 37 31 01 01 00 80 15:24:22.043 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: send (wait for confirmation) 6.0.55->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:24:22.046 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.0.55->6/1/1 L_Data.ind, low priority hop count 4, tpdu 00 80 15:24:22.046 [TRACE ] io.calimero.link.tpuart:/dev/ttyAMA0: send cEMI 11 00 bc d0 60 37 32 01 01 00 80 15:24:22.048 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: create UART services 80 bc 81 60 82 37 83 32 84 01 85 d1 86 00 87 80 48 76 15:24:22.051 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: UART ready for sending after 2,872 us 15:24:22.051 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: write UART services, waiting for .con 15:24:22.087 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 6.0.55->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 15:24:22.088 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 6.0.55->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80: T_Group, A_Group.write 15:24:22.088 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: confirmation of 6/2/1 15:24:22.088 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.0.55->6/2/1 to all server-side connections 15:24:22.088 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:22.090 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 34 us 15:24:22.090 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:22.091 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.0.55->6/2/1 L_Data.ind, low priority hop count 4, tpdu 00 80 15:24:22.092 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 16,033 us 15:24:22.093 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc c0 60 37 32 01 01 00 80 15:24:22.093 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 29 us 15:24:22.095 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.0.55->6/2/1 L_Data.ind, low priority hop count 4, tpdu 00 80 15:24:22.097 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 21 us 15:24:22.099 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 60 37 32 01 d1 00 80 76 15:24:22.101 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc d0 60 37 32 01 01 00 80 15:24:22.102 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 760 us 15:24:22.103 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: positive L_Data.con 15:24:22.104 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 2e 00 bc d0 60 37 32 01 01 00 80 15:24:22.106 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: ACK received after 17 ms 15:24:22.107 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 649 us 15:24:22.167 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:22.168 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 15:24:22.169 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 80 us 15:24:22.169 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:24:22.170 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 11,878 us 15:24:22.170 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 15:24:22.171 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 65 us 15:24:22.172 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 53 us 15:24:22.174 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 11 04 32 01 e1 00 80 04 15:24:22.175 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:22.175 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 15:24:22.177 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc e0 11 04 32 01 01 00 80 15:24:22.180 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 1,050 us 15:24:22.180 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 80 15:24:22.184 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 15:24:22.191 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:22.193 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 234 us 15:24:22.195 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 22,785 us 15:24:22.196 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 117 us 15:24:22.198 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 58 us 15:24:22.199 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 80 24 15:24:22.200 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:22.201 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 146 us 15:24:22.204 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:22.205 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 55 us 15:24:22.206 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 11,541 us 15:24:22.207 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 92 us 15:24:22.209 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 38 us 15:24:22.210 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 80 24 15:24:22.211 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:22.212 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 104 us 15:24:22.219 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: write ACK (0x11) for 6/2/1 15:24:22.220 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 91 us 15:24:22.221 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 15,681 us 15:24:22.222 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 89 us 15:24:22.223 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 35 us 15:24:22.225 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): 9c 11 04 32 01 e1 00 80 24 15:24:22.225 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: ignore repetition of directly preceding correctly received frame 15:24:22.226 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 99 us 15:24:23.664 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 1,443,532 us 15:24:23.664 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: TP-UART status: Temp. OK 15:24:23.666 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 240 us 15:24:24.437 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 769,804 us 15:24:24.437 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 80 15:24:24.438 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 73 us 15:24:24.440 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 3,222 us 15:24:24.441 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 60 us 15:24:24.443 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 51 us 15:24:24.443 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:24:24.444 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 66 0c 49 02 e1 00 80 03 15:24:24.445 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/2 to all server-side connections 15:24:24.446 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc e0 66 0c 49 02 01 00 80 15:24:24.447 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,002 us 15:24:24.449 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:24.450 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 80 15:24:24.453 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 02 01 00 80 15:24:24.455 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 80 15:24:25.525 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: receiver woke from extended idle period of 1,082,516 us 15:24:25.526 [DEBUG ] io.calimero.link.tpuart:/dev/ttyAMA0: indication 6.6.12->9/1/4 L_Data.ind, low priority hop count 6, tpdu 00 81 15:24:25.526 [TRACE ] io.calimero.server.gateway.knx-server: subnet /dev/ttyAMA0: 6.6.12->9/1/4 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:24:25.527 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: finished reading 5 bytes after 73 us 15:24:25.529 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 4,126 us 15:24:25.529 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/4 to all server-side connections 15:24:25.531 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 58 us 15:24:25.532 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet /dev/ttyAMA0 15:24:25.532 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 51 us 15:24:25.533 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/4 L_Data.ind, low priority hop count 5, tpdu 00 81 15:24:25.534 [DEBUG ] io.calimero.serial.tpuart:/dev/ttyAMA0: received TP1 L-Data (length 9): bc 66 0c 49 04 e1 00 81 04 15:24:25.535 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: cEMI (length 11): 29 00 bc e0 66 0c 49 04 01 00 81 15:24:25.536 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 04 01 00 81 15:24:25.537 [TRACE ] io.calimero.serial.tpuart:/dev/ttyAMA0: loop time = 2,624 us 15:24:25.539 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/4 L_Data.ind, low priority hop count 5, tpdu 00 81 ```
The second China USB, just in case: ``` WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads 15:38:26.455 [TRACE ] io.calimero.xml.XmlResolver: resolve server-config.xml 15:38:26.458 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 15:38:26.750 [TRACE ] io.calimero.xml.XmlResolver: resolve jar:file:///usr/app/calimero-server-3.0-SNAPSHOT/lib/calimero-core-3.0-SNAPSHOT.jar!/properties.xml 15:38:26.759 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 15:38:26.925 [DEBUG ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml 15:38:26.928 [TRACE ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml 15:38:26.931 [DEBUG ] io.calimero.device.knx-server: no interface object server resource, create resource on closing device: /usr/app/knx-server-ios.xml (No such file or directory) 15:38:26.977 [INFO ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT 15:38:27.026 [INFO ] io.calimero.server.knx-server: use configuration 'Calimero KNX' with 1 service container, discovery: listen on [wlan0] send on [wlan0] interfaces service container Usb-6.6.0: server: listen on wlan0 (port 3671), KNX IP routing multicast group 224.0.23.12 Usb connection: TP1 medium, device 6.6.0 15:38:27.051 [DEBUG ] io.calimero.server.knx-server: setup Usb subnet 'Usb-6.6.0' 15:38:27.078 [TRACE ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116 15:38:27.080 [TRACE ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000 15:38:27.081 [TRACE ] io.calimero.device.knx-server: sync Group Object Table Object from address 0x3000 15:38:27.213 [TRACE ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown 15:38:27.240 [DEBUG ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: join multicast group 224.0.23.12 on wlan0 15:38:27.243 [TRACE ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint bound to 192.168.31.21:3671 15:38:27.246 [INFO ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled 15:38:27.247 [TRACE ] io.calimero.server.knx-server: found network interfaces wlan0 [192.168.31.21] 15:38:27.248 [TRACE ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider 15:38:27.250 [INFO ] io.calimero.server.knx-server: discovery endpoint [wlan0] is up and running 15:38:27.260 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 KNX IP routing service (wlan0 224.0.23.12) is up and running 15:38:27.268 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 secure mgmt/tunneling connections: optional/optional 15:38:27.286 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 tcp service (wlan0 192.168.31.21:3671) is up and running 15:38:27.290 [INFO ] io.calimero.server.knx-server: Usb-6.6.0 control endpoint (wlan0 192.168.31.21:3671) is up and running 15:38:27.466 [DEBUG ] io.calimero.usb.provider.javax: Attached USB devices: Root hub |--Bus 1 Device 1: ID 1d6b:0002 Linux 6.6.20+rpt-rpi-v8 xhci-hcd xHCI Host Controller S/N 0000:01:00.0 | High Speed USB | |--Bus 1 Device 2: ID 2109:3431 USB2.0 Hub | Attached at port 1 (bus:1/1) | High Speed USB | |--Bus 1 Device 3: ID 145c:1490 KNX USB KNX USB 1518for8C09VG22 | Attached at port 1 (bus:1/1/1) | Full Speed USB |--Bus 2 Device 1: ID 1d6b:0003 Linux 6.6.20+rpt-rpi-v8 xhci-hcd xHCI Host Controller S/N 0000:01:00.0 Super Speed USB 15:38:27.472 [INFO ] io.calimero.usb.provider.javax: Found 1 KNX USB devices: |--Bus 1 Device 3: ID 145c:1490 KNX USB KNX USB 1518for8C09VG22 | Attached at port 1 (bus:1/1/1) | Full Speed USB 15:38:27.519 [TRACE ] io.calimero.usb.provider.javax.145c:1490: USB interface 00, setting 0 15:38:27.520 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 OUT 15:38:27.521 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN 15:38:27.522 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: Found USB device endpoint addresses OUT 0x1, IN 0x81 15:38:27.547 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 0113090008000101010000a0 15:38:27.547 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01131000080008010100004e00000000000000 15:38:27.549 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame a0 15:38:27.549 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4e00000000000000 15:38:27.554 [DEBUG ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 003: ID 145c:1490 USB interface 00 15:38:27.560 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000001 15:38:27.568 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130b000800030f020000010001 15:38:27.570 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130a000800020f0300000501 15:38:27.576 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000002 15:38:29.082 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000004 15:38:30.653 [TRACE ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus) 15:38:30.654 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000003 15:38:30.661 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130a000800020f0200000301 15:38:30.672 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010109 15:38:30.681 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01010901 15:38:30.682 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01010901 15:38:30.685 [INFO ] io.calimero.link.145c:1490: PEI type 1 15:38:30.687 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 14 ms 15:38:30.702 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010116 15:38:30.710 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01011600 15:38:30.711 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01011600 15:38:30.712 [DEBUG ] io.calimero.link.145c:1490: Address Table location 00 15:38:30.714 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 3 ms 15:38:30.718 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010060 15:38:30.724 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01006012 15:38:30.725 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01006012 15:38:30.728 [DEBUG ] io.calimero.link.145c:1490: current operation mode (LinkLayer) 15:38:30.731 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 13 ms 15:38:30.745 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601010901 15:38:30.750 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 10 ms 15:38:30.761 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010109 15:38:30.769 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01010901 15:38:30.770 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01010901 15:38:30.772 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 9 ms 15:38:30.782 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010101 15:38:31.788 [WARNING] io.calimero.link.145c:1490: timeout setting busmonitor config (expected service confirmation msg code 0x4b) 15:38:31.789 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601006012 15:38:31.794 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 25 ms 15:38:31.819 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010060 15:38:31.825 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01006012 15:38:31.826 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01006012 15:38:31.827 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601011600 15:38:31.832 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 24 ms 15:38:31.857 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010116 15:38:31.861 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01011600 15:38:31.862 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01011600 15:38:31.864 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c020117 15:38:31.870 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130e00080006010100004b0201176063 15:38:31.871 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b0201176063 15:38:31.872 [INFO ] io.calimero.link.145c:1490: KNX individual address 6.0.99 15:38:31.881 [DEBUG ] io.calimero.link.145c:1490: hop count set to 6 15:38:31.885 [DEBUG ] io.calimero.server.gateway.knx-server: set maximum APDU length of 'Usb-6.6.0' to 15 15:38:31.893 [TRACE ] io.calimero.event: registered void io.calimero.server.gateway.KnxServerGateway$SubnetListener.connectionStatus(io.calimero.serial.ConnectionStatus) 15:38:31.894 [DEBUG ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.baosService(io.calimero.baos.BaosService) 15:38:43.012 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00: T_Group, A_Group.read 15:38:43.014 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 00 to all tunneling clients (except 6.0.55) 15:38:43.018 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 00 15:38:43.023 [TRACE ] io.calimero.link.145c:1490: EMI 11 0c 00 00 32 01 d1 00 00 15:38:43.025 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901010000110c00003201d10000 15:38:43.031 [TRACE ] io.calimero.link.145c:1490: send to 6/2/1 succeeded 15:38:43.035 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:38:43.036 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 to all tunneling clients (except 6.0.55) 15:38:43.038 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81 15:38:43.039 [TRACE ] io.calimero.link.145c:1490: EMI 11 0c 00 00 31 01 d1 00 81 15:38:43.041 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901010000110c00003101d10081 15:38:43.048 [TRACE ] io.calimero.link.145c:1490: send to 6/1/1 succeeded 15:38:48.008 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:38:48.009 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 6.0.55) 15:38:48.011 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:38:48.012 [TRACE ] io.calimero.link.145c:1490: EMI 11 0c 00 00 31 01 d1 00 80 15:38:48.014 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901010000110c00003101d10080 15:38:48.019 [TRACE ] io.calimero.link.145c:1490: send to 6/1/1 succeeded 15:38:48.021 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:38:48.023 [TRACE ] io.calimero.server.gateway.knx-server: forward 6.0.55->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 6.0.55) 15:38:48.024 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.6.0: 6.6.0->6/2/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 15:38:48.025 [TRACE ] io.calimero.link.145c:1490: EMI 11 0c 00 00 32 01 d1 00 80 15:38:48.027 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113110008000901010000110c00003201d10080 15:38:48.033 [TRACE ] io.calimero.link.145c:1490: send to 6/2/1 succeeded 15:38:51.555 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc660c4902e10081 15:38:51.556 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc660c4902e10081 15:38:51.560 [DEBUG ] io.calimero.link.145c:1490: indication 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 81 15:38:51.561 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 15:38:51.565 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/2 to all server-side connections 15:38:51.575 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:38:51.578 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 81 15:38:51.585 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 02 01 00 81 15:38:51.589 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 81 15:38:52.538 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc660c4903e10080 15:38:52.539 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc660c4903e10080 15:38:52.541 [DEBUG ] io.calimero.link.145c:1490: indication 6.6.12->9/1/3 L_Data.ind, low priority hop count 6, tpdu 00 80 15:38:52.542 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.6.0: 6.6.12->9/1/3 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 15:38:52.544 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/3 to all server-side connections 15:38:52.547 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.6.0 15:38:52.549 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/3 L_Data.ind, low priority hop count 5, tpdu 00 80 15:38:52.553 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 03 01 00 80 15:38:52.557 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/3 L_Data.ind, low priority hop count 5, tpdu 00 80 ^C15:38:56.070 [DEBUG ] java.lang.Runtime: Runtime.exit() called with status: 130 java.lang.Throwable: Runtime.exit(130) at java.base/java.lang.Shutdown.logRuntimeExit(Unknown Source) at java.base/java.lang.Shutdown.exit(Unknown Source) at java.base/java.lang.Terminator$1.handle(Unknown Source) at java.base/jdk.internal.misc.Signal$1.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) 15:38:56.082 [INFO ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown 15:38:56.099 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint 15:38:56.100 [INFO ] io.calimero.server.knx-server: knx-server discovery endpoint closed 15:38:56.104 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server control endpoint Usb-6.6.0 15:38:56.104 [DEBUG ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): close connection - user request 15:38:56.104 [INFO ] io.calimero.server.knx-server: knx-server control endpoint Usb-6.6.0 closed 15:38:56.105 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server routing service 224.0.23.12 15:38:56.106 [INFO ] io.calimero.server.knx-server: knx-server routing service 224.0.23.12 closed 15:38:56.107 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP routing service (wlan0 224.0.23.12) (user request) 15:38:56.110 [DEBUG ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml 15:38:56.114 [DEBUG ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml 15:38:56.120 [TRACE ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter ```

In your config you use 3 additional addresses, which is on the low side if you also want ETS to connect, and test things, or have software which quickly connects/disconnects (or forgets to disconnect).

I intentionally set a low amount to know about potential problems. Even if I'd set 100 of them, if there is a permanent leak of addresses – the list would become exhausted anyway! Do you think I should give, for example, 16 – and then test a lot of simultaneous connections to confirm reliability? The estimation is "at most this many connections must exist at any given time, including those that were abruptly closed less than 30 seconds ago", right?

Is this a new thing? Or is this related to before with the dangling connection of another client? (Because I did work around that.)

I think this is older one… When I could not reconnect KNXUltimate back to Calimero (cannot remember the exact scenario) By the way, can you tell a bit more about the disruption buffer? Specifically, why are you tracking by source porn numbers and not by source IP address? I think tracking by IP (or by IP&port) is more logical and reliable than by the port alone, because there is also a change that the port might accidentally coincide.

Yes, using busmonitor and link-layer at the same time requires two different KNX HW modules. So unless you are interested in the ACKs etc., the ETS group monitor or bus activity tab is sufficient, and does work with other clients.

Wait, there are Group Monitor and Bus Monitor under Monitor section in the Bus tab of ETS. Is this "Bus Monitor" what we're talking about?

Then why and how it works in Routing mode, when I choose my local adapter rather than IP or USB interfaces to use? Or ETS just emulates a bus monitoring when multicasting?

bmalinowsky commented 4 months ago

Re GIRA: I did not change anything wrt the USB reception side, so the reason for the appearance and absence of those 0 packets is still unknown to me.

Re China USB: you can try if busmonitor mode now works, since the init is OK! (In ETS you have to open a tunneling connection.) Busmonitor also does not send anything.

Disruption buffer: Both source IP and port are used. The configurable UDP port range per host is used to allow configuration based on the client OS (which usually has reserved port ranges, assigns preferred ports, etc.) and number of client apps on that host which want to use a disruption buffer. This is no estimate, this is a strict limit on concurrent connections that qualify for "subscribing" to having frames replayed. (Any connection from the same client host which uses a different source port is not getting that treatment.) So, you can have many more connections from the same host, only the ones in the port range (I use 5555-5559 in my example) are considered, and only if you reconnect using the same source port. (The 30 seconds is configurable, it concerns the replay timeout. If you reconnect on -- say port 5555 -- after 30 seconds from the same host, there won't be a replay.) Configuring a static source IP address could be an option, I did not do that because of DHCP. (The Calimero server also detects IP address changes, and will adjust its own IP address.)

Re logs for testing:

In the ETS extended log, there are the USB commands, so that log is fine. And it does help, because I can double check what is going on.

Anyway, if TP-UART and GIRA are working, there is no need to collect any more logs.

Even if I'd set 100 of them, if there is a permanent leak of addresses – the list would become exhausted anyway! Do you think I should give, for example, 16 – and then test a lot of simultaneous connections to confirm reliability?

That's true, you can always exhaust tunneling connections, if you quickly enough create new connections (and don't close the old ones. -- If you think about it, such limit is also a good thing, because the KNX bus is quite limited in load). The KNXnet/IP protocol works as such that idle connections (i.e., no messages were sent) are probed by Calimero (server-side) after 1 minute, and subsequently closed if there is no response (from the client). So additional addresses will be freed after some time. There should not be a leak.

Wait, there are Group Monitor and Bus Monitor under Monitor section in the Bus tab of ETS.

Busmonitor only does what you think if you open a tunneling connection. With routing, it will show you standard messages (or nothing(?) depending on ETS). In the right detail pane, a busmonitor message is identified by busmon.ind. And when you try to open both a tunneling connection in group mon and bus mon for the same endpoint (i.e. hardware), one of them won't work, which is expected.

For the China sticks, I have one last idea: there are some bits set in the frame which are reserved by the spec (also when receiving). I cannot interpret them, but anyway I modified my own frames to also have those bits set. You can try the new images. In the end, I went through the whole frame bytes, and there are no other bit differences. And I know it works because the GIRA stick is doing fine.

aleksusklim commented 4 months ago

You can try the new images

I think it is working now!

Both receiving and sending works, with China and HAT. Both in Tunneling and Routing modes, but.

Strange thing is, my KNXUltimate still fails to get use of sending in multicast mode, only receiving is working. What I have noticed (with Raspberry PI 3) so far:

I suspect a problem on my side, but I don't know where. I checked my Wi-Fi adapter settings and realized I had a wrong netmask assigned (it should be 255.255.240.0 for my particular LAN setup), but fixing this gave nothing.

I will reinstall Raspbian from scratch again, and then collect clean logs as well as perform load tests to check reliability of tunneling connections.

Both source IP and port are used.

This is no estimate, this is a strict limit on concurrent connections that qualify for "subscribing" to having frames replayed.

If computer A connects from port 5555, and then computer B connects from port 5555 too – so, for B it would be a different disruption buffer or what? If yes, then it does not look like the port range defines a strict limit.


Logs of USB success (writes are sent from Logic Machine): ``` alpi@rpi3:~ $ sudo docker run --name my_knx --rm --tty --net host --privileged --volume /srv/my/dock/app/server-config.xml:/usr/app/server-config.xml --volume /dev/bus/usb/:/dev/bus/usb/ calimeroproject/knxserver -vvv --no-stdin server-config.xml WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads 14:57:31.939 [TRACE ] io.calimero.xml.XmlResolver: resolve server-config.xml 14:57:31.948 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 14:57:32.969 [TRACE ] io.calimero.xml.XmlResolver: resolve jar:file:///usr/app/calimero-server-3.0-SNAPSHOT/lib/calimero-core-3.0-SNAPSHOT.jar!/properties.xml 14:57:32.989 [TRACE ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader 14:57:33.298 [DEBUG ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml 14:57:33.307 [TRACE ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml 14:57:33.313 [DEBUG ] io.calimero.device.knx-server: no interface object server resource, create resource on closing device: /usr/app/knx-server-ios.xml (No such file or directory) 14:57:33.428 [INFO ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT 14:57:33.559 [INFO ] io.calimero.server.knx-server: use configuration 'Calimero KNX' with 1 service container, discovery: listen on [wlan0] send on [wlan0] interfaces service container Usb-6.0.0: server: listen on wlan0 (port 3671), KNX IP routing multicast group 224.0.23.12 Usb connection: TP1 medium, device 6.0.0 14:57:33.630 [DEBUG ] io.calimero.server.knx-server: setup Usb subnet 'Usb-6.0.0' 14:57:33.717 [TRACE ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116 14:57:33.720 [TRACE ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000 14:57:33.725 [TRACE ] io.calimero.device.knx-server: sync Group Object Table Object from address 0x3000 14:57:33.999 [TRACE ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown 14:57:34.055 [DEBUG ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: join multicast group 224.0.23.12 on wlan0 14:57:34.062 [TRACE ] io.calimero.server.knx-server: found network interfaces wlan0 [192.168.28.184] 14:57:34.092 [INFO ] io.calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled 14:57:34.095 [TRACE ] io.calimero.server.knx-server: Usb-6.0.0 control endpoint bound to 192.168.28.184:3671 14:57:34.101 [INFO ] io.calimero.server.knx-server: discovery endpoint [wlan0] is up and running 14:57:34.105 [TRACE ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider 14:57:34.126 [INFO ] io.calimero.server.knx-server: Usb-6.0.0 KNX IP routing service (wlan0 224.0.23.12) is up and running 14:57:34.197 [INFO ] io.calimero.server.knx-server: Usb-6.0.0 secure mgmt/tunneling connections: optional/optional 14:57:34.243 [INFO ] io.calimero.server.knx-server: Usb-6.0.0 tcp service (wlan0 192.168.28.184:3671) is up and running 14:57:34.254 [INFO ] io.calimero.server.knx-server: Usb-6.0.0 control endpoint (wlan0 192.168.28.184:3671) is up and running 14:57:34.512 [DEBUG ] io.calimero.usb.provider.javax: Attached USB devices: Root hub |--Bus 1 Device 1: ID 1d6b:0002 Linux 6.6.20+rpt-rpi-v7 dwc_otg_hcd DWC OTG Controller S/N 3f980000.usb High Speed USB |--Bus 1 Device 2: ID 0424:9514 Attached at port 1 (bus:1/1) High Speed USB |--Bus 1 Device 3: ID 0424:ec00 | Attached at port 1 (bus:1/1/1) | High Speed USB |--Bus 1 Device 4: ID 145c:1490 KNX USB KNX USB 1518for8C09VG22 Attached at port 3 (bus:1/1/3) Full Speed USB 14:57:34.527 [INFO ] io.calimero.usb.provider.javax: Found 1 KNX USB devices: |--Bus 1 Device 4: ID 145c:1490 KNX USB KNX USB 1518for8C09VG22 | Attached at port 3 (bus:1/1/3) | Full Speed USB 14:57:34.568 [TRACE ] io.calimero.usb.provider.javax.145c:1490: USB interface 00, setting 0 14:57:34.572 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 OUT 14:57:34.575 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN 14:57:34.579 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: Found USB device endpoint addresses OUT 0x1, IN 0x81 14:57:34.606 [DEBUG ] io.calimero.serial.ConnectionFactory: usb4java connection provider port setup: Bus 001 Device 004: ID 145c:1490 USB interface 00 14:57:34.638 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000001 14:57:34.654 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130b000800030f020000010001 14:57:34.659 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130a000800020f0300000501 14:57:34.667 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000002 14:57:36.176 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000004 14:57:37.772 [TRACE ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus) 14:57:37.774 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011309000800010f01000003 14:57:37.781 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130a000800020f0200000301 14:57:37.791 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010109 14:57:37.799 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01010901 14:57:37.800 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01010901 14:57:37.804 [INFO ] io.calimero.link.145c:1490: PEI type 1 14:57:37.806 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 14 ms 14:57:37.821 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010116 14:57:37.829 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01011600 14:57:37.831 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01011600 14:57:37.833 [DEBUG ] io.calimero.link.145c:1490: Address Table location 00 14:57:37.836 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 1 ms 14:57:37.839 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010060 14:57:37.846 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01006012 14:57:37.848 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01006012 14:57:37.854 [DEBUG ] io.calimero.link.145c:1490: current operation mode (LinkLayer) 14:57:37.858 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 8 ms 14:57:37.869 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601010901 14:57:37.877 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 11 ms 14:57:37.891 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010109 14:57:37.900 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01010901 14:57:37.902 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01010901 14:57:37.905 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 1 ms 14:57:37.909 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010101 14:57:38.918 [WARNING] io.calimero.link.145c:1490: timeout setting busmonitor config (expected service confirmation msg code 0x4b) 14:57:38.922 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601006012 14:57:38.932 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 19 ms 14:57:38.954 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010060 14:57:38.962 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01006012 14:57:38.968 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01006012 14:57:38.972 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130d00080005010100004601011600 14:57:38.980 [TRACE ] io.calimero.link.145c:1490: enforce transmission interframe spacing, wait 21 ms 14:57:39.004 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c010116 14:57:39.014 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130d00080005010100004b01011600 14:57:39.017 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b01011600 14:57:39.020 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 01130c00080004010100004c020117 14:57:39.061 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01130e00080006010100004b0201176063 14:57:39.063 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4b0201176063 14:57:39.069 [INFO ] io.calimero.link.145c:1490: KNX individual address 6.0.99 14:57:39.090 [DEBUG ] io.calimero.link.145c:1490: hop count set to 6 14:57:39.101 [DEBUG ] io.calimero.server.gateway.knx-server: set maximum APDU length of 'Usb-6.0.0' to 15 14:57:39.124 [TRACE ] io.calimero.event: registered void io.calimero.server.gateway.KnxServerGateway$SubnetListener.connectionStatus(io.calimero.serial.ConnectionStatus) 14:57:39.128 [DEBUG ] io.calimero.event: unsupported event type void io.calimero.server.gateway.KnxServerGateway$SubnetListener.baosService(io.calimero.baos.BaosService) 14:57:40.079 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 1.2.84->9/1/31 L_Data.ind, low priority hop count 6, tpdu 00 80 0c 04: T_Group, A_Group.write 14:57:40.082 [TRACE ] io.calimero.server.gateway.knx-server: forward 1.2.84->9/1/31 L_Data.ind, low priority hop count 6, tpdu 00 80 0c 04 to all tunneling clients (except 1.2.84) 14:57:40.089 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.0->9/1/31 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 0c 04 14:57:40.098 [TRACE ] io.calimero.link.145c:1490: EMI 11 bc 00 00 49 1f d3 00 80 0c 04 14:57:40.101 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113130008000b0101000011bc0000491fd300800c04 14:57:40.109 [TRACE ] io.calimero.link.145c:1490: send to 9/1/31 succeeded 14:57:40.141 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 0113130008000b010100004ebc6063491fd300800c04 14:57:40.144 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4ebc6063491fd300800c04 14:57:40.150 [DEBUG ] io.calimero.link.145c:1490: confirmation of 9/1/31 14:57:46.197 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 1.1.2->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 14:57:46.200 [TRACE ] io.calimero.server.gateway.knx-server: forward 1.1.2->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 81 to all tunneling clients (except 1.1.2) 14:57:46.204 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.0->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 81 14:57:46.206 [TRACE ] io.calimero.link.145c:1490: EMI 11 bc 00 00 31 01 d1 00 81 14:57:46.209 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011311000800090101000011bc00003101d10081 14:57:46.215 [TRACE ] io.calimero.link.145c:1490: send to 6/1/1 succeeded 14:57:46.243 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01131100080009010100004ebc60633101d10081 14:57:46.245 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4ebc60633101d10081 14:57:46.247 [DEBUG ] io.calimero.link.145c:1490: confirmation of 6/1/1 14:57:46.373 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc11043201e10081 14:57:46.375 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc11043201e10081 14:57:46.380 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.0.0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 81: T_Group, A_Group.write 14:57:46.381 [DEBUG ] io.calimero.link.145c:1490: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 81 14:57:46.386 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 14:57:46.399 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.0.0 14:57:46.401 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 81 14:57:46.410 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 81 14:57:46.415 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 81 14:57:50.695 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 1.1.2->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 14:57:50.697 [TRACE ] io.calimero.server.gateway.knx-server: forward 1.1.2->6/1/1 L_Data.ind, low priority hop count 6, tpdu 00 80 to all tunneling clients (except 1.1.2) 14:57:50.700 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.0->6/1/1 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 14:57:50.702 [TRACE ] io.calimero.link.145c:1490: EMI 11 bc 00 00 31 01 d1 00 80 14:57:50.705 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 011311000800090101000011bc00003101d10080 14:57:50.712 [TRACE ] io.calimero.link.145c:1490: send to 6/1/1 succeeded 14:57:50.740 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 01131100080009010100004ebc60633101d10080 14:57:50.742 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4ebc60633101d10080 14:57:50.745 [DEBUG ] io.calimero.link.145c:1490: confirmation of 6/1/1 14:57:50.874 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc11043201e10080 14:57:50.877 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc11043201e10080 14:57:50.879 [DEBUG ] io.calimero.link.145c:1490: indication 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80 14:57:50.881 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.0.0: 1.1.4->6/2/1 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 14:57:50.885 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 1.1.4->6/2/1 to all server-side connections 14:57:50.889 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.0.0 14:57:50.890 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 14:57:50.895 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 11 04 32 01 01 00 80 14:57:50.899 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 1.1.4->6/2/1 L_Data.ind, low priority hop count 5, tpdu 00 80 14:57:57.892 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc660c4902e10080 14:57:57.894 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc660c4902e10080 14:57:57.897 [DEBUG ] io.calimero.link.145c:1490: indication 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 80 14:57:57.901 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.0.0: 6.6.12->9/1/2 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 14:57:57.904 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/2 to all server-side connections 14:57:57.908 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.0.0 14:57:57.908 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 80 14:57:57.913 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 02 01 00 80 14:57:57.918 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/2 L_Data.ind, low priority hop count 5, tpdu 00 80 14:58:01.403 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 011311000800090101000049bc660c4904e10080 14:58:01.405 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 49bc660c4904e10080 14:58:01.407 [DEBUG ] io.calimero.link.145c:1490: indication 6.6.12->9/1/4 L_Data.ind, low priority hop count 6, tpdu 00 80 14:58:01.409 [TRACE ] io.calimero.server.gateway.knx-server: subnet Usb-6.0.0: 6.6.12->9/1/4 L_Data.ind, low priority hop count 6, tpdu 00 80: T_Group, A_Group.write 14:58:01.415 [DEBUG ] io.calimero.server.gateway.knx-server: dispatch 6.6.12->9/1/4 to all server-side connections 14:58:01.420 [TRACE ] io.calimero.server.gateway.knx-server: dispatching to KNX subnets: exclude subnet Usb-6.0.0 14:58:01.420 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): add to multicast loopback frame buffer: 6.6.12->9/1/4 L_Data.ind, low priority hop count 5, tpdu 00 80 14:58:01.426 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): sending cEMI frame seq 0, NonBlocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc d0 66 0c 49 04 01 00 80 14:58:01.430 [TRACE ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): discard multicast loopback cEMI frame: 6.6.12->9/1/4 L_Data.ind, low priority hop count 5, tpdu 00 80 14:58:02.786 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 1.1.2->4/3/85 L_Data.ind, low priority hop count 6, tpdu 00 80 03 fc: T_Group, A_Group.write 14:58:02.789 [TRACE ] io.calimero.server.gateway.knx-server: forward 1.1.2->4/3/85 L_Data.ind, low priority hop count 6, tpdu 00 80 03 fc to all tunneling clients (except 1.1.2) 14:58:02.792 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.0->4/3/85 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 03 fc 14:58:02.794 [TRACE ] io.calimero.link.145c:1490: EMI 11 bc 00 00 23 55 d3 00 80 03 fc 14:58:02.796 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113130008000b0101000011bc00002355d3008003fc 14:58:02.804 [TRACE ] io.calimero.link.145c:1490: send to 4/3/85 succeeded 14:58:02.837 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 0113130008000b010100004ebc60632355d3008003fc 14:58:02.839 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4ebc60632355d3008003fc 14:58:02.842 [DEBUG ] io.calimero.link.145c:1490: confirmation of 4/3/85 14:58:05.141 [TRACE ] io.calimero.server.gateway.knx-server: server-side KNX IP routing service (wlan0 224.0.23.12): 1.1.2->4/3/86 L_Data.ind, low priority hop count 6, tpdu 00 80 03 fc: T_Group, A_Group.write 14:58:05.143 [TRACE ] io.calimero.server.gateway.knx-server: forward 1.1.2->4/3/86 L_Data.ind, low priority hop count 6, tpdu 00 80 03 fc to all tunneling clients (except 1.1.2) 14:58:05.146 [TRACE ] io.calimero.server.gateway.knx-server: dispatch to subnet Usb-6.0.0: 6.0.0->4/3/86 L_Data.req, low priority hop count 5 repeat, tpdu 00 80 03 fc 14:58:05.148 [TRACE ] io.calimero.link.145c:1490: EMI 11 bc 00 00 23 56 d3 00 80 03 fc 14:58:05.151 [TRACE ] io.calimero.usb.provider.javax.145c:1490: sending I/O request 0113130008000b0101000011bc00002356d3008003fc 14:58:05.158 [TRACE ] io.calimero.link.145c:1490: send to 4/3/86 succeeded 14:58:05.191 [TRACE ] io.calimero.usb.provider.javax.145c:1490: EP 1 IN I/O request 0113130008000b010100004ebc60632356d3008003fc 14:58:05.193 [DEBUG ] io.calimero.usb.provider.javax.145c:1490: received EMI1 frame 4ebc60632356d3008003fc 14:58:05.195 [DEBUG ] io.calimero.link.145c:1490: confirmation of 4/3/86 ^C14:58:08.791 [INFO ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown 14:58:08.811 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint 14:58:08.812 [INFO ] io.calimero.server.knx-server: knx-server discovery endpoint closed 14:58:08.814 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server control endpoint Usb-6.0.0 14:58:08.815 [INFO ] io.calimero.server.knx-server: knx-server control endpoint Usb-6.0.0 closed 14:58:08.814 [DEBUG ] io.calimero.server.knxnetip.KNX IP routing service (wlan0 224.0.23.12): close connection - user request 14:58:08.818 [DEBUG ] io.calimero.server.knx-server: cleanup knx-server routing service 224.0.23.12 14:58:08.818 [DEBUG ] io.calimero.server.gateway.knx-server: removed connection KNX IP routing service (wlan0 224.0.23.12) (user request) 14:58:08.819 [INFO ] io.calimero.server.knx-server: knx-server routing service 224.0.23.12 closed 14:58:08.823 [DEBUG ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml 14:58:08.857 [DEBUG ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml 14:58:08.870 [TRACE ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter alpi@rpi3:~ $ ```
bmalinowsky commented 4 months ago

One thing I forgot to mention: when the server is running, you can type stat which will also list open client connections. So you see which clients are currently connected.