Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Aug 2004 12:55:53 -0700
From:      "Darren Pilgrim" <dmp@bitfreak.org>
To:        "'M. Warner Losh'" <imp@bsdimp.com>, <chris@tellme3times.com>
Cc:        freebsd-current@freebsd.org
Subject:   RE: USB drivers
Message-ID:  <000001c47cb8$8ef1bb50$142a15ac@spud>
In-Reply-To: <20040806.231231.33567668.imp@bsdimp.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
> From: M. Warner Losh
>=20
> In message: <41124C8B.2060902@tellme3times.com>
>             Chris <chris@tellme3times.com> writes:
> :=20
> : What I am trying to determine is why my multifunction
printer/scanner=20
> : receives only one of the two  drivers. Is it because the printer
does=20
> : not respond properly? Is it because the printer is not defined? I
> : have many questions here.
>=20
> Yes.  Usb is a little complicated in this area, and there are a number
> of details that are hard to get right.  It wouldn't surprise me if the
> current set of drivers are less than completely optimal.

On a bit of a side-track, I'm wondering if it could be due to how the
multifunction device presents itself?  A bit back in this thread someone
mentioned that a pointer must be present for a driver to attach to a
device.  If there is only one pointer for a device, only one driver may
attach.  Since a single USB bus can have a LOT of devices and each
device's capabilities are determined through the presence of usage
pages, I see two ways for a multifunction device to present itself:

- A single device ID with more than one usage page.  All the
functionality is there and is compatible with FreeBSD drivers, but since
there is only one device probed on the bus, only one driver may attach.
Perhaps a "simple" mux driver would be useful?

- A multiple single-usage device IDs.  Same functionality as before, but
now FreeBSD can probe unique printer and scanner devices and thus let
both ulpt and uscanner attach simutaneously.

Am I way off base?




Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?000001c47cb8$8ef1bb50$142a15ac>