Для тех, кто интересуется проектом KolibriOS, у нас очень хорошая новость — ровно 1 неделю назад в нашем проекте в ночных сборках появилась поддержка USB. В лучших традициях проекта, код полностью написан на ассемблере FASM. Причём он всё ещё влазит на одну дискету занимает 1MB, включая программы и игры. И, в отличие от нашего прародителя MenuetOS, у нас даже работает USB hot-plug. Разработчики QNX Demo Disk нервно курят в сторонке.
Поддерживаются следующие USB-контроллеры:
- 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
Известные проблемы и ограничения, о которых можно не сообщать:
- На «навороченных» мышах не работает скроллинг.
- На USB-накопителях поддерживаются только FAT16 и FAT32.
- Код поддержки USB-накопителей не обрабатывает ситуации смены карты внутри накопителя без переподключения самого накопителя.
- Код поддержки USB-накопителей останавливает всю работу с устройством, увидев фатальную ошибку. Если USB-накопитель поддерживает два логических устройства, но с одним из них работать не получается, то со вторым могут быть проблемы.
- Отладочный вывод чересчур интенсивный. Не следует пугаться "TD failed" от движений мыши и "Command 03 failed" при подключении флешки, это нормальные явления.
- В VirtualBox с установленной поддержкой USB2 устройства, подключённые до загрузки к виртуальному USB2-контроллеру, не будут видны. Это баг VirtualBox.
- Контроллеры XHCI (USB 3.0) не поддерживаются — никакие устройства, вставленные в разъём USB 3.0, не будут определяться
Исходный код выложен в нашем репозитории в свободном доступе, так что с ним может ознакомиться любой желающий. Весь код написан с нуля за 2 года одним человеком — нашим неформальным лидером CleverMouse. Если вам интересно, как она это сделала, то она согласна даже написать обзорную статью. Голосуйте!
Автор: yogev_ezra