import of upstream 2.4.34.4 from kernel.org
[linux-2.4.git] / Documentation / usb / dc2xx.txt
1 14 April 2000
2 david-b@pacbell.net
3
4 This is an overview of how to use the "dc2xx" USB driver with certain
5 digital still cameras from Kodak and other vendors.
6
7
8 CAMERAS
9
10 This driver will mostly be used with Kodak DC-2xx series digital still
11 cameras, but it should be trivial to tell it about several non-Kodak
12 USB-enabled cameras.
13
14 You'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
16 to Kodak DC-240 and DC-280 cameras over USB.
17
18 In addition the DC-220, DC-260, DC-265, and DC-290 are also recognized.
19 However, like other cameras using the "Digita OS" (from www.flashpoint.com)
20 there is no gPhoto support for this camera.  There is a python script
21 for accessing these cameras (see archives of the linux-usb mailing list)
22 and a "Digita Services" library that can also use this driver.
23
24 The HP PhotoSmart C500 should also work, since it's another Digita camera
25 with USB support.
26
27
28 USB HARDWARE
29
30 Recent kernels have had no particular problems using this driver with
31 either OHCI or UHCI chipsets, and have worked on the PowerMac platform.
32
33 Note that in some cases changes in BIOS settings may be needed before
34 your USB works.  At least one user has reported a need for SMP-related 
35 settings as well, and some old hardware may not handle USB correctly.
36
37
38 SETUP
39
40 Configure in the DC2XX USB driver, and have it in your kernel.  It works
41 as a module, or compiled in directly.
42
43 Create 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
49 NOTE:  you would normally configure PAM so that the user logged in at
50 the console is granted ownership of these devices.  console.perms(5)
51 explains how to do this.
52
53 The driver supports multiple device nodes.  The USB framework supports
54 a maximum of sixteen device nodes (up to minor device number 96).
55
56 When you plug in one camera, it will use the first device node (dc2xx0
57 in the example above).  A second camera will use the second device node,
58 and so on.
59
60
61 SANITY TESTING
62
63 First:  if you've got /proc support, make sure that the driver has hooked
64 itself 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
70 Second:  when you connect your camera to the computer, does it get recognized
71 by 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
94 Third:  (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
104 If you got that far, you should be able to use everything fine.
105
106
107 ADDITIONAL INFORMATION
108
109 You may find that you need more driver-specific information, which is
110 currently accessible through a link from http://www.linux-usb.org/
111 along with other Linux USB resources.