На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
Страницы: (14) 1 [2] 3 4 ...  13 14 все  ( Перейти к последнему сообщению )  
> OHCI USB
    Цитата cppasm @
    Ну это я так - на всякий случай.

    не тот случай...

    скриншоты программ из поста намбер 15
    Цитата

    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

    //-------------жмем any key---------

    Controller 0 [OHCI revision: 1.0]
    Reset the controller. Wait for reset completition.
    SMM active, request ownership change
    Wait to SMM asknowledge the ownership change.
    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

    //-------жмем any key-------------
    //------дальше висим--------------



    Цитата

    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

    //----------жмем any key---------

    Controller 0 [OHCI revision: 1.0]
    Reset the controller. Wait for reset completition.
    SMM active, request ownership change
    Wait to SMM asknowledge the ownership change.
    Power on the Root Hub, wait Power On to Power Good time.
    RhDscA: 01001002h, RhDscB: 00000000h, RhSts: 00000000h
    RhPort 0, RhPortStatus: 00010101h
    -->> Device Connected <<--
    RhPort 1, RhPortStatus: 00000100h

    //-------жмем any key-------------
    //------дальше висим--------------


    Нашел еше одну маму с OHCI
    01/13/2003-sis-648-6A7I0G0DC-00
    на ней все программы работают аналогично (как описано выше) сходство побитное, единственное отличие - прерывания заведены не в том порядке, а в остальном логи - один в один, и виснет в том же месте

    Добавлено
    Если подключить флешку к другому порту то такая картина
    Цитата

    ...
    bla-bla-bla
    ...
    //----------жмем any key---------

    Controller 0 [OHCI revision: 1.0]
    SMM active, request ownership change
    Wait to SMM asknowledge 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

    //-------жмем any key-------------
    //------дальше висим--------------

    Сообщение отредактировано: SomeOtherOne -
      Ну попробуй ещё вот это.
      Блин, не могу ошибку найти >:(
      Прикреплённый файлПрикреплённый файлohci.rar (7.35 Кбайт, скачиваний: 222)
        была замечена такая штука: если проги из поста 15 сначала запустить с выводом в файл то после этого они начинают работать и с выводом на экран, но если сразу на экран то система вешается. Кстати этим грешил имхо и самый первый твой вариант ;) помнится мне он тоже подвисал. :)

        Добавлено
        Цитата cppasm @
        Ну попробуй ещё вот это.

        то же самое. запускаем без параметров - зависает. Запускаем с выводом в файл - создает файл, и после этого перестает виснуть при выводе на экран.
          Так-с, а это уже интересно...
          Видать точно гдето с задержками глюки...
          Буду смотреть.
            Попробуй ещё вот эти два варианта.
            Пробуй уже с выводом на экран наверно, чтоб виснуть перестало...
            Там в архиве два файла: ohci_1.exe и ohci_2.exe (где-то это уже было :))
            Надеюсь какой-то из них работать будет.
            В ohci_1.exe я задержек понавтыкал где только можно было, ну а в ohci_2.exe чуть поменьше.
            Не хотелось бы и лишние ставить...
            Прикреплённый файлПрикреплённый файлohci.rar (7.85 Кбайт, скачиваний: 223)
              нифига, все то же самое. файлы пишет, при выводе на экран виснет. Кстати самый первый (после включения питания) лог программ отличается от всех последующих. логи прилагаются... я их там подписал какой когда и при каких условиях.

              Ну и раз уж все так плохо то я немного расковырял одну из программ (ohci_1.exe) вот дамп:
              ExpandedWrap disabled
                cs:0c4c 1e       push ds
                cs:0c4d 55       push bp
                cs:0c4e 8bec     mov bp, sp
                cs:0c50 83c506   add bp, 06
                cs:0c53 33c0     xor ax,ax
                cs:0c55 8ed8     mov ds,ax
                cs:0c57 668b5e00 mov ebx,[bp]
                cs:0c5b 668b4604 mov eax,[bp+04]
                cs:0c5f 66678903>mov [ebx],eax      ; усе баста, здесь улетаем в открытый космос
                cs:0c63 5d       pop bp
                cs:0c64 1f       pop ds
                cs:0c65 c3       ret


              и вот чего я не понял так это то чего это делают 32-разрядные регистры в дос-овском коде?
              это твои выкрутасы или компилятора?
              Прикреплённый файлПрикреплённый файлlogs.zip (3.96 Кбайт, скачиваний: 201)
                Выкрутасы мои :)
                Просто регистры OHCI контроллера отображаются на адреса памяти, естественно за пределами мегабайта.
                Для доступа использую нереальный режим (Unreal Mode aka Flat Real Mode) - отсюда и регистры 32-битные.
                Хотя в принципе есть и компиляторы, которые 32-битные регистры в DOS используют.
                Ошибка может быть и не здесь, отладчику может это не нравиться, т.к. он в Protected Mode работает.
                Я конечно извиняюсь, если очень напрягаю, но...
                Не мог бы ты сказать адрес ОТКУДА идет вызов этой процедуры, просто она вызввается из многих мест.
                Помогло бы для локализации глюка так сказать...
                  попоззжее немножко... впрочем для тебя это будет завтра уже..
                    И если можно значения EAX, EBX в момент зависона. ;)
                    Ну или хотя-бы AX, BX.
                      стек вызовов
                      ExpandedWrap disabled
                        main
                          cs:0155 call 09dc
                            cs:0af4 call 050e
                              cs:0553 call 0c4c


                      значения регистров
                      ExpandedWrap disabled
                        eax=00110100
                        ebx=00110000
                        Спасибо, буду разбираться...
                          Неа, глюк не там.
                          Как я и писал - это просто отладчику не нравится.
                          Это первое обращение за пределы мегабайта.
                          Попробуй ещё вот это. Там болжны надписи выводиться типа [LINE=xxx].
                          Вот напиши на какой строке оно загнётся.
                          И ещё Start Line, там тоже такое будет.
                          Прикреплённый файлПрикреплённый файлohci.rar (7.23 Кбайт, скачиваний: 208)
                            cppasm этот вариант не зависает
                              есть такое наблюдение - программа виснет когда ожидает ввод с клавиатуры
                              и соответствующее предположение - может ты чего не того делаешь с контроллером клавиатуры или контроллером прерываний? Ты там как делаешь? В защищенный режим переключаешься? таблицы дескрипторов настраиваешь? Дай чтоли исходники глянуть, чего там у тебя наворочено...
                                Щас вышлю, если успею "причесать"...
                                Я просто уезжаю, так что продолжим в сентябре. ;)
                                У меня к тому времени доступ к контроллеру появится - думаю станет попроще немного :)
                                Но должен успеть.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (14) 1 [2] 3 4 ...  13 14 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0993 ]   [ 14 queries used ]   [ Generated: 5.07.25, 04:20 GMT ]