Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Aug 2004 22:10:55 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        chris@tellme3times.com
Cc:        freebsd-current@freebsd.org
Subject:   Re: USB drivers
Message-ID:  <20040807.221055.107701749.imp@bsdimp.com>
In-Reply-To: <4115A736.9000705@tellme3times.com>
References:  <000001c47cb8$8ef1bb50$142a15ac@spud> <4115A736.9000705@tellme3times.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <4115A736.9000705@tellme3times.com>
            Chris <chris@tellme3times.com> writes:
: Darren Pilgrim wrote:
: 
: >>From: M. Warner Losh
: >>
: >>In message: <41124C8B.2060902@tellme3times.com>
: >>            Chris <chris@tellme3times.com> writes:
: >>: 
: >>: What I am trying to determine is why my multifunction
: >>    
: >>
: >printer/scanner 
: >  
: >
: >>: receives only one of the two  drivers. Is it because the printer
: >>    
: >>
: >does 
: >  
: >
: >>: not respond properly? Is it because the printer is not defined? I
: >>: have many questions here.
: >>
: >>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?
: >
: >
: >  
: >
: What I would like to know is where are these tests done. Or should I say 
: where does USB start to load and what are the steps in between.

In usb_subr.c, routine usbd_probe_and_attach is where the child's
config stuff is done that I posted before.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040807.221055.107701749.imp>