From 350642e8f209a1e6927d2d73a58c9b62af072b81 Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Mon, 2 Nov 2026 10:11:22 +0100 Subject: [PATCH 1/2] tinySA ULTRA: own USB IDs 1781:0A44 The tinySA ULTRA enumerates as VID 0x1781 PID 0x0A44 instead of the ST virtual COM port pair 0x0483 0x5740; the tinySA keeps 0x0483 0x5740. The IDs now follow the model (TINYSA4) instead of the USB descriptor variant (__USE_USB_MSC__). bcdDevice is unchanged. Tested on a ZS405 (HW V0.4.5.1) under Windows 11: the composite device, the serial port and the mass storage interface bind to the inbox drivers (usbccgp, usbser, USBSTOR) without an INF, the console works on the new COM port and "reset dfu" enters the bootloader (0483:DF11) as before. tinySA-App with both IDs accepted connects to either firmware. Co-Authored-By: Claude Opus 5.5 --- usbcfg.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/usbcfg.c b/usbcfg.c index 20d500e..928a4ec 100644 --- a/usbcfg.c +++ b/usbcfg.c @@ -30,6 +30,18 @@ SerialUSBDriver SDU1; #define USBD1_DATA_AVAILABLE_EP 1 #define USBD1_INTERRUPT_REQUEST_EP 2 +/* + * USB vendor and product ID: the tinySA ULTRA has its own, the tinySA keeps + * the ST virtual COM port pair. + */ +#ifdef TINYSA4 +#define USB_VID 0x1781 +#define USB_PID 0x0A44 +#else +#define USB_VID 0x0483 /* ST */ +#define USB_PID 0x5740 +#endif + /* * USB Device Descriptor. */ @@ -41,8 +53,8 @@ static const uint8_t vcom_device_descriptor_data[18] = { 0x02, /* bDeviceSubClass (Common Class). */ 0x01, /* bDeviceProtocol (IAD). */ 0x40, /* bMaxPacketSize. */ - 0x0483, /* idVendor (ST). */ - 0x5740, /* idProduct. */ + USB_VID, /* idVendor. */ + USB_PID, /* idProduct. */ 0x0201, /* bcdDevice, changed with the composite layout so that Windows selects the drivers again. */ @@ -56,8 +68,8 @@ static const uint8_t vcom_device_descriptor_data[18] = { 0x00, /* bDeviceSubClass. */ 0x00, /* bDeviceProtocol. */ 0x40, /* bMaxPacketSize. */ - 0x0483, /* idVendor (ST). */ - 0x5740, /* idProduct. */ + USB_VID, /* idVendor. */ + USB_PID, /* idProduct. */ 0x0200, /* bcdDevice. */ 1, /* iManufacturer. */ 2, /* iProduct. */ From 914da34ef71e8b6b1f14e13d2ce86e0103ab4a06 Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Mon, 2 Nov 2026 10:11:22 +0100 Subject: [PATCH 2/2] Changelog: V1.4273 tinySA Ultra USB IDs Co-Authored-By: Claude Opus 5.5 --- changelog.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelog.txt b/changelog.txt index 9899a6e..e364dc2 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,6 @@ +V1.4273 2026-11-02 For all tinySA Ultra models +- The tinySA Ultra has its own USB IDs: VID 0x1781 PID 0x0A44 (was 0x0483 0x5740, the ST virtual COM port). Windows assigns a new COM port once, programs that look for the tinySA by its USB IDs need an update (tinySA-App accepts both) + V1.4270 2026-11-01 For all tinySA models - Trigger lines can be dragged with the touch screen, in multi band mode the trigger line of each band (multi band Ultra only) - The trigger LEVEL button shows the level in the selected unit instead of the dBm value