On Fri, 2018-03-16 at 16:56 -0400, Alan Stern wrote:
> On Fri, 16 Mar 2018, Benjamin Herrenschmidt wrote:
> 
> > On Thu, 2018-03-15 at 08:03 +1100, Benjamin Herrenschmidt wrote:
> > > > > Do you have more comments for the rest of the driver or that's it ?
> > > > 
> > > > so far, that's it.
> > > 
> > > Ok. I'll re-send.
> > 
> > So I'll resend in a minute, doing a few more tests, however, I've
> > noticed something which I wont' have time to track down til at
> > best next week, I wonder if it's normal/expected.
> > 
> > If I just create a mass storage function set to be "removable" and
> > "cdrom" with no file attached,  and enable it, I get an endless stream
> > of resets. It looks like the host constantly does USB resets.
> 
> That's not why I get.  There's an endless stream of messages, but it
> doesn't include any resets.  Just command failures and endpoint halts.  
> For example:

 .../...

In my case, I was getting resets on the host:

[383250.844611] usb 1-1: new high-speed USB device number 84 using xhci_hcd
[383250.972235] usb 1-1: New USB device found, idVendor=1d6b, idProduct=0107
[383250.972244] usb 1-1: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[383250.972251] usb 1-1: Product: USB Virtual Hub
[383250.972257] usb 1-1: Manufacturer: Aspeed
[383250.972262] usb 1-1: SerialNumber: 00000000
[383250.979127] hub 1-1:1.0: USB hub found
[383250.979218] hub 1-1:1.0: 5 ports detected
[383284.910195] usb 1-1.1: new high-speed USB device number 85 using xhci_hcd
[383284.988326] usb 1-1.1: New USB device found, idVendor=1d6b, idProduct=0104
[383284.988339] usb 1-1.1: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
[383284.988349] usb 1-1.1: Product: Bar Gadget
[383284.988358] usb 1-1.1: Manufacturer: Foo Inc.
[383284.988366] usb 1-1.1: SerialNumber: 0123456789
[383285.000159] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[383285.000613] scsi host3: usb-storage 1-1.1:1.0
[383286.063152] scsi 3:0:0:0: CD-ROM            Linux    File-CD Gadget   0416 
PQ: 0 ANSI: 2
[383286.064148] sr 3:0:0:0: Power-on or device reset occurred
[383286.129411] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383286.284397] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383286.438396] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383286.593487] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383286.676863] sr 3:0:0:0: [sr0] scsi-1 drive
[383286.676871] cdrom: Uniform CD-ROM driver Revision: 3.20
[383286.678558] sr 3:0:0:0: Attached scsi CD-ROM sr0
[383286.679426] sr 3:0:0:0: Attached scsi generic sg2 type 5
[383286.746343] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383286.901458] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383287.056423] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383287.211445] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383287.360422] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383287.516295] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383287.671464] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383287.827423] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd
[383287.912048] sr 3:0:0:0: Power-on or device reset occurred
[383288.013376] usb 1-1.1: reset high-speed USB device number 85 using xhci_hcd

The guest just show config selection messages. I'll dig a bit next week
in case there's an issue with my UDC driver there.

As for ...

> It's worth pointing out that all those messages are at DEBUG level.  
> Although they fill up the kernel's log buffer, they won't be noticeable 
> to most users.
> 
> In any case, g-mass-storage was never intended be a complete emulation 
> of a CD or DVD drive.  Its support for those modes is minimal; it was 
> originally intended just to emulate a hard disk drive.

Then it will be worthwhile me or somebody else spending a bit of time
beefing it up a little bit. I'll see if I can spare time in the next
couple of weeks.

The Aspeed chip is a BMC chip, ie server management processor, and is
connected via the USB gadget to the actual server (the host). One of
the usage scenario here is to use USB gadget to present distro ISOs as
USB CD/DVDs to the host for remote provisioning (sourced over the
network via something like nbd).

Note that due to the limitation of having to use a file or a block
device, we might end up doing a userspace CDROM emulation instead that
can source ISOs via things like HTTPS instead, but initially the above
is what we are toying with.

Cheers,
Ben.

> Alan Stern
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to