PORTS Forum

Ports and Interfaces => USB => Topic started by: gi on October 07, 2013, 10:13:35 am

Title: Unexpected USB data from Host
Post by: gi on October 07, 2013, 10:13:35 am
Hi,

I just want to know the meaning of the data I got from host while I'm tracing my usb device.

The image below shows a "SSPLIT OUT TRANSACTION" with 8-bytes of data "A1 01 02 03 00 00 38 00". Which I did not expect.

All of my expected data was defined in my report descriptor. But this transaction is making me confused as I don't know what it ask for my usb device.

Is this part of the setup packet?

And what is meant by SSPLIT and CSPLIT transaction?

(http://goo.gl/thtT3x)

Hope you can help me on this.

Thanks
Gi
Title: Re: Unexpected USB data from Host
Post by: Jan Axelson on October 07, 2013, 11:13:50 am
From the USB 2.0 spec:

Host controllers and hubs support one additional transaction type called split transactions. This transaction
type allows full- and low-speed devices to be attached to hubs operating at high-speed. These transactions
involve only host controllers and hubs and are not visible to devices.

For details, see section 8.4 in the USB 2.0 spec.
Title: Re: Unexpected USB data from Host
Post by: Barry Twycross on October 07, 2013, 03:51:46 pm
That's to endpoint zero, so it looks like a Setup packet. Doesn't your analyser call out setup packets as such?

If that were a setup request, its a class request, so it depends on the class of your device.

As you mention report descriptors, I'd guess your device is HID and that request is a Get_Report request. I think its asking for feature report ID 2, for which its looking for 0x38 bytes.