Цитата(PAB @ Feb 1 2008, 17:11)

Программный анализатор протокола увы не удастся подцепить поскольку всё это хозяйство проверяется на машине, работающей под линуксом.
Под линуксом-то как раз никаких доп. программ не надо. Он сам отлично весь протокол показывает.
Цитата(PAB @ Feb 1 2008, 17:11)

По поводу запроса SetAddress: я и не утверждаю, что это первый запрос к устройству; я говорю лишь о том, что ситуация, когда в хаб передаются пакеты с преамбулами и до клавиатуры эти пакеты не доходят, происходит при запросе SetAddress.
SetAddress отличается от всех прочих запросов:
1. Хост шлёт SETUP по адресу=0.
2. Устойство отвечает ACK.
3. Хост шлёт IN1 по адресу=0
4. Устойство отвечает ACK (м.б. после нескольких NAK).
5. Устройство устанавливает свой адрес = 3-му байту в пакете SETUP. И после этого сразу-же отвечает токо по нему.
6. Хост тут-же шлёт пакет SETUP уже по новому адресу. И устройсво должно ему ACK ответить.
Если не ответит - хост опять SetAddress шлёт. И так 3 раз. Потом устройство неисправным признаёт.
У вас наверное новый адрес медленно устанавливается. Хост уже по новому адресу SETUP шлёт, а устройство не отвечает т.к. адрес=0 имеет.
Цитата(PAB @ Feb 1 2008, 17:11)

Возможна ли ситуация, когда этот запрос является первым?
Невозможна. 1-й запрос - дескриптор DEVICE.
Цитата(PAB @ Feb 1 2008, 17:11)

В моём случае только одно low-speed устройство - клавиатура.
А что это за клавиатура такая - low-speed??? Никогда таких не встречал! Отпишите - интересно.