Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.218.38.125] |
|
Страницы: (14) [1] 2 3 ... 13 14 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Всем привет.
Нет ли у кого каких-нибудь исходников для работы с USB OHCI контроллером. Именно OHCI. Спецификацию я читал, но вся проблема в том, что у меня на домашней машине UHCI. Соответственно я ничего протестировать не могу Платформа DOS, линуксовые исходники не предлагать Заранее спасибо. Только не надо говорить что это не реально. |
Сообщ.
#2
,
|
|
|
Что-то все читают и никто не пишет.
Или тема не интересная или исходников таки нет. Ну помогите хотябы протестировать у кого OHCI есть. Определить можно через DeviceManager в Windows - USB контроллеры-> должно быть Открытый USB хост-контроллер. Ну или прогой моей - она снизу прикреплена (xhci.rar в usb_ohci.rar) Протестируйте прогу ohci.exe, она конечно понятного мало чего выводит, но если систему не завесит уже хорошо. Обе проги работают только под DOS. Запустите потом с перенаправлением вывода для создания логов: xhci.exe>xhci.log и ohci.exe>ohci.log Логи или сюда приаттачте или на мыло мне: asm386[crazy_dog]mail.ru Если что получится - обязательно сообщу. Прикреплённый файлusb_ohci.rar (15.92 Кбайт, скачиваний: 657) |
Сообщ.
#3
,
|
|
|
cppasm А можно в двух словах что такое OHCI и чем оно отличается от UHCI. Как мне понять OHCI у меня на машине или нет?
|
Сообщ.
#4
,
|
|
|
В двух словах - это другой хост контроллер.
Т.е. у него другой набор регистров и программируется он соответственно по другому. Если ты имеешь в виду преимущества или недостатки для конечного пользователя - они абсолютно эквивалентны: оба реализуют USB интерфейс. UHCI - Universal Host Controller Interface, OHCI - Open Host Controller Interface. UHCI создала Intel с компанией, а OHCI - Microsoft со своей компанией Как узнать я писал уже выше. Способ 1 (нужна Windows): заходишь в менеджер оборудования, потом USB контроллеры. Если там написано Открытый USB контроллер или Open Host Controller, значит OHCI. Если Универсальный - значит UHCI. Способ 2: качаешь архив прикреплённый выше, там есть прога xhci.exe. Запускаешь в чистом DOS - она всё напишет. Если DOS'a нет, ничего не получится, т.к. эти программы рассчитаны исключительно на DOS. Если не разберёшся - сделай скрин менеджера устройств с развёрнутой веткой USB контроллеры и прикркпи сюда. Я скажу что там у тебя стоит |
Сообщ.
#5
,
|
|
|
05/28/97-i430VX-2A59GSMBC-00
Цитата ohci USB Controller not detected Цитата xhci USB Controller 0 (UHCI) VENDOR ID = 8086h, DEVICE ID = 7020h ....................... PCI BUS = 0, PCI DEV = 7, PCI FN = 2 ....................... BASE ADDR = 6000h, IRQ = 10 08/10/2004-i865PE-6A79ZG0HC-00 Цитата ohci USB Controller not detected Цитата xhci USB Controller 0 (UHCI) VENDOR ID = 8086h, DEVICE ID = 24D2h ....................... PCI BUS = 0, PCI DEV = 29, PCI FN = 0 ....................... BASE ADDR = BC00h, IRQ = 9 USB Controller 1 (UHCI) VENDOR ID = 8086h, DEVICE ID = 24D4h ....................... PCI BUS = 0, PCI DEV = 29, PCI FN = 1 ....................... BASE ADDR = B000h, IRQ = 5 USB Controller 2 (UHCI) VENDOR ID = 8086h, DEVICE ID = 24D7h ....................... PCI BUS = 0, PCI DEV = 29, PCI FN = 2 ....................... BASE ADDR = B400h, IRQ = 11 USB Controller 3 (UHCI) VENDOR ID = 8086h, DEVICE ID = 24DEh ....................... PCI BUS = 0, PCI DEV = 29, PCI FN = 3 ....................... BASE ADDR = B800h, IRQ = 9 USB Controller 4 (EHCI) VENDOR ID = 8086h, DEVICE ID = 24DDh ....................... PCI BUS = 0, PCI DEV = 29, PCI FN = 7 ....................... BASE ADDR = FC000000h, IRQ = 9 12/04/2002-sis-646-6A6IXG0VC-00 Цитата ohci 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h ................. PCI BUS = 0, PCI DEV = 3, PCI FN = 0 ................. BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h ................. PCI BUS = 0, PCI DEV = 3, PCI FN = 1 ................. BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h ................. PCI BUS = 0, PCI DEV = 3, PCI FN = 2 ................. BASE ADDR = EF012000h, IRQ = 5 //----здесь я жму any key---------- Controller 0 [OHCI revision:1,0] SMM active, request ownership change Wait to SMM asknowledge the ownership change. Reset the controller, wait fo reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001302h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPort status: 00000000h RhPort 1, RhPort status: 00000000h //-----здесь система виснет------------ Цитата xhci USB Controller 0 (OHCI) VENDOR ID = 1039h, DEVICE ID = 7001h ....................... PCI BUS = 0, PCI DEV = 3, PCI FN = 0 ....................... BASE ADDR = EF010000h, IRQ = 11 USB Controller 1 (OHCI) VENDOR ID = 1039h, DEVICE ID = 7001h ....................... PCI BUS = 0, PCI DEV = 3, PCI FN = 1 ....................... BASE ADDR = EF011000h, IRQ = 9 USB Controller 2 (OHCI) VENDOR ID = 1039h, DEVICE ID = 7001h ....................... PCI BUS = 0, PCI DEV = 3, PCI FN = 2 ....................... BASE ADDR = EF012000h, IRQ = 5 USB Controller 3 (EHCI) VENDOR ID = 1039h, DEVICE ID = 7002h ....................... PCI BUS = 0, PCI DEV = 3, PCI FN = 3 ....................... BASE ADDR = EF013000h, IRQ = 11 Compaq Deskpro EP/SB series Цитата ohci USB Controller not detected Цитата xhci USB Controller 0 (UHCI) VENDOR ID = 8086h, DEVICE ID = 7112h ....................... PCI BUS = 0, PCI DEV = 20, PCI FN = 2 ....................... BASE ADDR = 1000h, IRQ = 11 02/14/97-i430VX, ITE8680-2A59GL1FC-00 Цитата ohci USB Controller not detected Цитата xhci USB Controller 0 (UHCI) VENDOR ID = 8086h, DEVICE ID = 7020h ....................... PCI BUS = 0, PCI DEV = 7, PCI FN = 2 ....................... BASE ADDR = 6000h, IRQ = 15 Вот Разбирайся |
Сообщ.
#6
,
|
|
|
Спасибо, буду разбираться.
Как я понял OHCI только на одной машине есть. Интересно это случайность или распределение контроллеров именно такое - т.е. OHCI достаточно редко встречается. //-----здесь система виснет------------ Я по коду посмотрел - там вроди виснуть-то негде. Она там ждёт нажатия на кнопку Вот скачай новую версию, попробуй. И ещё - я так понял (по мелким опечаткам) ты все отчёты руками сюда набивал? Запускай так ohci.exe>ohci.txt и весь отчёт будет в ohci.txt - руками ничего набирать не надо Попробуй на той машине, где OHCI обнаружилось. А то что xhci.exe USB контроллеры детектит, а ohci.exe нет - это не баг. Просто ohci.exe выводит информацию только об OHCI контроллерах, а xhci обо всех. Спасибо за помощ. Прикреплённый файлohci.rar (7.3 Кбайт, скачиваний: 345) |
Сообщ.
#7
,
|
|
|
Цитата cppasm @ Я по коду посмотрел - там вроди виснуть-то негде. Ага вроде перестала виснуть Цитата cppasm @ Она там ждёт нажатия на кнопку Да вроде жал я на кнопки и не раз вроде... Видать действительно сам че-то не то нажал... Цитата cppasm @ просек таки И ещё - я так понял (по мелким опечаткам) ты все отчёты руками сюда набивал? просто лень было перекидывать диск, загружать, лезть в инет.. чтоб глянуть с какими параметрами запускать правильно. вобщем вот лог старой программы Цитата Detecting USB Controllers... 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 0 BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 1 BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 2 BASE ADDR = EF012000h, IRQ = 5 Controller 0 [OHCI revision: 1.0] SMM active, request ownership change. Wait to SMM acknowledge the ownership change. Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001302h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000000h RhPort 1, RhPortStatus: 00000000h Controller 1 [OHCI revision: 1.0] SMM active, request ownership change. Wait to SMM acknowledge the ownership change. Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001302h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000000h RhPort 1, RhPortStatus: 00000000h Controller 2 [OHCI revision: 1.0] SMM active, request ownership change. Wait to SMM acknowledge the ownership change. Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001302h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000000h RhPort 1, RhPortStatus: 00000000h вот той что посвежее Цитата Detecting USB Controllers... 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 0 BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 1 BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 2 BASE ADDR = EF012000h, IRQ = 5 Controller 0 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001302h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h RhPort 1, RhPortStatus: 00000100h Controller 1 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001302h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h Controller 2 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001302h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h |
Сообщ.
#8
,
|
|
|
Нашлась одна ошибочка пока.
Спецификацию бы нормально написали, а то блин биты путают Попробуй ещё эту программу. И если можешь - подключи какое-нибудь USB устройство перед запуском. Извини что надоедаю, но что делать... Прикреплённый файлohci.rar (7.3 Кбайт, скачиваний: 315) |
Сообщ.
#9
,
|
|
|
Лог новой программы
Цитата Detecting USB Controllers... 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 0 BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 1 BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 2 BASE ADDR = EF012000h, IRQ = 5 Controller 0 [OHCI revision: 1.0] SMM active, request ownership change. Wait to SMM acknowledge the ownership change. Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h RhPort 1, RhPortStatus: 00000100h Controller 1 [OHCI revision: 1.0] SMM active, request ownership change. Wait to SMM acknowledge the ownership change. Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h Controller 2 [OHCI revision: 1.0] SMM active, request ownership change. Wait to SMM acknowledge the ownership change. Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h тоже с подключенной флешкой Цитата Detecting USB Controllers... 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 0 BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 1 BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 2 BASE ADDR = EF012000h, IRQ = 5 Controller 0 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h RhPort 1, RhPortStatus: 00000100h Controller 1 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h Controller 2 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h RhPort 1, RhPortStatus: 00000100h да, и в течение всех экспериментов к одному из портов оказывается был подключен дата кабель телефона. вот это надо полагать к нему относится Цитата Controller 0 [OHCI revision: 1.0] ....... RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h ...... извиняюсь если ввел в заблуждение |
Сообщ.
#10
,
|
|
|
Спасибо, в заблуждение не ввёл
А про биты ты правильно догадался - это к нему относится. Я так и понял, что что-то подключено было, но уже после того как пост отправил. Теперь вроди всё как надо - буду дальше продвигаться. Пора уже с устройством пообщаться |
Сообщ.
#11
,
|
|
|
Попробуй ещё вот это.
Как всегда создай лог. Но если вдруг повиснет при запуске, запусти с выводом на экран и напиши последние выводимые строки. Если это чудо будет работать как надо - следующий вариант уже будет с выводом детальной информации о подключённых устройствах. Огромное спасибо за помощ. Прикреплённый файлohci.rar (8.37 Кбайт, скачиваний: 281) |
Сообщ.
#12
,
|
|
|
Эта версия на экран ничего не выводит, в логи ничего не пишет. Если к USB чего-нибудь подключено перезагружает машину, если не подключенно - просто вешает.
|
Сообщ.
#13
,
|
|
|
На экран вообще ничего не выводит, или ничего нового?
Ты может после Windows прогу запускал (Завершение работы->Перезагрузить в режиме MS-DOS для Win98)? Просто Windows после себя любит устройства отключать. Попробуй не грузить Windows. Пробовать надо с подключённым устройством. Ну и я сейчас ещё по коду пройдусь, может чего найду... Попробуй ещё раз. Ниже в архиве мои попытки что-то выяснить. Там два файла - ohci_1.exe и ohci_2.exe, попробуй, может хоть какой-то будет работать. Прикреплённый файлohci.rar (9.25 Кбайт, скачиваний: 267) |
Сообщ.
#14
,
|
|
|
Цитата cppasm @ На экран вообще ничего не выводит, или ничего нового? вообще ничего Цитата cppasm @ Ты может после Windows прогу запускал винды на диске нет, чистый дос Цитата cppasm @ Попробуй не грузить Windows. я делал так -выключаю комп -вытаскиваю диск с виндой -подключаю диск с досом -включаю комп (загружается соответственно дос) думаю таких мер должно быть достаточно Цитата cppasm @ Пробовать надо с подключённым устройством. и так и так пробовал... Цитата cppasm @ Попробуй ещё раз. то же самое т.е.: Цитата SomeOtherOne @ на экран ничего не выводит, в логи ничего не пишет. Если к USB чего-нибудь подключено перезагружает машину, если не подключенно - просто вешает. пробовал запускать прогу из под отладчика - в отладчике все шоколадно, т.е. все программа прощелкивается, корректно завершается, даже логи пишет... ниче не виснет. если просто так запускать - вешается.. вот логи Цитата ohci_1 Detecting USB Controllers... 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 0 BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 1 BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 2 BASE ADDR = EF012000h, IRQ = 5 Controller 0 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h -->> Device Connected, Enable Port: RhPort 0, RhPortStatus: 00000103h <<-- RhPort 1, RhPortStatus: 00000100h Controller 1 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h Controller 2 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h Turbo Debugger Version 5.0 Copyright © 1988,96 Borland International Цитата ohci_2 Detecting USB Controllers... 3 USB Controller(s) detected USB Controller 0: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 0 BASE ADDR = EF010000h, IRQ = 11 USB Controller 1: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 1 BASE ADDR = EF011000h, IRQ = 9 USB Controller 2: VENDOR ID = 1039h, DEVICE ID = 7001h PCI BUS = 0, PCI DEV = 3, PCI FN = 2 BASE ADDR = EF012000h, IRQ = 5 Controller 0 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00010101h -->> Device Connected, Enable Port: RhPort 0, RhPortStatus: 00000103h <<-- Ctrl ND\Start\TimeOut\Stop\Status=00000000h Ctrl RD\Start\TimeOut\Stop\Status=F0000000h Ctrl RD\Start\TimeOut\Stop\Status=F0000000h Ctrl ND\Start\TimeOut\Stop\Status=F0000000h RhPort 1, RhPortStatus: 00000100h Controller 1 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h Controller 2 [OHCI revision: 1.0] Reset the controller. Wait for reset completition. Power on the Root Hub, wait Power On to Power Good time. RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h RhPort 0, RhPortStatus: 00000100h RhPort 1, RhPortStatus: 00000100h Turbo Debugger Version 5.0 Copyright © 1988,96 Borland International Может ты где нибудь задержку не выдерживаешь? |
Сообщ.
#15
,
|
|
|
Да блин вообще дело дрянь
И где глюки-то... Ну попробуй ещё вот эти два варианта - может какой-нить будет работать. По сравнению с прошлым рабочим вообще минимум изменений. А насчёт вывода на экран, ты наверно запускал так же ohci.exe>ohci.txt. Просто так она должна в лог писать, но если зависон происходит или ребут, то буфера не сбрасываются и файл пустой. Попробуй просто запускать - ohci.exe, тогда вывод на экран будет. Ну это я так - на всякий случай. Прикреплённый файлohci.rar (8.31 Кбайт, скачиваний: 292) |