RE: Enabling Device DWC3 Device Mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sid,

> -----Original Message-----
> From: Sid Spry <sid@xxxxxxx>
> Sent: Saturday, September 19, 2020 1:59 PM
> To: Ran Wang <ran.wang_1@xxxxxxx>
> Cc: linux-usb@xxxxxxxxxxxxxxx
> Subject: Re: Enabling Device DWC3 Device Mode
> 
> Hello list and Ran, I've some more observations. Firstly, I have to set the dwc3
> mode to peripheral directly. Checking the code I was unable to find what
> actually allows you to select the mode if specifying OTG.

Yeah, I also think debugging on peripheral firstly would be easier than OTG.

> I have devices in /sys/class/udc and they function properly via configfs when
> plugged into a USB2 only port. If I plug them into a superspeed port I get
> nothing in dmesg on the host side. At first, I did get a response on the host, in
> the form of:

So the gadget registration for DWC3 UDC encountered no error, right?
dwc3_core_init_mode()->dwc3_gadget_init()->usb_add_gadget_udc() return 0?
If yes, it looks like SoC internal configuring has no big issue, I think.

> [591550.770819] usb 1-1.2: new full-speed USB device number 76 using
> xhci_hcd [591550.870962] usb 1-1.2: device descriptor read/64, error -32
> [591551.078865] usb 1-1.2: device descriptor read/64, error -32
> [591551.286875] usb 1-1.2: new full-speed USB device number 77 using
> xhci_hcd [591551.386873] usb 1-1.2: device descriptor read/64, error -32
> [591551.594859] usb 1-1.2: device descriptor read/64, error -32
> [591551.703160] usb 1-1-port2: attempt power cycle

For the speed issue (expect SS but got FS), you could try adding below property to dwc3 node,
On our platform this is necessary (see dwc3_gadget_set_speed()):

maximum-speed = "super-speed";

If the get descriptor read issue still happen with above change, maybe you need to check PHY status,
or using protocol-analyzer to see what happen on bus.

> However now I get no driver activity when binding the UDC in configfs or
> loading or unloading the respective modules. Kernel is 5.7.15 w/ patches.
> 
> It doesn't seem like a fried the port or tripped a polyfuse, the port still works
> after attempting USB3 device mode.

How about dr_mode="host"? Does it work? I think it would help to verify your HW is good to go (such as PHY at least).

Regards,
Ran




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux