10
0
Fork 0
mirror of https://gerrit.osmocom.org/simtrace2 synced 2024-08-11 05:26:18 +00:00
Commit graph

952 commits

Author SHA1 Message Date
Christina Quast
a1dd0ef4bc Double size buf, a lot of debug 2015-03-22 19:06:12 +01:00
Christina Quast
0ca8390a8d first few communication steps work 2015-03-22 19:05:23 +01:00
Christina Quast
e5342b3c25 Added more cmds to phone.py smartcard emulator 2015-03-19 19:29:49 +01:00
Christina Quast
531d10b403 Timer counter functions, Makefile adjusted 2015-03-19 19:28:18 +01:00
Christina Quast
4e4682c785 Bug fix: state returned by each handle* func now
The variable state is not a global function.
So its value needs to be returned from each function
which might alter the state.

For now only two states exist: WAIT_RST, WAIT_CMD

FIXME: Probably there is a more elegant way to do that
2015-03-18 18:48:57 +01:00
Christina Quast
5a691a36d1 Sniffed and parsed communication in a comment 2015-03-18 18:45:14 +01:00
Christina Quast
ce296b9def Attempt to implement working simcard emulator
The BUFLEN is fixed 5 bytes now, which has to be increased.
A timeout has to be implemented, which is smaller than max_waittime.
If the timeout is triggered, the data received in the buffer so far
should be sent to the host computer which is responsible for generating
a response. Without the timeout the max_waittime of the phone would
expire and it would repeat sending the command, so that we do not
have atomary messages anymore.
2015-03-18 18:41:19 +01:00
Christina Quast
69734e9ad9 phone.py: too many usb function calls 2015-03-15 16:09:55 +01:00
Christina Quast
381d0fcde9 simtrace.py: cmdline arg for simcard emulation 2015-03-15 15:13:38 +01:00
Christina Quast
1185ae7184 phone.py: send ATR on rst 2015-03-15 15:12:50 +01:00
Christina Quast
578daaaeff first try of sim card emulator 2015-03-13 23:46:01 +01:00
Christina Quast
74876d2079 SIM card still absent 2015-03-13 23:45:33 +01:00
Christina Quast
cc2186642e Made trace.h a symbolic link 2015-03-13 14:42:30 +01:00
Christina Quast
ce8fa7e646 Add optional TRACE_*_WP switch 2015-03-13 13:09:51 +01:00
Christina Quast
23bb831cfb Added prob useful gdb information 2015-03-13 13:06:03 +01:00
Christina Quast
1c3a7994b8 Basic Assembler defines 2015-03-13 12:57:59 +01:00
Christina Quast
f07ec9fa4b Header file with includes 2015-03-13 12:55:41 +01:00
Christina Quast
0a0ca9fa81 Add resources for gdb and gcc 2015-03-13 12:35:12 +01:00
Christina Quast
2a823a4ad0 Unignore unused files 2015-03-13 12:31:06 +01:00
Christina Quast
391dc2eb43 Undefine possibility for USB trace info
Define USB_NO_DEBUG to undefine TRACE_DEBUG_WP and TRACE_INFO_WP
2015-03-13 12:02:31 +01:00
Christina Quast
b4d1b9d937 gemalto USB card reader dump 2015-03-10 23:36:23 +01:00
Christina Quast
ecfad8f75c changed select command to one supported by simcard 2015-03-10 23:35:11 +01:00
Christina Quast
c63df595e5 Atmel lib bug fixed: param position off by one
Furthermore the debug output level is INFO instead of DEBUG now.
2015-03-10 23:32:45 +01:00
Christina Quast
dba7b16b98 ccid.py should not stop when an error occurs 2015-03-10 17:58:54 +01:00
Christina Quast
32a90ac660 remove windows line endings in iso7816_4.c 2015-03-10 16:18:16 +01:00
Christina Quast
40544cacca ignore zwizwa example code and Baselibc symlink 2015-03-10 16:04:44 +01:00
Christina Quast
e03630f593 Problematic check for smartcard pin in ISR
This is a bug and should be fixed:
The smartcard insertion detection does not work if we uncomment
the check. But on the other hand, pcscd detects a lot of erroneous
smartcard insertion and removal events.
2015-03-10 15:56:05 +01:00
Christina Quast
0757fff70b Bugfix: add header file for ccid reset pin 2015-03-10 15:54:34 +01:00
Christina Quast
e4bd7c104d Removed comment about USART_Configure in iso7816_4.c 2015-03-10 15:52:49 +01:00
Christina Quast
2fcef41c90 Reference to reset pin passed to ISO7816_Init 2015-03-10 15:51:21 +01:00
Christina Quast
c5a78d72bf simtrace: wait until usb is configured 2015-03-10 15:37:52 +01:00
Christina Quast
917e0415c9 TODO notes for program 2015-03-10 15:34:00 +01:00
Christina Quast
7c9edfac25 Python script for serial usb card reader 2015-03-10 15:33:06 +01:00
Christina Quast
6838fb603d Remove atmel lib ccid targets from Makefile 2015-03-10 15:25:51 +01:00
Christina Quast
5ce38abd36 Moved code for select file cmd into function
The select command mostly works when the blue sysmocom SIM card is inserted,
but with the white SuperSIM we always get timeouts and invalid answers.
Furthermore the white card takes much longer to answer the requests than the
blue one.
So probably there is a timing issue.

