pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes

Initially the Card is read assuming a UICC SIM, but in case its not, an
error 6e00 will be thrown indicating CLA not supported and Card has just Classic SIM application.

Ref: https://web.archive.org/web/20090630004017/http://cheef.ru/docs/HowTo/APDU.info

The above link provides the bytes to use for CLA, P1, P2 in APDU

Change-Id: Ifea328eff3a381d7b82118e22d2bc0ec5f8a87e4
diff --git a/pySim-read.py b/pySim-read.py
index 3e25c76..8f81443 100755
--- a/pySim-read.py
+++ b/pySim-read.py
@@ -92,6 +92,17 @@
 	# Wait for SIM card
 	sl.wait_for_card()
 
+	# Assuming UICC SIM
+	scc.cla_byte = "00"
+	scc.sel_ctrl = "0004"
+
+	# Testing for Classic SIM or UICC
+	(res, sw) = sl.send_apdu(scc.cla_byte + "a4" + scc.sel_ctrl + "02" + "3f00")
+	if sw == '6e00':
+		# Just a Classic SIM
+		scc.cla_byte = "a0"
+		scc.sel_ctrl = "0000"
+
 	# Program the card
 	print("Reading ...")
 
@@ -236,6 +247,5 @@
 	else:
 		print("SIM Service Table: Can't read, response code = %s" % (sw,))
 
-
 	# Done for this card and maybe for everything ?
 	print("Done !\n")