Roadmap for SIMtrace firmware

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/simtrace@lists.osmocom.org/.

Harald Welte laforge at gnumonks.org
Sun Jul 24 08:55:54 UTC 2011


Hi all!

I just waned to give you a heads-up of where I want to be heading with
regard to the simtrace firmware.

Right now we still use a hacked add-on to the OpenPCD firmware I wrote
some 5 years ago.  This was a quick way to get something working, as I
knew the code base.  It has served that purpose: We quickly had a
firmware for sniffing mode.

That code had been developed before Atmel started to publish ther
at91lib software packages which contain a lot of (probably better tested
and more portable) code supporting a wide range of Atmel ARM devices.

at91lib is especially strong on the USB side, where there are not only
implementations of CDC-ACM (serial), CCID (smartcard reader), mass
storage, usb-audio, etc. - but also composite devies out of multiple
of the above.

So what I have in mind for simtrace now is to move forward using at91lib.

However, at91lib does (obviously) not support my sam7dfu boot loader /
flasher.  DFU has been proven an exremely helpful tool for R&D type
projects, where you need quick turn-around times for testing new code
in absence of a JTAG setup.  Using the SAM-BA loader is pretty annoying
even after a short time, the constant cycles of usb-plug/unplug, jumper
closing and opeing quickly wears out not only your nerves but even the
usb plug or socket.  I know people who have built USB cables with a
power switch in the Vbus line, but even that does only half the trick.

So what I'm now doing is adding linker scripts + startup magic to
at91lib so it can build .bin files that can be downloaded using the
sam7dfu bootloader on the device, and dfu-util on the host PC.

Once that is finished, I intend to:
 * port over the existing 'sniffer mode' code from the openpcd.git
   repository and 'glue' it behind a CDC-ACM device.  This means that
   in the future, all operatign systems will only see a serial device
   with APDUs coming out of them.
 * use the at91lib-provided CCID code to build a second firmware image
   for a 'reader mode', where the PC can use simtrace as smartcard
   reader
 * later merge the two into a single firmware with two alternative USB
   configurations
 * finally, add a 'softsim' mode, where the PC can simulate the SIM
   card to the phone.  I'm not sure what I'll do on the USB protocol
   side for this.  Chances are high it's again CDC-ACM - but this time
   simultaneously with CCID for the reader side, for man-in-the-middle.

The advantage here is that we don't need to work with libusb, which
apparently can be challenging for users of legacy operating systems ;)

Thus, the ideal situation would be a single firmware image that provides
three alternate configurations: Sniffer, Cardreader and MITM.

Any help is of course very much appreciated.  I'll push my at91lib git
tree with sam7dfu support as soon as I've done some testing (I'm
travelling and unfortunately forgot my 2.5mm jack USB-serial cable).

Regards,
	Harald
-- 
- Harald Welte <laforge at gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)




More information about the simtrace mailing list