Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Контроллер usb 1.1 и bcdusb 0x0200
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Yuricsson
Понимаю, что не по спецификации живу, но: насколько я буду неправ, если в устройстве, в котором установлена микросхема philips pdiusbd12 (поддерживает спецификацию usb 1.1), пропишу в дескрипторе bcdUSB == 0x0200?
Почему это хочу: хочу, чтобы устройство отдавало UsbOsStringDescriptor, который запрашивается только начиная с версии 0x0200.
По сути usb2.0 устройства используют hi-speed режим только с набором особенных дескрипторов. Если у меня останется набор обычных full-speed дескрипторов, насколько я пойду на сделку с собственной совестью? На other_speed_descriptor и всякие квалифаеры честно обязуюсь stall pid.
Может кто-нибудь аргументировано отговорить меня от предательства основ профессии или, наоборот, склонить к бессовестному обману операционной системы?
mantech
Цитата(Yuricsson @ Apr 2 2016, 22:30) *
Понимаю, что не по спецификации живу, но: насколько я буду неправ, если в устройстве, в котором установлена микросхема philips pdiusbd12 (поддерживает спецификацию usb 1.1), пропишу в дескрипторе bcdUSB == 0x0200?


Не знаю, по каким спецификациям живут разработчики логитеч, но их это не смущает, там даже не full, а low speed.
Yuricsson
Спасибо!
Ещё по собранной информации понял, что идентификация устройства как high-speed происходит на этапе pull-up на d+, там некий протокол задействован, не вдавался в подробности. А информация в дескрипторе в поле bcdUSB скорее нужна для отсекания лишних заведомо неподдерживаемых запросов.
В общем, прописал везде в своих устройствах 0x0200, и всё вроде нормально работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.