On Sat, 14 Jul 2007, Haines Brown wrote:

> By "unable to see", what I meant was that connecting and disonnecting
> my camera had no effect on kernlog or syslog (no messages there as a
> result of the actions), and the camera being on the bus is not
> reported by $ lsusb, nor do I see my camera in
> /proc/bus/usb/devices. The opposite is the case for all other USB 
> devices. 
> 
> "Lots of steps" I suppose was the intent of my question. In searching
> for information, I've yet to see a description of the sequence of
> these steps.

It's kind of involved.  In brief: The computer's USB hardware detects a
new connection and generates an interrupt.  The hub driver learns that
a new device has been connected to some port and goes through a complex
initialization and enumeration procedure, which involves resetting the
port, assigning the device an address, reading the device's
descriptors, and choosing a device configuration.  Once that's all
done, the device will appear in /proc/bus/usb/devices.

You could test the initial step by comparing the contents of 
/proc/interrupts before and after plugging in the camera.

> > For instance, with your old kernel did you use the gphoto2 library to
> > access the camera?  
> 
> It's not a question of an "old kernel", but of the kernel I've been
> using for months suddenly no longer seeing the camera being
> connected.

Ah.  Okay.

> Yes, I did use gphoto2 library to access the camera until
> the kernel no longer saw the camera, and then of course gphoto2 was no
> longer able to access it.

That certainly makes it sound like a hardware problem in either the 
camera, the USB cable, or the computer.  Have you tried plugging the 
camera into a different computer?

> > If you did, then the only module needed by the camera is usbcore. 
> 
> That's what I suspected, but then when one compiles a kernel,
> it seems you have an opportunity to specify what kind of camera chip
> is to be supported. Does this not refer to a module? 

Yes.  However when one of those modules supports a camera, it's not 
necessary to use gphoto2.  Conversely, gphoto2 works without any of 
those modules.  Basically it acts as a userspace driver.

> On my wife's machine (running Debian Sarge), I find that usbdevfs is
> mounted, but on my current machine (runing Debian Etch), it is not
> mounted as best I can make out. From what I read, usbdevfs is
> necessary for the kernel to mount USB devices.

"usbdevfs" is an old term -- nowadays the filesystem is called "usbfs".

> Is that so, and how
> would I know I've got it mounted if it does not show up with the $
> mount command? 

usbfs in general is not necessary for using USB devices.  It may be 
necessary for gphoto2, however.  This depends to some extent on the 
details of how your distribution works, and I don't know how Debian 
arranges things.

You can always mount /proc/bus/usb by hand, if you want:

        mount -t usbfs none /proc/bus/usb

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-usb-users@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to