1 |
1275 |
phoenix |
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.
|