Comment 0 for bug 1861070

Revision history for this message
Enoch Leung (leun0036) wrote :

I am using Raspberry Pi 4B (4GB) and want to make use of the OTG functionality (g_ether). I cross checked with Raspbian to make sure it is not a hardware issue. Extract from dmesg of Ubuntu 19.10.1 with latest updates applied as of Jan 26th, 2020 via "apt-get update" and "apt-get full-upgrade":

...
[ 1.514262] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[ 1.517365] dwc_otg: FIQ enabled
[ 1.517376] dwc_otg: NAK holdoff enabled
[ 1.517386] dwc_otg: FIQ split-transaction FSM enabled
[ 1.517399] Module dwc_common_port init
...
[ 6.358332] dwc2 fe980000.usb: fe980000.usb supply vusb_d not found, using dummy regulator
[ 6.358388] dwc2 fe980000.usb: fe980000.usb supply vusb_a not found, using dummy regulator
[ 6.358545] dwc2 fe980000.usb: Configuration mismatch. dr_mode forced to host
[ 6.409098] dwc2 fe980000.usb: DWC OTG Controller
[ 6.409399] dwc2 fe980000.usb: new USB bus registered, assigned bus number 3
[ 6.409432] dwc2 fe980000.usb: irq 23, io mem 0xfe980000
...
[ 111.796714] udc-core: couldn't find an available UDC - added [g_ether] to list of pending drivers

I think it is that "Configuration mismatch. dr_mode forced to host" log entry telling me that the port is acting as HOST mode instead of OTG mode. I have try putting these in usercfg.txt

"dtoverlay=dwc2"
"dtoverlay=dwc2,dr_mode=otg"
"dtoverlay=dwc2,dr_mode=peripheral"

and it will give the same result, no OTG functionality.

On the same hardware running Raspbian Buster, it initialise successfully. Corresponding dmesg:
...
[ 0.567531] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[ 0.570391] dwc_otg: FIQ enabled
[ 0.570400] dwc_otg: NAK holdoff enabled
[ 0.570409] dwc_otg: FIQ split-transaction FSM enabled
[ 0.570421] Module dwc_common_port init
...
[ 2.507634] dwc2 fe980000.usb: fe980000.usb supply vusb_d not found, using dummy regulator
[ 2.511011] dwc2 fe980000.usb: Linked as a consumer to regulator.0
[ 2.514450] dwc2 fe980000.usb: fe980000.usb supply vusb_a not found, using dummy regulator
[ 2.731860] dwc2 fe980000.usb: dwc2_check_params: Invalid parameter lpm=1
[ 2.735511] dwc2 fe980000.usb: dwc2_check_params: Invalid parameter lpm_clock_gating=1
[ 2.735522] dwc2 fe980000.usb: dwc2_check_params: Invalid parameter besl=1
[ 2.735533] dwc2 fe980000.usb: dwc2_check_params: Invalid parameter hird_threshold_en=1
[ 2.735582] dwc2 fe980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM
[ 2.752511] dwc2 fe980000.usb: DWC OTG Controller
[ 2.752554] dwc2 fe980000.usb: new USB bus registered, assigned bus number 3
[ 2.752601] dwc2 fe980000.usb: irq 36, io mem 0xfe980000
...
[ 2.848843] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 2.851601] g_ether gadget: g_ether ready
[ 2.854580] dwc2 fe980000.usb: bound driver g_ether
[ 2.998525] dwc2 fe980000.usb: new device is high-speed
[ 3.075025] dwc2 fe980000.usb: new device is high-speed
[ 3.139338] dwc2 fe980000.usb: new address 10
[ 3.154010] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)