From owner-freebsd-hardware Thu Jul 29 1:23:44 1999 Delivered-To: freebsd-hardware@freebsd.org Received: from mrelay.jrc.it (mrelay.jrc.it [139.191.1.65]) by hub.freebsd.org (Postfix) with ESMTP id 02EFE14E0B for ; Thu, 29 Jul 1999 01:23:30 -0700 (PDT) (envelope-from nick.hibma@jrc.it) Received: from elect8 (elect8.jrc.it [139.191.71.152]) by mrelay.jrc.it (LMC5692) with ESMTP id KAA09169; Thu, 29 Jul 1999 10:22:45 +0200 (MET DST) Date: Thu, 29 Jul 1999 10:22:44 +0200 (MET DST) From: Nick Hibma X-Sender: n_hibma@elect8 Reply-To: Nick Hibma To: freebsd-hardware@FreeBSD.ORG Cc: USB BSD list Subject: Re: USB support for Kodak DC240 (umass)? In-Reply-To: <199907282026.WAA28915@dorifer.heim3.tu-clausthal.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Transfer-Encoding: 8BIT Content-Transfer-Encoding: 8BIT Sender: owner-freebsd-hardware@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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