ROS USB Vgal

Материал из Русский WINE
Перейти к: навигация, поиск

Работа Вадима Галянта над USB

Вадим Галянт разрабатывает драйверы USB для ReactOS.

В рамках своей работы он уже реализовал:

  • HID-драйверы для USB-мышей, клавиатур и джойстиков
  • usbhub.sys
  • usbport.sys
  • usbstore.sys
  • как "холодное", так и "горячее" добавление устройства
  • исправления для USB и PnP

Для тестирования драйверов на реальном оборудовании, необходимо добавить (e|o|u)hciusb.sys драйвера из Windows Server 2003, т.к в ReactOS данные драйвера реализованы не полностью.

Начало

25-ноя-2015

Разработчику Вадиму Галянту (под ником vgal) удалось написать патч, с помощью которого у него получилось загрузить ReactOS LiveCD с флешки на USB 1.1, но только с UHCI драйвером. EHCI-драйвер был отключен. OHCI не тестировался.

7-дек-2015

У vgal-а две новости, хорошая и плохая.

Хорошая: Он обнаружил, что UHCI-драйвер USB 1.1 использует не функцию MmGetPhysicalAddress (), а двойную буферизацию. В будущем он хочет попробовать использовать этот механизм в драйверах OHCI и EHCI. Пока есть проблема в MmGetPhysicalAddress() (точнее - проблема в DPC при переключении контекста процесса).

Плохая: обработка ошибок на уровне USBSTOR работает плохо.

10-дек-2015

vgal протестировал загрузку ReactOS с новым USB 2.0 EHCI-драйвером на реальном железе и VirtualBox с помощью Plop boot manager. UHCI и OHCI драйверы были отключены. Корректно может работать только одно устройство, все остальные USB должны быть отключены.

24-дек-2015

vgal протестировал загрузку ReactOS с флешки на реальном железе с USB 1.1 и USB 2.0. USB-мыши и клавиатуры работают не всегда и не все. Разработчик пробовал разные типы подключения - до и после загрузки системы. Кроме того, можно попробовать различные комбинации портов.

Если загрузка ReactOS прошла успешно, то систему необходимо выключить корректно (сохранить реестр на флешку).

31-дек-2015

Благодаря работе, которую проделал vgal, ReactOS с новыми USB-драйверами может загружаться не только в режиме отладки. Файлы из прилагаемых архивов предназначены только для LiveCD (не для установочных) образов.

Если загрузка ReactOS прошла успешно, то систему необходимо выключить корректно (сохранить реестр на флешку).

5-янв-2016

vgal реализовал поддержку высокоскоростного чтения/записи для USB 2.0 (EHCI) (Теперь USB 2.0 в ReactOS быстрее чем USB 1.1). Файлы из прилагаемых архивов предназначены только для LiveCD (не для установочных) образов.

Если загрузка ReactOS прошла успешно, то систему необходимо выключить корректно (сохранить реестр на флешку).

Добавление в транк

После тестирования сообществом, и просмотра кода разработчиками, наработки Вадима начали добавлять в транк.

  • 16 июня - UsbPort r75062
  • 29 июня - UsbHub r75227
  • 9 июля - UsbPort r75314
  • 8 сен - начальная реализация раздельной передачи данных r75783

Новости

2017:

12 мая

Вадим опубликовал ReactOS livecd 0.4.5-RC2 + USB boot. (Для запуска на железе, необходимо заменить драйверы usbehci.sys и один из двух драйверов usbuhci.sys или usbohci.sys от XP или от W2003.)

2 июня

livecd

livecd_74743+USB+HID (транк + драйверы USB и HID.)

Загрузка с USB не поддерживается.

Для VirtualBox единственное необходимо переключить настройку гостевой машины на USB1.1. Для реальных компьютеров неоходимо заменять usb(uoe)hci драйверы.

Пока нет поддержки USB мультимедиа устройств, а также Rate Matching Hub (RMH), которые появились в 2009 г. в чипсетах Intel (начиная с P55 ), и расщеплённых транзакций. Собственно в текущих драйверах этого тоже нет, поэтому без потерь.

Желательно протестировать основные USB устройства: мышки, клавиатуры, флешки, кард-ридеры.

bootcd

bootcd74743+USB+HID+.7z Для установки на HDD. Соответствует LiveCD, но не обошлось без небольшого количества магии.

9 июня

ReactOS 0.4.5 Hybrid USB

25 июня

LiveCD 75193 + usb_wip Транк ReactOS + драйверы из ветки usb_wip на GitHub. Загрузка с USB не поддерживается.

BootCD 75193 + usb_wip Для установки на HDD. Соответствует LiveCD + небольшие изменения в загрузчике и ядре (PnP Manager).

21 июля

ReactOS 75384 LiveCD (trunk) + new USB

Ссылки

ReactOS
Search.png
Доклады
О ReactOS • ARWINSS • ЧеЗа
Информация Новости Выпуски новостей • Переводы блогов • Новости проекта • Видео • ReactOS на Хабре • USB от Вадима Галянта
Разработка Руководство по программированию • Отсутствующая функциональность • Ветви разработки • Компоненты системы • ReactOS и Wine • План работ • Roadmap ядра by Vgal • Разработчики • Совместимость с dll Windows • Наиболее значимые изменения за год • Используемые проекты • Google Summer of Code • Известные проблемы
Порты AMD64 • ARM • Xbox • PowerPC
Компоненты Файловые системы • Режим совместимости • Отчеты об ошибках • Печать • USB • Ядро
Загрузчик Восстановление MBR • Загрузка из GRUB • Параметры загрузки
Прочее ARWINSS • Приложения в ReactOS • Оформление ReactOS • Координаторы • "Пасхальные яйца" • Монетизация
Другое Типы ядер • FreeWin95
Помощь
RAM-диск ReactOS по PXE • с жесткого диска
Разработка Стиль написания кода • Стандарты RC-файлов • Работа с документацией • Венгерская нотация • GNU Indent • [ Subversion : ветви • слияние • использование TortoiseSVN ] • Основы перевода • Отправка патчей
Репорты Отладка в VirtualBox • Отладка на экран • Добавление программы в менеджер приложений • Отправка отчетов
Отладка Com0com • GDB • Kdbg • Rossym.gdb • Roswin.gdb • WinDBG • Руководство по WinDBG • Включение трассировки ядра • Коды DPRINT • Удалённый отладчик ReactOS
Сборка CMake • RBuild • Файлы RBuild • Автоматическое копирование файлов • Сборка MINGW-w64 • Сборка модулей • Среда сборки
Тестирование VirtualBox • VMware • QEMU • Hyper-V • Необходимый объём диска • Перенос файлов на виртуальный диск • Установка ReactOS • Установка драйверов
Сеть Общие папки • Samba • NFS
Игры Установка DirectPlay
Обновление ReactOS • Загрузочная флешка • Чем можно помочь проекту • Создание нового пользователя • Звук и сеть в VirtualBox • Съемка и публикация видео • IRC-канал • Сторонние компоненты • FAQ • ReactOS как рабочая станция • ReactOS и UEFI
Обзоры Оболочка • NTVDM • WOW • Community Edition • История сайта • ReactOS Server • Криптография • ПО времен XP