Skip to content

USB interface individual address not set - breaks ETS programming via tunnel #646

@TooAngel

Description

@TooAngel

Background

I have minimal KNX experience. My electrician installed the KNX infrastructure - I inherited a working system without understanding much of how it was set up.

Setup:

  • KNX bus with various devices (switches, dimmers, etc.)
  • MDT SCN-USBR.02 USB interface connected to a debian
  • knxd exposing the bus via KNXnet/IP tunnel
  • ETS on a separate machine connecting via tunnel

Group communication worked fine. The problem started when I tried to program devices via ETS.

Problem

ETS device programming via knxd tunnel failed. Individual addressing (T_Connect, device management) didn't work - no responses from devices.

Root cause

After debugging I found: USB interfaces have their own individual address. When knxd sends frames from e.g. 1.1.100, devices respond to that address. My USB interface wasn't configured with 1.1.100, so it filtered out the responses at the hardware level. knxd never saw them.

I tried to configure the USB interface via ETS, but:

  • The device wasn't in my ETS project (not sure if it should be?)
  • When I added it, ETS wanted me to press the programming button
  • I couldn't find the button on the MDT device

Solution

The attached PR reads the USB interface's address during init and:

  • If unconfigured (0.0.0 or 15.15.255): programs it from config
  • If matches config: all good
  • If differs: warns but doesn't overwrite
  • If no addr in config: warns that individual addressing may fail

This fixed my setup - ETS programming works now.

Not sure if...

  • USB interfaces are supposed to be configured in ETS by the installer?
  • There's a simpler solution I'm missing?

If I'm completely off track, feel free to close with a snarky comment - at least I'll have learned something :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions