I am a hardware engineer at a startup digital camera company, and
we are due to release our first digital camera sometime this winter.
In my spare time I started working on a usb driver in linux for our
camera, but I have run into some problems (I am an avid linux user,
but am a newbie and kernal and driver development).
Our camera uses bulk endpoints for communication, and in poking our
the usb stuff, I noticed the dc2xx driver is a generic bulk end point
driver. So I thought I would start by compiling the dc2xx driver
with our vendor and product id included and try it out, but after
doing that I cannot get the usb core to assign the dc2xx driver
to our camera (even though it says that it registers the dc2xx
driver). Any ideas on why? I am included the debug output showing
what happens. (I am using kernel 2.4.3).
kernel: hub.c: USB new device connect on bus1/1, assigned device number 2
kernel: Manufacturer: SMaL Camera Technologies
kernel: Product: Digital Camera
kernel: usb.c: USB device 2 (vend/prod 0xdca/0xc) is not claimed by any active driver.
kernel: Length = 18
kernel: DescriptorType = 01
kernel: USB version = 1.00
kernel: Vendor:Product = 0dca:000c
kernel: MaxPacketSize0 = 64
kernel: NumConfigurations = 1
kernel: Device version = 0.00
kernel: Device Class:SubClass:Protocol = 00:00:00
kernel: Per-interface classes
kernel: Configuration:
kernel: bLength = 9
kernel: bDescriptorType = 02
/sbin/hotplug: arguments (usb) env (PWD=/etc/hotplug DEVICE=/proc/bus/usb/001/002
INTERFACE=6/1/1 ACTION=add DEBUG=kernel MACHTYPE=i386-redhat-linux-gnu OLDPWD=/
DEVFS=/proc/bus/usb TYPE=0/0/0 SHLVL=1 SHELL=/bin/bash HOSTTYPE=i386 OSTYPE=linux-gnu
HOME=/ TERM=dumb PRODUCT=dca/c/0 _=/usr/bin/env)
kernel: wTotalLength = 0020
/sbin/hotplug: invoke /etc/hotplug/usb.agent
kernel: bNumInterfaces = 01
kernel: bConfigurationValue = 01
kernel: iConfiguration = 03
kernel: bmAttributes = c0
kernel: MaxPower = 100mA
kernel:
kernel: Interface: 0
kernel: Alternate Setting: 0
kernel: bLength = 9
kernel: bDescriptorType = 04
kernel: bInterfaceNumber = 00
kernel: bAlternateSetting = 00
kernel: bNumEndpoints = 02
kernel: bInterface Class:SubClass:Protocol = 06:01:01
kernel: iInterface = 00
kernel: Endpoint:
kernel: bLength = 7
kernel: bDescriptorType = 05
kernel: bEndpointAddress = 81 (in)
kernel: bmAttributes = 02 (Bulk)
kernel: wMaxPacketSize = 0040
kernel: bInterval = 00
kernel: Endpoint:
kernel: bLength = 7
kernel: bDescriptorType = 05
kernel: bEndpointAddress = 01 (out)
kernel: bmAttributes = 02 (Bulk)
kernel: wMaxPacketSize = 0010
kernel: bInterval = 00
/etc/hotplug/usb.agent: Modprobe and setup dc2xx dc2xx for USB product dca/c/0
kernel: usb.c: registered new driver dc2xx
Then when I more /proc/bus/usb/devices, I get:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0dca ProdID=000c Rev= 0.00
S: Manufacturer=SMaL Camera Technologies
S: Product=Digital Camera
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=06(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 16 Ivl= 0ms
.
Lane Brooks
Senior IC Designer
SMaL Camera Technologies
Cambridge, MA
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users