SIMtrace2 (based on AT91SAM3), firmware and host tools, including card emulation
Go to file
Harald Welte 050b9dde68 HACK: Solve weird problem with lost OUT transfer on ping-pong endpoint
This adds an unconditional endpoint reset procedure to every SET_FEATURE(UnHalt).

It doesn't really make sense that this is required, *particularly* as
we *MUST NOT* set bEndpoint->bank to 0 here.

Without this patch, I'm observing the following problem:

Every first OUT transfer after a SET_INTERFACE + UNHALT on a bulk endpoint
is lost. "lost" means that it completes successfully on the host, can
be seen completing successfully with an ACK on a USB bus analyzer,
but still doesn't show up in the firmware.  No Endpoint Interrupt
is generated.

This can be reproduced by calling libusb_set_interface_alt_setting()
from the host and then submitting a single OUT transfer.

Change-Id: I18ed530e617baddf76e8f9829512443ce2a76e0d
2022-03-03 19:06:12 +01:00
contrib contrib/simtrace.lua: Add Flag bits + Data to COL_INFO 2022-03-03 18:04:45 +00:00
debian Bump version: → 0.8.1 2021-12-10 10:04:28 +01:00
firmware HACK: Solve weird problem with lost OUT transfer on ping-pong endpoint 2022-03-03 19:06:12 +01:00
hardware board_gpio.gnumeric: Add ngff-cardem pin-out 2021-07-01 23:28:52 +02:00
host WIP: ignore STALL 2022-03-03 19:06:12 +01:00
.clang-format add our default clang-format file 2021-11-01 14:35:14 +01:00
.gitignore gitignore: add missing entries binaries 2022-01-11 17:09:38 +00:00
.gitmodules use same USB Product ID for DFU and runtime mode 2017-05-05 00:34:28 +02:00
.gitreview gitreview: new file 2021-07-30 10:32:35 +02:00
Makefile firmware: add bootloader update "app" 2021-11-01 12:03:38 +00:00 Update README 2020-10-27 15:55:07 +01:00
TODO-RELEASE Introduce support for asynchronous USB transmission 2020-05-25 23:00:20 +02:00 clk calculation: updated max mul val 2015-02-20 14:40:07 +01:00
git-version-gen ensure git version ends up in firmware image 2016-03-19 21:37:55 +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 SIMtrace 1.x with SAM3 controller ** this is open hardware and schematics / PCB design is published
  • sysmocom sysmoQMOD (with 4 Modems, 4 SIM slots and 2 SAM3) ** this is a proprietary device, publicly available from sysmocom
  • 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' fimrware to use a SIM in a PC/SC reader