I'm new to DLMS and trying to develop an Arduino Application to read the meter parameters from NANSEN NSX 314i. I've got a manufacturer's windows application where I could follow the messages exchanges between meter and sw. So far I learned that:
Logical Server: 1 and Physical Server: 3000
I'm accessing then by Serial Port.
When using the Public Client: 0x10, I'm able to get the association view - but only SAP Assignment is available.
Then I move to the Reader User: 0x20, I'm saw that the SW app sends the following AARQ request
Can someone help me configure the properties of DLMSDirector to work with these security settings?
So far I could set:
Device Settings -> Authetication -> HighGMAC
Then I went to Secured Connections:
System Title -> 4155580000000000
For Block Cypher Key and Authentication Key, I don't know what to use, getting the other values DLMS director describes an error saying that the key must have 16bytes.
You need to ask Block Cypher Key and Authentication Key from the manufacturer. They can be anything. As long as they are wrong, decrypted data is invalid and you can't communicate with the meter.
I believe that you will found them from the other application. They are 16 bytes long values. There are usually 32 chars because they are given in hex string.
Hi,
Hi,
You need to ask Block Cypher Key and Authentication Key from the manufacturer. They can be anything. As long as they are wrong, decrypted data is invalid and you can't communicate with the meter.
I believe that you will found them from the other application. They are 16 bytes long values. There are usually 32 chars because they are given in hex string.
BR,
Mikko
Hello, we already have the
Hello, we already have the Block Cypher Key and Authentication Key. We tried to reproduce using Gurux:
<HDLC len="89" >
<TargetAddress Value="28672" />
<SourceAddress Value="1" />
<!--AARQ frame.-->
<FrameType Value="10" />
<PDU>
<AssociationRequest>
<ApplicationContextName Value="LN_WITH_CIPHERING" />
<CallingAPTitle Value="4155580000000000" />
<SenderACSERequirements Value="1" />
<MechanismName Value="HighGMac" />
<CallingAuthentication Value="546B37324C6A6D44" />
<glo_InitiateRequest Value="200000001128DE3111C3718629EC8B7076B528" />
</AssociationRequest>
</PDU>
</HDLC>
The Gurux generates the message:
<HDLC len="97" >
<TargetAddress Value="28672" />
<SourceAddress Value="1" />
<!--AARQ frame.-->
<FrameType Value="10" />
<PDU>
<AssociationRequest>
<ApplicationContextName Value="LN_WITH_CIPHERING" />
<CallingAPTitle Value="4155580000000000" />
<SenderACSERequirements Value="1" />
<MechanismName Value="HighGMac" />
<CallingAuthentication Value="3C7623520E29617042180A0728150871" />
<glo_InitiateRequest Value="2000000000C4674577F158EFB508C57F6A44C4" />
</AssociationRequest>
</PDU>
</HDLC>
The meter become a error. Do you know if the settings are correct?
Thanks.
Hi,
Hi,
It looks like the meter is using 8 bytes long challenge. Try to set 546B37324C6A6D44 as Challenge in "Secured Connection" tab.
BR,
Mikko
Thank you! We will try this.
Thank you! We will try this.