A Windows user could run the bash launchers from WSL or Git Bash / MSYS2 / MinGW / Cygwin, where the Linux USB assumptions do not hold: WSL cannot reach the Windows SIMtrace2 device, and those shells have no Linux /sys + /dev/bus/usb view for the udev pre-flight. Both launchers now detect a Windows host up front (WSL via /proc/version, the rest via uname -s) and exit 2 with a pointer at the matching .bat launcher, which drives the Windows Python/PyUSB stack. The message goes to stderr; a deliberate WSL/Cygwin flow can still run the Python module directly (noted in the source comment). Tests: tests/test_launchers.py runs each script with a fake mingw uname and asserts exit 2 plus the start.bat/sniff-start.bat pointer, pins the WSL detection, and checks bash -n syntax (skipped when bash is absent). Bumps 2.7.14 (version.py, pyproject, PWA_VERSION), SW cache v96, the README download examples and the release-notes preamble. 561 Python + 80 Node tests.
1.1 KiB
Install the wheel below — the PWA is bundled inside it:
pip install ./simtrace_analyser-*.whl
simtrace-analyser-server --capture gsmtap
The UI is then served at http://127.0.0.1:8081/. If your system Python is
externally managed (PEP 668 — common on Arch and Fedora), install into a
virtual environment first (python3 -m venv .venv && . .venv/bin/activate).
The source archive is the same tree a clone would have: unzip it and run
./start.sh (Linux/macOS) or start.bat (Windows). Direct SIMtrace2 capture
on Linux additionally needs the attached 70-simtrace2-pysniff.rules udev rule.
The .sh launchers are for Linux/macOS only: on Windows use start.bat /
sniff-start.bat from cmd.exe or PowerShell (WSL, Git Bash, MSYS2, MinGW and
Cygwin are refused).
Runtime zip (no installer) — simtrace-analyser-*.zip
is the runtime tree only (packages, PWA, launchers, docs — no tests, no git):
extract it anywhere and run start.bat (Windows) or ./start.sh
(Linux/macOS). Python 3 has to be on PATH; pip install pyusb is only
needed for direct SIMtrace2 capture.
The project is MIT-licensed (see LICENSE).