[solved] KNX: wrong size for routing busy indication: 0x4

When restarting OH3.2 I receive tons of warnings (about 1000 per second) indicating “wrong size for routing busy indication: 0x4”. This is weird for two reasons:

  • it means that OpenHab is sending thousands of messages with insufficient time intervals between each to the router.
  • a routing busy structure is 6 bytes (12 w/ header), not 4.

The warnings stop after few hours out of the sudden.
The KNX connection is working in general. However, I’m missing some events from KNX bus and would like to find a root cause for it. I might have issues on the Router site, but the above two problems seems to be on the OpenHab site (bugs in the binding?).

These are the warnigs:

2021-12-30 22:45:07.422 [WARN ] [p.KNXnet/IP Routing 224.0.23.12:3671] - received invalid frame
tuwien.auto.calimero.KNXFormatException: wrong size for routing busy indication: 0x4
	at tuwien.auto.calimero.knxnetip.servicetype.RoutingBusy.<init>(RoutingBusy.java:84) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPRouting.handleServiceType(KNXnetIPRouting.java:463) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ConnectionBase.handleServiceType(ConnectionBase.java:373) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ReceiverLoop.onReceive(ReceiverLoop.java:93) [bundleFile:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPRouting$ChannelReceiver.receive(KNXnetIPRouting.java:438) [bundleFile:?]
	at tuwien.auto.calimero.internal.UdpSocketLooper.loop(UdpSocketLooper.java:134) [bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ReceiverLoop.run(ReceiverLoop.java:75) [bundleFile:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2021-12-30 22:45:07.422 [WARN ] [p.KNXnet/IP Routing 224.0.23.12:3671] - received invalid frame
tuwien.auto.calimero.KNXFormatException: wrong size for routing busy indication: 0x4
	at tuwien.auto.calimero.knxnetip.servicetype.RoutingBusy.<init>(RoutingBusy.java:84) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPRouting.handleServiceType(KNXnetIPRouting.java:463) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ConnectionBase.handleServiceType(ConnectionBase.java:373) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ReceiverLoop.onReceive(ReceiverLoop.java:93) [bundleFile:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPRouting$ChannelReceiver.receive(KNXnetIPRouting.java:438) [bundleFile:?]
	at tuwien.auto.calimero.internal.UdpSocketLooper.loop(UdpSocketLooper.java:134) [bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ReceiverLoop.run(ReceiverLoop.java:75) [bundleFile:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2021-12-30 22:45:07.423 [WARN ] [p.KNXnet/IP Routing 224.0.23.12:3671] - received invalid frame
tuwien.auto.calimero.KNXFormatException: wrong size for routing busy indication: 0x4
	at tuwien.auto.calimero.knxnetip.servicetype.RoutingBusy.<init>(RoutingBusy.java:84) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPRouting.handleServiceType(KNXnetIPRouting.java:463) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ConnectionBase.handleServiceType(ConnectionBase.java:373) ~[bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ReceiverLoop.onReceive(ReceiverLoop.java:93) [bundleFile:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPRouting$ChannelReceiver.receive(KNXnetIPRouting.java:438) [bundleFile:?]
	at tuwien.auto.calimero.internal.UdpSocketLooper.loop(UdpSocketLooper.java:134) [bundleFile:?]
	at tuwien.auto.calimero.knxnetip.ReceiverLoop.run(ReceiverLoop.java:75) [bundleFile:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]

I have commented in the GitHub issue.

1 Like

This error was caused by the firmware of Telekom Router Speedport Pro Plus, which seems to not handle MultiCasting correctly.
After replacing this router with a Fritz!Box the issue disappeared.

1 Like