Снова USB

Drivers for periphery equipment
  • Спасибо! Действительно работает!
    Из хаоса в космос
  • uhci-3. Исправление для ядра 2146+
  • Кажись новый драйвер не работает на последнем ядре.
    Из хаоса в космос
  • Проверить не смогу. У меня на новой мамке только ehci.
  • Настольный компьютер:
    Мышь работает, хоть и без скролла. Hotplug работает, в том числе и после запуска системы при отключенной мышке. Флешка по-прежнему доступна только как bd/*, и там кракозябры.
    Spoiler:K : OHCI controller at 00:90 with 3 ports initialized
    K : OHCI controller at 00:91 with 3 ports initialized
    K : OHCI controller at 00:98 with 3 ports initialized
    K : OHCI controller at 00:99 with 3 ports initialized
    K : found USB 1.10 device with ID 09DA:000A
    K : OHCI controller at 00:A5 with 2 ports initialized
    K : USB interface class/subclass/protocol = 03/01/02
    K : USB mouse detected
    K : found USB 2.00 device with ID 0930:6545
    K : USB interface class/subclass/protocol = 08/06/50
    K : USB mass storage device detected
    K : found USB 2.00 device with ID FFEE:0100
    K : 1 logical unit(s)
    K : USB interface class/subclass/protocol = 08/06/50
    K : USB mass storage device detected
    K : peripheral device type is 00
    K : direct-access mass storage device detected
    K : 1 logical unit(s)
    K : media is ready
    K : 0 attempts, 0 ticks
    K : sector size is 512, last sector is 7827455
    K : first sector read successfully
    K : EB 5E 80 00 20 39 FF FF 00 00 00 00 00 00 00 00
    Zero-config service:
    No Card found!
    K : peripheral device type is 00
    K : direct-access mass storage device detected
    K : media is ready
    K : 0 attempts, 0 ticks
    K : sector size is 512, last sector is 1933311
    K : first sector read successfully
    K : 33 C0 8E D0 BC 00 7C FB 50 07 50 1F FC BE 1B 7C
    K : USB mouse disconnected
    K : USB device disconnected
    K : found USB 1.10 device with ID 09DA:000A
    K : USB interface class/subclass/protocol = 03/01/02
    K : USB mouse detected
    eBox:
    Мышь работает, если была подключена при запуске системы. Hotplug не работает...
    Spoiler:K : OHCI controller at 00:50 with 2 ports initialized
    K : OHCI controller at 00:58 with 2 ports initialized
    K : found USB 1.10 device with ID 09DA:000A
    K : USB interface class/subclass/protocol = 03/01/02
    K : USB mouse detected
    K : USB mouse disconnected
    K : USB device disconnected
  • Ни одна версия драйвера не работает. Serge, спасай, бро!
    Из хаоса в космос
  • С какой версии ядра не работает ?
  • С какой не знаю... но в последней не работает.
    Из хаоса в космос
  • Serge, всё работает. То ли 2.7, то ли 3.0, но драйвер работает. Хоть, как оказалось, не на всех портах USB: в этот раз мышь у меня была втыкнута в порт USB не сзади системника, а спереди, куда обычно флешки тыкают. Потому не работала, подключил сзади - всё норм.
    Из хаоса в космос
  • Вывод boardlog на трансформере ASUS (нетбукопланшет). Тачскрин - это USB HID, но увы, не работает. Подключен через UHCI-контроллер. Мыши тоже не работают. Использовался драйвер, который предложил мне Leency.
    http://pastebin.com/UzvEZz4G
  • Поскольку, похоже, открытия исходников USB ожидать не приходится, то начал набрасывать скелет нового драйвера. Функциональность он копирует из libpayload, только на ассемблере. Пишу пока без компиляции и все такое. Начал с EHCI (OHCI довольно похож, и небольшими правками может получится из EHCI). Вот что получилось за час бездумного выражения алгоритма в ассемблере:
    Attachments
    usb.tar.gz (9.29 KiB)
    usb stack
    Downloaded 821 times
  • Небольшое обновление. На текущий момент реализована поддержка control транзакций. Просьба высказывать свои замечания и предложения.
    Attachments
    usb.7z (9.62 KiB)
    usb driver
    Downloaded 841 times
  • Подскажите, как скомпилировать драйвер?

    usb.asm в 18 строке опечатка "uchi" -> "uhci"
    В ehci 458 и 555 "endp" используется как идентификатор, надо переименовать его во что-то другое.
    После этого выдаёт следующее:
    $ fasm usb.asm
    flat assembler version 1.69.31 (16384 kilobytes memory)
    ehci.inc [586]:
    endp
    ../proc32.inc [217] endp [4]:
    match all,args@proc \{ restore all \}
    ../proc32.inc [217] match [0]:
    match all,args@proc \{ restore all \}
    error: invalid name.
  • А он пока и не компилируется - не все функции закончены. Как накидаю "костяк" драйвера - так начну его интегрировать/компилировать/тестировать.

    Добавил поддержку bulk транзакций.

    P.S. По-поводу неработающих некоторых портов - они могут быть подключены через встроенный хаб. В текущем драйвере нет их поддержки. В новом - будет.
    Attachments
    kusb.tar.gz (11.35 KiB)
    usb drivers
    Downloaded 851 times
  • Who is online

    Users browsing this forum: No registered users and 4 guests