From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

XCP seed

Hello,

 

I am trying to access an ECU via XCP with the Seed/Key algorithm. My A2L file describes the dll, which calculates the key from seed. The dll resides in the same folder as the A2L file. The function in the dll is called "XCP_ComputeKeyFromSeed".

 

As I see on the trace, the CONNECT (0xFF) command and the GET_STATUS (0xFD) commands are sent and acknowledged by the ECU. The next command should be GET_SEED (0xF8), but this command is not sent by the XNET hardware. Instead, the next command is GET_DAQ_PROCESSOR_INFO (0xDA), which returns an access error from the ECU, as the seed/key peocess has not been done. I get the following error from LabVIEW:

 

ECU Measurement and Calibration Toolkit:  (Hex 0xFFFB67ED) CCP/XCP error: Access locked. The specified slave device resource was not unlocked using the Seed/Key mechanism. Check availability of a valid SeedKey DLL.

 

Attached you can find a trace and a snippet from my VI.

 

 

0 Kudos
Message 1 of 10
(7,810 Views)

Hi Madottati,

 

which version of the ECU Toolkit and which hardware and platform are you using?

 

Best regards,

Peter

0 Kudos
Message 2 of 10
(7,719 Views)

Hello,

 

I have a quite similar problem.


I want to read data from a device via XCP.
In the first step I'm opening ECU from A2L database (MC ECU OPEN). That works without problems. In the next step I want to initialize a DAQ Task (MC DAQ Initialize).
That's the point where I'm getting the Error -301021 "ECU Measurement and Calibration Toolkit:  (Hex 0xFFFB6823) The Seed-Key dll could not be loaded. Verify that the Seed-Key dll is stored in the same directory as the A2L database file."
I'm using the ECU Measurement and Calibration toolkit 14.0 and teh LabVIEW Runtime 2014 SP1 f1. The programm schould run on a PXI-8106.

 

 Where is the Path for the seedkey DLL, and how can i find out if the dll works correctly?

 

Programm.png

0 Kudos
Message 3 of 10
(7,235 Views)

Hi Werinos,

 

the seed-key dll has to be in the same folder, where the A2L file is. I also had problem with the original 3rd party seed-key dll, so I created my own one in LabVIEW...

0 Kudos
Message 4 of 10
(7,229 Views)

Hi Madottati,

 

Thank you for the answer.

The seed-key dll is in the same folder.

Could you explain how you created your seed-key dll in LabVIEW?

 

 

0 Kudos
Message 5 of 10
(7,223 Views)

are you using LabVIEW 32bit version?

0 Kudos
Message 6 of 10
(7,218 Views)

Yes, I'm using LabView 2014 SP1 (32-Bit)

0 Kudos
Message 7 of 10
(7,214 Views)

Hey,

 

attach you can find the LabVIEW Project. Basically the dll should have two mandatory functions:

XCP_GetAvailablePrivileges.vi

XCP_ComputeKeyFromSeed.vi

 

You should just modify the XCP_ComputeKeyFromSeed.vi according to your ECU's specification. In my VI you can see the calculation for my ECU.

 

In the XCP_GetAvailablePrivileges.vi I just return 0x1D, which I just found out from the original dll 🙂

 

The Project is in LV2014 32 bit.

 

 

0 Kudos
Message 8 of 10
(7,213 Views)

Hi Werinos,

 

could you solve the problem?

 

0 Kudos
Message 9 of 10
(7,176 Views)

Hey,

 

I still couldn't solve the problem so far. I think there is a Problem with the files I have got from the other company.

We'll have to discuss these problems with the other company, because there maybe is also a problem with the A2L file.

 

Thank's for your support so far, I'll keep you up to date.

0 Kudos
Message 10 of 10
(7,169 Views)