Вопрос очень специфический. Работаю с одной железкой по USB. Ничего особенного, но возникает проблема. Похоже, что контроллеры (или драйверы) по разному себя ведут при выборе конфигурации устройства. В частности, xHCI не сбрасывает Data Toggle бит в 0, из-за чего при повторном обращении к устройству (с установкой конфигурации), если прошлое обращение состояло из нечетного числа кадров, то первая попытка послать данные заканчивается неудачей.
Проблема в том, что при выборе конфигурации устройство, как и положено, сбрасывает бит в 0, а контроллер, который послал эту команду - нет. Так что происходит рассинхронизация и устройство игнорирует данные.
На UHCI драйвере все работает как нужно.
xHCI проверялся на 2-х разных компьютерах, UHCI только на одном.
Шансов мало, но может кто сталкивался с таким?