CYUSB4347 unable to Get Status

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

cross mob
BrSt_4768541
Level 1
Level 1
5 replies posted Welcome! First question asked

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

0 Likes
1 Solution

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

View solution in original post

0 Likes
9 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

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

0 Likes

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

0 Likes

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 .

0 Likes

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

0 Likes

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

0 Likes

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.

0 Likes

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

0 Likes

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

0 Likes

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

0 Likes