Показать сообщение отдельно
Старый 14.03.2010, 22:44   #1
goodwin_ts
Вникающий
Доп. информация
По умолчанию SirfAtlasIV, wince 6.0 - USBOTG1 сдался ;)

Скидывайтесь на коньячок для baxx100 за выложенные схемы jj2100a4
И спасибо доброму человеку Vit за то, что дал ссылку на эти схемки.
(для понятности ссылка: [[Ссылки могут видеть только зарегистрированные пользователи. ]]>
Дык вот:
USB хост "USBOTG1" в Sirf Atlas IV / CE 6.0 / ===РАБОТАЕТ!===
Конкретнее - запустил сейчас в JJ 2100 wide (AtlasIV,CE6.0)

Ларчик открывается довольно просто - вывод USB_ID надо притянуть к земле.
На плате это резистор R99. Притянуть надо конец резистора, обращенный к процессору.
Этот вывод переключает usb контроллер в режим хоста (при уровне логического нуля).
Кетайцы его притянули резистором R99 к +3.3В навечно и, естественно, в нафигаторе работает только "usb device".

Надо снять крышку-экран с процессора (он не припаян) на задней строне платы и подпаять проводок к этому резистору. Другой конец тут-же прямо к экрану.
Дело довольно геморройное для тех, кто не привык - этот резистор и сам мелкий, и неудобно расположен - мешает перемычка экрана.

Но этого мало - необходимо и в реестре прописать заветное заклинание про "OTGPortMode=1". "3" тоже работает...

На скорую руку потыкал:
- usb флэшку 16 Гиг - работает. (Кстати, Explay PN-355 (CE5/AtlasIII) ее не видел)
- какой-то древний кетайский BT "свисток", который без драйверов не работает на XP.
Нафигатор его определяет, с телефона его видно, но драйверы не подходят - в настройках жижика он виден со знаком вопроса.
- BT cвисток "Bluetake". Вроде он на CSR собран, но жижик его не видит. Вернее определяет, но драйверы видать не подходят..
"Свисток" тоже довольно древний.
Вообщем, просто под руками нет подходящего, думаю....
- Попробовал прикрутить USB шнурки и телефон через шнурок.
В жижике для них драйверов нет. Шнурки определяются, просят драйвер.
Попытка подсунуть 232USB, естественно, не увенчалась успехом - он заточен под CE5.

Ну это дело наживное - драйверы появятся со временем...
Главное, что хост запустился.

Неприятность в том, что для работы с ActiveSync и Mass Stirage этот проводок надо отсоединять.

Вижу такой вариант решения проблемы для того, чтобы не расковыривать ЖЖ :
Тут на форуме есть умельцы, которые смогли распотрошить образ CE6 на модули.
Надо попытаться собрать из модулей USBOTG1 полноценную USBOTG1.DLL и тщательно поковыряться с IDA.
Возможно удастся в ней что-нить подправить (если этот вывод не "железно" работает).
В "CSM-00364 Rev[1].C SiRFprima Developer Manual 0.5 Release (Preliminary)" есть дока на USB контроллер(описание регистров, адреса и пр.) Он там такой-же, как в Atlas IV. Только там их два.
Потому USBOTG1 так и называется - ибо в SiRFprima есть еще и USBOTG0

В JJ320A4, думаю, все аналогично. Только надо найти аналог этого "R99".

И еще (кому интересно):

Долго не мог въехать, для чего кетайцы предусмотрели микросхему коммутатора на USB линиях.
В JJ320A4 она вообще не распаяна. в JJ2100 наличествует.
Только сейчас, увидев нормальную схему, дошло - она коммутирует на линии USB отладочный последовательный порт Атласа.
Для этого надо подать логическую единицу в дполнительный контакт mini usb разъема.

Теперь будем ждать ответ от "монстров-потрошителей" прошив

И еще: В CE6 можно через usb хаб подоткнуть несколько устройств.
Вот сейчас вижу два диска, BT и еще и usb шнурок последовательный пытается подключить при втыкании

Добавлено через 1 час 3 минуты
Дополнение:

Если выставить ключ "OTGPortMode=0", то девайс будет работать или в режиме хоста, или устройства в зависимости от логического уровня на входе USB_ID.
goodwin_ts вне форума  
7 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.03054 секунды с 11 запросами