I'm having the problem with both python and GXDLMSDirector.
I've a secured meter over a Wrapped TCP connection. Using GXDLMSDirector, I've introduced the meter keys and connected correctly. The problem is that as soon as I try to read an object or if I try to disconnect I get an error.
With the release it will give me back a not finished error (APDU 63 reason 1.
With the reading (a load profile) it will be an scope error.
Problem is it was a non secured meter and before being secured I could get the same obis with no problem.
Can you point me in the right direction?
AARQ
00010004008100686066a109060760857405080103a60a040841424344454647488a0207808b0760857405080201ac0a80083030303030303034be34043221303000000000d41c4ef517e45131432e38c1a688298bd5b0e6960569825ca90320cb5b9106a25404675cb733e3298316c7
AARE
000100810004004a6148a109060760857405080103a203020100a305a103020100a40a0408534147000c4efe5fbe230421281f30000001c8b0f0019b30c698ae39ad0e4cb91e91c6c2b00d5ee311abb1c990
RLRQ
00010004008100056203800100
RLRE
0001008100040020631e800101be1904172e1530000001c9bfd9d396835dec1852abc7023f9d5d24
I believe that you can fix the release problem is you check "Use protected Release" from "Advanced tab".
I also believe that you need to read the invocation counter from the meter. In GXDLMSDictor establish the connection without security or authentication. Find Frame counter data from the meter and update the logical name for the "Invocation Counter" textbox. Example 0.0.43.1.0.255
The protected release was checked but seems there is a bug in the Director, asi It's doing it correctly in python but not in the Windows app.
About the FC, I tried using your method but still have no luck with it. I even try making myself the non-secure connection manually and checking in wireshark the value to enter it manually later (+1) but it didn't work.
Btw I tried and could make a reading but not close the connection
Can you share the block cipher and authentication keys so I can check the decrypted data?
Note that there might be several DC. You need to read the right one. GXDLMSDirector can do this automatically if you set "Frame Counter".
Download GXDLMSDirector and select "Tools" and "DLMS Translator". Then select Ciphering tab and set the correct keys. Now ciphered messages are shown as XML.
Thanks Mikko. It woked like a charm. But now I have another doubt.
I've been able to use GXDLMSTransalator to decode the packets in XML format, but I can't find a way to get the decrypted PDU. As far as I see it, I can either do it using GXDLMS, that is protected, or using GXDLMSSecureClient, but that doesn't work if i want to provide a flow of packets from a pcapng file.
You can use GXDLMSTransalator to convert decrypted bytes to XML if you set ciphering settings. You need to set block cipher and authentication keys to make it work.
Hi,
Hi,
I believe that you can fix the release problem is you check "Use protected Release" from "Advanced tab".
I also believe that you need to read the invocation counter from the meter. In GXDLMSDictor establish the connection without security or authentication. Find Frame counter data from the meter and update the logical name for the "Invocation Counter" textbox. Example 0.0.43.1.0.255
https://www.gurux.fi/GXDLMSDirector.DeviceProperties#DeviceProperties
BR,
Mikko
Hi,
Hi,
The protected release was checked but seems there is a bug in the Director, asi It's doing it correctly in python but not in the Windows app.
About the FC, I tried using your method but still have no luck with it. I even try making myself the non-secure connection manually and checking in wireshark the value to enter it manually later (+1) but it didn't work.
Btw I tried and could make a reading but not close the connection
Hi,
Hi,
Can you share the block cipher and authentication keys so I can check the decrypted data?
Note that there might be several DC. You need to read the right one. GXDLMSDirector can do this automatically if you set "Frame Counter".
https://www.gurux.fi/GXDLMSDirector.DeviceProperties#DeviceProperties
I just verified that Python and GXDLMSDirector are sending the same release messages when protected release is used.
BR,
Mikko
Hi Kurumi, can you give me an
Hi Kurumi, can you give me an email. That way I can also provide the pcap file.
Thanks
Hi,
Hi,
You can get my email address from here:
https://www.gurux.fi/AboutUs
BR,
Mikko
Hello, I've asked and it's
Hello, I've asked and it's going to be difficult to give you the keys. Can you tell me how can I decrypt the messages manually? Thanks
Hi,
Hi,
Download GXDLMSDirector and select "Tools" and "DLMS Translator". Then select Ciphering tab and set the correct keys. Now ciphered messages are shown as XML.
BR,
Mikko
Thanks! It worked like a
Thanks! It worked like a charm.
Thanks Mikko. It woked like a
Thanks Mikko. It woked like a charm. But now I have another doubt.
I've been able to use GXDLMSTransalator to decode the packets in XML format, but I can't find a way to get the decrypted PDU. As far as I see it, I can either do it using GXDLMS, that is protected, or using GXDLMSSecureClient, but that doesn't work if i want to provide a flow of packets from a pcapng file.
Can you help me with this issue?
Thanks
Hi,
Hi,
You can use GXDLMSTransalator to convert decrypted bytes to XML if you set ciphering settings. You need to set block cipher and authentication keys to make it work.
BR,
Mikko