On Tue, Oct 18, 2016 at 11:23:42AM +0200, Holger Freyther wrote:
On 17 Oct 2016, at 19:27, Ivaylo Kostov
<ikostov(a)sysmocom.de> wrote:
> ./pySim-read.py -p 0
> Reading ...
> Traceback (most recent call last):
> File "./pySim-read.py", line 90, in <module>
> (res, sw) = scc.read_binary(['3f00', '2fe2'])
> File "/home/wirelesss/net/pysim/pySim/commands.py", line 51, in
read_binary
> r = self.select_file(ef)
> File "/home/wirelesss/net/pysim/pySim/commands.py", line 44, in
select_file
> data, sw = self._tp.send_apdu_checksw(self.cla_byte + "a4000C02" + i)
> File "/home/wirelesss/net/pysim/pySim/transport/__init__.py", line 87, in
send_apdu_checksw
> raise RuntimeError("SW match failed ! Expected %s and got %s." %
(sw.lower(), rv[1]))
> RuntimeError: SW match failed ! Expected 9000 and got 6b00.
I think master has issues with the GR1 card, e.g. try
e9e5ecbe3068dae7e6e0959f22ed1855911dc892
holger
I can confirm: current pySim master fails for sysmosim-gr1.
My local pySim clone was still on the revision before that, which works
like a charm. As soon as I pulled the latest master, I got the same error
as Ivo, also confirmed by Max.
It looks like we should revert this commit, and/or make it configurable by a
command line option that is off by default, or maybe depend this on the SIM type in use?
commit 8c1b33c439fef423c3536e9243035722c52aba4c
Refs: {origin/HEAD}, {origin/master}, {origin/zecke/tmp}
Author: Jan Balke <jan(a)corenetdynamics.com>
AuthorDate: Mon Jan 26 11:18:28 2015 +0100
Commit: Harald Welte <laforge(a)gnumonks.org>
CommitDate: Thu Aug 20 13:32:56 2015 +0200
Do not return the FCI information while selecting a file
The sysmoUSIM-SJS1 card does not support returning the FCI
information.
Plus, the FCI information are not used anyway.
---
pySim/commands.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pySim/commands.py b/pySim/commands.py
index cb72a11..721b3d4 100644
--- a/pySim/commands.py
+++ b/pySim/commands.py
@@ -41,7 +41,7 @@ class SimCardCommands(object):
def select_file(self, dir_list):
rv = []
for i in dir_list:
- data, sw = self._tp.send_apdu_checksw(self.cla_byte +
"a4000002" + i)
+ data, sw = self._tp.send_apdu_checksw(self.cla_byte +
"a4000C02" + i)
rv.append(data)
return rv
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte