Kienis K70 USBHS driver

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Kienis K70 USBHS driver

Jump to solution
554 Views
mjbcswitzerland
Specialist V

Hi All

I am presently working on a USBHS (device) driver and, after preparing first steps, I have quite a strange problem.

When I connect the USB (using an external transceiver for high speed operation) I get the standard reset, followed by a (successfull) high speed detection handshake, and then receive the GetDescriptor (first SETUP). An answer is prepared to be sent back when the next IN token arrives since its content is correct.

The problem is that, although the HS device has successfully received the SETUP token and data (which can be successfully interpreted), the USBHS device is not sending an ACK back to the host. Neither does it send NAKs back if the debugger is halted, where it would normally do since it has no buffer space to receive on endpoint 0.

What the host does in this circumstance is repeat the SETUP a couple of times, gives up and resets again.

I am correctly receiving all of the repeated SETUPs too!

The question is, why would the USBHS device neither ACK nor NAK? I find no settings to disable such operation; the receiver is obviously receiving the data correctly, but am puzzled what can be wrong to make it behave like this?

Has anyone an idea what could be going wrong?

Regards

Mark

Labels (1)
Tags (1)
1 Solution
380 Views
mjbcswitzerland
Specialist V

Hi All

The problem described above was due to USB cables used. The prototype boards have some modifications that look to make the USB tranceiver behave below specification. When shorter USB cables are used (or better quality ones) the controller responds correctly. Presumably the analyser is not quite seeing the signals in one direction, but can when other cables are used.

Conclusion - not chip processor / USB problem.

Regards

Mark

View solution in original post

2 Replies
381 Views
mjbcswitzerland
Specialist V

Hi All

The problem described above was due to USB cables used. The prototype boards have some modifications that look to make the USB tranceiver behave below specification. When shorter USB cables are used (or better quality ones) the controller responds correctly. Presumably the analyser is not quite seeing the signals in one direction, but can when other cables are used.

Conclusion - not chip processor / USB problem.

Regards

Mark

380 Views
Monica
Senior Contributor III

Thanks for sharing Mark! :smileygrin:

0 Kudos