Thanks Hui for the new kernel. It is not fully working yet though. I attach the two "dmesg --color=always" output for your comparison.
Using your new kernel, my Pi 4B can load g_ether successfully with Ubuntu. However, OTG mode is still not working as expected. Connected to my L470 running Ubuntu 19.10, P4B on ubuntu gives: ----- this is output from dmesg on L470 ----- [114144.192312] usb 1-3.1: new high-speed USB device number 15 using xhci_hcd [114144.572780] usb 1-3.1: device descriptor read/64, error -71 [114160.102412] usb 1-3.1: device descriptor read/64, error -110 [114160.287331] usb 1-3.1: new high-speed USB device number 16 using xhci_hcd [114165.734418] usb 1-3.1: device descriptor read/64, error -110 [114181.606824] usb 1-3.1: device descriptor read/64, error -110 [114181.712895] usb 1-3-port1: attempt power cycle [114182.324401] usb 1-3.1: new high-speed USB device number 17 using xhci_hcd [114187.750644] usb 1-3.1: device descriptor read/64, error -110 [114203.622447] usb 1-3.1: device descriptor read/64, error -110 [114203.806762] usb 1-3.1: new high-speed USB device number 18 using xhci_hcd [114209.253645] usb 1-3.1: device descriptor read/64, error -110 [114225.126520] usb 1-3.1: device descriptor read/64, error -110 [114225.233412] usb 1-3-port1: unable to enumerate USB device when I boot my Pi 4B on Raspbian, the output is as expected: ----- this is output from dmesg on L470 ----- [114365.055969] usb 1-3.1: new high-speed USB device number 19 using xhci_hcd [114365.146823] usb 1-3.1: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice= 4.19 [114365.146837] usb 1-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [114365.146844] usb 1-3.1: Product: RNDIS/Ethernet Gadget [114365.146849] usb 1-3.1: Manufacturer: Linux 4.19.93-v7l+ with fe980000.usb [114365.161097] cdc_subset: probe of 1-3.1:1.0 failed with error -22 [114365.162862] cdc_subset 1-3.1:1.1 usb0: register 'cdc_subset' at usb-0000:00:14.0-3.1, Linux Device, 7a:e4:85:af:64:35 [114365.162980] usbcore: registered new interface driver cdc_subset [114365.163051] cdc_ether: probe of 1-3.1:1.0 failed with error -16 [114365.163119] usbcore: registered new interface driver cdc_ether Any suggestion? I simply use some random values as g_ether module parameters. ** Attachment added: "dmesgs.tgz" https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1861070/+attachment/5323811/+files/dmesgs.tgz -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux-raspi2 in Ubuntu. https://bugs.launchpad.net/bugs/1861070 Title: Raspberry Pi 4B: USB OTG is not working Status in linux-raspi2 package in Ubuntu: New Bug description: 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) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1861070/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp