Quirks

Tino Engel goaengel at gmx.net
Thu Jul 10 11:45:32 UTC 2008


Hi Petter,

On Wed, 9 Jul 2008 23:44:08 +0200
Hans Petter Selasky <hselasky at c2i.net> wrote:


> Hi Tino,
> 
> On Wednesday 09 July 2008, Tino Engel wrote:
> > Dear all,
> >
> > I had the chance to write my first Quirk-PR and therefore took some
> > time looking at the FreeBSD usb system.
> > I am thinking that the solution there is is not the ideal
> > one. Through mailing list discussions I read, I also have the
> > impression, that the usb part of the cam subsystem is kind of a
> > problem child.
> > I read through parts of the usb code and am kind of understanding
> > it. So I am trying to make an attempt to help improving it. That
> > means, that I would like to discuss some ideas and in case this is
> > wanted, volunteer to do some coding.
> >
> > What I was thinking so far is:
> >
> > Since Windows and Linux can handle most of the the devices FreeBSD
> > needs a quirk for out of the box, and at least in the case of
> > linux, I believe they do not hold all quirks in a db, there must be
> > a way of doing it.
> >
> > My idea so far is to do something like this:
> > - When a usb device is connected, try to use it without quirks.
> > - If it stalls, cache device id data
> > - Then emulate a disconnect/connect
> 
> Yes, this is possible. But unfortunately some devices are very crappy
> and even if you do a USB BUS reset, they will malfunction after the
> invalid command, simply because the USB software on the dongle has
> crashed :-) Or the endpoint state is not correct.
> 
> > - Then try all permutations of possible quirks (most common to less
> > common?) for the device
> > - As soon as one permutation causes device not to stall -> done
> 
> I assume that you are thinking about Mass Storage devices. You might
> be interested in looking at:
> 
> http://www.selasky.org/hans_petter/isdn4bsd/sources/src/sys/dev/usb2/core/usb2_msctest.c
> 

Yes, your Assumption is right. I am about mass storage.

I have looked your at the code. 
As far as I can see the whole package it is meant as a replacement for
the existing usb-driver in freebsd. (Correct me if I am wrong)
But it seems to be installed just as an addon... How does that
interfere with what is existing in freebsd?

Can you please tell me a little more about the plans of merging this
into freebsd?

> >
> > Anyhow my knowledge concerning the topic is not too in-deep, but I
> > would be happy to gather some feedback concerning my idea and maybe
> > about other approaches in this area.
> 
> How much time are you willing to spend on this ?
> 
> --HPS

I am willing to spend about 5h a week, from time to time more. (depends
on things like job-workload, weather, etc...) 
Anyhow I am more into doing than into planning, so i would be happy to
help, when some surroundings have been clarified to me.
(i.e. develop on top of what, what to do exactly, etc...)

Greez, Tino


More information about the freebsd-usb mailing list