RK3308: ACM serial over USB sporadically not started

Oliver Neukum oneukum at suse.com
Tue Nov 22 01:25:18 PST 2022



On 22.11.22 09:45, Luca Ceresoli wrote:
> Hello,
> 
> I have set up Serial over USB gadget (ACM CDC) on a RK3308, which works
> fine most times but sporadically (10~20% of the times) does not work,
> failing to set up ttyACM0 on the host side.
> 
> Target hardware: Rock Pi S (RK3308).
> Software used on target: Linux v6.1-rc6 (eb7081409f94a9a8608).
> Device tree: rk3308-rock-pi-s.dtb from mainline, unmodified.
> 
> Relevant Kconfig options:
> 
> CONFIG_USB=y
> CONFIG_USB_EHCI_HCD=y
> CONFIG_USB_EHCI_HCD_PLATFORM=y
> CONFIG_USB_OHCI_HCD=y
> CONFIG_USB_OHCI_HCD_PLATFORM=y
> CONFIG_USB_DWC2=y
> CONFIG_USB_DWC2_PERIPHERAL=y
> CONFIG_USB_DWC2_DEBUG=y
> CONFIG_USB_DWC2_TRACK_MISSED_SOFS=y
> CONFIG_USB_GADGET=y
> CONFIG_USB_GADGET_DEBUG=y
> CONFIG_USB_GADGET_DEBUG_FILES=y
> CONFIG_USB_GADGET_DEBUG_FS=y
> CONFIG_USB_G_SERIAL=y
> 
> CONFIG_USB_LIBCOMPOSITE=y
> CONFIG_USB_F_ACM=y
> CONFIG_USB_U_SERIAL=y
> CONFIG_USB_F_SERIAL=y
> CONFIG_USB_F_OBEX=y
> # CONFIG_USB_CONFIGFS is not set
> 
> CONFIG_EXTCON=y
> CONFIG_PHY_ROCKCHIP_INNO_USB2=y
> CONFIG_PHY_ROCKCHIP_USB=y
> 
> Connections:
> - USB-C to USB-C cable connecting PC and target for both USB
>    gadget and target power
> - Ethernet cable
> - UART TX pin (GND not connected, adds booting troubles)
> 

> [    0.598921] dwc2 ff400000.usb: gintsts=04008820  gintmsk=d88c3cc4
> [    0.601050] dwc2 ff400000.usb: dwc2_handle_usb_suspend_intr: DSTS=0x400003
> [    0.602415] dwc2 ff400000.usb: DSTS.Suspend Status=1 HWCFG4.Power Optimize=1 HWCFG4.Hibernation=0
> [    0.602431] dwc2 ff400000.usb: ignore suspend request before enumeration

Oddity

> [    0.602445] dwc2 ff400000.usb: dwc2_hsotg_irq: 04008020 00000000 (d88c3cc4) retry 8

> I suspect a concurrency issue during initialization, but I don't know
> where to investigate further.

Try booting with "usbcore.autosuspend=-1" on the host side.

	Regards
		Oliver




More information about the Linux-rockchip mailing list