SETUP пакет - это стандартно 8 байт от хоста к устройтсву.
Состав SETUP пакета:
Нулевой байт определяет направление передаваемых позже данных :
D7 Data Phase Transfer Direction
0 = Host to Device
1 = Device to Host
D6..5 Type
0 = Standard
1 = Class
2 = Vendor
3 = Reserved
D4..0 Recipient
0 = Device
1 = Interface
2 = Endpoint
3 = Other
4..31 = Reserved
К примеру 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00,0x94DD -
0x80 - направление данных от устройства к хосту , а также здесь указано : Standard, Device . Но передавать устройство будет уже в следующем пакете.
1 байт - 0х06 - что запрашиваем - это GET_DESCRIPTOR
2,3 байт - 0x00 0x01 - индекс дескриптора/тип дескриптора (содержание зависит от значения байта 1)
4,5 байт - 0x00 0x00 - Index or Offset
6,7 байт - 0x40 0x00 - Количество байт к передачи (похоже на максимальное)
GET_DESCRIPTOR мы определили по таблице ниже :

Тип дескриптора определяем по таблице :
