|
Linux: время конфигурации usb-устройства, задается в исходниках? |
|
|
|
Jun 30 2008, 10:24
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980

|
соединение: хост - хаб1 - хаб2 - 4устройства
хаб1 - встроенный хаб хоста хаб2 - FSM-хаб на 4 порта TI TUSB2046B, без внешней настройки устройство - плата с Atmel SAM7X на борту, HID-dev. Int-IN+Int-OUT EPs
Устройства имеют собственный источник питания, что указано в дескрипторе конфигурации в полях "Attributes"(0x40) и "MaxPower"(0x00). Каждое устройство инициализируется по 5сек, что достаточно некомфортно. Создается впечатление, что имеет место быть искуственный таймаут.
Вопрос: в чем может быть проблема столь долгой конфигурации и где можно подправить?
|
|
|
|
|
 |
Ответов
(1 - 10)
|
Jun 30 2008, 10:51
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980

|
Цитата(aaarrr @ Jun 30 2008, 17:29)  А за процессом энумерации со стороны устройства проследить не пробовали? Должно стать понятно, куда копать. Пробовал, сократил время с 15 сек. до 5 сек.
|
|
|
|
|
Jun 30 2008, 11:10
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980

|
Цитата(aaarrr @ Jun 30 2008, 17:54)  Неужели ничего подозрительного не осталось? Проблема только под Linux'ом наблюдается? Продолжаю "ковырятся", но что самое интересное, под виндой не было ни 5, ни 15ти сек.
|
|
|
|
|
Jul 1 2008, 07:15
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980

|
Цитата(Harbour @ Jul 1 2008, 12:10)  для usb-storage есть искусственный timeout, сделан для комфортного старта usb-винтов, какой класс устройства ? в том то и дело, что HID-устройство(я в описании указал: HID-dev. Int-IN+Int-OUT EPs)
|
|
|
|
|
Jul 8 2008, 04:58
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980

|
Долго не занимался данным вопросом, сейчас нашлось время повозиться еще: 1) hid-core не используется, написан свой драйвер 2) Проблема не при подключении драйвера, а при опросе устройства по Ep0, конкретно при получении StringDescriptor и такое впечатление, что при кратности длины дескриптора 8ми байтам.
|
|
|
|
|
Jul 8 2008, 10:39
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(Dimentius @ Jul 8 2008, 07:58)  Долго не занимался данным вопросом, сейчас нашлось время повозиться еще: 1) hid-core не используется, написан свой драйвер 2) Проблема не при подключении драйвера, а при опросе устройства по Ep0, конкретно при получении StringDescriptor и такое впечатление, что при кратности длины дескриптора 8ми байтам. Если у SAM7X USB похож на SAM7S, то возможно Вы не пишете пакет нулевой длины в конце если размер дескриптора кратен размеру конечной точки.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Jul 8 2008, 11:19
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980

|
Цитата(amw @ Jul 8 2008, 17:39)  Если у SAM7X USB похож на SAM7S, то возможно Вы не пишете пакет нулевой длины в конце если размер дескриптора кратен размеру конечной точки. "Шъерт побъери!" (с) Меня подобная мысль посещала, а вы ее только подтвердили. Я наивно полагал, что контроллер это делает автоматически по "completed". Видать где-то пропустил. Спасибо за подсказку.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|