- PVSM.RU - https://www.pvsm.ru -

В KolibriOS появилась поддержка USB

В KolibriOS появилась поддержка USBДля тех, кто интересуется проектом KolibriOS [1], у нас очень хорошая новость — ровно 1 неделю назад в нашем проекте в ночных сборках [2] появилась поддержка USB [3]. В лучших традициях проекта, код полностью написан на ассемблере FASM [4]. Причём он всё ещё влазит на одну дискету занимает 1MB, включая программы и игры. И, в отличие от нашего прародителя MenuetOS [5], у нас даже работает USB hot-plug [6]. Разработчики QNX Demo Disk [7] нервно курят в сторонке.

Поддерживаются следующие USB-контроллеры [8]:

  • OHCI + UHCI (USB 1.1)
  • EHCI (USB 2.0)

Поддерживаются следующие USB-устройства:

  • Клавиатуры (USB keyboard)
  • Мышки (USB mouse)
  • Флешки (USB flash disk / USB thumb-drive)
  • Хабы (USB hub)

Тестирование поддержки USB сейчас в самом разгаре. Будем очень рады вашим баг-репортам на нашем форуме в этой теме: board.kolibrios.org/viewtopic.php?f=30&t=2305 [9]

Известные проблемы и ограничения, о которых можно не сообщать:

  1. На «навороченных» мышах не работает скроллинг.
  2. На USB-накопителях поддерживаются только FAT16 и FAT32.
  3. Код поддержки USB-накопителей не обрабатывает ситуации смены карты внутри накопителя без переподключения самого накопителя.
  4. Код поддержки USB-накопителей останавливает всю работу с устройством, увидев фатальную ошибку. Если USB-накопитель поддерживает два логических устройства, но с одним из них работать не получается, то со вторым могут быть проблемы.
  5. Отладочный вывод чересчур интенсивный. Не следует пугаться "TD failed" от движений мыши и "Command 03 failed" при подключении флешки, это нормальные явления.
  6. В VirtualBox [10] с установленной поддержкой USB2 устройства, подключённые до загрузки к виртуальному USB2-контроллеру, не будут видны. Это баг VirtualBox.
  7. Контроллеры XHCI (USB 3.0) не поддерживаются — никакие устройства, вставленные в разъём USB 3.0, не будут определяться

Исходный код выложен в нашем репозитории [11] в свободном доступе, так что с ним может ознакомиться любой желающий. Весь код написан с нуля за 2 года одним человеком — нашим неформальным лидером CleverMouse [12]. Если вам интересно, как она это сделала, то она согласна даже написать обзорную статью. Голосуйте!

Автор: yogev_ezra

Источник [13]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/35465

Ссылки в тексте:

[1] KolibriOS: http://www.kolibrios.org

[2] ночных сборках: http://kolibrios.org/ru/download.htm

[3] USB: http://ru.wikipedia.org/wiki/USB

[4] FASM: http://www.flatassembler.net/

[5] MenuetOS: http://www.menuetos.net/

[6] hot-plug: http://en.wikipedia.org/wiki/Hotplug

[7] QNX Demo Disk: http://toastytech.com/guis/qnxdemo.html

[8] USB-контроллеры: http://en.wikipedia.org/wiki/Host_controller_interface_(USB,_Firewire)

[9] board.kolibrios.org/viewtopic.php?f=30&t=2305: http://board.kolibrios.org/viewtopic.php?f=30&t=2305

[10] VirtualBox: http://www.virtualbox.org

[11] нашем репозитории: http://websvn.kolibrios.org

[12] CleverMouse: http://habrahabr.ru/users/clevermouse/

[13] Источник: http://habrahabr.ru/post/181309/