<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">I have two SIM card I inheritted from a previous project that I've been told came from the same vendor. When I run `pcsc_scan` on them, I get the following output for both:<br>
<br>
Reader 0: OMNIKEY CardMan (076B:3022) 3021 00 00<br>
Card state: Card inserted, <br>
ATR: 3B 7D 94 00 00 55 55 53 0A 74 86 93 0B 24 7C 4D 54 68<br>
<br>
ATR: 3B 7D 94 00 00 55 55 53 0A 74 86 93 0B 24 7C 4D 54 68<br>
+ TS = 3B --> Direct Convention<br>
+ T0 = 7D, Y(1): 0111, K: 13 (historical bytes)<br>
TA(1) = 94 --> Fi=512, Di=8, 64 cycles/ETU<br>
62500 bits/s at 4 MHz, fMax for Fi = 5 MHz => 78125 bits/s<br>
TB(1) = 00 --> VPP is not electrically connected<br>
TC(1) = 00 --> Extra guard time: 0<br>
+ Historical bytes: 55 55 53 0A 74 86 93 0B 24 7C 4D 54 68<br>
Category indicator byte: 55 (proprietary format)<br>
<br>
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):<br>
3B 7D 94 00 00 55 55 53 0A 74 86 93 0B 24 7C 4D 54 68<br>
SIM from sysmocom sysmoSIM-GR2<br>
<br>
When I try to program one of the SIMs, it works fine:<br>
<br>
$ sudo ./pySim-prog.py -p 0 -i 001010000000001 -k ffffffffffffffffffffffffffffffff -t sysmoSIM-GR2 --num=1 --mcc=001 --mnc=01<br>
Insert card now (or CTRL-C to cancel)<br>
Generated card parameters :<br>
> Name : Magic<br>
> SMSP : e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000<br>
> ICCID : 8901001010000000017<br>
> MCC/MNC : 1/1<br>
> IMSI : 001010000000001<br>
> Ki : ffffffffffffffffffffffffffffffff<br>
> OPC : f134b55cea2942ebbd213c82e084be62<br>
> ACC : None<br>
<br>
Programming ...<br>
Done !<br>
<br>
But on the other I get:<br>
<br>
$ sudo ./pySim-prog.py -p 0 -i 001010000000001 -k ffffffffffffffffffffffffffffffff -t sysmoSIM-GR2 --num=1 --mcc=001 --mnc=01<br>
<br>
Insert card now (or CTRL-C to cancel)<br>
Generated card parameters :<br>
> Name : Magic<br>
> SMSP : e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000<br>
> ICCID : 8901001010000000017<br>
> MCC/MNC : 1/1<br>
> IMSI : 001010000000001<br>
> Ki : ffffffffffffffffffffffffffffffff<br>
> OPC : 53945a5223e299bf6cec05911922442c<br>
> ACC : None<br>
<br>
Programming ...<br>
Traceback (most recent call last):<br>
File "./pySim-prog.py", line 636, in <module><br>
card.program(cp)<br>
File "/home/user/workspace/pysim/pySim/cards.py", line 382, in program<br>
self._scc.verify_chv(0x05, pin)<br>
File "/home/user/workspace/pysim/pySim/commands.py", line 111, in verify_chv<br>
return self._tp.send_apdu_checksw(self.cla_byte + '2000' + ('%02X' % chv_no) + '08' + fc)<br>
File "/home/user/workspace/pysim/pySim/transport/__init__.py", line 87, in send_apdu_checksw<br>
raise RuntimeError("SW match failed ! Expected %s and got %s." % (sw.lower(), rv[1]))<br>
RuntimeError: SW match failed ! Expected 9000 and got 9840.<br>
<br>
<br>
I also tried some of the other branches, as people on other forums had reported better luck with those, but I get the same error. Is there any documentation explaining the magic byte values that are sent back and forth to the card? I'm having a hard time
understanding the spec by which the program is trying too communicate with the card.<br>
<br>
Any help is greatly appreciated.<br>
<br>
Thanks,<br>
Billy<br>
</div>
</body>
</html>