Устройство USB 1.х и USB 2.0 - не вполне очевидно. Те, кто считает, что все достижения USB 2.0 только в увеличении скорости обмена несколько упрощают этот архитектурный вопрос. Не вдаваясь в подробности, расставим главные акценты. Они таковы: платформа с USB 1.x включает в себя USB Host контроллер на шине PCI одного из следующих типов
- OHCI - Open Host Controller Interface
- UHCI - Universal Host Controller Interface
Платформа с USB 2.0 включает в себя USB Host контроллер на шине PCI , который называется EHCI - Enhanced Host Controller Interface, и
обязательно один из перечисленных выше USB 1.x контроллеров.
К разъему на системной плате (а это, как правило, разъем AF - т.е. тип "А", Female) подключены
одновременно оба контроллера - и USB 1.x, и USB 2.0. В тот момент, когда в этот AF-разъем вставляется ответный (значит - AM, тип "А" Male) разъем периферийного USB-устройства (мышка, флешка и т.п.), система сама принимает решение, в зависимости от возможностей этих самых мышки с флешкой, какой контроллер задействовать.
Эта процедура совсем не простая. Ее в лицах может описать Apple ROM, который знает ее досконально. Важно, что это первый и главный повод для возникновения проблем. По сути, все едино, как подключен к PCI-шине USB-контроллер: интегрирован ли он в Южный мост, или сие есть дополнительная плата в PCI-слоте. Как бы там ни было, начальную настройку будет выполнять BIOS, а работу будут обеспечивать драйверы. Вывод - BIOS обновлять (хотя не факт, что для старых платформ даже обновление BIOS учитывает весь последний опыт эксплуатации USB 2.0), драйверы искать на сайте производителя и тоже обновлять. Причем и для USB 1.x, и для USB 2.0.
Для того, чтобы "разнести" диагностику OHCI/UHCI и EHCI, т.е. не зависить от выше описанного механизма их подключения, рекомендуется ремонтникам (для пользователей - только в виде лизинга) использовать внешний USB-hub v1.x, доработав его так (если сие не заложено в конструктив изначально), чтобы питание хаба можно было обеспечить как в автономном режиме, так и от блока питания исследуемой платформы. Подключённая к такому хабу флешка USB 2.0 будет работать
только в режиме USB 1.x, что позволит принять правильное решение.
Противоположная задача требует наличия в арсенале дополнительного PCI USB 2.0 контроллера. (PCI-контроллеры USB 1.x в природе существуют, но вряд ли понадобятся). Настоящие экстремалы пользуют одну или несколько из доступных моделей:
ALi M5273,
VIA VT6212L...VT6214L и NEC uPD720100 (либо более новые его модификации -
uPD720101/uPD720102), потому что знают - нет контроллеров хороших или плохих, есть нужные или ненужные.
В любом случае понадобится кабельное хозяйство. Кроме коннекторов типа "А", для полноценой работы диагноста потребуются также кабели с разъемами типа "В", а также mini-USB. Недавно появился в продаже полный комплект переходников, вполне возможно, что подойдет на все случаи жизни. Помните, что самое главное - это требование к качеству кабеля. Нет каблей USB 2.0 или USB 1.0. Во всяком случае, стандарт USB об этом ничего не знает. Есть кабели хорошие и качественные, либо плохие - негодные.
Диагностика USB
Открытая книга: icbook.com.ua
Спасибо, освежил матчасть.
У меня "любимый" хост AT90USB1287. Коллеги сваяли типа "крутой" девайс под 2.0 (и проц там ARM-style вааще, т.е. девайс круче хоста). А "во мне" то девайс тоже должен работать, и в спецификации написано, что для этого надо сделать.
Допинал, работает.
Ну, и "оно" - каждый, работающий с USB, имеет 1.x хаб для тестов, как я понимаю. А USB3.0-то уже совсем рядом, я вчера наткнулся на то, что "наш" Linux раком встает еще на стадии старта ядра при наличии контроллера Etron xxxx (не помню я, мать Гигабайт на P67)
А кому счас легко...
savely, а "наш" Linux - это какой? юбунта нормально работает, вроде пофиксили в ядрах это в прошлом году
или вы про эмбеддет?
Типа эмбеддед. Своя сборка.
А кому счас легко...
Отправить комментарий