Old juc500_app processes kept serving pre-fix code; start.sh now
kills them and GUI defaults to port 8766.
Co-authored-by: Cursor <cursoragent@cursor.com>
Device.write/read always call get_configuration which WinUSB does not
implement. Route all framed I/O through the backend with IF5 claimed.
Co-authored-by: Cursor <cursoragent@cursor.com>
Restores the helper accidentally removed when adding access-denied
handling, retries I/O after seeding pyusb config index on Windows, and
handles USB overflow reads without crashing the HELLO loop.
Co-authored-by: Cursor <cursoragent@cursor.com>
Point users to Zadig WinUSB binding for MI_05 and stopping official
Wormhole drivers that hold exclusive claim on interface 5.
Co-authored-by: Cursor <cursoragent@cursor.com>
Widen libusb DLL search, copy DLL into venv on setup, match sibling
PIDs, and add doctor command with PnP VID_0711 hints for WinUSB.
Co-authored-by: Cursor <cursoragent@cursor.com>
Include pyusb-1.2.1-py3-none-any.whl under vendor/wheels and wire
setup scripts to pip install --no-index --find-links.
Co-authored-by: Cursor <cursoragent@cursor.com>
Skip get_configuration/kernel-driver APIs on Windows, seed pyusb
config cache, and require only Vendor interface 5 for transfers.
Co-authored-by: Cursor <cursoragent@cursor.com>
PyInstaller onedir/onefile specs, Inno Setup script, and GitHub Actions
workflow to produce JUC500-Setup-win64.exe and portable builds.
Co-authored-by: Cursor <cursoragent@cursor.com>