Hi,

I'm trying to connect a scanner to my embedded linux PXA platform 
(2.6.0-test2 with Cypress 67300 controller). It appears the device fails to 
enumerate due to linux only reading 8 bytes during the initial GetDescriptor 
frame.

The device works properly when connected to a Windoze machine, which does a 
GetDescriptor prior to SetAddress. This results in the GetDescriptor after 
SetAddress reading all 18 bytes. 

Windows trace:
GetDescriptor (Device)
  h->d setup (ack)
  h<-d in (ack)
  h->d out (ack)
SetAddress
  h->d setup (ack)
  h<-d in (ack)
GetDescriptor (Device)
  h->d setup (ack)
  h<-d in (ack)
  h<-d in (ack)
  h<-d in (ack)
  h->d out (ack)
..... and everything works.

On linux (both desktop and embedded device) I get

SetAddress
  h->d setup (ack)
  h<-d in (ack)
GetDescriptor (Device)
  h->d setup (ack)
  h<-d in (ack)
  h->d out (nak)
... followed by frames full of OUT and NAKs

If I hack the code to read 18 bytes for the GetDescriptor, the enumeration 
works. I assume this is a buggy device, but I got to make it work. Anyone 
seen this before? Any suggestions?

Thanks, Kyle.


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to