DRVVBUS, devmem2 and resetting USB devices

Anyone else feel like devmem2 should likely be in the feeds? I know it
is hacky, but it is nice for when you are hacking.

With that general question out of the way and not trying to play
expert here, but to raise a couple of questions when working with the
3.8.x kernel and Debian... my hope is that someone can fill in the
details quickly before I spend some time probing. Sorry if this is
noise to you.

I know hotplug issues have been a concern for a long time now:

I'm seeing if I can't get them run-to-ground, but I'd like to also
check on people's experience with resetting devices and figure out the
best way to control that. I haven't seen much discussion on that here,
but it was covered on the TI e2e forum:

I've seen that the ioctl to reset a USB device seems to work fine.
Here's a link to code for that:

I haven't taken the time to wire-up probes or dig through the code to
see if this is just doing a setting of DP/DM low for the reset
duration or performing the DRVVBUS take-down. Either way, it seems to
be resetting my USB devices just fine. In exploring hotplug issues, do
I need to be looking at the behavior of DRVVBUS as well and is anyone
very familiar with the right way it should be handled in Linux (ie.,
not the devmem2 way)?

+1 for inclusion "out of the box", but I'd tweak it slightly and make a
peek and poke routine. But devmem2 as-is would be *WAY* better than

...I haven't really messed with the other issues, but getting USB
hot-plug working better (or at all) would be good. I don't typically
try to hot-plug things, but it is a hassle and there are some use cases
(with memory sticks to transfer data, for instance) which just don't
work w/o proper hot-plug. I copy data around with wired Ethernet, but
not everyone has that setup and no hot-plug makes sneaker-net even more
painful! :slight_smile: