Debugging using Windows 11 => Insufficient system resources

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
jowac_1171871
Level 2
Level 2
10 sign-ins First like given 10 replies posted

I have been working with FX3 USB for about 10 years now, with various success to debug.

But recently I received a new laptop with Windows 11 installed from scratch.

It works fine with the FX3 USB using release compiled code, but as soon as I try to debug it stops working.

The USB device shows up as normal, but it fails to start with the error message:

"Insufficient system resources exist to complete the API".

If I google this, they blame it on the driver... I'm using the latest driver that is included with FX3 SDK 1.3.4.

I have installed FX3 SDK 1.3.3 with eclipse since I have seen issues to debug with 1.3.4, but I'm compiling with SDK 1.3.4 (I have also tried SDK 1.3.3).

My old laptop is also running Windows 11, but it was updated from Windows 10 which seem to give a difference for some devices / apps. And there are no major issues to debug using the old laptop.

I could also mention that if I have the FX3 USB device connected at boot time, I will get the same issue. But if I connect it after boot everything works fine. I didn't have this issue with the old laptop.

Any suggestions on how I could proceed to get it working?

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Thank you for the details.

From the logs, I noticed that the device enumerates as a USB 3.0 device when compiled in the Release mode and has issues and also comes ups as USB 2.0 when compiled in debug mode.

To narrow down the issue please help us with following tests

Test#1: Program USBBulkSrcSink example of the SDK and bind it to the default cyusb3 driver and check if the issue is reproducible

Test#2 Please test the driver in this thread with the USBBulkSrcSink and let us know if the issue is seen

Regards,
Rashi

View solution in original post

0 Likes
12 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Please help with the following to understand the issue better

 It works fine with the FX3 USB using release compiled code, but as soon as I try to debug it stops working.

>>  Please let me know if you are referring to USB host application in release build or  FX3 firmware in release build

The USB device shows up as normal, but it fails to start with the error message:

"Insufficient system resources exist to complete the API".

>> Please share the snippets of the device manager when the issue is seen. When does the device start to fail? Is it when the data transfers to the device is started? Please let me know if the device enumerates as USB 3.0 or USB 2.0 device

I could also mention that if I have the FX3 USB device connected at boot time, I will get the same issue. But if I connect it after boot everything works fine. I didn't have this issue with the old laptop.

>> Is FX3 in USB boot? If yes, and if FX3 is connected when PC is booting up you can refer point 2 of  this KBA  Trouble Shooting Guide for the FX3/FX3S/CX3 Enumer... - Infineon Developer Community  

>> Please check if the issue is seen only with USB 3.0 ports. You can try connecting the FX3 to other USB ports and check if the issue is reproducible.

>> Are there any other devices connected to PC? If yes, please disconnect all the devices and only connect FX3 

Regards,
Rashi
0 Likes

Hi Rashi, thanks for responding.

>It works fine with the FX3 USB using release compiled code, but as soon as I try to debug it stops working.

>>>  Please let me know if you are referring to USB host application in release build or  FX3 firmware in release build

It is the FX3 firmware in release build that is accepted by Windows as a working USB device.

> The USB device shows up as normal, but it fails to start with the error message:

> "Insufficient system resources exist to complete the API".

>>> Please share the snippets of the device manager when the issue is seen. When does the device start to fail? Is it when the data transfers to the device is started? Please let me know if the device enumerates as USB 3.0 or USB 2.0 device

I have attached a screen shot below. It appears as soon as the FX3 have booted, i.e. I can't connect to it with my PC Software since the device driver has not been properly loaded.  What I can see, it enumerates as USB 2.0, but the intention in that it should be USB 3.0. I have also attached the full device descriptor from "USB Device Tree Viewer" below. (Note that we have resigned the driver with our name).

jowac_1171871_0-1670232434138.png



    =========================== USB Port1 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-1
Properties               : 0x09
 IsUserConnectable       : yes
 PortIsDebugCapable      : no
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x01 (Port 1)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&1b6f8c79&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x02 (Port 2)
 -> CompanionPortChain   : 2-2

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD03
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : yes
Demanded Current         : 100 mA
Device Manager Problem   : 10 (CM_PROB_FAILED_START)
Used Endpoints           : 1

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi BST USB Driver
Device ID                : USB\VID_15B2&PID_FD03\5&33F1D106&0&1
Hardware IDs             : USB\VID_15B2&PID_FD03&REV_0000 USB\VID_15B2&PID_FD03
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0029 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
PDO                      : \Device\USBPDO-37
Location Info            : Port_#0001.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)
Container ID             : {cab01e01-6b48-11ed-a265-a0595054c8b6}
Manufacturer Info        : nok9
Capabilities             : 0x04 (Removable)
Status                   : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 10 (CM_PROB_FAILED_START)
Address                  : 1
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D3 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD030000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x01 (Port 1)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x05 (5)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 01 00 00 00 12 01 10 02 00 00 00 40 B2 15 03 FD   ...........@....
                           00 00 01 02 00 01 00 02 00 05 00 00 00 00 00 01   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x01 (1)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x03
 Usb110                  : 1 (yes, port supports USB 1.1)
 Usb200                  : 1 (yes, port supports USB 2.0)
 Usb300                  : 0 (no, port not supports USB 3.0) -> but Companion Port 2-2 does
 ReservedMBZ             : 0x00
