Author Topic: Unexpected USB data from Host  (Read 10501 times)

gi

  • Member
  • ***
  • Posts: 27
Unexpected USB data from Host
« 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?



Hope you can help me on this.

Thanks
Gi

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Unexpected USB data from Host
« Reply #1 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.

Barry Twycross

  • Frequent Contributor
  • ****
  • Posts: 263
Re: Unexpected USB data from Host
« Reply #2 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.