Hi,

I'm writing a device driver for a spectrometer that can be connected to 
the computer via usb.  It has one bulk in endpoint and one bulk out 
endpoint, so I thought I could get away with using the scanner driver and 
not doing any kernel-space programming.

It seems to work... a bit.  At some point the usb driver crashes horribly 
and the device doesn't work anymore at all.  It says many times in the 
kernel log:
host/uhci.c: ec00: host controller halted. very bad

I sniffed the usb traffic on Windows, and I haven't seen an error in the 
protocol at all.  When trying to reproduce the same traffic on GNU/Linux, 
it doesn't work.

I'm not just guessing what to send, the factory send me information about 
the protocol and I'm following that.  The protocol says they're just using 
the bulk endpoints to transfer the data, so I shouldn't need to do any 
weird things.

I looked at the usb code to find the error, but I don't really know how 
usb works internally and I couldn't easily figure that out.  The source 
pretty much assumes this to be public information, so I'm hoping someone 
reading this list can easily find the problem.

Thanks,
Bas Wijnen

System information:
I'm using a self-compiled 2.4.21 kernel.  The parts from .config usb 
section that are set are:
CONFIG_USB=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_UHCI_ALT=y
CONFIG_USB_STORAGE=y
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
CONFIG_USB_SCANNER=m

As you can see I have support for some other devices, but I haven't 
plugged them in while testing this.

/proc/cpuinfo:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Pentium(R) 4 CPU 2.53GHz
stepping        : 7
cpu MHz         : 2533.276
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips        : 5059.37

-- 
/** mastermind. input 4 numbers 0-5. output <right>.<in the right place> **/

 main(){int  c[4]   ,x=3  ,l=getpid()  ,i;;   for(  srand(l);c[  x]=-   rand
()%6         ,x--   ;);;  for(         ;44>   x;){  char         a[9] ,*p=
 "%.1f\n",   b[9];x=i=0;  gets(a);for   (l=4 ;l--   ;)x+=-(a[l]  -=48)==
       (b[l  ]=c[   l]);  ;for           (l=0;16    >i;l         =++i %4)x
+=(b[i/4]+   a[l]   ?0:(  a[l]=b[i/4]     =10))     ;printf(p,x  *.1)   ;};}

/** This signature should be viewed in a monospaced font, e.g. courier.  **/



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to