USB stack / configuration 0

Bernd Walter ticso at cicely12.cicely.de
Tue Jan 6 22:38:43 PST 2004


On Wed, Jan 07, 2004 at 04:44:46PM +1030, Daniel O'Connor wrote:
> On Wednesday 07 January 2004 16:35, Bernd Walter wrote:
> > Bad device - it would have been so easy add an single transitor to do
> > this automaticaly.
> > Nevertheless USB_UNCONFIG_NO can't help you here.
> > What you need to do is toggling the hub port if the device is to
> > stupid to detach/reattach on his own.
> 
> I don't think it IS a dumb device, there is a USB spec called DFU which covers 
> it and the hosts job is to do the reenumeration.

Sparing a transistor to offload the work to the host were its also
way more complex to do is dump.
If this is part of the Spec, then the spec is dump too.

usbd_reset_port should do from the USB point of view, but this doesn't
trigger Free BSD to do a reconfiguration of the device, which is
required after reset.

Maybe the following will do instead:
usbd_clear_port_feature(dev, port, UHF_PORT_ENABLE)
delay(USB_PORT_POWERUP_DELAY);
usbd_set_port_feature(dev, port, UHF_PORT_ENABLE)
dev and port is that from the hub.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso at bwct.de                                  info at bwct.de



More information about the freebsd-hackers mailing list