Hi Doug, [add Felipe and Grigor] > Doug Anderson <dianders@xxxxxxxxxxxx> hat am 10. Juli 2018 um 17:21 geschrieben: > > > Hi, > > On Tue, Jul 10, 2018 at 6:57 AM, Stefan Wahren <stefan.wahren@xxxxxxxx> wrote: > > Hi Doug, > > > > since Stephen isn't BCM2835 maintainer anymore, please keep me in the loop. > > Sorry for missing you. :( I wonder if you should add yourself to the > MAINTAINERS file as a reviewer for dwc2 so you can get CCed always? i don't think this is necessary and my USB knowledge is to little. I've setup a jenkins to catch regressions from linux-next. This is currently sufficient. > > > > I'm not sure how to test this. Is there some kind of test scenario (don't > > have a USB analyzer)? > > I guess it'll depend on what USB devices you have sitting around. The > more USB devices you have plugged in then the more likely the dumb > scheduler will get things wrong and a device won't like you. You > should also see significant compatibility improvements when you have > low/full speed devices plugged into high speed USB hubs. > > IIRC when testing I did things like: > - In general, try to have lots of things plugged in. > - Plug many different keyboards / mice in. See if keys are dropped / > mouse is jerky. > - Try USB audio (ideally full speed, not high speed). How is the audio? > - If you're brave, try a USB webcam. How is the video? Thanks for the hints. The BCM2835 only have 8 EP, so my test setup isn't big: 1x Rasberry Pi 2 (with onboard ethernet SMSC95xx via USB) 1x keyboard connected to the Pi directly 1x external powered 7 port HUB (1x mice and 1x USB serial adapter) /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 2: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 4: Dev 8, If 0, Class=Vendor Specific Class, Driver=, 12M But even in this simple scenario, your patch #1 is an improvement. Without the hub connected and without your patch or with the hub (and the 2 devices) connected and with your patch the SMSC95xx works properly: [ 45.668254] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup [ 47.146506] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1 But with the hub (and the 2 devices) connected and without your patch the SMSC95xx driver has timeouts and in the result the RPi won't get an IP from my router: [ 20.408622] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup [ 20.807821] Adding 102396k swap on /var/swap. Priority:-2 extents:1 across:102396k SS [ 26.401346] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110 [ 26.401360] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS [ 26.401371] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read [ 26.401387] smsc95xx 1-1.1:1.0 eth0: Failed to read MII_BMSR [ 31.441429] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110 [ 31.441454] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS [ 31.441465] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read [ 31.441481] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet [ 36.481359] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110 [ 36.481372] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS [ 36.481383] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read [ 36.481402] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet [ 41.521345] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110 [ 41.521358] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS [ 41.521369] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read [ 41.521387] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet [ 46.561349] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110 [ 46.561363] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS [ 46.561374] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read [ 46.561393] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet [ 59.441375] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000118: -110 [ 59.441389] smsc95xx 1-1.1:1.0 eth0: Error reading MII_DATA [ 59.441405] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet [ 64.545268] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110 [ 64.545285] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS [ 64.545297] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read [ 64.545324] smsc95xx 1-1.1:1.0 eth0: link reset failed (-110) usbnet usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet So you can have my Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> for the bcm patch. > > > If you're trying a USB webcam w/ dwc2, maybe add in patches mentioned > in <https://bugs.chromium.org/p/chromium/issues/detail?id=820961> Interesting Best regards Stefan > > > -Doug -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html