Martin,
Thank you for your response. It doesn't appear that following those
steps fixes what does appear to be a APDU parsing issue. Take a look
at this set of APDUs and notice that the last APDU should have been:
a0 b2 04 04 26 b2 ff ff
but the a0 was appended to the previous line.
APDU: (9): a0 a4 00 00 02 7f 20 9f 23
APDU: (42): a0 c0 00 00 23 00 00 00 00 7f 20 02 00 00 00 00 00 16 b3
02 37 04 00 83 8a 83 8a 00 03 00 00 fa b0 00 00 00 00 2f 06 06 90 00
APDU: (9): a0 a4 00 00 02 6f c7 9f 13
APDU: (26): a0 c0 00 00 13 00 00 00 98 6f c7 04 00 11 00 44 01 06 01
26 00 6f 06 04 90 00
APDU: (45): a0 b2 01 04 26 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff 90 00
APDU: (45): a0 b2 02 04 26 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff 90 00
APDU: (45): a0 b2 03 04 26 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
90 00 a0
APDU: (7): b2 04 04 26 b2 ff ff
When you say 'reset' I assume you mean that you physically press the
'Reset' button on the board. Any other helpful hints that might
fix/bypass this parsing issue?
Thank you,
Jonathan
On Wed, Mar 21, 2012 at 2:44 PM, Martin Paljak <martin(a)martinpaljak.net> wrote:
Hello,
Your APDU output is garbage because it seems you have broken your host
side software or reset the board after you powered up your phone.
I experienced similar issues but it usually worked after fixing a
small apdu parsing bug in simtrace tool after following this:
1. phone off
2. reset simtrace board
3. start simtrace application
4. power up phone
Martin
On Tue, Mar 20, 2012 at 16:49, Jonathan Thomas <lexington1776(a)gmail.com> wrote:
> Harald,
>
> Thank you for your response. I will try and summarize what we are
> seeing based on your questions below.
>
> The word 'freeze' is probably not accurate as the the simtrace
> application is still running/executing without receiving a termination
> signal, etc. What we are experiencing is that the output, both with
> Wireshark and stdout, stops displaying any APDU traffic.
>
> For instance, when I boot up the phone for this first time, the
> simtrace application will appear to work correctly, but at some point
> during the reset it will stop displaying APDU traffic. For instance
> on this run it stops after a response from the SIM:
>
> APDU: (183): 03 00 00 fa b0 00 00 00 2f 06 06 90 00 a0 a4 00 00 02 a4
> 6f 3a 9f 13 a0 c0 00 00 13 c0 00 00 0d 48 6f 3a 04 00 11 00 22 01 06
> 01 22 00 6f 06 03 90 00 a0 a4 00 00 02 a4 7f 20 9f 23 a0 c0 00 00 23
> c0 00 00 00 00 7f 20 02 00 00 00 00 00 16 33 02 37 04 00 83 8a 83 8a
> 00 03 00 00 fa b0 00 00 00 00 2f 06 06 90 00 a0 a4 00 00 02 a4 6f 7e
> 9f 13 a0 c0 00 00 13 c0 00 00 00 0b 6f 7e 04 00 11 00 44 01 06 00 00
> 00 6f 06 06 90 00 a0 a4 00 00 02 a4 6f 07 9f 13 a0 c0 00 00 13 c0 00
> 00 00 09 6f 07 04 00 14 00 44 01 06 00 00 00 6f 06 03 90 00 a0 a4 00
> 00 02 a4
> APDU: (7): 6f 07 9f 13 a0 c0 00
> APDU: (7): 00 13 c0 00 00 00 09
> APDU: (7): 6f 07 04 00 14 00 44
> APDU: (7): 01 06 00 00 00 6f 06
> APDU: (7): 03 90 00 a0 a4 00 00
> APDU: (7): 02 a4 6f 07 9f 13 a0
> APDU: (199): c0 00 00 13 c0 00 00 09 6f 07 04 00 14 00 44 01 06 00 00
> 00 6f 06 03 90 00 a0 b0 00 00 09 b0 08 09 10 10 10 32 54 76 98 90 00
> a0 b0 00 00 09 b0 08 09 10 10 10 32 54 76 98 90 00 a0 a4 00 00 02 a4
> 6f 78 9f 13 a0 c0 00 00 13 c0 00 00 00 02 6f 78 04 00 14 00 44 01 06
> 00 00 00 6f 06 05 90 00 a0 b0 00 00 02 b0 00 01 90 00 a0 a4 00 00 02
> a4 6f 31 9f 13 a0 c0 00 00 13 c0 00 00 00 01 6f 31 04 00 14 00 44 01
> 06 00 00 00 6f 06 05 90 00 a0 b0 00 00 01 b0 00 90 00 a0 a4 00 00 02
> a4 6f 30 9f 13 a0 c0 00 00 13 c0 00 00 96 96 6f 30 04 00 11 00 44 01
> 06 00 00 00 6f 06 04 90 00 a0 b0 00 00 96 b0 ff ff ff ff
>
> After this point it will no longer display (Wireshark or stdout) any
> APDU traffic. The board itself shows no indication that there are any
> issues and the process 'simtrace' is still running. If I restart the
> phone the only APDU I see is the ATR APDU.
>
> If I now stop the simtrace application and restart the application I
> will get the same result on boot up of the phone. If I restart the
> application after the phone has been completely booted then I will see
> the status messages between the phone and the SIM for some period of
> time before that traffic also stops displaying to the screen.
>
> After a while I will see this error from the simtrace application:
> "Error submitting BULK IN urb: No error".
>
> An alternative phone will stop displaying APDUs, but at a different
> location from the first (this doesn't seem to be consistent):
>
> APDU: (7): 32 05 83 02 6f 42 a5
> APDU: (7): 03 80 01 71 8a 01 05
> APDU: (7): 8b 03 6f 06 07 80 02
> APDU: (7): 00 fa 88 00 90 00 00
> APDU: (7): b2 01 04 32 b2 ff ff
>
> Please let me know if I can clarify/focus these issues.
>
> Thanks,
> Jonathan
>
> On Sun, Mar 18, 2012 at 6:30 AM, Harald Welte <laforge(a)gnumonks.org> wrote:
>> Hi Jonathan,
>>
>> sorry to hear you are having trouble.
>>
>> On Wed, Mar 14, 2012 at 05:10:35PM -0500, Jonathan Thomas wrote:
>>
>>> With testing against all three of the SIMTrace modules we purchased we
>>> have found the trace appears to lock-up or freeze randomly through
>>> processing of the APDUs.
>>
>> Can you please indicate what exactly seems to trigger those freezes?
>> Is there any particular phone model or sim card (or combination
>> thereof)?
>>
>> What can you see on the simtrace UART at the time of the freeze?
>>
>> Does the USB device re-enumerate (USB reset) when you observe the freeze?
>>
>> Does the simtrace program keep running or does it stop?
>>
>> Regards,
>> Harald
>> --
>> - Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
>> ============================================================================
>> "Privacy in residential applications is a desirable marketing option."
>> (ETSI EN 300 175-7 Ch. A6)
>