Kyle Harris wrote:
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
I find the similiar problem in 2.4.22 and it has puzzled me for 3 days. My device is built with PDIUSBD12 and the firmware is dirived from the official demo. The difference is: the first 8 byte transfer success (without 'followed by frames full of OUT and NAKs'), but the followed SET transfer is time-out.

LRD



-------------------------------------------------------
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