Тестируем поддержку USB

Drivers for periphery equipment
  • На некоторых ноутах при включении контроллеры отключены в целях экономии
    Вот лекарство:

    Code: Select all

    proc check_power_pci
                    locals
                       cpb_ptrn     dd ?
                    endl
                    stdcall PciWrite8, [bus], [devfn], dword 0x4 ,dword 0x0
    .chc_pow:       stdcall PciRead32, [bus], [devfn], dword 0xe
                    and eax,0x7f
                    cmp eax,0x2
                    je @F
                    stdcall PciRead32, [bus], [devfn], dword 0x34
                    test eax,eax
                    je .exit
                    jmp .next
    @@:             stdcall PciRead32, [bus], [devfn], dword 0x14
                    test eax,eax
                    je .exit
    .next:          mov [cpb_ptrn],eax
                    add [cpb_ptrn],4
                    stdcall PciRead32, [bus], [devfn],[cpb_ptrn]
                    test eax,eax
                    je  .exit
                    stdcall PciWrite8, [bus], [devfn], [cpb_ptrn] ,dword 0x0
                    mov  esi,10
                    call Sleep
    .exit:          stdcall PciWrite8, [bus], [devfn], dword 0x4 ,dword 0x7
              ret
    endp                      
    может чем то помогу :)
    Все сложное - просто!
  • Mario, при инициализации контроллера может произойти ошибка, тогда последнее, равно как и вчерашнее, ядро пишет на доску отладки строку со словом "timeout", не обязательно упоминающую "controller".
    Если подключение через хаб, то должен быть виден сам хаб как usb-устройство с интерфейсом 09/00/00.
    Сделаем мир лучше!
  • Mario, и заодно: G@K предлагает здравую мысль, хотя и со странным кодом; если дело в этом, то именно timeout и должен происходить при инициализации. Запусти "dump_pci <bus> <device> <func>", подставив в шестнадцатеричном виде параметры одного из контроллеров - неважно, какого - через пробел и покажи созданный /rd/1/pcidump.txt, это позволит выяснить, как выглядит конфигурация устройства с точки зрения Колибри.
    Attachments
    dump_pci.7z (337 Bytes)
    Дампер конфигурационного пространства PCI
    Downloaded 243 times
    Сделаем мир лучше!
  • Моя мышка A4tech теперь полностью работоспособна в Колибри! Работают три кнопки и два колеса прокрутки! Курсор движется не особо плавно, но и с PS/2-мышью большой плавности не было.
    Есть только два замечания, и скорее всего они не относятся к USB:
    • При вращении второго колеса к себе происходит прокрутка вниз (вместо ожидаемого вверх), при вращении от себя — соответственно, вниз. Это кажется мне непривычным и противоестественным, лучше пусть будет хотя бы наоборот, а лучше всего как в линуксе: когда есть вторая полоса прокрутки, пусть второе колесо прокручивает вправо-влево, когда её нет, пусть ничего не делает.
    • Третья кнопка при нажатии на файлах в KFM и Eolite делает то же, что первая. Мне нравится, как это сделано в Gnome Commander: там третья кнопка переводит на уровень вверх. Впрочем, здесь это оффтоп...
    CleverMouse, спасибо огромное за работу!
    Last edited by DmitrySokolowsky on Tue Jun 21, 2011 6:41 pm, edited 1 time in total.
  • И ещё мышка Logitech M100. Курсор носится по вертикали как угорелый, по горизонтали вроде нормально.
    2. Если курсор пролетает над окном KFM, то список файлов крутится, как будто скроллом.
    3. Скролл работает наоборот.
  • Люди хватит описывать в этой теме "баги" и "фичи" программ отношения к этой теме не имеющих никакого. В следующий раз буду удалять посты без предупреждений - достало уже за вами мусор разгребать.
  • В моём случае это не баг программы. При перемещении мыши генерируется событие скролла. Вот что я хотел сказать. Просто заметил на KFM.
  • CleverMouse
    Roverbook U800, запуск без мыши - никаких данных о контроллере на доске отладки по прежнему нет.
    Запускал dump_pci для Roverbook U800.
    Spoiler:
    1.png
    1.png (6.2 KiB)
    Viewed 6129 times
    PCIDUMP.TXT (640 Bytes)
    Downloaded 214 times
  • Mario, действительно, я нашла глюк в коде поиска контроллеров, из-за которого код не видел некоторых контроллеров. Я перезалила исправленное ядро в http://ftp.kolibrios.org/users/CleverMo ... kernel.mnt .
    Сделаем мир лучше!
  • Спасибо теперь работает. Логи Roverbook U800 с 2-я разными мышками A4Tech.
    Spoiler:
    1Boardlog.txt (315 Bytes)
    Downloaded 223 times
    2Boardlog.txt (315 Bytes)
    Downloaded 208 times
  • eBox-3300MX (Vortex86MX)
    Теперь мышь работает в любом разъеме, только вот наличие двух воткнутых мышей приводит к перезагрузке системы - дальше лога на черном экране не работает.
    Spoiler:
    1Boardlog.txt (878 Bytes)
    Downloaded 220 times
    2Boardlog.txt (854 Bytes)
    Downloaded 199 times
  • eBox-3300MX (Vortex86MX):

    1) Подключены USB 1.1 keyboard + USB 1.1 mouse. Мышка работает, колёсико двигается правильно, но курсор бегает по экрану быстрее, чем хотелось бы (та же мышка, воткнутая в PS/2 разъём через переходник, двигается с нормальной скоростью). Клавиатура не работает (уже говорил об этом раньше), но теперь она почему-то определяется как 2 разных USB-устройства (раньше определялась как одно).

    2) Подключены PS/2 keyboard (напрямую) + USB-to-PS/2 adapter и к нему PS/2 мышка. Адаптер определяется верно! (респект 8) ) - как 2 USB HID устройства. Мышка, подключенная к адаптеру, при движении по столу вправо-влево, ездит на экране вверх-вниз. При движении по столу вверх-вниз, на экране делает маааленькие круги на месте.

    3) Подключены PS/2 keyboard (напрямую) + 2 разные USB мышки (одна 1.1, вторая 2.0). В логе определяется мышка 2.0 и работает нормально. Мышка 1.1 в логе не определяется, и OHCI controller, к которому она подключена, тоже не определяется. Лампочка горит на обеих мышках.
    Attachments
    test1_OHCI.txt (857 Bytes)
    Downloaded 234 times
    test2_OHCI.txt (706 Bytes)
    Downloaded 233 times
    test3_OHCI.txt (718 Bytes)
    Downloaded 228 times
  • Mario, я перевыложила ядро и драйвер, проверь новую версию. Тем, у кого неправильно преобразуется перемещение мышки, проверять необязательно.
    Сделаем мир лучше!
  • upd. Разобрался.
    : [spoiler]Моя ничего не понимать. Нашел комп с материкой VIA. Закинул в свежую ночную сборку kernel.mnt и usbhid.obj из этой темы. На доске отладки - только сообщения ATIKMS, курсор мыши появляется в центре экрана и в тот же миг ускакивает в левый верхний угол, и не шевелится.
    Вспоминаю, что в теме писалось, что на рамдиске может не хватить места для логов. Удаляю docpak и atikms, загружаюсь. Мышки USB работает отлично (кроме скролла, но я не знаю, где он должен работать, а где - нет), пара грызунов A4Tech. На доске по-прежнему ноль. И вот я смотрю в вывод lspci:
    [code]
    anna@anna-desktop ~ $ lspci | grep USB
    00:0c.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 62)
    00:0c.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 62)
    00:0c.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 65)
    00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
    00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
    00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
    00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
    [/code]

    Так и должно быть? Раньше на этом компьютере мышки не работали, насколько я помню. Сейчас попробую с обычной ночной сборкой[/spoiler]

    Удалил в своей копии ночной сборки ATIKMS, и мышь заработала. OHCI-контроллеров на плате нет :(
    Last edited by SoUrcerer on Wed Jun 22, 2011 3:15 pm, edited 2 times in total.
  • Who is online

    Users browsing this forum: No registered users and 2 guests