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
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работRoadmap ядра by VgalРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOSКоординаторы"Пасхальные яйца"Монетизация
Другое Типы ядерFreeWin95
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компонентыFAQReactOS как рабочая станцияReactOS и UEFI
Обзоры ОболочкаNTVDMWOWCommunity EditionИстория сайтаReactOS ServerКриптографияПО времен XP