Releases: benedictemarty/PicoWiFiModemUSB
Release list
v0.3.3 — Fix USB descriptor (COM port on Windows)
Fix: no COM port on Windows (USB descriptor)
Reported by Dbug on the defence-force forum (p34901): after flashing, no COM port appeared on Windows (LOCI showed "CDC modem mounted", and Linux worked fine).
Cause. The USB configuration descriptor advertised two CDC functions (4 interfaces) while the stack was built with a single CDC (CFG_TUD_CDC=1). So wTotalLength (75 bytes) only covered the first CDC, while bNumInterfaces claimed 4 — an inconsistent descriptor. Windows rejects it (no COM port); Linux tolerates it. The second CDC was non-functional anyway. This bug was present from v0.2.0 through v0.3.2.
Fix. The device is now a single, standard AT-command CDC modem (2 interfaces), so wTotalLength matches bNumInterfaces. Equivalent to the one-byte patch (bNumInterfaces 0x04→0x02) Dbug found. A host-side regression test now guards this invariant.
Downloads
wifi_modem-v0.3.3.uf2— flash this (hold BOOTSEL, plug USB, drop ontoRPI-RP2).ATIreportsPico WiFi modem v0.3.3.PicoWiFiModemUSB-v0.3.3.zip— full bundle: firmware +wificonf.bas+ optional CA image + EN/FR manuals +README.txt(flashing for Windows/Linux/macOS).PicoWiFiModemUSB-v0.3.3.sha256— checksums.
No CC65 build required — everything is pre-built.
v0.2.0 — Proxy TLS fonctionnel et validé sur matériel
Première version avec terminaison TLS opérationnelle et vérifiée sur Pico W réel.
Corrections & ajouts
- Correctif : deadlock USB CDC au démarrage (
startupWaitsanstud_task()) - Ajout :
AT$CA=— chargement d'un CA (PEM) par série - Correctif : vérification TLS inopérante (
MBEDTLS_PEM_PARSE_Cmanquant) - Correctif : gel du CDC pendant la connexion WiFi (
ATC1) - Durcissement :
AT$CV1refuse sans CA (+ restauration deAT$CA-)
Validation matérielle
- TLS terminé dans le dongle :
example.com,google.com(83 Ko), GitHub raw - Vérification de certificat (badssl) : valides acceptés,
expired/self-signed/untrusted-root/wrong.hostrefusés
Firmware
wifi_modem-v0.2.0.uf2 — Pico W (RP2040). Flasher en maintenant BOOTSEL.