Re: Setup for a composite device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 30, 2009 at 10:31:17PM -0600, Meher wrote:
> On Fri, Jan 30, 2009 at 6:52 PM, Greg KH <greg@xxxxxxxxx> wrote:
> > On Fri, Jan 30, 2009 at 06:23:36PM -0600, Meher wrote:
> >> Hi,
> >>    I am working on a USB composite device that has a serial interface,
> >> and a mass storage interface. I added the vendorID and productID to
> >> the generic_device_ids[] in usb serial generic driver
> >> (drivers/usb/serial/generic.c).
> >
> > You probably really do not want to use the generic driver, but for
> > initial testing, that should be fine.
> >
> 
> any specific reason for not using the generic driver?

It's not supposed to be a driver for any specific device.

It handles no flow control, and is dirt slow.  It is almost always not
what you want for your device.  If you really do want to use this kind
of connection, then create a tiny "stub" driver like
drivers/usb/serial/funsoft.c with your device id in it.

> >> I also added an entry into the
> >> storage/unusual_devs.h
> >
> > Why add an entry here?  Does your device not match the usb-storage spec?
> >
> 
> i never written a driver for a mass storage device.  Can you explain
> what do you mean by matching usb-storage spec? what does the mass
> storage class driver look for to determine if the device match the
> spec?

Please see the USB storage spec at usb.org for details about how your
device needs to act and look like in order to work properly.

> when I use the new_id approach or the bind method, usb-storage
> driver does detect the mass storage interface and enable the
> interface. What triggers the auto detection of a mass storage device
> by the driver?

The configuration descriptors for your device.

> >> but when I plug-in the device at run time, only USB serial devices are
> >> detected and nonw of the storage devices get detected. I have to
> >> manually do a echo on bind for the storage driver to bind with this
> >> device. Is there a way to do this automatically at hotplug? Does Linux
> >> USB subsystem probe the driver list for the device until it finds a
> >> first match or does it go through all the drivers?  Does this system
> >> work differently on a composite device?
> >
> > It should "just work".  What is the output of /proc/bus/usb/devices with
> > your device plugged in?
> >
> 
> I just looked at it and for some reason my system does not have this..

run:
	mount -t usbfs none /proc/bus/usb/

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux