Dimentius 0 30 июня, 2008 Опубликовано 30 июня, 2008 · Жалоба соединение: хост - хаб1 - хаб2 - 4устройства хаб1 - встроенный хаб хоста хаб2 - FSM-хаб на 4 порта TI TUSB2046B, без внешней настройки устройство - плата с Atmel SAM7X на борту, HID-dev. Int-IN+Int-OUT EPs Устройства имеют собственный источник питания, что указано в дескрипторе конфигурации в полях "Attributes"(0x40) и "MaxPower"(0x00). Каждое устройство инициализируется по 5сек, что достаточно некомфортно. Создается впечатление, что имеет место быть искуственный таймаут. Вопрос: в чем может быть проблема столь долгой конфигурации и где можно подправить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 30 июня, 2008 Опубликовано 30 июня, 2008 · Жалоба Вопрос: в чем может быть проблема столь долгой конфигурации и где можно подправить? А за процессом энумерации со стороны устройства проследить не пробовали? Должно стать понятно, куда копать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimentius 0 30 июня, 2008 Опубликовано 30 июня, 2008 · Жалоба А за процессом энумерации со стороны устройства проследить не пробовали? Должно стать понятно, куда копать. Пробовал, сократил время с 15 сек. до 5 сек. ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 30 июня, 2008 Опубликовано 30 июня, 2008 · Жалоба Неужели ничего подозрительного не осталось? Проблема только под Linux'ом наблюдается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimentius 0 30 июня, 2008 Опубликовано 30 июня, 2008 · Жалоба Неужели ничего подозрительного не осталось? Проблема только под Linux'ом наблюдается? Продолжаю "ковырятся", но что самое интересное, под виндой не было ни 5, ни 15ти сек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbour 0 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба для usb-storage есть искусственный timeout, сделан для комфортного старта usb-винтов, какой класс устройства ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimentius 0 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба для usb-storage есть искусственный timeout, сделан для комфортного старта usb-винтов, какой класс устройства ? в том то и дело, что HID-устройство(я в описании указал: HID-dev. Int-IN+Int-OUT EPs) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbour 0 2 июля, 2008 Опубликовано 2 июля, 2008 · Жалоба sorry, как всегда знака 40 не заметил ;) проверить просто - можно воткнуть любую usb мышку - у меня на ноуте старт меньше секунды. если глянуть в linux/drivers/hid/usbhid/hid-core.c то видно что retry_delay используется при логических ошибках в обмене. по идее можно какую-то отладку вставить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimentius 0 8 июля, 2008 Опубликовано 8 июля, 2008 · Жалоба Долго не занимался данным вопросом, сейчас нашлось время повозиться еще: 1) hid-core не используется, написан свой драйвер 2) Проблема не при подключении драйвера, а при опросе устройства по Ep0, конкретно при получении StringDescriptor и такое впечатление, что при кратности длины дескриптора 8ми байтам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amw 0 8 июля, 2008 Опубликовано 8 июля, 2008 · Жалоба Долго не занимался данным вопросом, сейчас нашлось время повозиться еще: 1) hid-core не используется, написан свой драйвер 2) Проблема не при подключении драйвера, а при опросе устройства по Ep0, конкретно при получении StringDescriptor и такое впечатление, что при кратности длины дескриптора 8ми байтам. Если у SAM7X USB похож на SAM7S, то возможно Вы не пишете пакет нулевой длины в конце если размер дескриптора кратен размеру конечной точки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimentius 0 8 июля, 2008 Опубликовано 8 июля, 2008 · Жалоба Если у SAM7X USB похож на SAM7S, то возможно Вы не пишете пакет нулевой длины в конце если размер дескриптора кратен размеру конечной точки. "Шъерт побъери!" (с) Меня подобная мысль посещала, а вы ее только подтвердили. Я наивно полагал, что контроллер это делает автоматически по "completed". Видать где-то пропустил. Спасибо за подсказку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться