Introduction
History SIMtrace was created out of necessity. Harald Welte wanted to see the communication between a GSM Mobile Station (or what we call a cellphone) and the SIM. He was not able to find an existing solution, or the existing ones had mayor drawbacks that made using them very time consuming and slow. The Atmel AT91SAM7 came to the rescue. This microcontroller has hardware support for the ISO7816 T0/T1 Smart Card specification. We can connect the external clock to the UART and are able to read bytes coming and going to the SIM. The next step in the project was taken by Kevin Redon that started to modify an existing AT91SAM7 design, started to use the Free Software KiCAD CAD Software. In 2011 the project went from having Schematics to having routed circuits, prototypes and the final product. The first production run was in August.
Overview The setup of SIMtrace consists out of a Hardware and a Software part. The SIM card needs to be put into the SIMtrace Hardware, the flex cable needs to be connected to the SIMtrace Hardware and the SIM end needs to be placed in the SIM socket of the phone. The SIMtrace hardware can be seen as a USB device from the host, the SIMtrace software will try to find this device and claim it. The SIMtrace software will receive packets from the SIMtrace hardware and can forward them using the GSMTAP protocol to the IANA assigned GSMTAP port (4729). A modified version of Wireshark can be used to analyze the data.
Schematic Overview SIMtrace being connected