2 Replies Latest reply on Aug 20, 2019 12:11 AM by OlEr_1999891

    Dock not sending Discover Identity

    OlEr_1999891

      Hi!

       

      We have a need for our dock to ask the connecting device what VID and PID they have through a Discover Identity message. Problem is that as far as we can see (and think), the connecting laptop send a "DR_Swap" directly after the 20V voltage has been negotiated and then it is the laptop sending the Discover Identity to the dock instead to initiate the alt-mode communication. See analyzer log dump.

       

      Is there way get the dock to send a Disocver Identity before the DR-role swap? Or any other way for the dock to get VID/PID of the connecting device.

       

      Noticed the main:sln_pd_event_handler  method that is used in the CCG4 Dock ref design:

       

      Could something be done here? Or change some PD Configuration-settings in the configuration of the FW?

       

      Cheers

      Olof

        • 1. Re: Dock not sending Discover Identity
          LisaZ_26

          Hi Olof,

           

          You can change the DR_SWAP logic as per your requirements. You can see that the default firmware setting as when PD contract is established and the role is DFP, initial DR_SWAP.

           

          You can use same way, but gate difference, for example, you can sent the Discovery Identify first and then get the VID&PID, ans then inital DR_SWAP use same API.

           

          Best Regards,

          Lisa

          • 2. Re: Dock not sending Discover Identity
            OlEr_1999891

            Hi Lisa!

             

            Thanks for getting back. Got 3 follow-up questions:

            1. In the attached PD-log it looks like it is the laptop that initiates the DR_SWAP so will it still be possible to trigger the DI at the APP_EVT_PD_CONTRACT_NEGOTIATE_COMPLETE ?

            2. If yes, how would that code look like?

            3. Noticed the define "UFP_MODE_DISC_ENABLE?" that is used in vdm_task_mgr.c among other files. Is this a better way to do it? Or that would be releventa if the device in question is a dock?

             

            Cheers

            Olof