Browse Prior Art Database

Recovering USB Traffic from the DEVNOTRESP State

IP.com Disclosure Number: IPCOM000099066D
Publication Date: 2005-Mar-10
Document File: 3 page(s) / 226K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for recovering USB traffic from bus errors without affecting the software. Benefits include a solution that requires no silicon or hardware changes on the USB device.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 64% of the total text.

Recovering USB Traffic from the

DEVNOTRESP

State

Disclosed is a method for recovering USB traffic from bus errors without affecting the software. Benefits include a solution that requires no silicon or hardware changes on the USB device.

Background

Typically, when the USB host sends out a constant stream of in/out tokens to a USB device, the device responds to all of the tokens. But in some cases, due to signal timings or signal interference problems, marginal USB devices may ignore the tokens from the USB host intermittently, and fail to send some responses back to USB host. In this case, the USB host generates a bus error, shuts down the transaction for the failing endpoint, and reports a bus event to the “upper” software (i.e. application).

The current state of the art detects the event and stops the transaction. The vendor must change the hardware or the USB device silicon if the USB device controller is susceptible to the
signal problem.

General Description

The disclosed method recovers USB traffic from bus errors without affecting the application.

As each transfer descriptor is completed, the USB host controller builds a “done queue” (see Figure 1). The host controller later passes the queue to the host controller driver through the HCCA. This driver reverses the order of the queue, then processes the transfer descriptor in the order that it is completed.

                   

The disclosed method checks the condition code in each transfer descriptor. If the c...