MBR (mbr) wrote,
MBR
mbr

Category:

USB again

Продолжаю охуевать от реализации USB. Теперь пройдемся по linux и virtualbox.

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 программисты забивают болт на стейт-машины. Вот, наверное, как-то так оно и работает.

Лучшее - враг хорошего. Надеюсь, этот ман будет вам полезен.
Tags: embed, it
Subscribe

  • Обновился

    Когда я покупал XC70 (это такой универсал с большим багажником, кто не в курсе), удивился одному объявлению на вторичке, "продаю, потому что…

  • Купил жигули в кредит

    Я серьезно. Нужна была вторая машина, пока я в Москву мотаюсь. Посмотрел на вторичку - все выметено, за адекватные деньги ничего не найти. Поехал…

  • Минус две турбины

    Драйва у меня нет, так что терпите. Вообще никаких предпосылок не было. Одна взорвалась, куски мяса попали во вторую. Мясо: Чет я не особо…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments