Camera as a USB mass storage / SCSI device
USB support appears to be coming along nicely. I have just aquired an Agfa ePhoto digital camera. I have heard several success stories of people who have compiled kernels with SCSI and USB mass storage support and been able to emulate their camera's flash memory as a SCSI disk on bootup. Accessing the camera was then simply a matter of mounting the SCSI device.
Unfortunately, my camera does not get recognised on bootup. This is hardly surprising, given that the kernel has no way of determining the camera as a USB mass storage device. However, I'm curious as to how others have managed to get away with this by doing nothing more than compiling their kernel with the above options. Is there some sort of database which tells the kernel to associate a particular USB product ID and vendor with a particular driver? If so, is there any way to edit this database?
______________________________________________
FREE Personalized Email at Mail.com
Sign up at http://www.mail.com/?sr=signup
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
Em Sun, Dec 31, 2000 at 03:25:25PM -0500, Alastair Foster escreveu:
Quoted 6 lines
USB support appears to be coming along nicely. I have just aquired an Agfa ePhoto digital camera. I have heard several success stories of people who have compiled kernels with SCSI and USB mass storage support and been able to emulate their camera's flash memory as a SCSI disk on bootup. Accessing the camera was then simply a matter of mounting the SCSI device.
Quoted 7 lines
Unfortunately, my camera does not get recognised on bootup. This is hardly surprising, given that the kernel has no way of determining the camera as a USB mass storage device. However, I'm curious as to how others have managed to get away with this by doing nothing more than compiling their kernel with the above options. Is there some sort of database which tells the kernel to associate a particular USB product ID and vendor with a particular driver? If so, is there any way to edit this database?
/usr/src/linux/drivers/usb/storage/usb.c, look for:
/* This is the list of devices we recognize, along with their flag data */
/* The vendor name should be kept at eight characters or less, and
* the product name should be kept at 16 characters or less. If a device
* has the US_FL_DUMMY_INQUIRY flag, then the vendor and product names
* normally generated by a device thorugh the INQUIRY response will be
* taken from this list, and this is the reason for the above size
* restriction. However, if the flag is not present, then you
* are free to use as many characters as you like.
*/
static struct us_unusual_dev us_unusual_dev_list[] = {
{ 0x03ee, 0x0000, 0x0000, 0x0245,
"Mitsumi",
"CD-R/RW Drive",
US_SC_8020, US_PR_CBI, NULL, 0},<SNIP>
- Arnaldo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
Quoted 5 lines · Alastair Foster
Unfortunately, my camera does not get recognised on bootup. This is hardly surprising, given that the kernel has no way of determining the camera as a USB mass storage device. However, I'm curious as to how others have managed to get away with this by doing nothing more than compiling their kernel with the above options.
Not quite true... USB devices carry a ClassID, which (for most mass storage devices) indicates that it is compliant to the USB Mass Storage Specification. So, the database is only for devices that are slightly out of spec or have descriptors that are not truthful.
Matt
Signature · 6 lines
Matthew Dharm Home: [email protected] Maintainer, Linux USB Mass Storage Driver It was a new hope. -- Dust Puppy User Friendly, 12/25/1998