Date: Wed, 9 Jul 2008 22:39:26 +0200 From: Tino Engel <goaengel@gmx.net> To: freebsd-usb@freebsd.org Subject: Quirks Message-ID: <20080709223926.142cbe5b@gmx.net>
next in thread | raw e-mail | index | archive | help
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 - 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 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. Best regards, Tino Engel
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080709223926.142cbe5b>