Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 1999 10:22:44 +0200 (MET DST)
From:      Nick Hibma <nick.hibma@jrc.it>
To:        freebsd-hardware@FreeBSD.ORG
Cc:        USB BSD list <usb-bsd@egroups.com>
Subject:   Re: USB support for Kodak DC240 (umass)?
Message-ID:  <Pine.GSO.3.95q.990729101813.15855c-100000@elect8>
In-Reply-To: <199907282026.WAA28915@dorifer.heim3.tu-clausthal.de>

next in thread | previous in thread | raw e-mail | index | archive | help

This is great news!

The spec is under NDA? If not, could you either tell me where you got it
or send me a copy by mail?

Is there a set of tools to make the camera work with the serial port for
either FreeBSD or Linux? If so, one could use those ones and write a
simple transport layer for the USB side of it.

It looks like you could simply write a low level driver that lets
you write through a device entry in /dev to the camera and read again
from it. The beginnings of the Modem driver I have here works that way.

But maybe they have done something more complex by implementing some
kind of IDE protocol on top of the serial connection. That would mean
that we could adapt the ATAPI layer to accept the USB layer as a
transport protocol.

Are you subscribed to the usb-bsd@egroups.com mailing list?

	http://www.egroups.com


Cheers,

Nick Hibma


On Wed, 28 Jul 1999, Oliver Fromme wrote:

 > 
 > OK, I got the interface specification for the Kodak DC240.
 > 
 > They write that there was no standardized USB protocol for
 > digital still cameras when they designed the DC240, so they
 > simply use the same protocol for both serial (RS232) and
 > USB.
 > 
 > The protocol is pretty well documented, it is a sequence of
 > command, data, result and status packets.
 > 
 > I'd be willing to try writing a driver for this, but the
 > problem is, I have no clue about USB.  I don't know how to
 > send a "packet" to an USB device at all.  Is there some
 > documentation about such basic USB things?  Sending data
 > to some serial RS232 device is easy, but how do I do that
 > to an USB device?
 > 
 > In theory, it would be possible to write a filesystem driver
 > for this camera (it has commands to retrieve directory and
 > file data from the CompactFlash card, which is basically a
 > FAT filesystem).  But I think this would not be worth the
 > effort.  I'd be just happy to have a userland tool that can
 > get an "ls" and the actual JPEG images from the camera.
 > 
 > Regards
 >    Oliver
 > 
 > PS:  This camera is just great, I love it!
 > 
 > 
 >  > # usbdevs -v
 >  > Controller /dev/usb0:
 >  > addr 1: self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
 >  >  port 1 addr 2: self powered, config 1, KODAK DC240 Zoom Digital Camera(0x0120), Eastman Kodak Company(0x040a), rev 1.03
 >  >  port 2 powered
 >  > 
 >  > # ./usb_dump -c 1 -i -f /dev/ugen0
 >  > Product: KODAK DC240 Zoom Digital Camera
 >  > Vendor:  Eastman Kodak Company
 >  > address 2
 >  > 
 >  > # ./usb_dump -c 1 -d -f /dev/ugen0
 >  > DEVICE descriptor:
 >  > bLength=18 bDescriptorType=1 bcdUSB=1.00 bDeviceClass=0 bDeviceSubClass=0
 >  > bDeviceProtocol=0 bMaxPacketSize=8
 >  > idVendor=0x040a idProduct=0x0120 bcdDevice=103
 >  > iManufacturer=1 iProduct=2 iSerialNumber=0 bNumConfigurations=1
 >  > 
 >  > CONFIGURATION descriptor:
 >  > bLength=9 bDescriptorType=2 wTotalLength=32 bNumInterface=1
 >  > bConfigurationValue=1 iConfiguration=0 bmAttributes=40 bMaxPower=100 mA
 >  > 
 >  >   INTERFACE descriptor index 0:
 >  >   bLength=9 bDescriptorType=4 bInterfaceNumber=0 bAlternateSetting=0
 >  >   bNumEndpoints=2 bInterfaceClass=0 bInterfaceSubClass=0
 >  >   bInterfaceProtocol=0 iInterface=0
 >  > 
 >  >     ENDPOINT descriptor index 0:
 >  >     bLength=7 bDescriptorType=5 bEndpointAddress=1-out
 >  >     bmAttributes=2 wMaxPacketSize=64 bInterval=0
 >  > 
 >  >     ENDPOINT descriptor index 1:
 >  >     bLength=7 bDescriptorType=5 bEndpointAddress=2-in
 >  >     bmAttributes=2 wMaxPacketSize=64 bInterval=0
 >  > 
 >  > # ./usb_dump -c 1 -D -f /dev/ugen0
 >  > DEVICE descriptor:
 >  > bLength=18 bDescriptorType=1 bcdUSB=1.00 bDeviceClass=0 bDeviceSubClass=0
 >  > bDeviceProtocol=0 bMaxPacketSize=8
 >  > idVendor=0x040a idProduct=0x0120 bcdDevice=103
 >  > iManufacturer=1 iProduct=2 iSerialNumber=0 bNumConfigurations=1
 >  > 
 >  > Current configuration is number 1
 >  > 
 >  > CONFIGURATION descriptor index 0:
 >  > bLength=9 bDescriptorType=2 wTotalLength=32 bNumInterface=1
 >  > bConfigurationValue=1 iConfiguration=0 bmAttributes=40 bMaxPower=100 mA
 >  > 
 >  >   INTERFACE descriptor index 0, alt index 0:
 >  >   bLength=9 bDescriptorType=4 bInterfaceNumber=0 bAlternateSetting=0
 >  >   bNumEndpoints=2 bInterfaceClass=0 bInterfaceSubClass=0
 >  >   bInterfaceProtocol=0 iInterface=0
 >  > 
 >  >     ENDPOINT descriptor index 0:
 >  >     bLength=7 bDescriptorType=5 bEndpointAddress=1-out
 >  >     bmAttributes=2 wMaxPacketSize=64 bInterval=0
 >  > 
 >  >     ENDPOINT descriptor index 1:
 >  >     bLength=7 bDescriptorType=5 bEndpointAddress=2-in
 >  >     bmAttributes=2 wMaxPacketSize=64 bInterval=0
 > 
 > -- 
 > Oliver Fromme, Leibnizstr. 18/61, 38678 Clausthal, Germany
 > (Info: finger userinfo:olli@dorifer.heim3.tu-clausthal.de)
 > 
 > "In jedem Stück Kohle wartet ein Diamant auf seine Geburt"
 >                                          (Terry Pratchett)
 > 
 > 
 > To Unsubscribe: send mail to majordomo@FreeBSD.org
 > with "unsubscribe freebsd-hardware" in the body of the message
 > 
 > 

-- 
ISIS/STA, T.P.270, Joint Research Centre, 21020 Ispra, Italy



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.95q.990729101813.15855c-100000>