Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.33.87] |
|
Страницы: (14) « Первая ... 12 13 [14] все ( Перейти к последнему сообщению ) |
Сообщ.
#196
,
|
|
|
Это происходит скорее всего потому, что некоторые контроллеры "исправляют" ошибки разработчика. У меня например, это было с контроллером VIA IDE который "переваривал" мои некорректные таблицы PRD, а когда стал теснить на других чипах долго не мог понять в чем дело, оказалось, что не уловил одну тонкость написанную в спецификации. Конкретно от версии в твоём случае врядли что-то зависит, если ты только не используешь фитчи добавленные в более новом релизе (но это странно так как на начальном этапе разработки да и вообще для простого драйвера они абсолютно бесполезны). Короче этот баг не от версии, а от конкретного контроллера. Попробуй для начала "поиграть" с задержками резета и посмотри результат.
Цитата oliva13 @ Спасибо за ответ! Только не понятно почему с другими флэшками работает? У тестируемых флэшек единственное отличие - строки (bcdDevice 1.0 - рабочая) (bcdDevice 1.10 - не рабочая), размер один и тот же - 2Gb. Но на другой платформе тот же код для OHCI работает с обеими флэшками,но ревизия у контроллера OHCI: reg_rev - 0x110. Далеко не единственное, плохо смотрел разделы форума посвященные USB. перечитай: "Программирование USB в MS-DOS" Я уж непомню точно, но вроде какую-то флешку вообще 2 секунды надо резетить А размер вообще никак к этой проблеме не относится. Добавлено И еще одно. Некоторые программисты под DOS неправильно делают задержки. Учти что системный таймер после настройки BIOS тикает с частотой примерно 18.2 раза в секунду. Тоесть Delay(10) при реализации "в лоб" задержит не на 1мс, и не на 0,1с а прримерно на пол секунды. Возможно у тебя наоборот задержка слишком большая и устройство в спячку впадает. |
Сообщ.
#197
,
|
|
|
Цитата shm @ Возможно у тебя наоборот задержка слишком большая и устройство в спячку впадает Врядли, ведь в спецификации написано, что задержка должна быть не менее 50 мс... |
Сообщ.
#198
,
|
|
|
Проблема оказалась в подключении hub контроллера ISP1520, который добавляет четыре порта к встроенному в процессор hub'у. Схема подключения ISP1520. Закоротив резюки R1 и R2, флэшка (bcdDevice 1.10) заработала.
|-------------------| R1 27 | | ______ | DM |------+-------------|______|----+-------------- D+ | | | C1 22pF | | ISP1520 | | R2 27 | | | | ______ | | DP |------|------+------|______|-----------+------- D- | | ----- | _|_ _|_ | | ----- ----- C2 22pF | | | | | | | ----- R3 | | R4| | | | | | 15K |__|15k|__| | | | | | | |-------------------| __|__ _|__ __|__ __|__ |
Сообщ.
#199
,
|
|
|
Добрый день , вопрос немного не по теме , но может не будете судить строго и поможете. Я начинающий программист. Был написан драйвер под юсб-устройство - просто пробрасывает данные из устройства - в программу и обратно , никакой обработки. Так вот в чем проблема драйвер работает только на ОHCI, UHCI - нет , в чем может быть проблема ? Даже не знаю в какую сторону копать
|
Сообщ.
#200
,
|
|
|
Проблема в том, что OHCI и UHCI это абсолютно разные контроллеры, и их программировать надо по разному.
Надо писать отдельный код для работы с UHCI. |
Сообщ.
#201
,
|
|
|
Писал win driver foundation , там ни одного слова нет про разницу хост контроллеров =(
|
Сообщ.
#202
,
|
|
|
xp3, ты под винду драйвер ЮСБ железки пишешь?
|
Сообщ.
#203
,
|
|
|
Цитата shm @ да |
Сообщ.
#204
,
|
|
|
Тогда мой ответ не в тему, разница есть если самому с контроллером работать.
Если драйвер под Windows на основе Windows Driver Foundation написан - работать должно с любым контроллером. А устройство своё, или промышленное? Могут быть проблемы в самом устройстве... |