Giter Club home page Giter Club logo

calimero-server's People

Contributors

bmalinowsky avatar calimero-project avatar georgferdinandschneider avatar lukasvermeer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

calimero-server's Issues

No reconnect when KNX bus is interrupted

With your fixes from #9 the server runs flawlessly with the kBerry. But I noticed when there is a KNX bus interruption the server does not resume the connection but throws the following exceptions:

[knx-server discovery endpoint] DEBUG calimero.server.knx-server - KNXnet/IP discovery: identify as 'Hass OS KNXnet/IP Server' for container /dev/ttyAMA0 to 192.168.178.29:50299 on [any]
[Calimero FT1.2 receiver] TRACE calimero.serial.ft12:/dev/ttyAMA0 - received reset
[Calimero FT1.2 receiver] WARN calimero.serial.ft12:/dev/ttyAMA0 - toggle frame count bit
[Calimero FT1.2 receiver] WARN calimero.link./dev/ttyAMA0 - received unspecified frame f0 c2 00 0a 00 01 00 0a 01 00
java.lang.NullPointerException
	at tuwien.auto.calimero.link.AbstractLink.dispatchCustomEvent(AbstractLink.java:676)
	at tuwien.auto.calimero.link.AbstractLink$LinkNotifier.frameReceived(AbstractLink.java:162)
	at tuwien.auto.calimero.serial.FT12Connection$Receiver.lambda$fireFrameReceived$0(FT12Connection.java:791)
	at tuwien.auto.calimero.internal.EventListeners.fire(EventListeners.java:126)
	at tuwien.auto.calimero.serial.FT12Connection$Receiver.fireFrameReceived(FT12Connection.java:791)
	at tuwien.auto.calimero.serial.FT12Connection$Receiver.readFrame(FT12Connection.java:709)
	at tuwien.auto.calimero.serial.FT12Connection$Receiver.run(FT12Connection.java:627)
[Calimero FT1.2 receiver] WARN calimero.link./dev/ttyAMA0 - received unspecified frame f0 c2 00 0a 00 01 00 0a 01 01
java.lang.NullPointerException
	at tuwien.auto.calimero.link.AbstractLink.dispatchCustomEvent(AbstractLink.java:676)
	at tuwien.auto.calimero.link.AbstractLink$LinkNotifier.frameReceived(AbstractLink.java:162)
	at tuwien.auto.calimero.serial.FT12Connection$Receiver.lambda$fireFrameReceived$0(FT12Connection.java:791)
	at tuwien.auto.calimero.internal.EventListeners.fire(EventListeners.java:126)
	at tuwien.auto.calimero.serial.FT12Connection$Receiver.fireFrameReceived(FT12Connection.java:791)
	at tuwien.auto.calimero.serial.FT12Connection$Receiver.readFrame(FT12Connection.java:709)
	at tuwien.auto.calimero.serial.FT12Connection$Receiver.run(FT12Connection.java:627)
[knx-server /dev/ttyAMA0 tcp connection /192.168.178.29:51241] TRACE calimero.server.knx-server - received connection state request from /192.168.178.29:51241 for channel 103
[knx-server /dev/ttyAMA0 tcp connection /192.168.178.29:51241] DEBUG calimero.server.knxnetip.KNX IP LinkLayer 192.168.178.29:51241 - close connection for channel 103 - client request
[knx-server /dev/ttyAMA0 tcp connection /192.168.178.29:51241] DEBUG calimero.server.gateway.knx-server - removed connection KNX IP LinkLayer 192.168.178.29:51241 (client request)
[/dev/ttyAMA0 data endpoint 192.168.178.29:51241] INFO calimero.server.knx-server - /dev/ttyAMA0 data endpoint 192.168.178.29:51241 closed
[knx-server /dev/ttyAMA0 tcp connection /192.168.178.29:51241] INFO calimero.server.knx-server - close tcp connection to /192.168.178.29:51241 (no active secure session or client connection)
[knx-server /dev/ttyAMA0 tcp connection /192.168.178.29:51241] INFO calimero.server.knx-server - close tcp connection to /192.168.178.29:51241

What is the latest version of calimero-server?

Hello,

I am running the calimeroproject/knxserver:latest-armv7 tag from Dockerhub. The logs tell me that this is "Calimero KNX IP Server v2.6-SNAPSHOT". However this Github project suggests the latest release is actually 2.5.1, which seems contradictory. What is the latest release? Is the Dockerhub image up to date?

I am also facing some issues getting the server up and connecting to it from ETS, but I want to make sure I am running the latest version before I open any issues about those problems. Thanks.

Best regards,
Lukas

USB interface with "ERROR calimero.link.connector"

Hello,
i am trying to try openhab on Raspberry 3B to manage a knx system.
I discovered the calimero project via the blog www.michlstechblog.info of which I followed the instructions to install calimero and the installation seems to have been successful, but it doesn't seem to connect to the USB interface.

ZENNIO KNX USB INTERFACE ZN1SY-USBP
Raspberry 3B