Currently this is the simtrace output for select and reading IMSI, etc:
(pcscd must be running as welil, otherwise we get:
$ ./simtrace.py -S
Exception: Failed to establish context : Service not available.)

$ ./simtrace.py -S
Context established!
PCSC Readers: ['ATMEL AT91SO CCID Smart Card Reader [SIMtraceCCID] 00 00']
Using reader: ATMEL AT91SO CCID Smart Card Reader [SIMtraceCCID] 00 00
Connected with active protocol 1
Select: 0x6E 0x00
Command: 0x6D 0x00
Disconnected
Released context.
==> Expected answer for Select: 0x6D 0x00
(based on trying to execute this command with gemalto usb smart card reader)
The command works only every now and then

$ ./simtrace.py -b
pcsc: wait_for_card
Reading ...
Traceback (most recent call last):
  File "./simtrace.py", line 105, in <module>
    main()
  File "./simtrace.py", line 66, in main
    ccid.pySim_read()
  File "/home/chrysh/ba_thesis/sysmocom_repo/usb_application/ccid.py", line 22, in pySim_read
    (res, sw) = scc.read_binary(['3f00', '2fe2'])
  File "/home/chrysh/code/src/pysim/pySim/commands.py", line 42, in read_binary
    r = self.select_file(ef)
  File "/home/chrysh/code/src/pysim/pySim/commands.py", line 35, in select_file
    data, sw = self._tp.send_apdu_checksw("a0a4000002" + i)
  File "/home/chrysh/code/src/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 9404.
==> Error code 9404 does not exist, which suggests that we actually have a timing issue when
communicating with the smart cart
2015-03-10 15:16:13 +01:00
Christina Quast
1a224af098 Re-fixed ATR error not send on reset 2015-03-10 15:11:37 +01:00
Christina Quast
53d94264ee gemalto: dump of select file and read further commands 2015-03-09 17:19:48 +01:00
Christina Quast
c9c62ce7c7 dump: bug of usb select file request 2015-03-09 17:18:53 +01:00
Christina Quast
31b5b4ed93 renamed ccid reader select file python script
The command can be called now using the following command:
./simtrace -S
2015-03-09 17:17:14 +01:00
Christina Quast
b58434eb2f Atr[3] is protocol, not Atr[5], right?
Also: Added debug information for command not supported
2015-03-09 17:13:07 +01:00
Christina Quast
d89f4ee948 Ignore python bytecode files (pyc) 2015-03-09 16:44:11 +01:00
Christina Quast
d065a4b59d moved config change code to simtrace.py 2015-03-06 19:12:55 +01:00
Christina Quast
71742c770c CCID reader general: does not work yet
Protocol type 0x2 not supported
2015-03-06 19:11:45 +01:00
Christina Quast
f2582fc124 python simtrace suit: sniffer, ccid reader 2015-03-06 19:09:35 +01:00
Christina Quast
2dcaa10221 add kevins iccid, imsi, .. read commands 2015-03-06 18:14:43 +01:00
Christina Quast
60dce5d5fc Ignore .E, pycache, atmel_softpack lib files 2015-03-05 15:49:17 +01:00
Christina Quast
297f1a4d55 moved gitignore to root dir 2015-03-05 15:46:47 +01:00
Christina Quast
0166c6d64e Temporary fix: mitm mode use EP 4-6 2015-03-05 15:44:05 +01:00
Christina Quast
b5ebebea0f main: configure red led, just in case 2015-03-05 15:43:01 +01:00
Christina Quast
541656cf60 Add CCID functions to func ptrs struct 2015-03-05 15:42:40 +01:00