lsusb
1. При попытке вывода -v. Начинает хотеть странный дескриптор 0xa. Что за дескриптор, usb.org понятия не имеет. Greg тоже молчит.
2. Про HID Report Descriptors: ** UNAVAILABLE **, думаю, многие в курсе. Но есть подозрения, что это на уровне libusb проблема.
suspend/wakeup
1. После resume выдается сигнал reset. Да, так в исходниках и есть - resume_reset. И все, никакого конфигурирования. В нормальной реализации, согласно стейт-машине usb, устройство должно так и оставаться в состоянии POWERED, ожидания конфигурирования.
2. Мало того, устанавливается реквест SET FEATURE с фичей REMOTE_WAKEUP. Хотя в спецификации четко сказано: The TEST_MODE feature is only defined for a device recipient
Похоже на легаси скопированное с win. Начиная с vista все поменялось. Не факт, что в лучшую сторону.
virtualbox
1. suspend оно пробрасывает, а вот resume - нет. Устройство, заснувшее проброшенным в виртуальную машину, засыпает мертвым сном.
2. reset также не проходит - подозреваю какие-то хаки. В итоге устройство конфигурируется дважды. Согласно стандарта, после этого устройство вообще должно перестать работать и перейти в ADRESSED.
Подозреваю, что PC программисты равно хреново реализовывают стеки, так же как и embedded программисты забивают болт на стейт-машины. Вот, наверное, как-то так оно и работает.
Лучшее - враг хорошего. Надеюсь, этот ман будет вам полезен.