Project

General

Profile

SIMtrace Hardware » History » Version 41

laforge, 10/06/2019 03:23 PM

1 41 laforge
**%{background:yellow}WARNING: this project only applies to the first generation SIMtrace hardware, which uses the Atmel AT91SAM7S micro-controller. This project is not supported anymore. The hardware and software are still working, but won't get updates. This project is now replaced by project:simtrace2, which uses the SAM3S replacement micro-controller. Patches to add support for the Atmel AT91SAM7S in the simtrace2 software are welcome.%**
2
3 1 laforge
h1. Osmocom SIMtrace Hardware
4 31 tsaitgaist
5 40 fixeria
{{>toc}}
6 31 tsaitgaist
7
This page is dedicated to the Hardware for Osmocom [[SIMtrace]], which looks like this:
8
9 32 zecke
{{thumbnail(simtrace_11_front.jpg)}}{{thumbnail(simtrace_connectors_scaled.png)}}
10 1 laforge
11 31 tsaitgaist
You can buy the device on the "sysmocom shop":http://shop.sysmocom.de/products/simtrace.
12 1 laforge
13
14 31 tsaitgaist
h2. Connectors
15 1 laforge
16
17 31 tsaitgaist
* USB: USB mini-B connector. The main connector. The host software communicates (sniffing,...) through USB with the board. It can also be used to flash the micro-controller (using DFU).
18
* serial: 2.5 mm jack serial cable, as used by osmocomBB. port used to debug the device (printf goes there).
19
* debug (P2): same as serial, but using the FTDI serial cable. *It is recommended to cut the voltage wire of the 6pin FTDI connector before plugging the cable into the simtrace.*
20
* jtag (P1): JTAG 20 pin connector to do hardware assisted debugging.
21
* BT1: battery connector (4.5-6V DC). normally the USB provides power, but the battery port can be used for autonomous use of SIMtrace. The sniffed data can be saved in the flash (U1).
22
* FFC_SIM (P3): to connect the flat flexible cable with SIM end for the phone.
23
* SIM (P4): put your SIM in there (instead of in the phone)
24
* reset (SW1): to reset the board (not erasing the firmware). If your are too lazy to unplug and re-plug the USB.
25
* bootloader (SW2): used to start the bootloader to flash the device using DFU. press when plugging in the USB.
26
* test (JP1): short circuit using a jumper to flash using [[SIMtraceFirmware#EnteringtheSAM-BAmode|SAM-BA]].
27
* erase (JP2): short circuit using a jumper to completely erase the firmware.
28
29
h2. Schematics, Gerber & Co
30 1 laforge
31 38 laforge
{{thumbnail(simtrace_v14_schematic.png)}}
32 31 tsaitgaist
33 2 laforge
The schematics, Gerber files, etc. can be found in the 'hardware' subdirectory of the simtrace.git repository:
34 31 tsaitgaist
* http://cgit.osmocom.org/cgit/simtrace/tree/hardware (web browsing)
35
* git://git.osmocom.org/simtrace (git clone URL)
36 15 laforge
37
We're using Kicad as EDA tool.  Most of the work on the schematics and Gerber files has been done by Kevin Redon,
38
based on the original design by Harald Welte.
39 1 laforge
40 38 laforge
PDF renderings of the latest schematics are also available as an attachment to this page.
41
42 1 laforge
43
44 31 tsaitgaist
h2. Interconnections
45
46
47 1 laforge
The hardware schematics are very, very simple:
48
49 31 tsaitgaist
* Connect SIM-RST with PA7
50
* Connect SIM-I/O with PA6(TXD0) and PA1(TIOB0)
51
* Connect SIM-CLK with PA2(SCK0) and PA4(TCLK0)
52
* Connect SIM-GND with GND
53 15 laforge
54
55 31 tsaitgaist
h2. Mode of operation
56
57
58 25 laforge
The USART of the AT91SAM7S is capable of T=0. The documentation only mentions it in clock-master mode, like you
59
would run it in a smart card reader to actively talk to a smart card. However, by using the USART input clock multiplexer,
60
you can use an externally-generated CLK like the one from the SIM card socket of the phone.
61
62
Unfortunately, the Rx Timeout feature of the USART is not working in T=0 mode, so I had to re-implement Rx timeout (waiting time)
63
handling by means of the TC (timer/counter) block 0.  Due to technical limitations, we will wait up to one byte (12 etu) more
64 1 laforge
than we should.
65 25 laforge
66 31 tsaitgaist
h2. Modi
67
68
69 1 laforge
SIMtrace has the possibility to work as:
70 31 tsaitgaist
* sniffer
71
* card reader
72
* card emulator
73
* man-in-the-middle
74 1 laforge
75
The SAM7S offers 2 T=0 capable USART ports.
76
One is connected to the phone (PA21-PA27), the other to the SIM (PA1-PA7).
77 31 tsaitgaist
The lines goes from the phone to the SIM through a bus switch (IC4="CB3Q3244":http://www.ti.com/lit/ds/symlink/sn74cb3q3244.pdf).
78 1 laforge
The bus switch offer 2 buses of 4 lines:
79 31 tsaitgaist
* The first is used to forward RST, CLK, and VPP (between the SIM and the phone). It is controlled by SC_SW (PA20)
80
* The second is used to forward I/O (between the SIM and the phone). It is controlled by SC_I/O (PA19)
81 1 laforge
82
The various modi require to interrupt different lines:
83
84 35 laforge
|_.SW_SC (PA20) |_.SC_I/O (PA19) |_.description |_.modus |
85
| L | L | phone and SIM directly connected | sniffer (use any USART port) |
86
| L | H | only I/O interrupted | MitM (use both USART port) |
87
| H | H | phone and SIM not connected | card read, emulator (use each USART port) |
88 1 laforge
89 35 laforge
As of now, still only the sniffer is implemented in the firmware
90 1 laforge
91
SIM cards support various classes (voltage levels): class A = 5.0V, class B = 3.0V, class C = 1.8V.
92
SIMtrace v1.x only supports class B (3.0V), which all actual SIM cards and phone also support.
93
To ensure class B is used, SIMtrace forces 3.3V (within the 3.0V±10% spec) by holding the VCC line at this voltage.
94
SIMtrace v2 will support all 3 classes.
95 30 tsaitgaist
96 31 tsaitgaist
h2. Revisions
97 1 laforge
98
h3. v2.0
99 31 tsaitgaist
100 34 laforge
This was formerly ongoing (but now long stalled) work.
101 30 tsaitgaist
The changes compared to v1.x are:
102 31 tsaitgaist
* ID-1 and ID-000 smart card slots (with presence detection): so to be able to also sniff credit card sized smart cards
103
* through hole USB Mini-B and Serial/Jack 2.5 connector: to be more robust
104
* properly support all smart card classes (A,B,C): better compatibility
105 1 laforge
* be able to forward voltage from phone to SIM or provide voltage from the board: ideal sniffer and reader
106 31 tsaitgaist
* use an microSD slot instead of built-on flash: easier data transfer
107 1 laforge
* a SWP sniffer (maybe)
108
109
j3. v1.4p-SAM3 (unreleased, available upon request)
110 33 laforge
111 31 tsaitgaist
* switch from AT91SAM7S to AT91SAM3S: it has more USB endpoints
112 34 laforge
** new firmware incomplete
113 1 laforge
114 34 laforge
h3. v1.4 / v1.4p (2014-06)
115 1 laforge
116 33 laforge
Changes:
117
* ensure PA0, PA1 and PA2 are high logic level at power-up (low interferes with SAM-BA operation)
118 1 laforge
** PA0 hard-wired to 3V#
119 33 laforge
** PA1 and PA2 get R25, R26 pull-up
120
* update to AT91SAM128D (previous we used AT91SAM128C which is now EOL)
121
* switch to alternative type of ferrite bead/filter, as old one is EOL
122
123 36 laforge
Downloads:
124
* [attachment:simtrace_v14_schematic.pdf]
125 37 laforge
* [attachment:simtrace_v14p_gerber.zip]
126 36 laforge
127 34 laforge
h3. v1.3 (2013-11)
128 33 laforge
129 32 zecke
{{thumbnail(simtrace_v13_front.jpg)}}
130 30 tsaitgaist
131 1 laforge
Changes:
132
* added a FPF2109 power switch
133 31 tsaitgaist
* added a zener diode on LDO to SIM to provide ~3.0V to SIM (closer to ISO 7812 specified class B)
134
* it is now possible to choose the power source for the SIM card: provided by the SIMtrace on-board LDO, or forwarded from the phone
135
* no production customizations required
136
* silkscreen redone (sadly missing on the produced batch)
137 33 laforge
* change SPI flash to S25FL032P0XMFI011
138 1 laforge
139 31 tsaitgaist
*BUG:* because of this new feature (selecting power source for the SIM), we wanted to be able to identify the v1.3 board.
140 1 laforge
To do that, we tied PA0 to ground. But this needs to be HIGH for the AT91SAM7S to be able to enter it's SAM-BA mode (for flashing the first time).
141
If you produce the board yourself, you have to cut the path between the left upper pin and the capacitor.
142 31 tsaitgaist
The version is now written in flash. To flash the firmware the first time (only), follow the dedicated [[ProductionFlashingV13|instructions]].
143 1 laforge
144 24 tsaitgaist
Downloads:
145 31 tsaitgaist
* [attachment:simtrace_v13_schematic.pdf]
146
* [attachment:simtrace_v13_board.zip]
147 23 tsaitgaist
148
149 34 laforge
h3. v1.2p (1.2 Production branch, 2012-05)
150 31 tsaitgaist
151
152 32 zecke
{{thumbnail(simtrace_v12p_front.jpg)}}
153 1 laforge
154 23 tsaitgaist
adaptation of the v1.1p because of component availability for new batch.
155 1 laforge
156
Changes:
157 31 tsaitgaist
* capacitor is even nearer to the LDO
158
* one diode slightly changed place
159
* quartz crystal is smaller (footprint still fits)
160 1 laforge
* SIM slot is another (not available from Amphenol anymore). No presence switch.
161 31 tsaitgaist
162 1 laforge
Downloads:
163 31 tsaitgaist
* [attachment:simtrace_v12_schematic.pdf]
164
* [attachment:simtrace_v12p_gerber.zip]
165 1 laforge
166 34 laforge
h3. v1.1p (1.1 Production branch, 2011-12)
167 31 tsaitgaist
168
169 32 zecke
{{thumbnail(simtrace_11_front.jpg)}}
170 23 tsaitgaist
171
This is a slightly corrected version of the v1.0p.
172
173
Changes:
174 31 tsaitgaist
* a critical capacitor is near the LDO
175
* some other capacitors are nearer to the CPU
176
* some power traces are wider
177
* the SIM C6/VPP contact is also routed through the bus switch (sometimes used for Single Wire Protocol)
178 1 laforge
* sysmocom is added in the copper for legal reasons
179 31 tsaitgaist
* the FTDI Vcc is cut
180 20 tsaitgaist
181 7 laforge
Downloads:
182 31 tsaitgaist
* [attachment:simtrace_v11p_schematic.pdf]
183
* [attachment:simtrace_v11p_gerber.zip]
184 7 laforge
185 34 laforge
h3. v1.0p (1.0 Production branch, 2011-07)
186 22 tsaitgaist
187 31 tsaitgaist
188
189 32 zecke
{{thumbnail(simtrace_v10p_front_mid.jpg)}}
190 20 tsaitgaist
191
This is identical to v1.0 on the schematics side, we simply altered the footprints of some components to accommodate
192
whatever the SMT factory had in stock.  Specifically the LED are 0805 instead of 0603, and the shottky diodes are
193 7 laforge
in a slightly awkward looking very large package.
194
195
Downloads:
196 31 tsaitgaist
* [attachment:simtrace_v10p_schematic.pdf]
197
* [attachment:simtrace_v10p_gerber.zip]
198 7 laforge
199
200 31 tsaitgaist
h3. v1.0
201 20 tsaitgaist
202 31 tsaitgaist
203
204 32 zecke
{{thumbnail(simtrace_10_front.jpg)}}
205 1 laforge
206
This is the first stable release.  We built some 5 prototypes from this version.
207 7 laforge
208 1 laforge
Downloads:
209 31 tsaitgaist
* [attachment:simtrace_schem_v10.pdf]
210
* [attachment:simtrace_10_gerber.zip]
211 20 tsaitgaist
212
213 31 tsaitgaist
h3. v0.9
214
215
216 32 zecke
{{thumbnail(simtrace_v09_top_mid.jpg)}}
217 7 laforge
218 1 laforge
As of June 04, 2011 the components had all arrived and four PCBs were in production.  We assemble the first
219
units around June 14, 2011.
220
221
As of June 21st, we had four re-worked prototypes that are fully functional.
222
223 31 tsaitgaist
224 7 laforge
h3. v0.8
225 31 tsaitgaist
226
227 32 zecke
228 8 laforge
{{thumbnail(simtrace_08_front_mid.jpg)}}
229
230
Never really was an official release.  However, a friend took the unfinished Gerber files and built 5 units.
231
232
Since the Gerber was not finished, we had to do lots and lots of re-work in order to make them work at all.
233
234 31 tsaitgaist
h2. License
235
236
237 8 laforge
Schematics and Gerber files are released under the Creative Commons CC-BY-SA (Share Alike / Attribution) license.
238 1 laforge
239
240 31 tsaitgaist
h2. Sales
241 1 laforge
242
243 31 tsaitgaist
Sales started at the 2011 CCC Camp and the hardware can be bought through the web-shop of sysmocom GmbH ("h2. Credits
244
245
246
* Harald Welte
247
** Original project idea, schematic design
248
** Olimex SAM7-P64 based prototypes
249
** Firmware and host software
250
* Kevin Redon
251
** [[KiCAD]] work on schematics, footprints and routing
252
** Soldering of some prototypes
253
* [http://sysmocom.de/ sysmocom - systems for mobile communications GmbH":http://shop.sysmocom.de/])
254
** funding for hardware prototyping (PCB, components, etc)
255
* Christian Daniel
256
** post-production flashing + debugging, design + test of v1.0p rework
Add picture from clipboard (Maximum size: 48.8 MB)