Eric Wild d55729cba7 firmware: iso7816_3: fix F/D ratio for Di 8 and 9
iso7816_3_compute_fd_ratio() multiplied F by D for every d_index >= 8,
presumably because the upper half of ISO 7816-3 Table 8 encodes 1/D.

But 7816-3 2006 and 1997 differ!
That assumption is only true for the range 1010..1111, which in the
2006 version is RFU. Indices 1000 and 1001 are Di = 12 and Di = 20,
see iso7816_3_di_table[].

So right now Fi=372/Di=12 -> 372 * 12 = 4464 instead of 372 / 12 =
31.
In the cemu  value is rejected in emu_update_fidi()
and the old baud rate is silently kept.
In the sniffer update_fidi() programs US_FIDI as
4464 & 0x7ff = 368, which is garbage.

Use F/D for indices 1..9 and keep the legacy 1/D reading only for the RFU
range, where we cant really do anything useful anyway.

Change-Id: I44d6451d8b04aea2b0db7291b06a812afe84e52f
2026-07-28 18:22:02 +02:00
2024-03-23 11:32:23 +01:00
2023-04-25 17:53:11 +02:00
2025-06-23 16:00:59 +02:00
2021-07-30 10:32:35 +02:00
2021-11-01 12:03:38 +00:00
2026-07-14 18:24:10 +02:00
2025-02-12 16:09:26 +01:00

SIMtrace v2.0

This is the repository for the next-generation SIMtrace devices, providing abilities to trace the communication between (U)SIM card and phone, remote (U)SIM card forward, (U)SIM man-in-the-middle, and more.

NOTE: Nothing in this repository applies to the SIMtrace v1.x hardware or its associated firmware. SIMtrace v1.x is based on a different CPU / microcontroller architecture and uses a completely different software stack and host software.

Supported Hardware

  • Osmocom SIMtrace2 with SAM3 controller
    • this is open hardware and schematics / PCB design is published
    • pre-built hardware available from sysmocom webshop
  • Osmocom ngff-cardem M.2/NGFF modem carrier with SAM3 controller
    • this is open hardware and schematics / PCB design is published
    • pre-built hardware available from sysmocom webshoo
  • sysmocom sysmoQMOD (with 4 Modems, 4 SIM slots and 2 SAM3)
    • this is a proprietary device, publicly available from sysmocom
    • hardware evaluation kit available from sysmocom webshop
  • sysmocom OWHW (with 2 Modems and 1 SAM3 onboard)
    • this is not publicly available hardware, but still supported

This Repository

This repository contains several directory

  • firmware - the firmware to run on the actual devices
  • hardware - some information related to the hardware
  • host - Programs to use on the USB host to interface with the hardware

The host software includes

  • libosmo-simtrace2 - a shared library to talk to devices running the simtrace2 firmware
  • simtrace2-list - list any USB-attached devices running simtrace2 firmware
  • simtrace2-sniff - interface the 'trace' firmware to obtain card protocol traces
  • simtrace2-cardem-pcsc - interface the 'cardem' firmware to use a SIM in a PC/SC reader

Do not expect SIMtrace2 to work in VMs

We only support running SIMtrace2 together with a Linux system running "bare iron" on actual hardware (x86, x86_64, arm, ...). using VMs with USB pass-through for things with critical timing like SIMtrace2 is calling for trouble and we will not accept related bug reports or support you if you do. If you still want to use VMs: Feel free to do so, but understand that it's unsupported and you are on your own.

Debug UART

The debug UART configuration is 921600 8N1, TTL 3.3V.

On the simtrace 2 use either a 2.5 mm stereo headphone connector (tip = TX, ring = RX, sleeve = GND) or the nearby DEBUG port (pin 1 = GND, pin 4 = TX, pin 5 = RX).

S
Description
No description provided
Readme 7.1 MiB
Languages
C 90.7%
Linker Script 3.7%
HTML 2.8%
Makefile 0.9%
Lua 0.6%
Other 1.3%