Why error -71 when doing control transfer?

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
bt101
Posts: 7
Joined: Thu Aug 27, 2009 5:59 am

Why error -71 when doing control transfer?

Post by bt101 » Fri Mar 19, 2010 2:56 am

Hi - I'm stress testing VUSB by having the host loop while doing control reads and writes.
For the firmware I'm using the hid-data example code.
The loop will run successfully for days and then I'll get an error -71 on the host when reading or writing.
I keep getting the -71 and I can only get it working again by unplugging/replugging the USB connection.

When the host is getting the -71 error, there is nothing in the host log to indicate a USB problem, and I can still perform an lsusb and it shows that the host still sees the device.

The VUSB circuit is built to the VUSB spec. I'm using an atmega168.

Any thoughts on what is happening/how to troubleshoot?

bt101
Posts: 7
Joined: Thu Aug 27, 2009 5:59 am

Re: Why error -71 when doing control transfer?

Post by bt101 » Sun Mar 28, 2010 8:10 am

I scoped the signal and it looks perfect.

When I have the scope probes attached, I can easily introduce noise (I'm not sure if it should be that easy to introduce noise, but that is another matter).

Whenever there is noise, the vusb firmware does not seem to recover.
It never responds from the host again.
I can only get vusb to respond by perform a USB reset from the host.

Is this normal behaviour?

Post Reply