Flags                    : 0x02
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 01 00 00 00 10 00 00 00 03 00 00 00 02 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x210 (USB Version 2.1)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD03
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
iProduct                 : 0x02 (String Descriptor 2)
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 02 00 00 00 40 B2 15 03 FD 00 00 01 02   .......@........
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x0020 (32 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 20 00 01 01 00 C0 32 09 04 00 00 02 FF 00   .. .....2.......
                           00 00 07 05 81 02 00 02 00 07 05 83 01 00 14 02   ................

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 02 00                              .......

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x1400
 Bits 15..13             : 0x00 (reserved, must be zero)
 Bits 12..11             : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
 Bits 10..0              : 0x400 (1024 bytes per packet)
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 14 02                              .......

    ----------------- Device Qualifier Descriptor -----------------
Error                    : ERROR_GEN_FAILURE  (because the device has problem code CM_PROB_FAILED_START)

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
String descriptors are not available  (because the device has problem code CM_PROB_FAILED_START)

Below is the USB descriptor from another FX3 device that is connected at the same time using a release build:



    =========================== USB Port13 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-13
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x0D (Port 13)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x03 (Port 3)
 -> CompanionPortChain   : 3-3

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD02
USB Version              : 3.2 Gen 1
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : yes
Demanded Current         : 400 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi MDT USB Driver
Device Path 1            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Device Path 2            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{f65cefed-f871-43fc-9087-2632e33debcd}
Kernel Name              : \Device\USBPDO-36
Device ID                : USB\VID_15B2&PID_FD02\5&33F1D106&0&13
Hardware IDs             : USB\VID_15B2&PID_FD02&REV_0000 USB\VID_15B2&PID_FD02
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0026 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
Location Info            : Port_#0013.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(13), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(SS01)
Container ID             : {c88d382d-672a-11ed-a259-a0595054c8b9}
Manufacturer Info        : nok9
Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 13
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD020000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x0D (Port 13)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x06 (6)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=IN   ScheduleOffset=0  Type=Bulk         wMaxPacketSize=0x400   bInterval=0  
Pipe[1]                  : EndpointID=3  Direction=IN   ScheduleOffset=0  Type=Isochronous  wMaxPacketSize=0x400   bInterval=2   -> 84 Bits/ms = 10500 Bytes/s
Data (HexDump)           : 0D 00 00 00 12 01 20 03 00 00 00 09 B2 15 02 FD   ...... .........
                           00 00 01 02 00 01 01 02 00 06 00 02 00 00 00 01   ................
                           00 00 00 07 05 81 02 00 04 00 00 00 00 00 07 05   ................
                           83 01 00 04 02 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x0D (13)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-3 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-3 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x03
 DevIsOpAtSsOrHigher     : 1 (Device is operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 0D 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x320 (USB Version 3.2)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD02
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
 Language 0x0409         : "nok9 AB"
iProduct                 : 0x02 (String Descriptor 2)
 Language 0x0409         : "Qi MDT"
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 20 03 00 00 00 09 B2 15 02 FD 00 00 01 02   .. .............
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 C0 32 09 04 00 00 02 FF 00   ..,.....2.......
                           00 00 07 05 81 02 00 04 00 06 30 00 00 00 00 07   ..........0.....
                           05 83 01 00 04 02 06 30 0B 02 00 90               .......0....

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x00 (up to 1 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 00 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x0400
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 04 02                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x0B (up to 12 packets per burst)
bmAttributes             : 0x02 (max 33 packets within a service interval)
wBytesPerInterval        : 0x9000 (reserved bus time = 4608000 µs)
Data (HexDump)           : 06 30 0B 02 00 90                                 .0....

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
             ------ String Descriptor 0 ------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language ID[0]           : 0x0409 (English - United States)
Data (HexDump)           : 04 03 09 04                                       ....
             ------ String Descriptor 1 ------
bLength                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "nok9 AB"
Data (HexDump)           : 10 03 6E 00 6F 00 6B 00 39 00 20 00 41 00 42 00   ..n.o.k.9. .A.B.
             ------ String Descriptor 2 ------
bLength                  : 0x0E (14 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Qi MDT"
Data (HexDump)           : 0E 03 51 00 69 00 20 00 4D 00 44 00 54 00         ..Q.i. .M.D.T.

I will also try your other advises, but I'm not sure what you mean with "Is FX3 in USB boot?"

Thanks / Joakim

0 Likes

Hi Rashi, thanks for responding.

(It seems like my previous answer was lost so I try again, in case you see 2 answers).

I'll try to answer your questions below.

>It works fine with the FX3 USB using release compiled code, but as soon as I try to debug it stops working.

>>>  Please let me know if you are referring to USB host application in release build or  FX3 firmware in release build

It is the FX3 Firmware that operates in release compiled mode.

> The USB device shows up as normal, but it fails to start with the error message:

> "Insufficient system resources exist to complete the API".

>>> Please share the snippets of the device manager when the issue is seen. When does the device start to fail? Is it when the data transfers to the device is started? Please let me know if the device enumerates as USB 3.0 or USB 2.0 device

I have attached a picture below from the device manager from when it has failed.
It fails as soon as the FX3 has booted, i.e. is seems like the enumeration fails or hangs.
I realized that I somehow set the device to an USB 2.0 device when debugging, while I normally set it to USB 3.0. But this has worked fine for years with my old laptop.

jowac_1171871_0-1670236577909.png

Using the tool "USB Device tree" it looks like the FX3 is enumerating forever. Attaching the output from the main port and the companion port (I'm not sure about the difference, but when everything works the data in the companion port is the one listed in the companion port). Note that we have resigned the driver with our own name.



    =========================== USB Port2 ===========================

Connection Status        : 0x09 (Device is enumerating)
Port Chain               : 2-2
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x02 (Port 2)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x01 (Port 1)
 -> CompanionPortChain   : 3-1

Used Endpoints           : 0

      ======================== USB Device ========================

        ---------------- Connection Information ---------------
Connection Index         : 0x00 (Port 0)
Connection Status        : 0x09 (DeviceEnumerating)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x00 (0)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x00 (Low-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x02 (2)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-1 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-1 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x00
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 0 (Device is not SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 02 00 00 00 10 00 00 00 04 00 00 00 00 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x00 (0 bytes)

      -------------------- String Descriptors -------------------
none

Companion port:



    =========================== USB Port1 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-1
Properties               : 0x09
 IsUserConnectable       : yes
 PortIsDebugCapable      : no
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x01 (Port 1)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&1b6f8c79&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x02 (Port 2)
 -> CompanionPortChain   : 2-2

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD03
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : yes
Demanded Current         : 100 mA
Device Manager Problem   : 10 (CM_PROB_FAILED_START)
Used Endpoints           : 1

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi BST USB Driver
Device ID                : USB\VID_15B2&PID_FD03\5&33F1D106&0&1
Hardware IDs             : USB\VID_15B2&PID_FD03&REV_0000 USB\VID_15B2&PID_FD03
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0029 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
PDO                      : \Device\USBPDO-19
Location Info            : Port_#0001.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)
Container ID             : {cab01e01-6b48-11ed-a265-a0595054c8b6}
Manufacturer Info        : nok9
Capabilities             : 0x04 (Removable)
Status                   : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 10 (CM_PROB_FAILED_START)
Address                  : 1
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D3 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD030000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x01 (Port 1)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x0A (10)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 01 00 00 00 12 01 10 02 00 00 00 40 B2 15 03 FD   ...........@....
                           00 00 01 02 00 01 00 02 00 0A 00 00 00 00 00 01   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x01 (1)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x03
 Usb110                  : 1 (yes, port supports USB 1.1)
 Usb200                  : 1 (yes, port supports USB 2.0)
 Usb300                  : 0 (no, port not supports USB 3.0) -> but Companion Port 2-2 does
 ReservedMBZ             : 0x00
Flags                    : 0x02
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 01 00 00 00 10 00 00 00 03 00 00 00 02 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x210 (USB Version 2.1)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD03
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
iProduct                 : 0x02 (String Descriptor 2)
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 02 00 00 00 40 B2 15 03 FD 00 00 01 02   .......@........
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x0020 (32 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 20 00 01 01 00 C0 32 09 04 00 00 02 FF 00   .. .....2.......
                           00 00 07 05 81 02 00 02 00 07 05 83 01 00 14 02   ................

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 02 00                              .......

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x1400
 Bits 15..13             : 0x00 (reserved, must be zero)
 Bits 12..11             : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
 Bits 10..0              : 0x400 (1024 bytes per packet)
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 14 02                              .......

    --------- Device Qualifier Descriptor (for Full-Speed) --------
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x06 (Device_qualifier Descriptor)
bcdUSB                   : 0x200 (USB Version 2.00)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 Bytes)
bNumConfigurations       : 0x01 (1 other-speed configuration)
bReserved                : 0x00
Data (HexDump)           : 0A 06 00 02 00 00 00 40 01 00                     .......@..

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
String descriptors are not available  (because the device has problem code CM_PROB_FAILED_START)

As a comparison I have attached the same data from another FX3 device that is fully operational running in release mode:


    =========================== USB Port13 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-13
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x0D (Port 13)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x03 (Port 3)
 -> CompanionPortChain   : 3-3

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD02
USB Version              : 3.2 Gen 1
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : yes
Demanded Current         : 400 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi MDT USB Driver
Device Path 1            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Device Path 2            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{f65cefed-f871-43fc-9087-2632e33debcd}
Kernel Name              : \Device\USBPDO-36
Device ID                : USB\VID_15B2&PID_FD02\5&33F1D106&0&13
Hardware IDs             : USB\VID_15B2&PID_FD02&REV_0000 USB\VID_15B2&PID_FD02
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0026 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
Location Info            : Port_#0013.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(13), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(SS01)
Container ID             : {c88d382d-672a-11ed-a259-a0595054c8b9}
Manufacturer Info        : nok9
Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 13
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD020000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x0D (Port 13)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x08 (8)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=IN   ScheduleOffset=0  Type=Bulk         wMaxPacketSize=0x400   bInterval=0  
Pipe[1]                  : EndpointID=3  Direction=IN   ScheduleOffset=0  Type=Isochronous  wMaxPacketSize=0x400   bInterval=2   -> 84 Bits/ms = 10500 Bytes/s
Data (HexDump)           : 0D 00 00 00 12 01 20 03 00 00 00 09 B2 15 02 FD   ...... .........
                           00 00 01 02 00 01 01 02 00 08 00 02 00 00 00 01   ................
                           00 00 00 07 05 81 02 00 04 00 00 00 00 00 07 05   ................
                           83 01 00 04 02 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x0D (13)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-3 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-3 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x03
 DevIsOpAtSsOrHigher     : 1 (Device is operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 0D 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x320 (USB Version 3.2)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD02
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
 Language 0x0409         : "nok9 AB"
iProduct                 : 0x02 (String Descriptor 2)
 Language 0x0409         : "Qi MDT"
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 20 03 00 00 00 09 B2 15 02 FD 00 00 01 02   .. .............
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 C0 32 09 04 00 00 02 FF 00   ..,.....2.......
                           00 00 07 05 81 02 00 04 00 06 30 00 00 00 00 07   ..........0.....
                           05 83 01 00 04 02 06 30 0B 02 00 90               .......0....

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x00 (up to 1 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 00 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x0400
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 04 02                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x0B (up to 12 packets per burst)
bmAttributes             : 0x02 (max 33 packets within a service interval)
wBytesPerInterval        : 0x9000 (reserved bus time = 4608000 µs)
Data (HexDump)           : 06 30 0B 02 00 90                                 .0....

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
             ------ String Descriptor 0 ------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language ID[0]           : 0x0409 (English - United States)
Data (HexDump)           : 04 03 09 04                                       ....
             ------ String Descriptor 1 ------
bLength                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "nok9 AB"
Data (HexDump)           : 10 03 6E 00 6F 00 6B 00 39 00 20 00 41 00 42 00   ..n.o.k.9. .A.B.
             ------ String Descriptor 2 ------
bLength                  : 0x0E (14 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Qi MDT"
Data (HexDump)           : 0E 03 51 00 69 00 20 00 4D 00 44 00 54 00         ..Q.i. .M.D.T.

I will try your other advice as well.

Thanks / Joakim

0 Likes

Hi Rashi, thanks for responding.

(It seems like my previous answer was lost so I try again, in case you see 2 answers).

I'll try to answer your questions below.

>It works fine with the FX3 USB using release compiled code, but as soon as I try to debug it stops working.

>>>  Please let me know if you are referring to USB host application in release build or  FX3 firmware in release build

It is the FX3 Firmware that operates in release compiled mode.

> The USB device shows up as normal, but it fails to start with the error message:

> "Insufficient system resources exist to complete the API".

>>> Please share the snippets of the device manager when the issue is seen. When does the device start to fail? Is it when the data transfers to the device is started? Please let me know if the device enumerates as USB 3.0 or USB 2.0 device

I have attached a picture below from the device manager from when it has failed.
It fails as soon as the FX3 has booted, i.e. is seems like the enumeration fails or hangs.
I realized that I somehow set the device to an USB 2.0 device when debugging, while I normally set it to USB 3.0. But this has worked fine for years with my old laptop.

jowac_1171871_0-1670237196166.png

 

Using the tool "USB Device tree" it looks like the FX3 is enumerating forever. Attaching the output from the main port and the companion port (I'm not sure about the difference, but when everything works the data in the companion port is the one listed in the companion port). Note that we have resigned the driver with our own name.



    =========================== USB Port2 ===========================

Connection Status        : 0x09 (Device is enumerating)
Port Chain               : 2-2
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x02 (Port 2)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x01 (Port 1)
 -> CompanionPortChain   : 3-1

Used Endpoints           : 0

      ======================== USB Device ========================

        ---------------- Connection Information ---------------
Connection Index         : 0x00 (Port 0)
Connection Status        : 0x09 (DeviceEnumerating)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x00 (0)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x00 (Low-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x02 (2)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-1 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-1 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x00
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 0 (Device is not SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 02 00 00 00 10 00 00 00 04 00 00 00 00 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x00 (0 bytes)

      -------------------- String Descriptors -------------------
none

Companion port:



    =========================== USB Port1 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-1
Properties               : 0x09
 IsUserConnectable       : yes
 PortIsDebugCapable      : no
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x01 (Port 1)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&1b6f8c79&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x02 (Port 2)
 -> CompanionPortChain   : 2-2

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD03
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : yes
Demanded Current         : 100 mA
Device Manager Problem   : 10 (CM_PROB_FAILED_START)
Used Endpoints           : 1

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi BST USB Driver
Device ID                : USB\VID_15B2&PID_FD03\5&33F1D106&0&1
Hardware IDs             : USB\VID_15B2&PID_FD03&REV_0000 USB\VID_15B2&PID_FD03
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0029 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
PDO                      : \Device\USBPDO-19
Location Info            : Port_#0001.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)
Container ID             : {cab01e01-6b48-11ed-a265-a0595054c8b6}
Manufacturer Info        : nok9
Capabilities             : 0x04 (Removable)
Status                   : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 10 (CM_PROB_FAILED_START)
Address                  : 1
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D3 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD030000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x01 (Port 1)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x0A (10)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 01 00 00 00 12 01 10 02 00 00 00 40 B2 15 03 FD   ...........@....
                           00 00 01 02 00 01 00 02 00 0A 00 00 00 00 00 01   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x01 (1)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x03
 Usb110                  : 1 (yes, port supports USB 1.1)
 Usb200                  : 1 (yes, port supports USB 2.0)
 Usb300                  : 0 (no, port not supports USB 3.0) -> but Companion Port 2-2 does
 ReservedMBZ             : 0x00
Flags                    : 0x02
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 01 00 00 00 10 00 00 00 03 00 00 00 02 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x210 (USB Version 2.1)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD03
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
iProduct                 : 0x02 (String Descriptor 2)
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 02 00 00 00 40 B2 15 03 FD 00 00 01 02   .......@........
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x0020 (32 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 20 00 01 01 00 C0 32 09 04 00 00 02 FF 00   .. .....2.......
                           00 00 07 05 81 02 00 02 00 07 05 83 01 00 14 02   ................

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 02 00                              .......

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x1400
 Bits 15..13             : 0x00 (reserved, must be zero)
 Bits 12..11             : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
 Bits 10..0              : 0x400 (1024 bytes per packet)
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 14 02                              .......

    --------- Device Qualifier Descriptor (for Full-Speed) --------
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x06 (Device_qualifier Descriptor)
bcdUSB                   : 0x200 (USB Version 2.00)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 Bytes)
bNumConfigurations       : 0x01 (1 other-speed configuration)
bReserved                : 0x00
Data (HexDump)           : 0A 06 00 02 00 00 00 40 01 00                     .......@..

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
String descriptors are not available  (because the device has problem code CM_PROB_FAILED_START)

As a comparison I have attached the same data from another FX3 device that is fully operational running in release mode:


    =========================== USB Port13 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-13
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x0D (Port 13)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x03 (Port 3)
 -> CompanionPortChain   : 3-3

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD02
USB Version              : 3.2 Gen 1
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : yes
Demanded Current         : 400 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi MDT USB Driver
Device Path 1            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Device Path 2            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{f65cefed-f871-43fc-9087-2632e33debcd}
Kernel Name              : \Device\USBPDO-36
Device ID                : USB\VID_15B2&PID_FD02\5&33F1D106&0&13
Hardware IDs             : USB\VID_15B2&PID_FD02&REV_0000 USB\VID_15B2&PID_FD02
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0026 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
Location Info            : Port_#0013.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(13), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(SS01)
Container ID             : {c88d382d-672a-11ed-a259-a0595054c8b9}
Manufacturer Info        : nok9
Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 13
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD020000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x0D (Port 13)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x08 (8)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=IN   ScheduleOffset=0  Type=Bulk         wMaxPacketSize=0x400   bInterval=0  
Pipe[1]                  : EndpointID=3  Direction=IN   ScheduleOffset=0  Type=Isochronous  wMaxPacketSize=0x400   bInterval=2   -> 84 Bits/ms = 10500 Bytes/s
Data (HexDump)           : 0D 00 00 00 12 01 20 03 00 00 00 09 B2 15 02 FD   ...... .........
                           00 00 01 02 00 01 01 02 00 08 00 02 00 00 00 01   ................
                           00 00 00 07 05 81 02 00 04 00 00 00 00 00 07 05   ................
                           83 01 00 04 02 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x0D (13)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-3 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-3 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x03
 DevIsOpAtSsOrHigher     : 1 (Device is operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 0D 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x320 (USB Version 3.2)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD02
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
 Language 0x0409         : "nok9 AB"
iProduct                 : 0x02 (String Descriptor 2)
 Language 0x0409         : "Qi MDT"
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 20 03 00 00 00 09 B2 15 02 FD 00 00 01 02   .. .............
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 C0 32 09 04 00 00 02 FF 00   ..,.....2.......
                           00 00 07 05 81 02 00 04 00 06 30 00 00 00 00 07   ..........0.....
                           05 83 01 00 04 02 06 30 0B 02 00 90               .......0....

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x00 (up to 1 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 00 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x0400
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 04 02                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x0B (up to 12 packets per burst)
bmAttributes             : 0x02 (max 33 packets within a service interval)
wBytesPerInterval        : 0x9000 (reserved bus time = 4608000 µs)
Data (HexDump)           : 06 30 0B 02 00 90                                 .0....

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
             ------ String Descriptor 0 ------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language ID[0]           : 0x0409 (English - United States)
Data (HexDump)           : 04 03 09 04                                       ....
             ------ String Descriptor 1 ------
bLength                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "nok9 AB"
Data (HexDump)           : 10 03 6E 00 6F 00 6B 00 39 00 20 00 41 00 42 00   ..n.o.k.9. .A.B.
             ------ String Descriptor 2 ------
bLength                  : 0x0E (14 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Qi MDT"
Data (HexDump)           : 0E 03 51 00 69 00 20 00 4D 00 44 00 54 00         ..Q.i. .M.D.T.

I will try your other advice as well.

Thanks / Joakim

0 Likes

Hi Rashi, thanks for responding.

(It seems like my previous answers was lost so I try again, in case you see many answers, this time without pictures).

I'll try to answer your questions below.

>It works fine with the FX3 USB using release compiled code, but as soon as I try to debug it stops working.

>>> Please let me know if you are referring to USB host application in release build or FX3 firmware in release build

It is the FX3 Firmware that operates in release compiled mode.

> The USB device shows up as normal, but it fails to start with the error message:

> "Insufficient system resources exist to complete the API".

>>> Please share the snippets of the device manager when the issue is seen. When does the device start to fail? Is it when the data transfers to the device is started? Please let me know if the device enumerates as USB 3.0 or USB 2.0 device

I have attached a picture below from the device manager from when it has failed.
It fails as soon as the FX3 has booted, i.e. is seems like the enumeration fails or hangs.
I realized that I somehow set the device to an USB 2.0 device when debugging, while I normally set it to USB 3.0. But this has worked fine for years with my old laptop.

jowac_1171871_0-1670236577909.png

Using the tool "USB Device tree" it looks like the FX3 is enumerating forever. Attaching the output from the main port and the companion port (I'm not sure about the difference, but when everything works the data in the companion port is the one listed in the companion port). Note that we have resigned the driver with our own name.

 

=========================== USB Port2 ===========================

Connection Status : 0x09 (Device is enumerating)
Port Chain : 2-2
Properties : 0x0B
IsUserConnectable : yes
PortIsDebugCapable : yes
PortHasMultiCompanions : no
PortConnectorIsTypeC : yes
ConnectionIndex : 0x02 (Port 2)
CompanionIndex : 0
CompanionHubSymLnk : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber : 0x01 (Port 1)
-> CompanionPortChain : 3-1

Used Endpoints : 0

======================== USB Device ========================

---------------- Connection Information ---------------
Connection Index : 0x00 (Port 0)
Connection Status : 0x09 (DeviceEnumerating)
Current Config Value : 0x00 (Configuration 0)
Device Address : 0x00 (0)
Is Hub : 0x00 (no)
Device Bus Speed : 0x00 (Low-Speed)
Number Of Open Pipes : 0x00 (0 pipes to data endpoints)
Data (HexDump) : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 ................
00 00 00 ...

--------------- Connection Information V2 -------------
Connection Index : 0x02 (2)
Length : 0x10 (16 bytes)
SupportedUsbProtocols : 0x04
Usb110 : 0 (no, port not supports USB 1.1) -> but Companion Port 3-1 does
Usb200 : 0 (no, port not supports USB 2.0) -> but Companion Port 3-1 does
Usb300 : 1 (yes, port supports USB 3.0)
ReservedMBZ : 0x00
Flags : 0x00
DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher)
DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher)
DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher)
ReservedMBZ : 0x00
Data (HexDump) : 02 00 00 00 10 00 00 00 04 00 00 00 00 00 00 00 ................

---------------------- Device Descriptor ----------------------
bLength : 0x00 (0 bytes)

-------------------- String Descriptors -------------------
none
Companion port:

 

=========================== USB Port1 ===========================

Connection Status : 0x01 (Device is connected)
Port Chain : 3-1
Properties : 0x09
IsUserConnectable : yes
PortIsDebugCapable : no
PortHasMultiCompanions : no
PortConnectorIsTypeC : yes
ConnectionIndex : 0x01 (Port 1)
CompanionIndex : 0
CompanionHubSymLnk : USB#ROOT_HUB30#4&1b6f8c79&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber : 0x02 (Port 2)
-> CompanionPortChain : 2-2

========================== Summary =========================
Vendor ID : 0x15B2 (Audio Dev AB)
Product ID : 0xFD03
USB Version : 2.1
Port maximum Speed : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed : SuperSpeed
Device Connection Speed : High-Speed
Self powered : yes
Demanded Current : 100 mA
Device Manager Problem : 10 (CM_PROB_FAILED_START)
Used Endpoints : 1

======================== USB Device ========================

+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : nok9 Qi BST USB Driver
Device ID : USB\VID_15B2&PID_FD03\5&33F1D106&0&1
Hardware IDs : USB\VID_15B2&PID_FD03&REV_0000 USB\VID_15B2&PID_FD03
Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0029 (GUID_DEVCLASS_USB)
Driver : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20 Date: 2018-11-16)
Driver Inf : C:\Windows\inf\oem126.inf
Legacy BusType : PNPBus
Class : USB
Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service : NOK9QI
Enumerator : USB
PDO : \Device\USBPDO-19
Location Info : Port_#0001.Hub_#0002
Location IDs : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)
Container ID : {cab01e01-6b48-11ed-a265-a0595054c8b6}
Manufacturer Info : nok9
Capabilities : 0x04 (Removable)
Status : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code : 10 (CM_PROB_FAILED_START)
Address : 1
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend : 0
SelectiveSuspendEnabled : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState : 0
WakeFromSleepState : 0
Power State : D3 (supported: D0, D3, wake from D0)

+++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD030000
osvc : REG_BINARY 00 00

---------------- Connection Information ---------------
Connection Index : 0x01 (Port 1)
Connection Status : 0x01 (DeviceConnected)
Current Config Value : 0x00 (Configuration 0)
Device Address : 0x0A (10)
Is Hub : 0x00 (no)
Device Bus Speed : 0x02 (High-Speed)
Number Of Open Pipes : 0x00 (0 pipes to data endpoints)
Data (HexDump) : 01 00 00 00 12 01 10 02 00 00 00 40 B2 15 03 FD ...........@....
00 00 01 02 00 01 00 02 00 0A 00 00 00 00 00 01 ................
00 00 00 ...

--------------- Connection Information V2 -------------
Connection Index : 0x01 (1)
Length : 0x10 (16 bytes)
SupportedUsbProtocols : 0x03
Usb110 : 1 (yes, port supports USB 1.1)
Usb200 : 1 (yes, port supports USB 2.0)
Usb300 : 0 (no, port not supports USB 3.0) -> but Companion Port 2-2 does
ReservedMBZ : 0x00
Flags : 0x02
DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher)
DevIsSsCapOrHigher : 1 (Device is SuperSpeed capable or higher)
DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher)
ReservedMBZ : 0x00
Data (HexDump) : 01 00 00 00 10 00 00 00 03 00 00 00 02 00 00 00 ................

---------------------- Device Descriptor ----------------------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x01 (Device Descriptor)
bcdUSB : 0x210 (USB Version 2.1)
bDeviceClass : 0x00 (defined by the interface descriptors)
bDeviceSubClass : 0x00
bDeviceProtocol : 0x00
bMaxPacketSize0 : 0x40 (64 bytes)
idVendor : 0x15B2 (Audio Dev AB)
idProduct : 0xFD03
bcdDevice : 0x0000
iManufacturer : 0x01 (String Descriptor 1)
iProduct : 0x02 (String Descriptor 2)
iSerialNumber : 0x00 (No String Descriptor)
bNumConfigurations : 0x01 (1 Configuration)
Data (HexDump) : 12 01 10 02 00 00 00 40 B2 15 03 FD 00 00 01 02 .......@........
00 01 ..

------------------ Configuration Descriptor -------------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x02 (Configuration Descriptor)
wTotalLength : 0x0020 (32 bytes)
bNumInterfaces : 0x01 (1 Interface)
bConfigurationValue : 0x01 (Configuration 1)
iConfiguration : 0x00 (No String Descriptor)
bmAttributes : 0xC0
D7: Reserved, set 1 : 0x01
D6: Self Powered : 0x01 (yes)
D5: Remote Wakeup : 0x00 (no)
D4..0: Reserved, set 0 : 0x00
MaxPower : 0x32 (100 mA)
Data (HexDump) : 09 02 20 00 01 01 00 C0 32 09 04 00 00 02 FF 00 .. .....2.......
00 00 07 05 81 02 00 02 00 07 05 83 01 00 14 02 ................

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x00 (Interface 0)
bAlternateSetting : 0x00
bNumEndpoints : 0x02 (2 Endpoints)
bInterfaceClass : 0xFF (Vendor Specific)
bInterfaceSubClass : 0x00
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)
Data (HexDump) : 09 04 00 00 02 FF 00 00 00 .........

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0200 (max 512 bytes)
bInterval : 0x00 (never NAKs)
Data (HexDump) : 07 05 81 02 00 02 00 .......

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x83 (Direction=IN EndpointID=3)
bmAttributes : 0x01 (TransferType=Isochronous SyncType=None EndpointType=Data)
wMaxPacketSize : 0x1400
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
Bits 10..0 : 0x400 (1024 bytes per packet)
bInterval : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump) : 07 05 83 01 00 14 02 .......

--------- Device Qualifier Descriptor (for Full-Speed) --------
bLength : 0x0A (10 bytes)
bDescriptorType : 0x06 (Device_qualifier Descriptor)
bcdUSB : 0x200 (USB Version 2.00)
bDeviceClass : 0x00 (defined by the interface descriptors)
bDeviceSubClass : 0x00
bDeviceProtocol : 0x00
bMaxPacketSize0 : 0x40 (64 Bytes)
bNumConfigurations : 0x01 (1 other-speed configuration)
bReserved : 0x00
Data (HexDump) : 0A 06 00 02 00 00 00 40 01 00 .......@..

---------- Binary Object Store (BOS) Descriptor -----------
bLength : 0x05 (5 bytes)
bDescriptorType : 0x0F (Binary Object Store)
wTotalLength : 0x0016 (22 bytes)
bNumDeviceCaps : 0x02
Data (HexDump) : 05 0F 16 00 02 .....

------------- USB 2.0 Extension Descriptor ------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x10 (Device Capability Descriptor)
bDevCapabilityType : 0x02 (USB 2.0 Extension)
bmAttributes : 0x02
LPMCapable : 1 (Link Power Management protocol is supported)
BESLAndAlternateHIRD : 0 (BESL & Alternate HIRD definitions are not supported)
BaselineBESLValid : 0 (not valid)
DeepBESLValid : 0 (not valid)
BaselineBESL : 0
DeepBESL : 0
Data (HexDump) : 07 10 02 02 00 00 00 .......

----- SuperSpeed USB Device Capability Descriptor -----
bLength : 0x0A (10 bytes)
bDescriptorType : 0x10 (Device Capability Descriptor)
bDevCapabilityType : 0x03 (SuperSpeed USB Device Capability)
bmAttributes : 0x00
Bit 0 Reserved : 0x00
Bit 1 LTM Capable : 0x00 (no)
Bit 7:2 Reserved : 0x00
wSpeedsSupported : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat : 0x00 (0 µs)
wU2DevExitLat : 0x0000 (0 µs)
Data (HexDump) : 0A 10 03 00 0E 00 03 00 00 00 ..........

-------------------- String Descriptors -------------------
String descriptors are not available (because the device has problem code CM_PROB_FAILED_START)
As a comparison I have attached the same data from another FX3 device that is fully operational running in release mode:

=========================== USB Port13 ===========================

Connection Status : 0x01 (Device is connected)
Port Chain : 3-13
Properties : 0x0B
IsUserConnectable : yes
PortIsDebugCapable : yes
PortHasMultiCompanions : no
PortConnectorIsTypeC : yes
ConnectionIndex : 0x0D (Port 13)
CompanionIndex : 0
CompanionHubSymLnk : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber : 0x03 (Port 3)
-> CompanionPortChain : 3-3

========================== Summary =========================
Vendor ID : 0x15B2 (Audio Dev AB)
Product ID : 0xFD02
USB Version : 3.2 Gen 1
Port maximum Speed : SuperSpeed
Device maximum Speed : SuperSpeed
Device Connection Speed : SuperSpeed
Self powered : yes
Demanded Current : 400 mA
Used Endpoints : 3

======================== USB Device ========================

+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : nok9 Qi MDT USB Driver
Device Path 1 : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Device Path 2 : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{f65cefed-f871-43fc-9087-2632e33debcd}
Kernel Name : \Device\USBPDO-36
Device ID : USB\VID_15B2&PID_FD02\5&33F1D106&0&13
Hardware IDs : USB\VID_15B2&PID_FD02&REV_0000 USB\VID_15B2&PID_FD02
Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0026 (GUID_DEVCLASS_USB)
Driver : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20 Date: 2018-11-16)
Driver Inf : C:\Windows\inf\oem126.inf
Legacy BusType : PNPBus
Class : USB
Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service : NOK9QI
Enumerator : USB
Location Info : Port_#0013.Hub_#0002
Location IDs : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(13), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(SS01)
Container ID : {c88d382d-672a-11ed-a259-a0595054c8b9}
Manufacturer Info : nok9
Capabilities : 0x84 (Removable, SurpriseRemovalOK)
Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code : 0
Address : 13
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend : 0
SelectiveSuspendEnabled : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState : 0
WakeFromSleepState : 0
Power State : D0 (supported: D0, D3, wake from D0)

+++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD020000
osvc : REG_BINARY 00 00

---------------- Connection Information ---------------
Connection Index : 0x0D (Port 13)
Connection Status : 0x01 (DeviceConnected)
Current Config Value : 0x01 (Configuration 1)
Device Address : 0x08 (8)
Is Hub : 0x00 (no)
Device Bus Speed : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes : 0x02 (2 pipes to data endpoints)
Pipe[0] : EndpointID=1 Direction=IN ScheduleOffset=0 Type=Bulk wMaxPacketSize=0x400 bInterval=0
Pipe[1] : EndpointID=3 Direction=IN ScheduleOffset=0 Type=Isochronous wMaxPacketSize=0x400 bInterval=2 -> 84 Bits/ms = 10500 Bytes/s
Data (HexDump) : 0D 00 00 00 12 01 20 03 00 00 00 09 B2 15 02 FD ...... .........
00 00 01 02 00 01 01 02 00 08 00 02 00 00 00 01 ................
00 00 00 07 05 81 02 00 04 00 00 00 00 00 07 05 ................
83 01 00 04 02 00 00 00 00 .........

--------------- Connection Information V2 -------------
Connection Index : 0x0D (13)
Length : 0x10 (16 bytes)
SupportedUsbProtocols : 0x04
Usb110 : 0 (no, port not supports USB 1.1) -> but Companion Port 3-3 does
Usb200 : 0 (no, port not supports USB 2.0) -> but Companion Port 3-3 does
Usb300 : 1 (yes, port supports USB 3.0)
ReservedMBZ : 0x00
Flags : 0x03
DevIsOpAtSsOrHigher : 1 (Device is operating at SuperSpeed or higher)
DevIsSsCapOrHigher : 1 (Device is SuperSpeed capable or higher)
DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher)
ReservedMBZ : 0x00
Data (HexDump) : 0D 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00 ................

---------------------- Device Descriptor ----------------------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x01 (Device Descriptor)
bcdUSB : 0x320 (USB Version 3.2)
bDeviceClass : 0x00 (defined by the interface descriptors)
bDeviceSubClass : 0x00
bDeviceProtocol : 0x00
bMaxPacketSize0 : 0x09 (9 bytes)
idVendor : 0x15B2 (Audio Dev AB)
idProduct : 0xFD02
bcdDevice : 0x0000
iManufacturer : 0x01 (String Descriptor 1)
Language 0x0409 : "nok9 AB"
iProduct : 0x02 (String Descriptor 2)
Language 0x0409 : "Qi MDT"
iSerialNumber : 0x00 (No String Descriptor)
bNumConfigurations : 0x01 (1 Configuration)
Data (HexDump) : 12 01 20 03 00 00 00 09 B2 15 02 FD 00 00 01 02 .. .............
00 01 ..

------------------ Configuration Descriptor -------------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x02 (Configuration Descriptor)
wTotalLength : 0x002C (44 bytes)
bNumInterfaces : 0x01 (1 Interface)
bConfigurationValue : 0x01 (Configuration 1)
iConfiguration : 0x00 (No String Descriptor)
bmAttributes : 0xC0
D7: Reserved, set 1 : 0x01
D6: Self Powered : 0x01 (yes)
D5: Remote Wakeup : 0x00 (no)
D4..0: Reserved, set 0 : 0x00
MaxPower : 0x32 (100 mA)
Data (HexDump) : 09 02 2C 00 01 01 00 C0 32 09 04 00 00 02 FF 00 ..,.....2.......
00 00 07 05 81 02 00 04 00 06 30 00 00 00 00 07 ..........0.....
05 83 01 00 04 02 06 30 0B 02 00 90 .......0....

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x00 (Interface 0)
bAlternateSetting : 0x00
bNumEndpoints : 0x02 (2 Endpoints)
bInterfaceClass : 0xFF (Vendor Specific)
bInterfaceSubClass : 0x00
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)
Data (HexDump) : 09 04 00 00 02 FF 00 00 00 .........

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0400 (max 1024 bytes)
bInterval : 0x00 (never NAKs)
Data (HexDump) : 07 05 81 02 00 04 00 .......

------ SuperSpeed Endpoint Companion Descriptor -------
bLength : 0x06 (6 bytes)
bDescriptorType : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst : 0x00 (up to 1 packets per burst)
bmAttributes : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval : 0x0000
Data (HexDump) : 06 30 00 00 00 00 .0....

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x83 (Direction=IN EndpointID=3)
bmAttributes : 0x01 (TransferType=Isochronous SyncType=None EndpointType=Data)
wMaxPacketSize : 0x0400
bInterval : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump) : 07 05 83 01 00 04 02 .......

------ SuperSpeed Endpoint Companion Descriptor -------
bLength : 0x06 (6 bytes)
bDescriptorType : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst : 0x0B (up to 12 packets per burst)
bmAttributes : 0x02 (max 33 packets within a service interval)
wBytesPerInterval : 0x9000 (reserved bus time = 4608000 µs)
Data (HexDump) : 06 30 0B 02 00 90 .0....

---------- Binary Object Store (BOS) Descriptor -----------
bLength : 0x05 (5 bytes)
bDescriptorType : 0x0F (Binary Object Store)
wTotalLength : 0x0016 (22 bytes)
bNumDeviceCaps : 0x02
Data (HexDump) : 05 0F 16 00 02 .....

------------- USB 2.0 Extension Descriptor ------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x10 (Device Capability Descriptor)
bDevCapabilityType : 0x02 (USB 2.0 Extension)
bmAttributes : 0x02
LPMCapable : 1 (Link Power Management protocol is supported)
BESLAndAlternateHIRD : 0 (BESL & Alternate HIRD definitions are not supported)
BaselineBESLValid : 0 (not valid)
DeepBESLValid : 0 (not valid)
BaselineBESL : 0
DeepBESL : 0
Data (HexDump) : 07 10 02 02 00 00 00 .......

----- SuperSpeed USB Device Capability Descriptor -----
bLength : 0x0A (10 bytes)
bDescriptorType : 0x10 (Device Capability Descriptor)
bDevCapabilityType : 0x03 (SuperSpeed USB Device Capability)
bmAttributes : 0x00
Bit 0 Reserved : 0x00
Bit 1 LTM Capable : 0x00 (no)
Bit 7:2 Reserved : 0x00
wSpeedsSupported : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat : 0x00 (0 µs)
wU2DevExitLat : 0x0000 (0 µs)
Data (HexDump) : 0A 10 03 00 0E 00 03 00 00 00 ..........

-------------------- String Descriptors -------------------
------ String Descriptor 0 ------
bLength : 0x04 (4 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language ID[0] : 0x0409 (English - United States)
Data (HexDump) : 04 03 09 04 ....
------ String Descriptor 1 ------
bLength : 0x10 (16 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "nok9 AB"
Data (HexDump) : 10 03 6E 00 6F 00 6B 00 39 00 20 00 41 00 42 00 ..n.o.k.9. .A.B.
------ String Descriptor 2 ------
bLength : 0x0E (14 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Qi MDT"
Data (HexDump) : 0E 03 51 00 69 00 20 00 4D 00 44 00 54 00 ..Q.i. .M.D.T.
I will try your other advice as well.

Thanks / Joakim

0 Likes

Hi Rashi, thanks for responding.

(It seems like my previous answer was lost so I try again, in case you see 2 answers, this time without pictures and dividing it into several messages).

I'll try to answer your questions below.

>It works fine with the FX3 USB using release compiled code, but as soon as I try to debug it stops working.

>>> Please let me know if you are referring to USB host application in release build or FX3 firmware in release build

It is the FX3 Firmware that operates in release compiled mode.

> The USB device shows up as normal, but it fails to start with the error message:

> "Insufficient system resources exist to complete the API".

>>> Please share the snippets of the device manager when the issue is seen. When does the device start to fail? Is it when the data transfers to the device is started? Please let me know if the device enumerates as USB 3.0 or USB 2.0 device

I have attached a picture below from the device manager from when it has failed.
It fails as soon as the FX3 has booted, i.e. is seems like the enumeration fails or hangs.
I realized that I somehow set the device to an USB 2.0 device when debugging, while I normally set it to USB 3.0. But this has worked fine for years with my old laptop.

jowac_1171871_0-1670236577909.png

To be followed by more replies

Thanks / Joakim

0 Likes

Using the tool "USB Device tree" it looks like the FX3 is enumerating forever. Attaching the output from the main port and the companion port (I'm not sure about the difference, but when everything works the data in the companion port is the one listed in the companion port). Note that we have resigned the driver with our own name.



    =========================== USB Port2 ===========================

Connection Status        : 0x09 (Device is enumerating)
Port Chain               : 2-2
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x02 (Port 2)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x01 (Port 1)
 -> CompanionPortChain   : 3-1

Used Endpoints           : 0

      ======================== USB Device ========================

        ---------------- Connection Information ---------------
Connection Index         : 0x00 (Port 0)
Connection Status        : 0x09 (DeviceEnumerating)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x00 (0)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x00 (Low-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x02 (2)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-1 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-1 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x00
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 0 (Device is not SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 02 00 00 00 10 00 00 00 04 00 00 00 00 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x00 (0 bytes)

      -------------------- String Descriptors -------------------
none

Companion port:


    =========================== USB Port1 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-1
Properties               : 0x09
 IsUserConnectable       : yes
 PortIsDebugCapable      : no
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x01 (Port 1)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&1b6f8c79&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x02 (Port 2)
 -> CompanionPortChain   : 2-2

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD03
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : yes
Demanded Current         : 100 mA
Device Manager Problem   : 10 (CM_PROB_FAILED_START)
Used Endpoints           : 1

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi BST USB Driver
Device ID                : USB\VID_15B2&PID_FD03\5&33F1D106&0&1
Hardware IDs             : USB\VID_15B2&PID_FD03&REV_0000 USB\VID_15B2&PID_FD03
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0029 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
PDO                      : \Device\USBPDO-19
Location Info            : Port_#0001.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)
Container ID             : {cab01e01-6b48-11ed-a265-a0595054c8b6}
Manufacturer Info        : nok9
Capabilities             : 0x04 (Removable)
Status                   : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 10 (CM_PROB_FAILED_START)
Address                  : 1
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D3 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD030000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x01 (Port 1)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x0A (10)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 01 00 00 00 12 01 10 02 00 00 00 40 B2 15 03 FD   ...........@....
                           00 00 01 02 00 01 00 02 00 0A 00 00 00 00 00 01   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x01 (1)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x03
 Usb110                  : 1 (yes, port supports USB 1.1)
 Usb200                  : 1 (yes, port supports USB 2.0)
 Usb300                  : 0 (no, port not supports USB 3.0) -> but Companion Port 2-2 does
 ReservedMBZ             : 0x00
Flags                    : 0x02
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 01 00 00 00 10 00 00 00 03 00 00 00 02 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x210 (USB Version 2.1)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD03
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
iProduct                 : 0x02 (String Descriptor 2)
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 02 00 00 00 40 B2 15 03 FD 00 00 01 02   .......@........
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x0020 (32 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 20 00 01 01 00 C0 32 09 04 00 00 02 FF 00   .. .....2.......
                           00 00 07 05 81 02 00 02 00 07 05 83 01 00 14 02   ................

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 02 00                              .......

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x1400
 Bits 15..13             : 0x00 (reserved, must be zero)
 Bits 12..11             : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
 Bits 10..0              : 0x400 (1024 bytes per packet)
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 14 02                              .......

    --------- Device Qualifier Descriptor (for Full-Speed) --------
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x06 (Device_qualifier Descriptor)
bcdUSB                   : 0x200 (USB Version 2.00)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 Bytes)
bNumConfigurations       : 0x01 (1 other-speed configuration)
bReserved                : 0x00
Data (HexDump)           : 0A 06 00 02 00 00 00 40 01 00                     .......@..

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
String descriptors are not available  (because the device has problem code CM_PROB_FAILED_START)

 

0 Likes

As a reference, here are the device descriptor from another FX3 device connected at the same time that is release compiled and it fully operational.


    =========================== USB Port13 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-13
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x0D (Port 13)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x03 (Port 3)
 -> CompanionPortChain   : 3-3

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD02
USB Version              : 3.2 Gen 1
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : yes
Demanded Current         : 400 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi MDT USB Driver
Device Path 1            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Device Path 2            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{f65cefed-f871-43fc-9087-2632e33debcd}
Kernel Name              : \Device\USBPDO-36
Device ID                : USB\VID_15B2&PID_FD02\5&33F1D106&0&13
Hardware IDs             : USB\VID_15B2&PID_FD02&REV_0000 USB\VID_15B2&PID_FD02
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0026 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
Location Info            : Port_#0013.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(13), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(SS01)
Container ID             : {c88d382d-672a-11ed-a259-a0595054c8b9}
Manufacturer Info        : nok9
Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 13
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD020000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x0D (Port 13)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x08 (8)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=IN   ScheduleOffset=0  Type=Bulk         wMaxPacketSize=0x400   bInterval=0  
Pipe[1]                  : EndpointID=3  Direction=IN   ScheduleOffset=0  Type=Isochronous  wMaxPacketSize=0x400   bInterval=2   -> 84 Bits/ms = 10500 Bytes/s
Data (HexDump)           : 0D 00 00 00 12 01 20 03 00 00 00 09 B2 15 02 FD   ...... .........
                           00 00 01 02 00 01 01 02 00 08 00 02 00 00 00 01   ................
                           00 00 00 07 05 81 02 00 04 00 00 00 00 00 07 05   ................
                           83 01 00 04 02 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x0D (13)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-3 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-3 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x03
 DevIsOpAtSsOrHigher     : 1 (Device is operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 0D 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x320 (USB Version 3.2)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD02
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
 Language 0x0409         : "nok9 AB"
iProduct                 : 0x02 (String Descriptor 2)
 Language 0x0409         : "Qi MDT"
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 20 03 00 00 00 09 B2 15 02 FD 00 00 01 02   .. .............
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 C0 32 09 04 00 00 02 FF 00   ..,.....2.......
                           00 00 07 05 81 02 00 04 00 06 30 00 00 00 00 07   ..........0.....
                           05 83 01 00 04 02 06 30 0B 02 00 90               .......0....

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x00 (up to 1 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 00 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x0400
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 04 02                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x0B (up to 12 packets per burst)
bmAttributes             : 0x02 (max 33 packets within a service interval)
wBytesPerInterval        : 0x9000 (reserved bus time = 4608000 µs)
Data (HexDump)           : 06 30 0B 02 00 90                                 .0....

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
             ------ String Descriptor 0 ------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language ID[0]           : 0x0409 (English - United States)
Data (HexDump)           : 04 03 09 04                                       ....
             ------ String Descriptor 1 ------
bLength                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "nok9 AB"
Data (HexDump)           : 10 03 6E 00 6F 00 6B 00 39 00 20 00 41 00 42 00   ..n.o.k.9. .A.B.
             ------ String Descriptor 2 ------
bLength                  : 0x0E (14 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Qi MDT"
Data (HexDump)           : 0E 03 51 00 69 00 20 00 4D 00 44 00 54 00         ..Q.i. .M.D.T.
0 Likes

As a reference, here is the device descriptor from another FX3 device connected at the same time. It is release compiled and fully operational.

=========================== USB Port13 ===========================

Connection Status : 0x01 (Device is connected)
Port Chain : 3-13
Properties : 0x0B
IsUserConnectable : yes
PortIsDebugCapable : yes
PortHasMultiCompanions : no
PortConnectorIsTypeC : yes
ConnectionIndex : 0x0D (Port 13)
CompanionIndex : 0
CompanionHubSymLnk : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber : 0x03 (Port 3)
-> CompanionPortChain : 3-3

========================== Summary =========================
Vendor ID : 0x15B2 (Audio Dev AB)
Product ID : 0xFD02
USB Version : 3.2 Gen 1
Port maximum Speed : SuperSpeed
Device maximum Speed : SuperSpeed
Device Connection Speed : SuperSpeed
Self powered : yes
Demanded Current : 400 mA
Used Endpoints : 3

======================== USB Device ========================

+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : nok9 Qi MDT USB Driver
Device Path 1 : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Device Path 2 : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{f65cefed-f871-43fc-9087-2632e33debcd}
Kernel Name : \Device\USBPDO-36
Device ID : USB\VID_15B2&PID_FD02\5&33F1D106&0&13
Hardware IDs : USB\VID_15B2&PID_FD02&REV_0000 USB\VID_15B2&PID_FD02
Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0026 (GUID_DEVCLASS_USB)
Driver : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20 Date: 2018-11-16)
Driver Inf : C:\Windows\inf\oem126.inf
Legacy BusType : PNPBus
Class : USB
Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service : NOK9QI
Enumerator : USB
Location Info : Port_#0013.Hub_#0002
Location IDs : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(13), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(SS01)
Container ID : {c88d382d-672a-11ed-a259-a0595054c8b9}
Manufacturer Info : nok9
Capabilities : 0x84 (Removable, SurpriseRemovalOK)
Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code : 0
Address : 13
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend : 0
SelectiveSuspendEnabled : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState : 0
WakeFromSleepState : 0
Power State : D0 (supported: D0, D3, wake from D0)

+++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD020000
osvc : REG_BINARY 00 00

---------------- Connection Information ---------------
Connection Index : 0x0D (Port 13)
Connection Status : 0x01 (DeviceConnected)
Current Config Value : 0x01 (Configuration 1)
Device Address : 0x08 (8)
Is Hub : 0x00 (no)
Device Bus Speed : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes : 0x02 (2 pipes to data endpoints)
Pipe[0] : EndpointID=1 Direction=IN ScheduleOffset=0 Type=Bulk wMaxPacketSize=0x400 bInterval=0
Pipe[1] : EndpointID=3 Direction=IN ScheduleOffset=0 Type=Isochronous wMaxPacketSize=0x400 bInterval=2 -> 84 Bits/ms = 10500 Bytes/s
Data (HexDump) : 0D 00 00 00 12 01 20 03 00 00 00 09 B2 15 02 FD ...... .........
00 00 01 02 00 01 01 02 00 08 00 02 00 00 00 01 ................
00 00 00 07 05 81 02 00 04 00 00 00 00 00 07 05 ................
83 01 00 04 02 00 00 00 00 .........

--------------- Connection Information V2 -------------
Connection Index : 0x0D (13)
Length : 0x10 (16 bytes)
SupportedUsbProtocols : 0x04
Usb110 : 0 (no, port not supports USB 1.1) -> but Companion Port 3-3 does
Usb200 : 0 (no, port not supports USB 2.0) -> but Companion Port 3-3 does
Usb300 : 1 (yes, port supports USB 3.0)
ReservedMBZ : 0x00
Flags : 0x03
DevIsOpAtSsOrHigher : 1 (Device is operating at SuperSpeed or higher)
DevIsSsCapOrHigher : 1 (Device is SuperSpeed capable or higher)
DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher)
ReservedMBZ : 0x00
Data (HexDump) : 0D 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00 ................

---------------------- Device Descriptor ----------------------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x01 (Device Descriptor)
bcdUSB : 0x320 (USB Version 3.2)
bDeviceClass : 0x00 (defined by the interface descriptors)
bDeviceSubClass : 0x00
bDeviceProtocol : 0x00
bMaxPacketSize0 : 0x09 (9 bytes)
idVendor : 0x15B2 (Audio Dev AB)
idProduct : 0xFD02
bcdDevice : 0x0000
iManufacturer : 0x01 (String Descriptor 1)
Language 0x0409 : "nok9 AB"
iProduct : 0x02 (String Descriptor 2)
Language 0x0409 : "Qi MDT"
iSerialNumber : 0x00 (No String Descriptor)
bNumConfigurations : 0x01 (1 Configuration)
Data (HexDump) : 12 01 20 03 00 00 00 09 B2 15 02 FD 00 00 01 02 .. .............
00 01 ..

------------------ Configuration Descriptor -------------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x02 (Configuration Descriptor)
wTotalLength : 0x002C (44 bytes)
bNumInterfaces : 0x01 (1 Interface)
bConfigurationValue : 0x01 (Configuration 1)
iConfiguration : 0x00 (No String Descriptor)
bmAttributes : 0xC0
D7: Reserved, set 1 : 0x01
D6: Self Powered : 0x01 (yes)
D5: Remote Wakeup : 0x00 (no)
D4..0: Reserved, set 0 : 0x00
MaxPower : 0x32 (100 mA)
Data (HexDump) : 09 02 2C 00 01 01 00 C0 32 09 04 00 00 02 FF 00 ..,.....2.......
00 00 07 05 81 02 00 04 00 06 30 00 00 00 00 07 ..........0.....
05 83 01 00 04 02 06 30 0B 02 00 90 .......0....

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x00 (Interface 0)
bAlternateSetting : 0x00
bNumEndpoints : 0x02 (2 Endpoints)
bInterfaceClass : 0xFF (Vendor Specific)
bInterfaceSubClass : 0x00
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)
Data (HexDump) : 09 04 00 00 02 FF 00 00 00 .........

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0400 (max 1024 bytes)
bInterval : 0x00 (never NAKs)
Data (HexDump) : 07 05 81 02 00 04 00 .......

------ SuperSpeed Endpoint Companion Descriptor -------
bLength : 0x06 (6 bytes)
bDescriptorType : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst : 0x00 (up to 1 packets per burst)
bmAttributes : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval : 0x0000
Data (HexDump) : 06 30 00 00 00 00 .0....

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x83 (Direction=IN EndpointID=3)
bmAttributes : 0x01 (TransferType=Isochronous SyncType=None EndpointType=Data)
wMaxPacketSize : 0x0400
bInterval : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump) : 07 05 83 01 00 04 02 .......

------ SuperSpeed Endpoint Companion Descriptor -------
bLength : 0x06 (6 bytes)
bDescriptorType : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst : 0x0B (up to 12 packets per burst)
bmAttributes : 0x02 (max 33 packets within a service interval)
wBytesPerInterval : 0x9000 (reserved bus time = 4608000 µs)
Data (HexDump) : 06 30 0B 02 00 90 .0....

---------- Binary Object Store (BOS) Descriptor -----------
bLength : 0x05 (5 bytes)
bDescriptorType : 0x0F (Binary Object Store)
wTotalLength : 0x0016 (22 bytes)
bNumDeviceCaps : 0x02
Data (HexDump) : 05 0F 16 00 02 .....

------------- USB 2.0 Extension Descriptor ------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x10 (Device Capability Descriptor)
bDevCapabilityType : 0x02 (USB 2.0 Extension)
bmAttributes : 0x02
LPMCapable : 1 (Link Power Management protocol is supported)
BESLAndAlternateHIRD : 0 (BESL & Alternate HIRD definitions are not supported)
BaselineBESLValid : 0 (not valid)
DeepBESLValid : 0 (not valid)
BaselineBESL : 0
DeepBESL : 0
Data (HexDump) : 07 10 02 02 00 00 00 .......

----- SuperSpeed USB Device Capability Descriptor -----
bLength : 0x0A (10 bytes)
bDescriptorType : 0x10 (Device Capability Descriptor)
bDevCapabilityType : 0x03 (SuperSpeed USB Device Capability)
bmAttributes : 0x00
Bit 0 Reserved : 0x00
Bit 1 LTM Capable : 0x00 (no)
Bit 7:2 Reserved : 0x00
wSpeedsSupported : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat : 0x00 (0 µs)
wU2DevExitLat : 0x0000 (0 µs)
Data (HexDump) : 0A 10 03 00 0E 00 03 00 00 00 ..........

-------------------- String Descriptors -------------------
------ String Descriptor 0 ------
bLength : 0x04 (4 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language ID[0] : 0x0409 (English - United States)
Data (HexDump) : 04 03 09 04 ....
------ String Descriptor 1 ------
bLength : 0x10 (16 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "nok9 AB"
Data (HexDump) : 10 03 6E 00 6F 00 6B 00 39 00 20 00 41 00 42 00 ..n.o.k.9. .A.B.
------ String Descriptor 2 ------
bLength : 0x0E (14 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Qi MDT"
Data (HexDump) : 0E 03 51 00 69 00 20 00 4D 00 44 00 54 00 ..Q.i. .M.D.T.

0 Likes
lock attach
Attachments are accessible only for community members.

I wanted to attach a USB descriptor with t a working device, but the server do not let me do so. I will try to attach a file instead.

It is another FX3 device connected at the same time, running in release mode and fully operational.

 

0 Likes
jowac_1171871
Level 2
Level 2
10 sign-ins First like given 10 replies posted

Hi Rashi, thanks for responding.

(It seems like my previous answer was lost so I try again, in case you see 2 answers).

I'll try to answer your questions below.

>It works fine with the FX3 USB using release compiled code, but as soon as I try to debug it stops working.

>>>  Please let me know if you are referring to USB host application in release build or  FX3 firmware in release build

It is the FX3 Firmware that operates in release compiled mode.

> The USB device shows up as normal, but it fails to start with the error message:

> "Insufficient system resources exist to complete the API".

>>> Please share the snippets of the device manager when the issue is seen. When does the device start to fail? Is it when the data transfers to the device is started? Please let me know if the device enumerates as USB 3.0 or USB 2.0 device

I have attached a picture below from the device manager from when it has failed.
It fails as soon as the FX3 has booted, i.e. is seems like the enumeration fails or hangs.
I realized that I somehow set the device to an USB 2.0 device when debugging, while I normally set it to USB 3.0. But this has worked fine for years with my old laptop.

jowac_1171871_0-1670237271793.png

 

Using the tool "USB Device tree" it looks like the FX3 is enumerating forever. Attaching the output from the main port and the companion port (I'm not sure about the difference, but when everything works the data in the companion port is the one listed in the companion port). Note that we have resigned the driver with our own name.



    =========================== USB Port2 ===========================

Connection Status        : 0x09 (Device is enumerating)
Port Chain               : 2-2
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x02 (Port 2)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x01 (Port 1)
 -> CompanionPortChain   : 3-1

Used Endpoints           : 0

      ======================== USB Device ========================

        ---------------- Connection Information ---------------
Connection Index         : 0x00 (Port 0)
Connection Status        : 0x09 (DeviceEnumerating)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x00 (0)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x00 (Low-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x02 (2)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-1 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-1 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x00
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 0 (Device is not SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 02 00 00 00 10 00 00 00 04 00 00 00 00 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x00 (0 bytes)

      -------------------- String Descriptors -------------------
none

Companion port:



    =========================== USB Port1 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-1
Properties               : 0x09
 IsUserConnectable       : yes
 PortIsDebugCapable      : no
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x01 (Port 1)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&1b6f8c79&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x02 (Port 2)
 -> CompanionPortChain   : 2-2

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD03
USB Version              : 2.1
Port maximum Speed       : High-Speed (Companion Port 2-2 supports SuperSpeed)
Device maximum Speed     : SuperSpeed
Device Connection Speed  : High-Speed
Self powered             : yes
Demanded Current         : 100 mA
Device Manager Problem   : 10 (CM_PROB_FAILED_START)
Used Endpoints           : 1

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi BST USB Driver
Device ID                : USB\VID_15B2&PID_FD03\5&33F1D106&0&1
Hardware IDs             : USB\VID_15B2&PID_FD03&REV_0000 USB\VID_15B2&PID_FD03
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0029 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
PDO                      : \Device\USBPDO-19
Location Info            : Port_#0001.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)
Container ID             : {cab01e01-6b48-11ed-a265-a0595054c8b6}
Manufacturer Info        : nok9
Capabilities             : 0x04 (Removable)
Status                   : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 10 (CM_PROB_FAILED_START)
Address                  : 1
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D3 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD030000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x01 (Port 1)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x00 (Configuration 0)
Device Address           : 0x0A (10)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed)
Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
Data (HexDump)           : 01 00 00 00 12 01 10 02 00 00 00 40 B2 15 03 FD   ...........@....
                           00 00 01 02 00 01 00 02 00 0A 00 00 00 00 00 01   ................
                           00 00 00                                          ...

        --------------- Connection Information V2 -------------
Connection Index         : 0x01 (1)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x03
 Usb110                  : 1 (yes, port supports USB 1.1)
 Usb200                  : 1 (yes, port supports USB 2.0)
 Usb300                  : 0 (no, port not supports USB 3.0) -> but Companion Port 2-2 does
 ReservedMBZ             : 0x00
Flags                    : 0x02
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 01 00 00 00 10 00 00 00 03 00 00 00 02 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x210 (USB Version 2.1)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD03
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
iProduct                 : 0x02 (String Descriptor 2)
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 02 00 00 00 40 B2 15 03 FD 00 00 01 02   .......@........
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x0020 (32 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 20 00 01 01 00 C0 32 09 04 00 00 02 FF 00   .. .....2.......
                           00 00 07 05 81 02 00 02 00 07 05 83 01 00 14 02   ................

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 02 00                              .......

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x1400
 Bits 15..13             : 0x00 (reserved, must be zero)
 Bits 12..11             : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
 Bits 10..0              : 0x400 (1024 bytes per packet)
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 14 02                              .......

    --------- Device Qualifier Descriptor (for Full-Speed) --------
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x06 (Device_qualifier Descriptor)
bcdUSB                   : 0x200 (USB Version 2.00)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 Bytes)
bNumConfigurations       : 0x01 (1 other-speed configuration)
bReserved                : 0x00
Data (HexDump)           : 0A 06 00 02 00 00 00 40 01 00                     .......@..

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
String descriptors are not available  (because the device has problem code CM_PROB_FAILED_START)

As a comparison I have attached the same data from another FX3 device that is fully operational running in release mode:


    =========================== USB Port13 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 3-13
Properties               : 0x0B
 IsUserConnectable       : yes
 PortIsDebugCapable      : yes
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : yes
ConnectionIndex          : 0x0D (Port 13)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&36a9c5e9&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x03 (Port 3)
 -> CompanionPortChain   : 3-3

      ========================== Summary =========================
Vendor ID                : 0x15B2 (Audio Dev AB)
Product ID               : 0xFD02
USB Version              : 3.2 Gen 1
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self powered             : yes
Demanded Current         : 400 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : nok9 Qi MDT USB Driver
Device Path 1            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Device Path 2            : \\?\USB#VID_15B2&PID_FD02#5&33f1d106&0&13#{f65cefed-f871-43fc-9087-2632e33debcd}
Kernel Name              : \Device\USBPDO-36
Device ID                : USB\VID_15B2&PID_FD02\5&33F1D106&0&13
Hardware IDs             : USB\VID_15B2&PID_FD02&REV_0000 USB\VID_15B2&PID_FD02
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0026 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\Drivers\nok9_qi.sys (Version: 1.2.3.20  Date: 2018-11-16)
Driver Inf               : C:\Windows\inf\oem126.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : NOK9QI
Enumerator               : USB
Location Info            : Port_#0013.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(13), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(SS01)
Container ID             : {c88d382d-672a-11ed-a259-a0595054c8b9}
Manufacturer Info        : nok9
Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 13
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\15B2FD020000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x0D (Port 13)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x08 (8)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=IN   ScheduleOffset=0  Type=Bulk         wMaxPacketSize=0x400   bInterval=0  
Pipe[1]                  : EndpointID=3  Direction=IN   ScheduleOffset=0  Type=Isochronous  wMaxPacketSize=0x400   bInterval=2   -> 84 Bits/ms = 10500 Bytes/s
Data (HexDump)           : 0D 00 00 00 12 01 20 03 00 00 00 09 B2 15 02 FD   ...... .........
                           00 00 01 02 00 01 01 02 00 08 00 02 00 00 00 01   ................
                           00 00 00 07 05 81 02 00 04 00 00 00 00 00 07 05   ................
                           83 01 00 04 02 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x0D (13)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
 Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 3-3 does
 Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 3-3 does
 Usb300                  : 1 (yes, port supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x03
 DevIsOpAtSsOrHigher     : 1 (Device is operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 0D 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x320 (USB Version 3.2)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x15B2 (Audio Dev AB)
idProduct                : 0xFD02
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
 Language 0x0409         : "nok9 AB"
iProduct                 : 0x02 (String Descriptor 2)
 Language 0x0409         : "Qi MDT"
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 20 03 00 00 00 09 B2 15 02 FD 00 00 01 02   .. .............
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0xC0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x01 (yes)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 C0 32 09 04 00 00 02 FF 00   ..,.....2.......
                           00 00 07 05 81 02 00 04 00 06 30 00 00 00 00 07   ..........0.....
                           05 83 01 00 04 02 06 30 0B 02 00 90               .......0....

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x00
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 02 FF 00 00 00                        .........

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x00 (up to 1 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 00 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x01 (TransferType=Isochronous  SyncType=None  EndpointType=Data)
wMaxPacketSize           : 0x0400
bInterval                : 0x02 (2 microframes -> 0.25 ms)
Data (HexDump)           : 07 05 83 01 00 04 02                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x0B (up to 12 packets per burst)
bmAttributes             : 0x02 (max 33 packets within a service interval)
wBytesPerInterval        : 0x9000 (reserved bus time = 4608000 µs)
Data (HexDump)           : 06 30 0B 02 00 90                                 .0....

      ---------- Binary Object Store (BOS) Descriptor -----------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F (Binary Object Store)
wTotalLength             : 0x0016 (22 bytes)
bNumDeviceCaps           : 0x02
Data (HexDump)           : 05 0F 16 00 02                                    .....

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
 LPMCapable              : 1 (Link Power Management protocol is supported)
 BESLAndAlternateHIRD    : 0 (BESL & Alternate HIRD definitions are not supported)
 BaselineBESLValid       : 0 (not valid)
 DeepBESLValid           : 0 (not valid)
 BaselineBESL            : 0
 DeepBESL                : 0
Data (HexDump)           : 07 10 02 02 00 00 00                              .......

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10 (Device Capability Descriptor)
bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
bmAttributes             : 0x00
 Bit 0 Reserved          : 0x00
 Bit 1 LTM Capable       : 0x00 (no)
 Bit 7:2 Reserved        : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x03 (lowest speed with all the functionality is 'SuperSpeed')
bU1DevExitLat            : 0x00   (0 µs)
wU2DevExitLat            : 0x0000 (0 µs)
Data (HexDump)           : 0A 10 03 00 0E 00 03 00 00 00                     ..........

      -------------------- String Descriptors -------------------
             ------ String Descriptor 0 ------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language ID[0]           : 0x0409 (English - United States)
Data (HexDump)           : 04 03 09 04                                       ....
             ------ String Descriptor 1 ------
bLength                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "nok9 AB"
Data (HexDump)           : 10 03 6E 00 6F 00 6B 00 39 00 20 00 41 00 42 00   ..n.o.k.9. .A.B.
             ------ String Descriptor 2 ------
bLength                  : 0x0E (14 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Qi MDT"
Data (HexDump)           : 0E 03 51 00 69 00 20 00 4D 00 44 00 54 00         ..Q.i. .M.D.T.

I will try your other advice as well.

Thanks / Joakim

0 Likes
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Thank you for the details.

From the logs, I noticed that the device enumerates as a USB 3.0 device when compiled in the Release mode and has issues and also comes ups as USB 2.0 when compiled in debug mode.

To narrow down the issue please help us with following tests

Test#1: Program USBBulkSrcSink example of the SDK and bind it to the default cyusb3 driver and check if the issue is reproducible

Test#2 Please test the driver in this thread with the USBBulkSrcSink and let us know if the issue is seen

Regards,
Rashi
0 Likes