Hi, I was able to get USB to work with v5.4 kernel by applying additional changes [0]. As far as I understand, reset has been added to the mainline linux kernel with the commit 83f8da562f8b5275fa1095b45762996971f7c607 Any chance to accept my patch from this thread?
[0] https://patchwork.ozlabs.org/project/openwrt/patch/20200506204815.1776-1-dobrovolskiy.ale...@gmail.com/ Best regards, Alexey ср, 22 апр. 2020 г. в 02:20, Alexey Dobrovolskiy <dobrovolskiy.ale...@gmail.com>: > > Hi, > USB does not work in master at 35f208da3c built with testing kernel > 5.4 with or without 0032-USB-dwc2-add-device_reset.patch. > (ramips, ZyXEL Keenetic) > In boot log: > [ 6.888293] usbcore: registered new interface driver usbfs > [ 6.899641] usbcore: registered new interface driver hub > [ 6.910630] usbcore: registered new device driver usb > [ 6.930904] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver > [ 6.955086] SCSI subsystem initialized > [ 6.970394] ehci-fsl: Freescale EHCI Host controller driver > [ 6.985235] ehci-platform: EHCI generic platform driver > [ 7.006666] dwc2 101c0000.otg: Configuration mismatch. dr_mode forced to > host > [ 7.033189] dwc2 101c0000.otg: dwc2_core_reset: HANG! AHB Idle > timeout GRSTCTL GRSTCTL_AHBIDLE > [ 7.050637] dwc2: probe of 101c0000.otg failed with error -16 > [ 7.074662] usbcore: registered new interface driver usb-storage > > Full log attached to FS#2964 > > Best regards, > Alexey > > сб, 11 апр. 2020 г. в 01:37, Alexey Dobrovolsky > <dobrovolskiy.ale...@gmail.com>: > > > > In FS#2738 we can see that patch first introduced in > > e8ebcff ("ramips: add a explicit reset to dwc2") > > breaks USB functionality since 18.06. Thus, this patch should be removed. > > > > Removed: > > - 0032-USB-dwc2-add-device_reset.patch > > > > Fixes: FS#2738 > > Fixes: FS#2964 > > > > Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.ale...@gmail.com> > > --- > > > > Notes: > > I can’t assess whether the root cause of the e8ebcff patch has been > > fixed > > in upstream or the patch needs to be rewritten. From the description > > of the bugs, it is only clear that in the latest OpenWrt versions this > > patch does not work correctly. > > > > I built 18.06.2 and master at 91c61aae200ecf98e332482d395beda819d6a4fa > > for ZyXEL Keenetic with 0032-USB-dwc2-add-device_reset.patch removed > > as described in FS#2738 and USB works with a USB flash drive (FS#2964). > > > > .../0032-USB-dwc2-add-device_reset.patch | 29 ------------------- > > .../0032-USB-dwc2-add-device_reset.patch | 29 ------------------- > > 2 files changed, 58 deletions(-) > > delete mode 100644 > > target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch > > delete mode 100644 > > target/linux/ramips/patches-5.4/0032-USB-dwc2-add-device_reset.patch > > > > diff --git > > a/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch > > b/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch > > deleted file mode 100644 > > index c04e2db661..0000000000 > > --- a/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch > > +++ /dev/null > > @@ -1,29 +0,0 @@ > > -From a758e0870c6d1e4b0272f6e7f9efa9face5534bb Mon Sep 17 00:00:00 2001 > > -From: John Crispin <blo...@openwrt.org> > > -Date: Sun, 27 Jul 2014 09:49:07 +0100 > > -Subject: [PATCH 32/53] USB: dwc2: add device_reset() > > - > > -Signed-off-by: John Crispin <blo...@openwrt.org> > > ---- > > - drivers/usb/dwc2/hcd.c | 3 +++ > > - 1 file changed, 3 insertions(+) > > - > > ---- a/drivers/usb/dwc2/hcd.c > > -+++ b/drivers/usb/dwc2/hcd.c > > -@@ -48,6 +48,7 @@ > > - #include <linux/io.h> > > - #include <linux/slab.h> > > - #include <linux/usb.h> > > -+#include <linux/reset.h> > > - > > - #include <linux/usb/hcd.h> > > - #include <linux/usb/ch11.h> > > -@@ -5215,6 +5216,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso > > - > > - retval = -ENOMEM; > > - > > -+ device_reset(hsotg->dev); > > -+ > > - hcfg = dwc2_readl(hsotg->regs + HCFG); > > - dev_dbg(hsotg->dev, "hcfg=%08x\n", hcfg); > > - > > diff --git > > a/target/linux/ramips/patches-5.4/0032-USB-dwc2-add-device_reset.patch > > b/target/linux/ramips/patches-5.4/0032-USB-dwc2-add-device_reset.patch > > deleted file mode 100644 > > index ec837cda93..0000000000 > > --- a/target/linux/ramips/patches-5.4/0032-USB-dwc2-add-device_reset.patch > > +++ /dev/null > > @@ -1,29 +0,0 @@ > > -From a758e0870c6d1e4b0272f6e7f9efa9face5534bb Mon Sep 17 00:00:00 2001 > > -From: John Crispin <blo...@openwrt.org> > > -Date: Sun, 27 Jul 2014 09:49:07 +0100 > > -Subject: [PATCH 32/53] USB: dwc2: add device_reset() > > - > > -Signed-off-by: John Crispin <blo...@openwrt.org> > > ---- > > - drivers/usb/dwc2/hcd.c | 3 +++ > > - 1 file changed, 3 insertions(+) > > - > > ---- a/drivers/usb/dwc2/hcd.c > > -+++ b/drivers/usb/dwc2/hcd.c > > -@@ -49,6 +49,7 @@ > > - #include <linux/io.h> > > - #include <linux/slab.h> > > - #include <linux/usb.h> > > -+#include <linux/reset.h> > > - > > - #include <linux/usb/hcd.h> > > - #include <linux/usb/ch11.h> > > -@@ -5023,6 +5024,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso > > - > > - retval = -ENOMEM; > > - > > -+ device_reset(hsotg->dev); > > -+ > > - hcfg = dwc2_readl(hsotg, HCFG); > > - dev_dbg(hsotg->dev, "hcfg=%08x\n", hcfg); > > - > > -- > > 2.17.1 > > _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel