Skip to contentSkip to conversation

usb/gadget: Add driver for Aspeed SoC virtual hub

PATCH Superseded Benjamin Herrenschmidt 1 participant 1 message Mar 20, 2018 USB

v4 of 8 Superseded Latest is v8 →

lore
Share & tools
lore
#0 lore raw

PATCH v4 2/2 usb/gadget: Add driver for Aspeed SoC virtual hub

Quoted 20 lines · Alan Stern
Quoted 18 lines · Benjamin Herrenschmidt
Quoted 17 lines · Alan Stern
Quoted 14 lines · Benjamin Herrenschmidt
Quoted 5 lines · Benjamin Herrenschmidt
Quoted 3 lines
Quoted 1 line

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.

Quoted 8 lines
Quoted 7 lines
Quoted 3 lines

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:

.../...

Quoted 1 line

Output from usbmon could help.

So that ended up being a bug in my UDC driver. For IN requests I had a problem with 0-length requests when enabling the multi-descriptor mode in the EP which seems to affect some MODE_SENSE responses among others.

I fixed that and now see only the silent errors you mentioned.

Felipe, I'll send a respin of the driver with a fix tomorrow.

.../...

Quoted 6 lines

Maybe... Even after cdrom support was added to the gadget, the scope was limited. It was intended to emulate _only_ a CD drive, not a DVD drive.

Also, if I'm not mistaken, the commands that the emulation doesn't handle are all optional.

Right. One low hanging fruit seems to be GET_EVENT_STATUS_NOTIFICATION (0x4a). I'll look into it in my copious spare time ;-)

There are a few more, which as long as we only support "read only" CD/DVD should be fairly easy to deal with.

Cheers,
Ben.

Quoted 15 lines

Alan Stern

Quoted 13 lines

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.

---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html