Systems and methods for mitigating effects of an unresponsive secure element during link establishment
A method of communicating with a secure element (SE) is described. The method includes transmitting successive RSET frames from a single wire protocol (SWP) interface to an SE, the successive RSET frames including RSET frame retransmissions. The method also includes counting a number of successive RSET frame retransmissions due to a timer expiring. The method further includes generating a firmware interrupt in response to determining that the count has reached a threshold. The method additionally includes deactivating the SWP interface based on the firmware interrupt.
1. A method of communicating with a secure element (SE), comprising:
transmitting successive RSET frames from a single wire protocol (SWP) interface to an SE, the successive RSET frames including RSET frame retransmissions;
counting a number of successive RSET frame retransmissions due to a timer expiring;
generating a firmware interrupt in response to determining that the count has reached a threshold; and
deactivating the SWP interface based on the firmware interrupt.
2. The method of claim 1 , wherein the RSET frame retransmissions occur during a simplified high level data link control (SHDLC) link establishment procedure.
3. The method of claim 1 , wherein the SWP interface is established by a contactless front-end (CLF) communicatively coupled to the SE.
4. The method of claim 3 , wherein the CLF comprises a near-field communication (NFC) controller, and wherein the SE comprises at least one of a universal integrated circuit card (UICC) or an embedded SE.
5. The method of claim 1 , wherein the RSET frame retransmissions occur before any payload data is sent or received.
6. The method of claim 1 , further comprising resetting the count in response to detecting activity from the SE.
7. The method of claim 1 , further comprising resetting the count in response to reactivating the SWP interface.
8. The method of claim 1 , further comprising resetting the count in response to a second timer expiration.
9. An electronic device configured to communicate with a secure element (SE), comprising:
a processor;
a memory in communication with the processor; and
instructions stored in the memory, the instructions executable by the processor to:
transmit successive RSET frames from a single wire protocol (SWP) interface to an SE, the successive RSET frames including RSET frame retransmissions;
count a number of successive RSET frame retransmissions due to a timer expiring;
generate a firmware interrupt in response to determining that the count has reached a threshold; and
deactivate the SWP interface based on the firmware interrupt.
10. The electronic device of claim 9 , wherein the RSET frame retransmissions occur during a simplified high level data link control (SHDLC) link establishment procedure.
11. The electronic device of claim 9 , wherein the SWP interface is established by a contactless front-end (CLF) communicatively coupled to the SE.
12. The electronic device of claim 11 , wherein the CLF comprises a near-field communication (NFC) controller, and wherein the SE comprises at least one of a universal integrated circuit card (UICC) or an embedded SE.
13. The electronic device of claim 9 , wherein the RSET frame retransmissions occur before any payload data is sent or received.
14. The electronic device of claim 9 , wherein the instructions are further executable to reset the count in response to detecting activity from the SE.
15. The electronic device of claim 9 , wherein the instructions are further executable to reset the count in response to reactivating the SWP interface.
16. The electronic device of claim 9 , wherein the instructions are further executable to reset the count in response to a second timer expiration.
17. An apparatus configured to communicate with a secure element (SE), comprising:
means for transmitting successive RSET frames from a single wire protocol (SWP) interface to an SE, the successive RSET frames including RSET frame retransmissions;
means for counting a number of successive RSET frame retransmissions due to a timer expiring;
means for generating a firmware interrupt in response to determining that the count has reached a threshold; and
means for deactivating the SWP interface based on the firmware interrupt.
18. The apparatus of claim 17 , wherein the RSET frame retransmissions occur during a simplified high level data link control (SHDLC) link establishment procedure.
19. The apparatus of claim 17 , wherein the SWP interface is established by a contactless front-end (CLF) communicatively coupled to the SE.
20. The apparatus of claim 17 , wherein the RSET frame retransmissions occur before any payload data is sent or received.
21. The apparatus of claim 17 , further comprising means for resetting the count in response to detecting activity from the SE.
22. The apparatus of claim 17 , further comprising means for resetting the count in response to reactivating the SWP interface.
23. The apparatus of claim 17 , further comprising means for resetting the count in response to a second timer expiration.
24. A computer-program product for communicating with a secure element (SE), the computer-program product comprising a non-transitory computer-readable medium having instructions thereon, the instructions comprising:
code for causing an electronic device to transmit successive RSET frames from a single wire protocol (SWP) interface to an SE, the successive RSET frames including RSET frame retransmissions;
code for causing the electronic device to count a number of successive RSET frame retransmissions due to a timer expiring;
code for causing the electronic device to generate a firmware interrupt in response to determining that the count has reached a threshold; and
code for causing the electronic device to deactivate the SWP interface based on the firmware interrupt.
25. The computer-program product of claim 24 , wherein the RSET frame retransmissions occur during a simplified high level data link control (SHDLC) link establishment procedure.
26. The computer-program product of claim 24 , wherein the SWP interface is established by a contactless front-end (CLF) communicatively coupled to the SE.
27. The computer-program product of claim 24 , wherein the RSET frame retransmissions occur before any payload data is sent or received.
28. The computer-program product of claim 24 , wherein the instructions further comprise code for causing the electronic device to reset the count in response to detecting activity from the SE.
29. The computer-program product of claim 24 , wherein the instructions further comprise code for causing the electronic device to reset the count in response to reactivating the SWP interface.
30. The computer-program product of claim 24 , wherein the instructions further comprise code for causing the electronic device to reset the count in response to a second timer expiration.