I updated the file "/etc/udev/rules.d/90-knxusb-devices.rules" with the ID of my interface (28c2 - 0002) but using the command "journalctl -xu knx" I noticed what I think is an error (I apologize if the term is incorrect, but I'm a beginner).

I attach what appears on the terminal after the command, hoping that someone can help me, because I have already given up using KNXD as I was unable to use/configure it.

thankyou

journalctl log.txt

Wrong property type size when enabling timeServer in config

Hi,
I got calimero server running without problems, but when I enable the timeServer in the config file

                <timeServer>
                        <datapoint stateBased="true" name="current date" dptID="10.001" priority="low">
                                <knxAddress type="group">1/1/36</knxAddress>
                                <expiration timeout="60" />
                        </datapoint>
                </timeServer>

I got this exception:

[main] ERROR calimero.server.knx-server - initialization of KNX server failed
tuwien.auto.calimero.device.ios.KnxPropertyException: property type size is 2, not 4, type conflict (write access with a wrong data type (datapoint length))
        at tuwien.auto.calimero.device.ios.InterfaceObject.setProperty(InterfaceObject.java:351)
        at tuwien.auto.calimero.device.ios.InterfaceObjectServer$IosAdapter.setProperty(InterfaceObjectServer.java:656)
        at tuwien.auto.calimero.device.ios.InterfaceObjectServer$IosAdapter.setProperty(InterfaceObjectServer.java:615)
        at tuwien.auto.calimero.device.ios.InterfaceObjectServer.setProperty(InterfaceObjectServer.java:422)
        at tuwien.auto.calimero.device.BaseKnxDevice.addGroupObject(BaseKnxDevice.java:487)
        at tuwien.auto.calimero.server.gateway.KnxServerGateway.setupTimeServer(KnxServerGateway.java:884)
        at tuwien.auto.calimero.server.gateway.KnxServerGateway.<init>(KnxServerGateway.java:704)
        at tuwien.auto.calimero.server.Launcher.run(Launcher.java:639)
        at tuwien.auto.calimero.server.Launcher.main(Launcher.java:613)

Same with dptID="11.001" or dptID="19.001"

Docker images for Raspbian

Hello,

I've seen that the published docker images on Docker Hub are only for amd64. It would be great to have docker images for arm/v7.

Would you consider to publish an official calimero-server image for that platform?

Regards,

Manuel Martínez

Connection not possible if a client and Calimero Server on same Docker host

I tried running Calimero as planned on my production home assistant server. However its not working.
I already opened a issue at XKNX/xknx#815 for the Home Assistant part.
However it seems the problem lies on the Calimero side if the client application is running on the same Docker host. When I run Calimero in the same setup on another device at least Routing works. Tunneling also fails.
You can find all the logs at XKNX/xknx#815

No such method error: tuwien.auto.calimero.mgmt.PropertyClient$Property.readLevel()I

Hi!

I have manually downloaded the JARs (Version 2.4-rc1) from here:
https://mvnrepository.com/artifact/com.github.calimero

Then I have added the dependencies and the dir looks like this:

user@lxsrv:~/calimero$ ls -R
.:
calimero-core-2.4-rc1.jar    calimero-server-2.4-rc1.jar  commons-lang3-3.2.1.jar             resources  server-config.xml      usb4java-1.2.0.jar        usb-api-1.0.2.jar
calimero-device-2.4-rc1.jar  calimero-tools-2.4-rc1.jar   libusb4java-1.2.0-linux-x86_64.jar  run.sh     server-config.xml.new  usb4java-javax-1.2.0.jar

./resources:
javax.usb.properties  properties.xml
user@lxsrv:~/calimero$

So everthing should be in place.
However, when running it, I get:

user@lxsrv:~/calimero$ java -cp "./*:/usr/share/java/slf4j-simple.jar:/usr/share/java/slf4j-api.jar" tuwien.auto.calimero.server.Launcher server-config.xml
Exception in thread "main" java.lang.NoSuchMethodError: tuwien.auto.calimero.mgmt.PropertyClient$Property.readLevel()I
        at tuwien.auto.calimero.device.ios.InterfaceObjectServer$IosAdapter.createNewDescription(InterfaceObjectServer.java:931)
        at tuwien.auto.calimero.device.ios.InterfaceObjectServer$IosAdapter.access$100(InterfaceObjectServer.java:679)
        at tuwien.auto.calimero.device.ios.InterfaceObjectServer.initIoProperties(InterfaceObjectServer.java:610)
        at tuwien.auto.calimero.device.ios.InterfaceObjectServer.addInterfaceObject(InterfaceObjectServer.java:294)
        at tuwien.auto.calimero.device.ios.InterfaceObjectServer.<init>(InterfaceObjectServer.java:162)
        at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer.initBasicServerProperties(KNXnetIPServer.java:720)
        at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer.<init>(KNXnetIPServer.java:316)
        at tuwien.auto.calimero.server.Launcher.<init>(Launcher.java:455)
        at tuwien.auto.calimero.server.Launcher.main(Launcher.java:435)
user@lxsrv:~/calimero$

Any idea, what's wrong?

Errors like "invalid operation mode 0x0", "address byte array too short" and "verify write failed for address"

I am trying to use Calimero docker image with Raspberry Pi 3 Model B Rev 1.2 to connect KNX-USB Data Interface (GIRA 1080 00) via onboard USB port.

I've installed Docker and followed https://hub.docker.com/r/calimeroproject/knxserver

Here is my config (with stripped comments from the default sample):

<?xml version="1.0" encoding="UTF-8"?>
<knxServer name="knx-server" friendlyName="Calimero KNX IP Server">
	<discovery listenNetIf="eth0" outgoingNetIf="eth0" activate="true" />
	<serviceContainer activate="true" routing="false" networkMonitoring="true"
		udpPort="3671" listenNetIf="eth0">
		<knxAddress type="individual">7.5.0</knxAddress>
		<routing latencyTolerance="1000">224.0.23.12</routing>
		<disruptionBuffer expirationTimeout="30" udpPort="5555-5559" />
		<knxSubnet type="usb" medium="tp1"></knxSubnet>
		<groupAddressFilter>
		</groupAddressFilter>
		<additionalAddresses>
			<knxAddress type="individual">7.5.10</knxAddress>
			<knxAddress type="individual">7.5.11</knxAddress>
			<knxAddress type="individual">7.5.12</knxAddress>
			<knxAddress type="individual">7.5.13</knxAddress>
		 </additionalAddresses>
	</serviceContainer>
</knxServer>

The docker container starts and successfully detects USB-KNX device, but then randomly throws errors like:

  • io.calimero.KNXIllegalArgumentException: invalid operation mode 0x0
  • io.calimero.KNXIllegalArgumentException: address byte array too short
    Sometimes preceded with one or more lines like:
  • io.calimero.link.135e:0022: verify write failed for address 60: 12 vs 09

Server is closed but apparently does not exit automatically after this (which is bad, how do I suppose to automate its restart after such state?)
Running again on the same might give a different error message. As if there were some problems with USB connection itself?

I tried to run in different modes by changing the XML config (but random errors were greatly misguiding me until I started to repeat my attempts several times after each change), but generally the device is not working.

For me it worked only 3 times (from roughly 30 or more my attempts), randomly: one shortly after Raspberry PI boot; one after power cycling USB ports (as I started to do it constantly) with sudo uhubctl -l 1-1 -p 2 -a 0 and sudo uhubctl -l 1-1 -p 2 -a 1, and one just between various unsuccessful attempts without any changes in config or anything.

When the device was behaving, I was able to try ETS connect (and it showed "OK" for Test button after I clicked on a newly appeared IP-Tunnel device there), and also checked routing mode between TP and IP (fortunately was enabled in my config at that attempt) – it was working, at least routing some telegrams.

I suspected low USB power, so I've added a 12 V powered USB hub between Raspberry and Gira – no changes. Also I replaced the power source of Raspberry itself – again, nothing changed.

When I use this Gira KNX USB interface with Windows PC for ETS – it works flawlessly.
What could be the reason why Calimero fails? It this somehow related to hardware?

Here are full logs captured after Raspberry reboot (already with a USB hub) – two consecutive attempts that gave different error messages:

alpi@rpi3:~ $ sudo chmod 666 /var/run/docker.sock
alpi@rpi3:~ $ docker run --name my_knx --rm --tty --interactive --net host --privileged --volume /srv/my/dock/server-config.xml:/usr/app/server-config.xml  calimeroproject/knxserver -vvv server-config.xml
WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads
13:48:09.295 [TRACE  ] io.calimero.xml.XmlResolver: resolve server-config.xml
13:48:09.304 [TRACE  ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
13:48:15.174 [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:48:15.217 [TRACE  ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
13:48:15.449 [DEBUG  ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml
13:48:15.458 [TRACE  ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml
13:48:15.464 [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:48:15.890 [INFO   ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT
13:48:16.150 [INFO   ] io.calimero.server.knx-server: use configuration 'Calimero KNX IP Server' with 1 service container, discovery: listen on [eth0] send on [eth0] interfaces
service container usb-7.5.0:
	listen on eth0 (port 3671), KNX IP routing disabled
	usb connection: TP1 medium, device 7.5.0
13:48:16.220 [DEBUG  ] io.calimero.server.knx-server: setup usb subnet 'usb-7.5.0'
13:48:16.303 [INFO   ] io.calimero.server.gateway.knx-server: activate 'usb-7.5.0' disruption buffer on ports [5,555-5,559], disruption timeout 30 s
13:48:16.323 [TRACE  ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116
13:48:16.326 [TRACE  ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000
13:48:16.329 [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:48:16.746 [TRACE  ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown
13:48:16.852 [TRACE  ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider
13:48:16.858 [TRACE  ] io.calimero.server.knx-server: found network interfaces eth0 [192.168.31.22]
13:48:16.866 [INFO   ] io.calimero.server.knx-server: knx-server discovery endpoint [eth0] is up and running
13:48:16.947 [TRACE  ] io.calimero.server.knx-server: usb-7.5.0 control endpoint bound to 192.168.31.22:3671
13:48:17.087 [INFO   ] io.calimero.server.knx-server: usb-7.5.0 secure mgmt/tunneling connections: optional/optional
13:48:17.232 [INFO   ] io.calimero.server.knx-server: knx-server usb-7.5.0 tcp service (eth0 192.168.31.22:3671) is up and running
13:48:17.239 [INFO   ] io.calimero.server.knx-server: knx-server usb-7.5.0 control endpoint (eth0 192.168.31.22:3671) is up and running
13:48:17.378 [DEBUG  ] io.calimero.usb.provider.javax: Enumerate USB devices
usb4java root hub 1.0.0
 |--Bus 001 Device 001: ID 1d6b:0002
     DWC OTG Controller (Linux 6.1.21-v7+ dwc_otg_hcd)
     S/N 3f980000.usb
      |--Bus 001 Device 002: ID 0424:9514
           |--Bus 001 Device 003: ID 0424:ec00
           |--Bus 001 Device 004: ID 0409:005a
                |--Bus 001 Device 005: ID 135e:0022
                    KNX-USB Data Interface (Gira Giersiepen GmbH & Co. KG)
13:48:17.525 [TRACE  ] io.calimero.usb.provider.javax: Enumerate USB devices using the low-level API
Bus 1 Device 3: ID 0424:ec00
    Parent Hub 1:2, attached at port 1 (/bus:1/1/1)
    High Speed USB
Bus 1 Device 5: ID 135e:0022
    KNX-USB Data Interface (Gira Giersiepen GmbH & Co. KG)
    Parent Hub 1:4, attached at port 1 (/bus:1/1/3/1)
    Full Speed USB
Bus 1 Device 4: ID 0409:005a
    Parent Hub 1:2, attached at port 3 (/bus:1/1/3)
    High Speed USB
Bus 1 Device 2: ID 0424:9514
    Parent Hub 1:1, attached at port 1 (/bus:1/1)
    High Speed USB
Bus 1 Device 1: ID 1d6b:0002
    DWC OTG Controller (Linux 6.1.21-v7+ dwc_otg_hcd)
    High Speed USB
13:48:17.555 [INFO   ] io.calimero.usb.provider.javax: Found 1 KNX USB devices:
 |--Bus 001 Device 005: ID 135e:0022
 |   KNX-USB Data Interface (Gira Giersiepen GmbH & Co. KG)
13:48:17.648 [INFO   ] io.calimero.usb.provider.javax.135e:0022: Bus 001 Device 005: ID 135e:0022
KNX-USB Data Interface (Gira Giersiepen GmbH & Co. KG)
13:48:17.653 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: USB interface 00, setting 0
13:48:17.658 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 2 OUT
13:48:17.662 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN
13:48:17.666 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: Found USB device endpoint addresses OUT 0x2, IN 0x81
13:48:17.719 [ERROR  ] io.calimero.usb.provider.javax.135e:0022: creating HID class report from 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
io.calimero.KNXFormatException: not a KNX USB report (wrong report ID 0)
	at [email protected]/io.calimero.usb.provider.javax.HidReportHeader.from(HidReportHeader.java:81)
	at [email protected]/io.calimero.usb.provider.javax.HidReport.<init>(HidReport.java:211)
	at [email protected]/io.calimero.usb.provider.javax.UsbConnection$UsbCallback.dataEventOccurred(UsbConnection.java:237)
	at org.usb4java.javax.PipeListenerList.dataEventOccurred(PipeListenerList.java:49)
	at org.usb4java.javax.Pipe.sendEvent(Pipe.java:270)
	at org.usb4java.javax.IrpQueue.finishIrp(IrpQueue.java:48)
	at org.usb4java.javax.AbstractIrpQueue.process(AbstractIrpQueue.java:118)
	at org.usb4java.javax.AbstractIrpQueue$1.run(AbstractIrpQueue.java:73)
	at java.base/java.lang.Thread.run(Unknown Source)

13:48:17.735 [DEBUG  ] io.calimero.serial.ConnectionFactory: serial port setup: Bus 001 Device 005: ID 135e:0022 USB interface 00
13:48:17.729 [ERROR  ] io.calimero.usb.provider.javax.135e:0022: creating HID class report from 00000000000000000000024dff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
io.calimero.KNXFormatException: not a KNX USB report (wrong report ID 0)
	at [email protected]/io.calimero.usb.provider.javax.HidReportHeader.from(HidReportHeader.java:81)
	at [email protected]/io.calimero.usb.provider.javax.HidReport.<init>(HidReport.java:211)
	at [email protected]/io.calimero.usb.provider.javax.UsbConnection$UsbCallback.dataEventOccurred(UsbConnection.java:237)
	at org.usb4java.javax.PipeListenerList.dataEventOccurred(PipeListenerList.java:49)
	at org.usb4java.javax.Pipe.sendEvent(Pipe.java:270)
	at org.usb4java.javax.IrpQueue.finishIrp(IrpQueue.java:48)
	at org.usb4java.javax.AbstractIrpQueue.process(AbstractIrpQueue.java:118)
	at org.usb4java.javax.AbstractIrpQueue$1.run(AbstractIrpQueue.java:73)
	at java.base/java.lang.Thread.run(Unknown Source)

13:48:17.770 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000003
13:48:17.790 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130a000800020f0200000301
13:48:17.798 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000001
13:48:17.815 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000010001
13:48:17.820 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130a000800020f0300000501
13:48:17.830 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000005
13:48:17.842 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130a000800020f0200000501
13:48:17.848 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000002
13:48:17.860 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000020012
13:48:17.868 [DEBUG  ] io.calimero.link.135e:0022: KNX device descriptor 0 (Mask Version): 0012 - System 1 (BCU 1)
13:48:18.156 [TRACE  ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus)
13:48:18.175 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010109
13:48:18.187 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010901
13:48:18.191 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010901
13:48:18.198 [INFO   ] io.calimero.link.135e:0022: PEI type 1
13:48:18.203 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 1 ms
13:48:18.207 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010116
13:48:18.256 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01011600
13:48:18.259 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01011600
13:48:18.263 [DEBUG  ] io.calimero.link.135e:0022: Address Table location 00
13:48:18.266 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010060
13:48:18.267 [DEBUG  ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX IP Server' for container usb-7.5.0 to 192.168.29.202:20046 on [any]
13:48:18.279 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b0100601e
13:48:18.281 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b0100601e
13:48:18.285 [ERROR  ] io.calimero.server.gateway.knx-server: error opening network link for usb-7.5.0
io.calimero.KNXIllegalArgumentException: invalid operation mode 0x0
	at io.calimero.core/io.calimero.link.BcuSwitcher$OperationMode.of(BcuSwitcher.java:108)
	at io.calimero.core/io.calimero.link.BcuSwitcher.enter(BcuSwitcher.java:156)
	at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.linkLayerMode(KNXNetworkLinkUsb.java:230)
	at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.<init>(KNXNetworkLinkUsb.java:156)
	at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.<init>(KNXNetworkLinkUsb.java:115)
	at [email protected]/io.calimero.server.gateway.SubnetConnector.lambda$openNetworkLink$9(SubnetConnector.java:334)
	at io.calimero.core/io.calimero.link.Connector$Link.connect(Connector.java:417)
	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 [email protected]/io.calimero.server.gateway.SubnetConnector.openNetworkLink(SubnetConnector.java:380)
	at [email protected]/io.calimero.server.gateway.KnxServerGateway.run(KnxServerGateway.java:730)
	at java.base/java.lang.Thread.run(Unknown Source)

13:48:18.286 [DEBUG  ] io.calimero.server.knx-server: KNXnet/IP discovery: identify as 'Calimero KNX IP Server' for container usb-7.5.0 to 192.168.29.202:20046 on [any]
13:48:18.298 [INFO   ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown
13:48:18.333 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint
13:48:18.344 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server control endpoint usb-7.5.0
13:48:18.348 [INFO   ] io.calimero.server.knx-server: knx-server discovery endpoint closed
13:48:18.349 [DEBUG  ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml
13:48:18.349 [INFO   ] io.calimero.server.knx-server: knx-server control endpoint usb-7.5.0 closed
13:48:18.421 [DEBUG  ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml
13:48:18.434 [TRACE  ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter
stop
request to stop server
alpi@rpi3:~ $ docker run --name my_knx --rm --tty --interactive --net host --privileged --volume /srv/my/dock/server-config.xml:/usr/app/server-config.xml  calimeroproject/knxserver -vvv server-config.xml
WARNING: Unknown module: io.calimero.serial.provider.rxtx specified to --add-reads
13:49:06.395 [TRACE  ] io.calimero.xml.XmlResolver: resolve server-config.xml
13:49:06.403 [TRACE  ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
13:49:07.393 [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:49:07.415 [TRACE  ] io.calimero.xml.XmlInputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
13:49:07.653 [DEBUG  ] io.calimero.device.knx-server: loading interface object server from file:///usr/app/knx-server-ios.xml
13:49:07.661 [TRACE  ] io.calimero.xml.XmlResolver: resolve file:///usr/app/knx-server-ios.xml
13:49:07.666 [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:49:07.779 [INFO   ] io.calimero.server.knx-server: Calimero KNX IP server v3.0-SNAPSHOT
13:49:08.022 [INFO   ] io.calimero.server.knx-server: use configuration 'Calimero KNX IP Server' with 1 service container, discovery: listen on [eth0] send on [eth0] interfaces
service container usb-7.5.0:
	listen on eth0 (port 3671), KNX IP routing disabled
	usb connection: TP1 medium, device 7.5.0
13:49:08.088 [DEBUG  ] io.calimero.server.knx-server: setup usb subnet 'usb-7.5.0'
13:49:08.172 [INFO   ] io.calimero.server.gateway.knx-server: activate 'usb-7.5.0' disruption buffer on ports [5,555-5,559], disruption timeout 30 s
13:49:08.192 [TRACE  ] io.calimero.device.knx-server: sync Addresstable Object from address 0x116
13:49:08.196 [TRACE  ] io.calimero.device.knx-server: sync Associationtable Object from address 0x1000
13:49:08.199 [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:49:08.480 [TRACE  ] io.calimero.server.knx-server: network stack uses IPv4 addresses: unknown
13:49:08.574 [TRACE  ] io.calimero.serial.ConnectionFactory: instantiate service provider io.calimero.usb.provider.javax.UsbConnectionProvider
13:49:08.595 [TRACE  ] io.calimero.server.knx-server: found network interfaces eth0 [192.168.31.22]
13:49:08.601 [INFO   ] io.calimero.server.knx-server: knx-server discovery endpoint [eth0] is up and running
13:49:08.689 [TRACE  ] io.calimero.server.knx-server: usb-7.5.0 control endpoint bound to 192.168.31.22:3671
13:49:08.808 [INFO   ] io.calimero.server.knx-server: usb-7.5.0 secure mgmt/tunneling connections: optional/optional
13:49:08.937 [INFO   ] io.calimero.server.knx-server: knx-server usb-7.5.0 control endpoint (eth0 192.168.31.22:3671) is up and running
13:49:08.942 [INFO   ] io.calimero.server.knx-server: knx-server usb-7.5.0 tcp service (eth0 192.168.31.22:3671) is up and running
13:49:09.111 [DEBUG  ] io.calimero.usb.provider.javax: Enumerate USB devices
usb4java root hub 1.0.0
 |--Bus 001 Device 001: ID 1d6b:0002
     DWC OTG Controller (Linux 6.1.21-v7+ dwc_otg_hcd)
     S/N 3f980000.usb
      |--Bus 001 Device 002: ID 0424:9514
           |--Bus 001 Device 003: ID 0424:ec00
           |--Bus 001 Device 004: ID 0409:005a
                |--Bus 001 Device 005: ID 135e:0022
                    KNX-USB Data Interface (Gira Giersiepen GmbH & Co. KG)
13:49:09.255 [TRACE  ] io.calimero.usb.provider.javax: Enumerate USB devices using the low-level API
Bus 1 Device 3: ID 0424:ec00
    Parent Hub 1:2, attached at port 1 (/bus:1/1/1)
    High Speed USB
Bus 1 Device 5: ID 135e:0022
    KNX-USB Data Interface (Gira Giersiepen GmbH & Co. KG)
    Parent Hub 1:4, attached at port 1 (/bus:1/1/3/1)
    Full Speed USB
Bus 1 Device 4: ID 0409:005a
    Parent Hub 1:2, attached at port 3 (/bus:1/1/3)
    High Speed USB
Bus 1 Device 2: ID 0424:9514
    Parent Hub 1:1, attached at port 1 (/bus:1/1)
    High Speed USB
Bus 1 Device 1: ID 1d6b:0002
    DWC OTG Controller (Linux 6.1.21-v7+ dwc_otg_hcd)
    High Speed USB
13:49:09.281 [INFO   ] io.calimero.usb.provider.javax: Found 1 KNX USB devices:
 |--Bus 001 Device 005: ID 135e:0022
 |   KNX-USB Data Interface (Gira Giersiepen GmbH & Co. KG)
13:49:09.363 [INFO   ] io.calimero.usb.provider.javax.135e:0022: Bus 001 Device 005: ID 135e:0022
KNX-USB Data Interface (Gira Giersiepen GmbH & Co. KG)
13:49:09.368 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: USB interface 00, setting 0
13:49:09.371 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 2 OUT
13:49:09.374 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN
13:49:09.377 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: Found USB device endpoint addresses OUT 0x2, IN 0x81
13:49:09.404 [DEBUG  ] io.calimero.serial.ConnectionFactory: serial port setup: Bus 001 Device 005: ID 135e:0022 USB interface 00
13:49:09.438 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000003
13:49:09.462 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130a000800020f0200000301
13:49:09.468 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000001
13:49:09.480 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000010001
13:49:09.488 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130a000800020f0300000501
13:49:09.497 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000005
13:49:09.510 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130a000800020f0200000501
13:49:09.515 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 011309000800010f01000002
13:49:09.526 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130b000800030f020000020012
13:49:09.535 [DEBUG  ] io.calimero.link.135e:0022: KNX device descriptor 0 (Mask Version): 0012 - System 1 (BCU 1)
13:49:09.788 [TRACE  ] io.calimero.event: registered void io.calimero.link.KNXNetworkLinkUsb$1.connectionStatus(io.calimero.serial.ConnectionStatus)
13:49:09.806 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010109
13:49:09.819 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010901
13:49:09.822 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010901
13:49:09.830 [INFO   ] io.calimero.link.135e:0022: PEI type 1
13:49:09.835 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 1 ms
13:49:09.840 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010116
13:49:09.861 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01011600
13:49:09.864 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01011600
13:49:09.868 [DEBUG  ] io.calimero.link.135e:0022: Address Table location 00
13:49:09.871 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010060
13:49:09.884 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b0100601e
13:49:09.888 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b0100601e
13:49:09.895 [DEBUG  ] io.calimero.link.135e:0022: Current operation mode ApplicationLayer
13:49:09.898 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 2 ms
13:49:09.903 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010100004601010901
13:49:09.912 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 17 ms
13:49:09.932 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010109
13:49:09.948 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010901
13:49:09.949 [ERROR  ] io.calimero.link.135e:0022: verify write failed for address 109: 01 vs 1e
13:49:09.952 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010901
13:49:09.957 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010101
13:49:09.967 [DEBUG  ] io.calimero.link.135e:0022: Base configuration flags 1
13:49:09.972 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 13 ms
13:49:09.978 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010109
13:49:09.980 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010109
13:49:09.989 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010100004601010109
13:49:10.003 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010101
13:49:10.012 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 21 ms
13:49:10.017 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01010109
13:49:10.021 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01010109
13:49:10.038 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010100004601006012
13:49:10.050 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010060
13:49:10.058 [ERROR  ] io.calimero.link.135e:0022: verify write failed for address 60: 12 vs 09
13:49:10.066 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 15 ms
13:49:10.062 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01006012
13:49:10.073 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01006012
13:49:10.088 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130d00080005010100004601011600
13:49:10.096 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c010116
13:49:10.105 [ERROR  ] io.calimero.link.135e:0022: verify write failed for address 116: 00 vs 12
13:49:10.110 [TRACE  ] io.calimero.link.135e:0022: enforce transmission interframe spacing, wait 17 ms
13:49:10.117 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130d00080005010100004b01011600
13:49:10.121 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b01011600
13:49:10.130 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: sending I/O request 01130c00080004010100004c020117
13:49:10.142 [TRACE  ] io.calimero.usb.provider.javax.135e:0022: EP 1 IN I/O request 01130e00080006010100004b02011711fe
13:49:10.144 [DEBUG  ] io.calimero.usb.provider.javax.135e:0022: received EMI1 frame 4b02011711fe
13:49:10.150 [ERROR  ] io.calimero.server.gateway.knx-server: error opening network link for usb-7.5.0
io.calimero.KNXIllegalArgumentException: address byte array too short
	at io.calimero.core/io.calimero.KNXAddress.<init>(KNXAddress.java:80)
	at io.calimero.core/io.calimero.IndividualAddress.<init>(IndividualAddress.java:93)
	at io.calimero.core/io.calimero.link.BcuSwitcher.enter(BcuSwitcher.java:167)
	at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.linkLayerMode(KNXNetworkLinkUsb.java:230)
	at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.<init>(KNXNetworkLinkUsb.java:156)
	at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.<init>(KNXNetworkLinkUsb.java:115)
	at [email protected]/io.calimero.server.gateway.SubnetConnector.lambda$openNetworkLink$9(SubnetConnector.java:334)
	at io.calimero.core/io.calimero.link.Connector$Link.connect(Connector.java:417)
	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 [email protected]/io.calimero.server.gateway.SubnetConnector.openNetworkLink(SubnetConnector.java:380)
	at [email protected]/io.calimero.server.gateway.KnxServerGateway.run(KnxServerGateway.java:730)
	at java.base/java.lang.Thread.run(Unknown Source)

13:49:10.205 [INFO   ] io.calimero.server.gateway.knx-server: knx-server: user request for shutdown
13:49:10.245 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server discovery endpoint
13:49:10.251 [DEBUG  ] io.calimero.server.knx-server: cleanup knx-server control endpoint usb-7.5.0
13:49:10.253 [INFO   ] io.calimero.server.knx-server: knx-server control endpoint usb-7.5.0 closed
13:49:10.256 [INFO   ] io.calimero.server.knx-server: knx-server discovery endpoint closed
13:49:10.263 [DEBUG  ] io.calimero.device.knx-server: saving device memory to file:///usr/app/knx-server-ios.xml
13:49:10.351 [DEBUG  ] io.calimero.device.knx-server: saving interface object server to file:///usr/app/knx-server-ios.xml
13:49:10.364 [TRACE  ] io.calimero.xml.XmlOutputFactory: no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter
stop
request to stop server

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

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

  • Free port: sudo raspi-config3 Interface OptionsI6 Serial Port → Login shell = No, Hardware enabled = Yes;
  • Disable Bluetooth: sudo nano /boot/config.txt → check enable_uart=1 + add dtoverlay=disable-bt
  • Execute: sudo systemctl stop hciuart.service + sudo systemctl disable hciuart.service

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

no property ID 82 in Device Object, wrong communication medium setting, and unknown service type 0x203

I am running the armv7 2.6 snapshot inside Docker on a Raspberry Pi. I have an Albrecht Jung KNX Funk-USB Stick plugged into the device. I am running ETS6 on a (virtualised) Windows machine elsewhere in the same network.

server-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<knxServer name="knx-server" friendlyName="Calimero KNX IP Server">
  <discovery listenNetIf="all" outgoingNetIf="all" activate="true" />

  <serviceContainer activate="true" routing="true" networkMonitoring="true" udpPort="3671" listenNetIf="any" reuseCtrlEP="false">
    <knxAddress type="individual">1.1.0</knxAddress>
    <knxSubnet type="ip" useNat="true">192.168.188.64:3671</knxSubnet>
    <routing/>
    <!-- latencyTolerance specifies the time window for accepting secure multicasts, 
      depends on max. end-to-end network latency (usually [500 .. 8000] ms) -->
    <!-- <routing latencyTolerance="1000">224.0.23.12</routing> -->

    <!-- Enabling the disruption buffer will replay missed frames after reconnecting a KNXnet/IP client link 
      using the specific client UDP port range (if caused by a disrupted connection). -->
    <!-- <disruptionBuffer expirationTimeout="30" udpPort="5555-5559" /> -->

    <!-- Specify one KNX subnet type, connecting the KNX network. The subnet connection type is one of 
      { "ip", "tcp", "knxip", "ft12", "usb", "tpuart", "user-supplied", "virtual", "emulate" }. 
      The KNX communication medium is one of { "tp1" (default), "pl110", "knxip", "rf" }. 
      In the follwing are some examples: -->

    <!-- <knxSubnet type="ip">192.168.10.10:3671</knxSubnet> -->
    <!-- two optional attributes are supported for tunneling: 
      * netif: specifies the server network interface to the knx subnet
      * useNat="true"|"false": use network address translation (NAT) -->
    <!-- <knxSubnet type="ip" netif="eth0" useNat="true">192.168.10.10:3671</knxSubnet> -->

    <knxSubnet type="usb" medium="rf" knxAddress="1.1.0">Jung</knxSubnet>
    <!-- <knxSubnet type="usb" medium="rf" knxAddress="1.1.0" domainAddress="00FA"></knxSubnet> -->
    <!-- domainAddress="00FA:94133492" -->

    <!-- Additional KNX individual addresses assigned to client KNXnet/IP connections (optional) -->
    <!--
    <additionalAddresses>
      <knxAddress type="individual">1.1.10</knxAddress>
      <knxAddress type="individual">1.1.11</knxAddress>
      <knxAddress type="individual">1.1.12</knxAddress>
      <knxAddress type="individual">1.1.13</knxAddress>
    </additionalAddresses>
    -->
  </serviceContainer>
</knxServer>

Docker command:

$> docker run --rm -ti --net host -v /mnt/Blue/docker/calimero/server-config.xml:/usr/app/server-config.xml --privileged -v /dev/bus/usb:/dev/bus/usb calimeroproject/knxserver:latest-armv7 server-config.xml 

Output:

[main] INFO calimero.server.knx-server - Calimero KNX IP Server v2.6-SNAPSHOT
[main] INFO calimero.server.knx-server - knx-server 'Calimero KNX IP Server' - 1 service container, discovery: listen on [all] send on [all]
[main] INFO calimero.server.knx-server - Jung:
	listen on any (port 3671), KNX IP routing multicast group 224.0.23.12
	usb Jung connection: RF medium, device 1.1.0 domain 0x000000000000 s/n 0000:00000000
[main] WARN calimero.device.knx-server - reading DoA
tuwien.auto.calimero.device.ios.KnxPropertyException: no property ID 82 in Device Object (index 0), void DP (read/write access to nonexistent property)
	at tuwien.auto.calimero.device.ios.InterfaceObject.getProperty(InterfaceObject.java:277)
	at tuwien.auto.calimero.device.ios.DeviceObject.get(DeviceObject.java:98)
	at tuwien.auto.calimero.device.ios.DeviceObject.domainAddress(DeviceObject.java:89)
	at tuwien.auto.calimero.device.KnxDeviceServiceLogic.domainAddress(KnxDeviceServiceLogic.java:786)
	at tuwien.auto.calimero.device.KnxDeviceServiceLogic.setDevice(KnxDeviceServiceLogic.java:147)
	at tuwien.auto.calimero.device.BaseKnxDevice.setDeviceLink(BaseKnxDevice.java:363)
	at tuwien.auto.calimero.server.gateway.KnxServerGateway.<init>(KnxServerGateway.java:758)
	at tuwien.auto.calimero.server.Launcher.run(Launcher.java:610)
	at tuwien.auto.calimero.server.Launcher.main(Launcher.java:583)
type 'stop' to stop the gateway and shutdown the server
[knx-server discovery endpoint] INFO calimero.server.knx-server - knx-server discovery endpoint [veth7838cbf, vethae96a8f, vetha7c78bd, vethd1ac9d3, br-f520d88a05d3, docker0, eth0, lo] is up and running
[knx-server routing service 224.0.23.12] INFO calimero.knxnetip.KNXnet/IP Routing 224.0.23.12:3671 - multicast loopback mode enabled
[knx-server control endpoint Jung] INFO calimero.server.knx-server - Jung secure mgmt/tunneling connections: optional/optional
[knx-server routing service 224.0.23.12] INFO calimero.server.knx-server - knx-server Jung KNX IP routing service 224.0.23.12 is up and running
[knx-server Jung tcp service] INFO calimero.server.knx-server - knx-server Jung tcp service (veth7838cbf 169.254.10.51:3671) is up and running
[knx-server control endpoint Jung] INFO calimero.server.knx-server - knx-server Jung control endpoint (veth7838cbf 169.254.10.51:3671) is up and running
[knx-server] INFO calimero.usb - Found 1 KNX USB devices:
 |--Bus 001 Device 012: ID 135e:0123
 |   Albrecht Jung KNX Funk-USB Stick (Albrecht Jung)
 |   S/N 0072FB0021DD
[knx-server] INFO calimero.usb.Jung - Bus 001 Device 012: ID 135e:0123
Albrecht Jung KNX Funk-USB Stick (Albrecht Jung)
S/N 0072FB0021DD
[knx-server] INFO calimero.link.Jung - Device Descriptor (Mask Version) 2311 - RF USB interface v2
[knx-server] WARN calimero.link.Jung - wrong communication medium setting: using TP1 to access RF medium

That no property ID 82 in Device Object looks like a warning rather than an error, so perhaps it can be ignored. That wrong communication medium setting is also a warning. Not sure why that appears, since the server config does not mention TP anywhere.

When I try to set up an IP Tunneling connection from ETS6, I get the following output in Docker:

[knx-server discovery endpoint] INFO calimero.server.knx-server - received packet from /192.168.188.33:37142 with unknown service type 0x203 - ignored
[knx-server discovery endpoint] INFO calimero.server.knx-server - received packet from /192.168.188.33:43605 with unknown service type 0x203 - ignored

And ETS complains that it Failed to read device description from 192.168.188.64:3671, but Ping succeeded.

I have also tried to activate reuseCtrlEP like so:

  <serviceContainer activate="true" routing="false" networkMonitoring="true" udpPort="3671" listenNetIf="any" reuseCtrlEP="true">

The output is the same as above. Unknown service type 0x203 ignored.

What am I doing wrong?

Group monitor works but Bus monitor doesn't with USB interface

My setup is Windows 8.1 32 bit, calimero-server from the Java 8 branch, a KNX USB interface.
Connecting from ETS3 and activating the group monitor works, but if I activate the bus monitor I get this exception

[main] INFO calimero.server - Discovery service network interfaces:
[main] INFO calimero.server - listen on all
[main] INFO calimero.server - outgoing all
[main] INFO calimero.server - Service container 147b:5120:
[main] INFO calimero.server - IPv4 UDP host 192.168.1.133 port 3671 routing false
[main] INFO calimero.server - usb connection, TP1 medium, device 1.0.248
[main] INFO calimero.server - GrpAddrFilter []
[main] INFO calimero.server - connect to 147b:5120
[main] INFO calimero.usb - Found KNX devices:
|--Bus 001 Device 003: ID 147b:5120
[main] INFO calimero.usb.147b:5120 - Bus 001 Device 003: ID 147b:5120
[main] INFO calimero.link.147b:5120 - Device Mask Version 0012 - System 1 (BCU 1)
[main] INFO calimero.link.147b:5120 - PEI type 1
[main] INFO calimero.link.147b:5120 - KNX individual address 1.0.253
[main] INFO calimero.link.147b:5120 - hop count set to 6
[main] INFO Calimero KNX server gateway - main-line group address forward setting set to 1
[main] INFO Calimero KNX server gateway - sub-line group address forward setting set to 1
[Calimero KNX server gateway] INFO knx-server - launch KNXnet/IP server My KNXnet/IP Server
[knx-server control endpoint 147b:5120] INFO knx-server - knx-server control endpoint 147b:5120 is up and running
[knx-server control endpoint 147b:5120] WARN knx-server - received disconnect request with unknown channel id 1 - ignored
[knx-server control endpoint 147b:5120] INFO knx-server - 147b:5120: setup data endpoint (channel 1) for connection request from /192.168.1.134:63229
[knx-server control endpoint 147b:5120] INFO knx-server - assigning additional individual address 1.0.249
[knx-server control endpoint 147b:5120] WARN calimero.usb.147b:5120 - close connection
javax.usb.UsbPlatformException: USB error 5: Unable to release interface: Entity not found
at org.usb4java.javax.ExceptionUtils.createPlatformException(ExceptionUtils.java:39)
at org.usb4java.javax.AbstractDevice.releaseInterface(AbstractDevice.java:455)
at org.usb4java.javax.Interface.release(Interface.java:113)
at tuwien.auto.calimero.serial.usb.UsbConnection.close(UsbConnection.java:647)
at tuwien.auto.calimero.serial.usb.UsbConnection.close(UsbConnection.java:554)
at tuwien.auto.calimero.link.AbstractLink.close(AbstractLink.java:293)
at tuwien.auto.calimero.server.gateway.KnxServerGateway$KNXnetIPServerListener.closeLink(KnxServerGateway.java:322)
at tuwien.auto.calimero.server.gateway.KnxServerGateway$KNXnetIPServerListener.acceptDataConnection(KnxServerGateway.java:189)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ControlEndpointService.lambda$acceptConnection$5(KNXnetIPServer.java:2411)
at java.util.stream.MatchOps$1MatchSink.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.allMatch(Unknown Source)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ControlEndpointService.acceptConnection(KNXnetIPServer.java:2411)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ControlEndpointService.initNewConnection(KNXnetIPServer.java:2389)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ControlEndpointService.handleServiceType(KNXnetIPServer.java:2142)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ServiceLoop.onReceive(KNXnetIPServer.java:1476)
at tuwien.auto.calimero.internal.UdpSocketLooper.loop(UdpSocketLooper.java:134)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ServiceLoop.run(KNXnetIPServer.java:1447)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$LooperThread.run(KNXnetIPServer.java:1665)
[knx-server control endpoint 147b:5120] INFO calimero.link.147b:5120 - link closed
[knx-server control endpoint 147b:5120] INFO calimero.usb.147b:5120 - Bus 001 Device 003: ID 147b:5120
[knx-server control endpoint 147b:5120] ERROR calimero.link - initial connection attempt
tuwien.auto.calimero.KNXException: open USB connection
at tuwien.auto.calimero.serial.usb.UsbConnection.(UsbConnection.java:405)
at tuwien.auto.calimero.serial.usb.UsbConnection.(UsbConnection.java:375)
at tuwien.auto.calimero.link.KNXNetworkMonitorUsb.(KNXNetworkMonitorUsb.java:98)
at tuwien.auto.calimero.server.gateway.SubnetConnector.lambda$openMonitorLink$16(SubnetConnector.java:283)
at tuwien.auto.calimero.link.Connector$Link.connect(Connector.java:446)
at tuwien.auto.calimero.link.Connector$Link.(Connector.java:219)
at tuwien.auto.calimero.link.Connector$Link.(Connector.java:176)
at tuwien.auto.calimero.link.Connector.newMonitor(Connector.java:172)
at tuwien.auto.calimero.server.gateway.SubnetConnector.openMonitorLink(SubnetConnector.java:297)
at tuwien.auto.calimero.server.gateway.KnxServerGateway$KNXnetIPServerListener.acceptDataConnection(KnxServerGateway.java:190)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ControlEndpointService.lambda$acceptConnection$5(KNXnetIPServer.java:2411)
at java.util.stream.MatchOps$1MatchSink.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.allMatch(Unknown Source)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ControlEndpointService.acceptConnection(KNXnetIPServer.java:2411)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ControlEndpointService.initNewConnection(KNXnetIPServer.java:2389)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ControlEndpointService.handleServiceType(KNXnetIPServer.java:2142)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ServiceLoop.onReceive(KNXnetIPServer.java:1476)
at tuwien.auto.calimero.internal.UdpSocketLooper.loop(UdpSocketLooper.java:134)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$ServiceLoop.run(KNXnetIPServer.java:1447)
at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer$LooperThread.run(KNXnetIPServer.java:1665)
Caused by: javax.usb.UsbClaimException: An interface is already claimed
at org.usb4java.javax.AbstractDevice.claimInterface(AbstractDevice.java:404)
at org.usb4java.javax.Interface.claim(Interface.java:102)
at tuwien.auto.calimero.serial.usb.UsbConnection.open(UsbConnection.java:608)
at tuwien.auto.calimero.serial.usb.UsbConnection.(UsbConnection.java:389)
... 27 more
[main] INFO Calimero KNX server gateway - knx-server: user request for shutdown

Also other functions doesn't work:

  • trying to download a program make the server continuosly print
    [Calimero KNX server gateway] WARN Calimero KNX server gateway - no active KNXnet/IP connection for destination 1.0.253
  • trying to download an address the server never detects the pressed button
  • diagnotics/individual addresses doesn't work, no error or warning but it doesn't detect nothing.

[Question] Config for forwarding home KNX network to development net

Hey,

so I've a calimero-server up an running for a development KNX system in order to keep my home system "clean".

Now, I'm wondering, if you have any idea for a configuration so the signals from my home KNX net are routed to my development net, but not vice versa - so the development communication should stay in that net.

Thnaks in advanced and kind regard
Dr.A.Colian

USB-RF Server - No programming possible

Hi
I'm currently trying to get started with the calimero-server.
What I try to achieve is the following setup:
calimero-server with attached USB KNX RF Stick to control some KNX RF actors

The installation and initial setup of calimero-server worked fine - as far as I can judge it until now.
When trying to add my devices using ETS I face the following error:
"Die Busverbindung KnxIpTunneling : calimero - 192.168.1.106:3671 der Linie 7.1 Linie konnte nicht hergestellt werden.
Object reference not set to an instance of an object."

Can someone please support me in getting it up and running?
Thanks in advance!
server-config.xml.zip
ets_project.zip
2020-12-16_18-28-10
2020-12-16_18-33-48
2020-12-16_18-34-04
2020-12-16_18-34-33

Docker Image for orange pi 5

Hello,

I'm don't find a docker image for aarch64 (orange pi 5). It would be great to have docker images for aarch64.

Would you consider to publish an official calimero-server image for that platform?

Regards,

Jürgen

ETS5 can not program

Hi,

I am using calimero made a KNX IP gatway, I can monitor knx bus message,but I can't program KNX device.

The log shows the device not response.

Hardware: Raspberry 4B,Siemens Bustranceiver Module BTM UP117 5WG1117-2AB12
Software: calimero-server

Best Regrads
songzh

USB is not connected to KNX network

Hello,

when I start the server I am get some errors. Is this a configuration Problem?

Regards Jürgen

Log entries (Calimero on Docker Container):

13:29:33.703 [INFO ] io.calimero.server.knx-server: knx-server siemens control endpoint (eth0 10.1.1.34:3671) is up and running
13:29:33.906 [INFO ] io.calimero.usb.provider.javax: Found 1 KNX USB devices:
|--Bus 004 Device 003: ID 0908:02dd
| N 148/12 KNX Interface (Siemens)
| S/N 0001005521D7
13:29:34.061 [INFO ] io.calimero.usb.provider.javax.siemens: Bus 004 Device 003: ID 0908:02dd
N 148/12 KNX Interface (Siemens)
S/N 0001004421D7
13:29:35.123 [ERROR ] io.calimero.link.connector: initial connection attempt
io.calimero.link.KNXLinkClosedException: USB interface is not connected to KNX network
at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.(KNXNetworkLinkUsb.java:133)
at io.calimero.core/io.calimero.link.KNXNetworkLinkUsb.(KNXNetworkLinkUsb.java:116)
at [email protected]/io.calimero.server.gateway.SubnetConnector.lambda$openNetworkLink$9(SubnetConnector.java:334)
at io.calimero.core/io.calimero.link.Connector$Link.connect(Connector.java:417)
at io.calimero.core/io.calimero.link.Connector$Link.(Connector.java:195)
at io.calimero.core/io.calimero.link.Connector.newLink(Connector.java:151)
at [email protected]/io.calimero.server.gateway.SubnetConnector.openNetworkLink(SubnetConnector.java:380)
at [email protected]/io.calimero.server.gateway.KnxServerGateway.run(KnxServerGateway.java:730)
at java.base/java.lang.Thread.run(Unknown Source)
13:29:35.136 [WARNING] io.calimero.server.gateway.knx-server: cannot dispatch to KNX subnet 1.1.0: no subnet connection

unknown service type 0x205 - ignored

Greetings!

I am using calimero-server on a Windows box, to tunnel an USB KNX connection for an OpenHAB3 server. (As OpenHAB KNX binding unfortunately does not have an USB implementation). Both calimero-server and the OpenHAB3 is on the same Windows box, using a loopback interface to communicate. Due to some reason the calimero-server does not accept the 0x205 CONNECTION_REQUEST KNX/IP service type, which is sent by the OpenHAB binding (which is based on calimero as well). ETS5 discovery and connection works perfectly. Is this working as intended? Or is there some kind of problem with the KNX/IP protocol used between the binding and claimero-server?

My server-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<knxServer name="knx-server" friendlyName="Calimero KNX IP Server">
	<discovery listenNetIf="all" outgoingNetIf="all" activate="true" />

	<serviceContainer reuseCtrlEP="false" activate="true" routing="false" networkMonitoring="true" udpPort="3671" listenNetIf="any">
		<knxAddress type="individual">1.1.80</knxAddress>
		<knxSubnet type="usb" medium="tp1">USB Interface (MDRC)</knxSubnet>
	</serviceContainer>

</knxServer>

The log of the calimero-server:

[main] INFO calimero.device.knx-server - could not open file:///c:/Adat/test/bin/knx-server-ios.xml, create resource on closing device (c:\Adat\test\bin\knx-server-ios.xml (A rendszer nem találja a megadott fájlt))
[main] INFO calimero.server.knx-server - Calimero KNX IP Server v2.5-dev
[main] INFO calimero.server.knx-server - knx-server 'Calimero KNX IP Server' - 1 service container, discovery: listen on [all] send on [all]
[main] INFO calimero.server.knx-server - USB Interface (MDRC):
        listen on any (port 3671), KNX IP routing disabled
        usb USB Interface (MDRC) connection: TP1 medium, device 1.1.80
[main] INFO calimero.server.knx-server - setup usb subnet 'USB Interface (MDRC)'
type 'stop' to stop the gateway and shutdown the server
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface net0
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth0
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth1
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface net1
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface ppp0
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface net2
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth3
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface net3
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth4
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface net4
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface net5
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface net6
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth5
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth6
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth7
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth8
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth9
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth10
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth11
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth12
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth13
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth14
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth15
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth16
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth17
[knx-server discovery endpoint] WARN calimero.server.knx-server - KNXnet/IP discovery join fails with no IP address bound to interface eth18
[knx-server discovery endpoint] INFO calimero.server.knx-server - KNXnet/IP discovery listens on interfaces [lo, eth2]
[knx-server discovery endpoint] INFO calimero.server.knx-server - knx-server discovery endpoint is up and running
[knx-server control endpoint USB Interface (MDRC)] INFO calimero.server.knx-server - control endpoint 'USB Interface (MDRC)' secure mgmt/tunneling connections: optional/optional
[knx-server tcp service USB Interface (MDRC)] INFO calimero.server.knx-server - knx-server tcp service USB Interface (MDRC) is up and running
[knx-server control endpoint USB Interface (MDRC)] INFO calimero.server.knx-server - knx-server control endpoint USB Interface (MDRC) is up and running
[knx-server] INFO calimero.usb - Found 1 KNX USB devices:
 |--Bus 001 Device 004: ID 147b:5120
[knx-server] INFO calimero.usb.USB Interface (MDRC) - Bus 001 Device 004: ID 147b:5120
[knx-server] INFO calimero.link.USB Interface (MDRC) - Device Descriptor (Mask Version) 0012 - System 1 (BCU 1)
[knx-server] INFO calimero.link.USB Interface (MDRC) - PEI type 1
enforce transmission interframe spacing, wait 14 ms
enforce transmission interframe spacing, wait 14 ms
enforce transmission interframe spacing, wait 9 ms
enforce transmission interframe spacing, wait 30 ms
enforce transmission interframe spacing, wait 14 ms
enforce transmission interframe spacing, wait 30 ms
[knx-server] INFO calimero.link.USB Interface (MDRC) - KNX individual address 1.1.255
[knx-server discovery endpoint] INFO calimero.server.knx-server - received packet from /127.0.0.1:58893 with unknown service type 0x205 - ignored

Can't get calimero server to run on Alpine Docker

I installed calimero server on an Alpine Docker on Home Assistant OS via this Dockerfile: https://github.com/aschamberger/hassio-addons/blob/master/calimero-server/Dockerfile

The serial lib is compiled on Alpine to support musl and the Java runtime is reduced to java.base via jlink.

There is an exception thrown during startup:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Calimero server settings (required for startup) -->
<knxServer name="knx-server" friendlyName="Calimero KNXnet/IP Server (on Home Assistant OS)">
	<!-- KNXnet/IP search & discovery -->
	<discovery listenNetIf="all" outgoingNetIf="all" activate="true" />
	<!-- Provides the KNXnet/IP-side configuration for access to one KNX subnet -->
	<serviceContainer activate="true" routing="false" networkMonitoring="true" 
		udpPort="3671" listenNetIf="any">
		<knxAddress type="individual">1.1.100</knxAddress>
		<knxSubnet type="ft12-cemi" medium="tp1">/dev/ttyAMA0</knxSubnet>
		<!-- KNX group address filter applied by the server for this service container (optional) -->
		<groupAddressFilter>
		</groupAddressFilter>
		<!-- Additional KNX individual addresses assigned to client KNXnet/IP connections (optional) -->
		<additionalAddresses>
			<knxAddress type="individual">1.1.101</knxAddress>
			<knxAddress type="individual">1.1.102</knxAddress>
			<knxAddress type="individual">1.1.103</knxAddress>
			<knxAddress type="individual">1.1.104</knxAddress>
			<knxAddress type="individual">1.1.105</knxAddress>
		</additionalAddresses>
	</serviceContainer>
	<!-- Add next service container (optional) -->
</knxServer>
[main] TRACE calimero.xml - resolve /etc/server-config.xml
[main] TRACE calimero.xml - no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
[main] TRACE calimero.xml - resolve jar:file:/opt/calimero/calimero-core-2.5-M1.jar!/properties.xml
[main] TRACE calimero.xml - no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamReader
[main] DEBUG calimero.device.knx-server - loading interface object server from file:///knx-server-ios.xml
[main] TRACE calimero.xml - resolve file:///knx-server-ios.xml
[main] INFO calimero.device.knx-server - could not open file:///knx-server-ios.xml, create resource on closing device (/knx-server-ios.xml (No such file or directory))
[main] INFO calimero.server.knx-server - Calimero KNXnet/IP Server (on Home Assistant OS) v2.5-M1
[main] INFO calimero.server.knx-server - knx-server 'Calimero KNXnet/IP Server (on Home Assistant OS)' - 1 service container, discovery: listen on [all] send on [all]
[main] INFO calimero.server.knx-server - /dev/ttyAMA0:
	listen on any (port 3671), KNX IP routing disabled
	ft12-cemi /dev/ttyAMA0 connection: TP1 medium, device 1.1.100
[main] DEBUG calimero.server.knx-server - setup ft12-cemi subnet '/dev/ttyAMA0'
type 'stop' to stop the gateway and shutdown the server
request to stop server
[knx-server discovery endpoint] TRACE calimero.server.knx-server - network stack uses IPv4 addresses: unknown
[main] INFO calimero.server.gateway.knx-server - knx-server: user request for shutdown
[knx-server discovery endpoint] TRACE calimero.server.knx-server - found network interfaces veth6c65d7f, vethe7827eb, vethfcf3684, veth0003e0c, vethf61de3e, veth5fed532, hassio [172.30.32.1], docker0 [172.17.0.1], eth0 [192.168.178.72], lo [127.0.0.1]
[knx-server] TRACE calimero.serial - check Java library path /opt/jdk/lib/server:/opt/jdk/lib:/opt/jdk/../lib:/usr/java/packages/lib:/lib:/usr/lib
[knx-server discovery endpoint] INFO calimero.server.knx-server - knx-server discovery endpoint [hassio, docker0, eth0, lo] is up and running
[knx-server] INFO calimero.serial - no serialcom in java.library.path: [/opt/jdk/lib/server, /opt/jdk/lib, /opt/jdk/../lib, /usr/java/packages/lib, /lib, /usr/lib]
[main] INFO calimero.server.knx-server - knx-server discovery endpoint closed
[main] INFO calimero.server.knx-server - knx-server control endpoint /dev/ttyAMA0 closed
[main] DEBUG calimero.device.knx-server - saving interface object server to file:///knx-server-ios.xml
[knx-server] DEBUG calimero.serial.ft12:/dev/ttyAMA0 - using rxtx library for serial port access
[main] TRACE calimero.xml - no StaX implementation found (java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException), using internal XMLStreamWriter
[knx-server control endpoint /dev/ttyAMA0] TRACE calimero.server.knx-server - /dev/ttyAMA0 control endpoint bound to 172.30.32.1:3671
[knx-server] INFO calimero.serial.ft12:/dev/ttyAMA0 - open rxtx (RXTX-2.2pre2) serial port connection for /dev/ttyAMA0
[knx-server control endpoint /dev/ttyAMA0] INFO calimero.server.knx-server - /dev/ttyAMA0 secure mgmt/tunneling connections: optional/optional
[knx-server] DEBUG calimero.serial.ft12:/dev/ttyAMA0 - setup serial port: baudrate 19200, even parity, 8 databits, 1 stopbits, flow control 0
[knx-server control endpoint /dev/ttyAMA0] WARN calimero.server.knx-server - initialization of knx-server control endpoint /dev/ttyAMA0 failed, retry in 10 seconds
tuwien.auto.calimero.KnxRuntimeException
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(Unknown Source)
	at java.base/java.util.concurrent.locks.ReentrantLock.lockInterruptibly(Unknown Source)
	at java.base/java.util.concurrent.ArrayBlockingQueue.poll(Unknown Source)
	at tuwien.auto.calimero.server.knxnetip.TcpLooper.start(TcpLooper.java:87)
	at tuwien.auto.calimero.server.knxnetip.ControlEndpointService.<init>(ControlEndpointService.java:165)
	at tuwien.auto.calimero.server.knxnetip.KNXnetIPServer.lambda$addServiceContainer$0(KNXnetIPServer.java:409)
	at tuwien.auto.calimero.server.knxnetip.LooperTask.run(LooperTask.java:102)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.InterruptedException
	... 13 more
[knx-server] TRACE calimero.serial.ft12:/dev/ttyAMA0 - send reset to BCU
[knx-server /dev/ttyAMA0 tcp service] INFO calimero.server.knx-server - knx-server /dev/ttyAMA0 tcp service (hassio 172.30.32.1:3671) is up and running
[knx-server] TRACE calimero.serial.ft12:/dev/ttyAMA0 - sending FT1.2 frame, blocking, attempt 1
[knx-server] DEBUG calimero.link./dev/ttyAMA0 - hop count set to 6
[knx-server] DEBUG calimero.server.gateway.knx-server - set maximum APDU length of '/dev/ttyAMA0' to 15
[main] DEBUG calimero.device.knx-server - saving device memory to /knx-server-ios.mem

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.