Not applicable
Dec 19, 2016
09:17 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dec 19, 2016
09:17 PM
Hi. For a POC, we are trying to integrate our IMX sabrelite board with SLI 97 (HSM) security chip. We are trying to integrate using USB-to-SPI interface from IMX to HSM via a FTDI. The platform is
Linux and we are using all necessary libraries for transferring the HSM APIs. We have made all the necessary connections from HSM to FTDI. We are making below calls from our sample
application to talk to HSM module. But though we are able to detect FTDI module from the application, we are not getting any response from the HSM module for the APDU we are sending
from the sample application. We have tried different baud-rate and different modes of SPI operation, but still we are not getting any response. Can you please tell if we missed
something (like any necessary initialization) in the application?
if((spidev = MPSSE(mode, bitrate, endianness)) != NULL && spidev->open) // defaults: mode=SPI0, bitrate=12_MHz, endianness=MSB
{
printf("%s initialized at %dHz (SPI mode 0)\n", GetDescription(spidev), GetClock(spidev)); // This is printing information about FTDI device correctly
}
HSM_keygen(AlgID, KeyIndex, &ECPubKey); // this calls SPI_protocol_send_apdu and sends apdu to the spidev device.
close(spidev);
Within the SPI_protocol_send_apdu function, we follow below order for sending data over SPI.
Start(spidevice);
Write(spidevice, sendbufferstuffed, numsentstuffed);
dummybuffer = Read(spidevice,numsentstuffed);
Stop(spidevice);
Thanks,
Sridhar
Linux and we are using all necessary libraries for transferring the HSM APIs. We have made all the necessary connections from HSM to FTDI. We are making below calls from our sample
application to talk to HSM module. But though we are able to detect FTDI module from the application, we are not getting any response from the HSM module for the APDU we are sending
from the sample application. We have tried different baud-rate and different modes of SPI operation, but still we are not getting any response. Can you please tell if we missed
something (like any necessary initialization) in the application?
if((spidev = MPSSE(mode, bitrate, endianness)) != NULL && spidev->open) // defaults: mode=SPI0, bitrate=12_MHz, endianness=MSB
{
printf("%s initialized at %dHz (SPI mode 0)\n", GetDescription(spidev), GetClock(spidev)); // This is printing information about FTDI device correctly
}
HSM_keygen(AlgID, KeyIndex, &ECPubKey); // this calls SPI_protocol_send_apdu and sends apdu to the spidev device.
close(spidev);
Within the SPI_protocol_send_apdu function, we follow below order for sending data over SPI.
Start(spidevice);
Write(spidevice, sendbufferstuffed, numsentstuffed);
dummybuffer = Read(spidevice,numsentstuffed);
Stop(spidevice);
Thanks,
Sridhar
1 Reply
Dec 20, 2016
12:56 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dec 20, 2016
12:56 AM
Hi Sridhar,
We kindly ask for your understanding that we cannot discuss this case regarding a problem with SPI commmunication with a SLI97 security chip herein the forum. Please send this case via www.infineon.com/tac form.
Thank you.
We kindly ask for your understanding that we cannot discuss this case regarding a problem with SPI commmunication with a SLI97 security chip herein the forum. Please send this case via www.infineon.com/tac form.
Thank you.