This page last changed on Aug 03, 2013 by skynet74.

Hello,

I'm sending UPD datagrams to a KNX IP gateway.

1st: sending CONNECT_REQUEST

06 10 02 05 00 1a 08 01 00 00 00 00 f4 57 08 01 c0 a8 0a 0e 0e 57 04 04 02 00 (set Souce IP to 0.0.0.0, but also with real IP no TUNNELLING_REQUEST answer!)

2nd: receiving CONNECT_RESPONCE with no errors

06 10 02 06 00 14 53 00 08 01 00 00 00 00 00 00 04 04 00 0e

3rd: sending CONNECTIONSTATE_REQUEST

06 10 02 07 00 10 53 00 08 01 00 00 00 00 f4 57

4th: receiving CONNECTIONSTATE_RESPONCE with not errors

06 10 02 08 00 08 53 00

5th: sending TUNNELING_REQUEST, but no answer - CAN ANYBODY HELP ME?

06 10 04 20 00 15 04 53 00 00 11 00 bc e0 00 00 08 02 01 00 81

after a timeout:

6th: sending DISCONNECT_REQUEST

06 10 02 09 00 10 53 00 08 01 00 00 00 00 cd a9

7th: receiving DISCONNECT_RESPONCE without errors

06 10 02 0a 00 08

Whats the problem with die TUNNELLING_REQUEST. Why do not answer the gateway? Could help anybody?

Thanks!

Nico

I have found it!

You must handle the hole datagrams with two outgoing ports/connections. One port for CONNECTION_REQUEST/CONNECTIONSTATE_REQUEST and DISCONNECT_REQUEST. For TUNNELLING_REQUEST you must use the second one.

BYTE 8-13 ist the 1st local connection and BYTE 16-21 the 2nd local connection. In our example we have the same local IP at BYTE 8-11 and 16-19m but different ports.

Here a right communication:

1st: sending CONNECT_REQUEST

06 10 02 05 00 1a 08 01 c0 a8 0a b3 d9 6d 08 01 c0 a8 0a b3 d8 36 04 04 02 00

2nd: receiving CONNECT_RESPONCE with no errors

06 10 02 06 00 14 49 00 08 01 c0 a8 0a 0e 0e 57 04 04 10 01

3rd: sending CONNECTIONSTATE_REQUEST

06 10 02 07 00 10 49 00 08 01 c0 a8 0a b3 d9 6d

4th: receiving CONNECTIONSTATE_RESPONCE with not errors

06 10 02 08 00 08 49 00

5th: sending TUNNELLING_REQUEST (Switch the lighbumb on, at 1/0/2

06 10 04 20 00 15 04 49 00 00 11 00 bc e0 00 00 08 02 01 00 81

6th: receiving TUNNELLUNG_ACK with not errors

06 10 04 21 00 0a 04 49 00 00

7th: receiving TUNNELLING_REQUEST from gateway to proof our request (change bytes from 11 to 2e)

06 10 04 20 00 15 04 49 00 00 2e 00 bd e0 10 01 08 02 01 00 81

8th: sending TUNNELLING_ACK

06 10 04 21 00 0a 04 49 01 00

9th: sending DISCONNECT_REQUEST

06 10 02 09 00 10 49 00 08 01 c0 a8 0a b3 d9 6d

10th: receiving DISCONNECT_RESPONCE without errors

06 10 02 0a 00 08 49 00

It's so easy, if you know the system

Posted by skynet74 at Aug 07, 2013 10:10
Document generated by Confluence on Jun 05, 2016 09:31