usb_buf: Limit the maximum queue length to 3 elements

If there are already three elements in the to-be-transmitted queue
for the EP, let's free the first element of the queue.  This is a
clear indication that the USB host is not polling the endpoint
regularly.  Maybe there's no host application running at all?

This should obsolete Change-Id Ie9ebdd2ff966f67c9afd1ed760f106558f0091ad

Change-Id: Ie15183f16b22193ffdaf01845db2eae4c7f43c17
Closes: OS#4251
1 file changed
tree: 6fe617e84938be8f0af22244de1fb6029e95429e
  1. contrib/
  2. debian/
  3. firmware/
  4. hardware/
  5. host/
  6. .gitignore
  7. .gitmodules
  8. clk_calc.py
  9. git-version-gen
  10. Makefile
  11. README.md
README.md

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.

This is under heavy development, and right now it is not surprising if things still break on a daily basis.

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

At this point, the primary development target is still the OWHW + sysmoQMOD device, but we expect to add support for a SAM3 based SIMtrace hardware board soon.

The goal is to support the following devices:

  • 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