1 Reply Latest reply on Oct 5, 2017 5:04 AM by HemanthR_06

    CY7C68013A Bulk interrupt packet size

      We have been using FX2 CY7C68013A for over 10 years.


      Recently, we discovered that on certain Dell servers, a feature of our product stopped working. This feature depended on EP1 OUT which was configured as a bulk endpoint with a max packet size of 64 bytes. On the failing machines, the bulk transfers on this endpoint were 512 bytes.


      I noticed that before re-enumeration, the FX2 sets EP1 OUT as having a max packet size of 512. On the failing machines, our product after re-enumeration gets assigned the same USB address as it had before enumeration.


      I have seen Claudio Reginelli's post, which *could* be explained by the same root cause: FX2LP CY7C68013A Hi Speed Bulk problem on latest generation laptops


      Can anyone point me in the direction of where this bug might be?




      -- Conor


      Update: The issue appears to be caused by the Texas Instruments USB ports. Intel-based ports on the same machine do not exhibit the same problem.

      The faulty ports are on a 3-port PCI card. The driver is tihub3.sys v1.12.18


      Message was edited by: Conor McQuaid

        • 1. Re: CY7C68013A Bulk interrupt packet size

          Hi Conor,


          In the above post you mentioned the following:

          "I noticed that before re-enumeration, the FX2 sets EP1 OUT as having a max packet size of 512."


          - This should not be the case. The EP1 endpoint is a 64 byte endpoint.


          So your descriptor of the EP1 endpoint should be as follows:

          ;; Endpoint Descriptor

                db   DSCR_ENDPNT_LEN      ;; Descriptor length

                db   DSCR_ENDPNT               ;; Descriptor type

                db   01H                                   ;; Endpoint number, and direction

                db   ET_BULK                          ;; Endpoint type

                db   40H                                   ;; Maximun packet size (LSB)

                db   00H                                   ;; Max packect size (MSB)

                db   00H                                   ;; Polling interval


          Notice above that Max packet Size is 0x0040H


          So, please make sure that the MaxPacket size is reported correctly as 64 and not as 512


          Let me know if it is already done this way.