9 Replies Latest reply on Sep 17, 2020 12:00 AM by SananyaM_56

    CYUSB4347 unable to Get Status

    BrSt_4768541

      We are using the CYUSB4347 in one of our projects, we are able to see it in the Windows 10 Device Manager:

      Device USB\VID_04B4&PID_2347\5&12ec354d&0&1 was configured.

       

      Driver Name: usbhub3.inf

      Class Guid: {36FC9E60-C465-11CF-8056-444553540000}

      Driver Date: 11/08/2018

       

      But we cannot “Get Status” via the EZ-USB HX3PD Configuration Utility:

      Querying dock status

      Opening handle to dock

      No dock devices found

      Connecting device failed

      Failed to connect device

      HX3PD get status failed

       

      Consequently we are not able to update the firmware. Any pointers what to try or look at to solve this?

       

      Thanks,

      Brett

        • 1. Re: CYUSB4347 unable to Get Status
          SananyaM_56

          Hi Brett,

           

          The HX3PD Configuration Utility uses the DMC vendor interface to update the firmware to the DMC, PD and Hub controllers in HX3PD. The logs shown indicate that the DMC may not have enumerated properly on the host and hence the utility may not be able to detect the dock.

          Please check if the DMC is present on DS8 of the hub in device manager or USBView application. If not, please update the DMC firmware through SWD programming and once it enumerates, you could check for the status on the utility and update all the components with the composite image.

           

          Best Regards,

          Sananya

          • 2. Re: CYUSB4347 unable to Get Status
            BrSt_4768541

            Sananya,

             

            Thank you for your response - Here is the USBView info.

            Connecting from Root Hub Port 3 to the Device. I don't see anything connected to any of the ports 1-8 on the Device. Perhaps that device is being held in reset???

             

            [Port3]  :  Generic USB Hub

             

             

            External Hub: USB#VID_04B4&PID_2347#5&12ec354d&0&3#{f18a0e88-c30c-11d0-8815-00a0c906bed8}

            Is Port User Connectable:         yes

            Is Port Debug Capable:            no

            Companion Port Number:            19

            Companion Hub Symbolic Link Name: USB#ROOT_HUB30#4&30f696d2&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}

            Protocols Supported:

            USB 1.1:                         yes

            USB 2.0:                         yes

            USB 3.0:                         no

             

             

            Hub Power:                    Self Power

            Hub type:                     USB 2.0 Hub

            Number of Ports:              8

            Power switching:              Individual

            Compound device:              No

            Over-current Protection:      Individual

             

             

            High speed capable:           Yes

            High speed:                   Yes

            Multiple transaction translations capable:                 Yes

            Performs multiple transaction translations simultaneously: Yes

            Hub wakes when device is connected:                        No

            Hub is bus powered:           No

            Hub is root:                  No

                   ---===>Device Information<===---

            English product name: "Cypress HX3PD Hub"

             

             

            ConnectionStatus:                 

            Current Config Value:              0x01  -> Device Bus Speed: High (is SuperSpeed or higher capable)

            Device Address:                    0x3B

            Open Pipes:                           1

             

             

                      ===>Device Descriptor<===

            bLength:                           0x12

            bDescriptorType:                   0x01

            bcdUSB:                          0x0210

            bDeviceClass:                      0x09  -> This is a HUB Device

            bDeviceSubClass:                   0x00

            bDeviceProtocol:                   0x02

            bMaxPacketSize0:                   0x40 = (64) Bytes

            idVendor:                        0x04B4 = Cypress Semiconductor

            idProduct:                       0x2347

            bcdDevice:                       0x0616

            iManufacturer:                     0x01

                 English (United States)  "Cypress Semiconductor"

            iProduct:                          0x02

                 English (United States)  "Cypress HX3PD Hub"

            iSerialNumber:                     0x00

            bNumConfigurations:                0x01

             

             

                      ---===>Open Pipes<===---

             

             

                      ===>Endpoint Descriptor<===

            bLength:                           0x07

            bDescriptorType:                   0x05

            bEndpointAddress:                  0x81  -> Direction: IN - EndpointID: 1

            bmAttributes:                      0x03  -> Interrupt Transfer Type

            wMaxPacketSize:                  0x0002 = 1 transactions per microframe, 0x02 max bytes

            bInterval:                         0x0C

             

             

                   ---===>Full Configuration Descriptor<===---

             

             

                      ===>Configuration Descriptor<===

            bLength:                           0x09

            bDescriptorType:                   0x02

            wTotalLength:                    0x0029  -> Validated

            bNumInterfaces:                    0x01

            bConfigurationValue:               0x01

            iConfiguration:                    0x00

            bmAttributes:                      0xE0  -> Self Powered

              -> Remote Wakeup

            MaxPower:                          0x00 =   0 mA

             

             

                      ===>Interface Descriptor<===

            bLength:                           0x09

            bDescriptorType:                   0x04

            bInterfaceNumber:                  0x00

            bAlternateSetting:                 0x00

            bNumEndpoints:                     0x01

            bInterfaceClass:                   0x09  -> HUB Interface Class

            bInterfaceSubClass:                0x00

            bInterfaceProtocol:                0x01

            iInterface:                        0x00

             

             

                      ===>Endpoint Descriptor<===

            bLength:                           0x07

            bDescriptorType:                   0x05

            bEndpointAddress:                  0x81  -> Direction: IN - EndpointID: 1

            bmAttributes:                      0x03  -> Interrupt Transfer Type

            wMaxPacketSize:                  0x0002 = 1 transactions per microframe, 0x02 max bytes

            bInterval:                         0x0C

             

             

                      ===>Interface Descriptor<===

            bLength:                           0x09

            bDescriptorType:                   0x04

            bInterfaceNumber:                  0x00

            bAlternateSetting:                 0x01

            bNumEndpoints:                     0x01

            bInterfaceClass:                   0x09  -> HUB Interface Class

            bInterfaceSubClass:                0x00

            bInterfaceProtocol:                0x02

            iInterface:                        0x00

             

             

                      ===>Endpoint Descriptor<===

            bLength:                           0x07

            bDescriptorType:                   0x05

            bEndpointAddress:                  0x81  -> Direction: IN - EndpointID: 1

            bmAttributes:                      0x03  -> Interrupt Transfer Type

            wMaxPacketSize:                  0x0002 = 1 transactions per microframe, 0x02 max bytes

            bInterval:                         0x0C

             

             

                      ===>BOS Descriptor<===

            bLength:                           0x05

            bDescriptorType:                   0x0F

            wTotalLength:                      0x002A

            bNumDeviceCaps:                    0x03

             

             

                      ===>USB 2.0 Extension Descriptor<===

            bLength:                           0x07

            bDescriptorType:                   0x10

            bDevCapabilityType:                0x02

            bmAttributes:                      0x00000006  -> Supports Link Power Management protocol

             

             

                      ===>SuperSpeed USB Device Capability Descriptor<===

            bLength:                           0x0A

            bDescriptorType:                   0x10

            bDevCapabilityType:                0x03

            bmAttributes:                      0x00

            wSpeedsSupported:                  0x0E

              -> Supports full-speed operation

              -> Supports high-speed operation

              -> Supports SuperSpeed operation

            bFunctionalitySupport:             0x01 -> lowest speed = full-speed

            bU1DevExitLat:                     0x08 -> less than 8 micro-seconds

            wU2DevExitLat:                     0x00BE -> less than 190 micro-seconds

             

             

                      ===>Container ID Capability Descriptor<===

            bLength:                           0x14

            bDescriptorType:                   0x10

            bDevCapabilityType:                0x04

            bReserved:                         0x00

            Container ID:                      9F4B56F0-1DF6-11E0-AC64-0800200C9A66

            • 3. Re: CYUSB4347 unable to Get Status
              BrSt_4768541

              We did see the "Get Status" successfully find the Device in the Configuration Utility once and attempted to program but it was unsuccessful. Unfortunately our board does not have access to the SWD interface, it is not brought out from the BGA .

              • 4. Re: CYUSB4347 unable to Get Status
                BrSt_4768541

                Sananya,

                 

                I have had another successful Get Status, just got lucky and tried it at the right time???. Here is the output:

                Querying dock status

                Opening handle to dock

                Connecting to the DMC

                =================================HX3PD IDENTITY=================================

                CDTT version     : 1

                VID              : 0x04B4

                PID              : 0x521B

                Vendor           : Cypress Semiconductor

                Product          : EZ-USB HX3PD Gen 2 Hub

                Signed FW Update : FALSE

                ==============================CURRENT HX3PD STATUS==============================

                Last FW update status : Factory (0x0)

                Device count : 3

                Composite dock image version : 1.3.0.0

                --------------------------------------------------------------------------------

                Device#0

                Device type                   : DMC

                Component ID                  : 0

                Current image                 : Image-1

                Bootloader Version

                Base Version          : 3.3.0.1732

                Application Version   : dm.1.0.229

                Image-0 Status                : VALID (0x1)

                Base Version          : 3.3.0.1883

                Application Version   : dm.1.1.17

                Image-1 Status                : VALID (0x1)

                Base Version          : 3.3.0.1883

                Application Version   : dm.1.1.17

                --------------------------------------------------------------------------------

                Device#1

                Device type                   : HX3PD PD Controller

                Component ID                  : 1

                Current image                 : Bootloader

                Bootloader Version

                Base Version          : 3.3.0.1707

                Application Version   : md.1.0.219

                Image-0 Status                : UNKNOWN (0x0)

                Base Version          : 3.3.0.1883

                Application Version   : md.1.1.17

                Image-1 Status                : UNKNOWN (0x0)

                Base Version          : 3.3.0.1883

                Application Version   : md.1.1.17

                --------------------------------------------------------------------------------

                Device#2

                Device type                   : HX3PD Hub Controller

                Component ID                  : 2

                Current image                 : Image-0

                Image-0 Status                : INVALID (0x2)

                (Last known good version)

                Version               : 0

                Image-1 Status                : INVALID (0x2)

                (Last known good version)

                Version               : 0

                ================================================================================

                 

                Starting update D:\Projects\USB-cypress\HX3PD\HX3PD\EZ-USB_HX3PD_CYUSB4347_FW\EZ-USB_HX3PD_CYUSB4347_FW\CYUSB4347_Composite_FW\CYUSB4347-BZXC_FW_1_3_0.bin

                Loading dock composite image file

                Verifying hash of image#0

                Segment #0

                Segment #1

                Verifying hash of image#1

                Segment #0

                Segment #1

                Verifying hash of image#2

                Segment #0

                Segment #1

                Verifying hash of image#3

                Segment #0

                Segment #1

                Verifying hash of image#4

                Segment #0

                Verifying hash of image#5

                Segment #0

                Opening handle to dock

                Connecting to the DMC

                Starting FW upgrading

                Sending start command

                Waiting for FW request

                 

                 

                Writing image #0 : DMC (Comp-id: 0), Image-0

                Segment #0

                Sending image write command

                Segment #1

                Sending image write command

                 

                 

                Waiting for FW request

                Received re-enumeration notification

                Length mismatch in received message

                DMC disconnected, waiting for re-connection with DMC

                time out = 60000

                Timeout occurred while waiting for re-connect

                HX3PD firmware update failed

                • 5. Re: CYUSB4347 unable to Get Status
                  SananyaM_56

                  Hi,

                   

                  -Could you please share the part of the schematics with HX3PD if its not confidential since it is a custom board? This would help us understand if the DMC connection issues are related to the hardware.

                  -When you are able to see the DMC enumerate, could you please try the firmware update with a higher timeout value?

                  -Since the logs show that the hub controller firmware is Invalid, it would be ideal if we could reflash the SPI EEPROM with a valid hub firmware (https://www.cypress.com/documentation/software-and-drivers/ez-usb-hx3pd-firmware ) and then check the DMC enumeration.

                   

                  Best Regards,
                  Sananya

                  • 6. Re: CYUSB4347 unable to Get Status
                    BrSt_4768541

                    The DMC on our board takes 15 minutes to connect. So I set the timeout to 950 seconds and it did get further in the update process but still failed.

                    • 7. Re: CYUSB4347 unable to Get Status
                      TyLl_4562531

                      Hi SananyaM. Here is most of the HX3PD schematic piece. I can share more if i missed something. Hopefully the resolution is sufficient. I did not intentionally degrade it.

                      Screenshot 2020-09-10 162351.jpgScreenshot 2020-09-10 162429.jpg

                      • 8. Re: CYUSB4347 unable to Get Status
                        BrSt_4768541

                        Here is a log of the attempt to update flash:

                        Starting update D:\Projects\USB-cypress\EZ-USB_HX3PD_CYUSB4347_FW\CYUSB4347_Composite_FW\CYUSB4347-BZXC_FW_1_3_0.bin

                        Loading dock composite image file

                        Verifying hash of image#0

                        Segment #0

                        Segment #1

                        Verifying hash of image#1

                        Segment #0

                        Segment #1

                        Verifying hash of image#2

                        Segment #0

                        Segment #1

                        Verifying hash of image#3

                        Segment #0

                        Segment #1

                        Verifying hash of image#4

                        Segment #0

                        Verifying hash of image#5

                        Segment #0

                        Opening handle to dock

                        Connecting to the DMC

                        Starting FW upgrading

                        Sending start command

                        Waiting for FW request

                         

                         

                        Writing image #1 : DMC (Comp-id: 0), Image-1

                        Segment #0

                        Sending image write command

                        Segment #1

                        Sending image write command

                         

                         

                        Waiting for FW request

                        Received re-enumeration notification

                        Length mismatch in received message

                        DMC disconnected, waiting for re-connection with DMC

                        time out = 1200000

                        Starting FW upgrading

                        Sending start command

                        Waiting for FW request

                         

                         

                        Writing image #0 : DMC (Comp-id: 0), Image-0

                        Segment #0

                        Sending image write command

                        Segment #1

                        Sending image write command

                         

                         

                        Waiting for FW request

                        Received re-enumeration notification

                        DMC disconnected, waiting for re-connection with DMC

                        time out = 1200000

                        Starting FW upgrading

                        Sending start command

                        Waiting for FW request

                        HX3PD firmware update failed

                        Log is stored in file C:\Users\a7497\AppData\Roaming\HX3PDConfigUtility\Logs\dock_update_11_09_10_58.txt

                        • 9. Re: CYUSB4347 unable to Get Status
                          SananyaM_56

                          Hi,

                           

                          It does seem like the firmware update process is able to proceed more with the timeout increased so I think it might be a hardware issue and more specifically signal integrity issue in this case. After reviewing the schematics, I had the following comments-

                               Please ensure that the power sequencing is followed as per- https://www.cypress.com/file/410976/download

                               Pull up resistors of 10K and 100K are recommended to be connected on the OVCUR and PRWEN pins respectively.

                               Please ensure that the Reset timings are met with respect to 3.3V and 1.2V as shown in section 2.4 of the above App Note.

                           

                          -Kindly also check the layout guidelines mentioned in the App Note and if they are met on your board.

                          -Please let us know if you were able to get the correct DMC enumeration and firmware update to complete when using the same cable with our EVK?

                          -Although you mentioned that the SWD pins arent brought out on the board, would it be possible to somehow update the DMC firmware?

                           

                          Best Regards,

                          Sananya