114 April 2000 2david-b@pacbell.net 3 4This is an overview of how to use the "dc2xx" USB driver with certain 5digital still cameras from Kodak and other vendors. 6 7 8CAMERAS 9 10This driver will mostly be used with Kodak DC-2xx series digital still 11cameras, but it should be trivial to tell it about several non-Kodak 12USB-enabled cameras. 13 14You'll most likely want to hook it up to recent versions of "gPhoto" 15(www.gphoto.org), since version 0.4 and later know how to use it to talk 16to Kodak DC-240 and DC-280 cameras over USB. 17 18In addition the DC-220, DC-260, DC-265, and DC-290 are also recognized. 19However, like other cameras using the "Digita OS" (from www.flashpoint.com) 20there is no gPhoto support for this camera. There is a python script 21for accessing these cameras (see archives of the linux-usb mailing list) 22and a "Digita Services" library that can also use this driver. 23 24The HP PhotoSmart C500 should also work, since it's another Digita camera 25with USB support. 26 27 28USB HARDWARE 29 30Recent kernels have had no particular problems using this driver with 31either OHCI or UHCI chipsets, and have worked on the PowerMac platform. 32 33Note that in some cases changes in BIOS settings may be needed before 34your USB works. At least one user has reported a need for SMP-related 35settings as well, and some old hardware may not handle USB correctly. 36 37 38SETUP 39 40Configure in the DC2XX USB driver, and have it in your kernel. It works 41as a module, or compiled in directly. 42 43Create at least one device, perhaps like this (both read and write): 44 45 # mknod -m 0660 /dev/usb/dc2xx0 c 180 80 46 # mknod -m 0660 /dev/usb/dc2xx1 c 180 81 47 ... 48 49NOTE: you would normally configure PAM so that the user logged in at 50the console is granted ownership of these devices. console.perms(5) 51explains how to do this. 52 53The driver supports multiple device nodes. The USB framework supports 54a maximum of sixteen device nodes (up to minor device number 96). 55 56When you plug in one camera, it will use the first device node (dc2xx0 57in the example above). A second camera will use the second device node, 58and so on. 59 60 61SANITY TESTING 62 63First: if you've got /proc support, make sure that the driver has hooked 64itself up correctly. 65 66 - You should see an entry in /proc/bus/usb/drivers for "dc2xx", 67 if you enabled USB /proc support and correctly mounted the 68 usbdevfs on /proc/bus/usb. 69 70Second: when you connect your camera to the computer, does it get recognized 71by the driver? (Make sure the camera is powered on!) 72 73 - if you've got /proc/bus/usb/devices, you should see an entry 74 something like this. The "ProdID" may be different if you didn't 75 plug in a DC-240, as may the strings presented, but "Driver=dc2xx" 76 had better be there. 77 78 T: Lev=01 Prnt=00 Port=00 Cnt=01 Dev#= 1 Spd=12 MxCh= 0 79 D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 80 P: Vendor=040a ProdID=0120 Rev= 1.08 81 S: Manufacturer=Eastman Kodak Company 82 S: Product=KODAK DC240 Zoom Digital Camera 83 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=100mA 84 I: If#= 0 Alt= 0 #EPs= 2 Cls=00(>ifc ) Sub=00 Prot=00 Driver=dc2xx 85 E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms 86 E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms 87 88 - see if "dmesg" output tells you that you plugged in your camera. 89 90 Manufacturer: Eastman Kodak Company 91 Product: KODAK DC240 Zoom Digital Camera 92 dc2xx.c: USB Camera #0 connected 93 94Third: (optional) can you use gPhoto to talk to the camera? 95 96 - When you configure your camera, tell it to use "/dev/usb/dc2xx0" 97 (or whatever name you used). Right now, gPhoto emits a diagnostic 98 message (non-GUI) saying that it since it didn't act like a TTY, 99 it's assuming it's got a USB connection. 100 101 - With the camera turned on, get the "camera summary". It'll 102 talk to the camera -- and tell you you're using USB. 103 104If you got that far, you should be able to use everything fine. 105 106 107ADDITIONAL INFORMATION 108 109You may find that you need more driver-specific information, which is 110currently accessible through a link from http://www.linux-usb.org/ 111along with other Linux USB resources. 112