uhub2: device problem (was: Bluetooth stack for FreeBSD)

Anthony Naggs tony at ubik.demon.co.uk
Mon May 5 19:10:08 PDT 2003


In article <20030505171500.74191.qmail at web40305.mail.yahoo.com>, Maksim
Yevmenkin <m_evmenkin at yahoo.com> writes
>Hello,
>
>> > So that's why my mouse quit working!  Yes, I think this should be fixed
>> > prior to 5.1 as well.
>> 
>> Definitely :-)
>> 
>> So, do you take care of this or should we/I who had to do with this
>> problem lately do so?
>> 
>> I know some people collected a lot of debug output and took it to the
>> current ml, but without much luck or response from the usb specialists
>> (please correct me if I am wrong here and missed anything). I am a bit
>> at a loss concerning how to proceed.
>
>well, after looking more into the w2k dumps i put at
>
>http://www.geocities.com/m_evmenkin/usb/
>
>i found out that w2k resets USB port twice when new device is attached.
>why? is it just w2k thing or it is some kind of workaround? any USB guru
>care to comment?

This is how the Windows (all flavours) USB stack works: detects device
arrival, signal reset on port, start reading device descriptors to find
out device Class Id, Vendor & Model Id, etc...

Each candidate driver found by the Plug'n'Play system is loaded: the
driver signals another bus reset on the port, reads the device
descriptors itself and decides whether it recognises the device.  This
continues until a driver recognises the device as one it supports, or
all candidates drivers have been tried.

The drivers are tried in the order: more specific to least specific.  So
a driver listed in the Registry for Vendor Id & Model Id pair is tried
before one Registered for the USB device Class.  (Sorry if that is a bit
too vague, the exact details are in the Windows DDK.)


>i will try to play with uhun(4) code as soon as i get my -current more
>stable :)

I would love to dig around the USB stack.  I haven't yet found time to
get Current running & do so.  :-(


Tony


More information about the freebsd-mobile mailing list