USB

Обсуждаем ReactOS по-русски

Moderators: fog, fireball

fireball
Developer
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia
Contact:

Re: USB

Post by fireball »

Вобщем-то можно сказать что шаг в этом направлении уже сделан :). Теперь по умолчанию загрузка ядра реактоса и винды для загрузчика - одно и тоже.

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

http://www.suuntosports.com/mysuunto/do ... etup_7.exe - драйвер под USB.

usb2com is a VCP(virtual com port) driver for usb to serial port converter of E0 Technology,Inc. - http://sourceforge.net/projects/usb2com/

The EasyUSB project aims at developing a generic USB driver for Windows using the KMDF. For the end-user an C++ API will be available for easy USB endpoint communication. - http://sourceforge.net/projects/easyusb/

FreakUSB is an open source embedded USB device protocol stack. - http://sourceforge.net/projects/freakusb/

http://libusb-win32.sourceforge.net/ - открытая библиотека для USB, последний релиз от 02/15/2004: Version 0.1.8.0 released.

Это ссылки на драйвера и библиотеки, найденные форумчанином под ником unxed и мной. Уважаемый fireball, ваш коллега fog ответил мне, что поддержка драйвера USB ведется Вами, скажите пожалуйста - хоть что-нибудь из найденого пригодилось для сообщества РеактОС?

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

Разработчик mjmartin провел работу над драйвером USB(http://cia.vc/stats/project/ReactOS)
usb/usbehci]
Initial implementation of usbehci, aka USB 2.0.
Implement AddDevice, StartDevice, InterruptService and DPC Routines.
Implement basic IRP queuing and handling.
Implement starting, stopping of EHCI controller and querying port capabilities.
Implement PNP for Query Relations, Query ID, Query BusInfo.
Implement finding the active ports when USB devices are attached and releasing control to companion controller if devices is not a high speed devices.
Implement reporting devices connects to upper Pdo (hub) driver.
Hub driver attaches successfully and sends URBs to query descriptors from USB devices on Windows.
Currently not build enabled as it will cause problems with current UsbDriver in trunk.
Code heavily based on current PCI drivers and UsbDriver from trunk.

[include/usb200.h]
Fix two unions, make text after last #endif a comment as it should be, and add newline at end of file.

Никто еще не тестировал эти сборки, как виснет или нет при включенном USB 2.0?

hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto »

Тестировать пока нечего, драйвер ещё даже не включён в сборку:
Currently not build enabled as it will cause problems with current UsbDriver in trunk.

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

Прошу прощения, я просто английский не очень... :oops: Просто столько изменений в драйвере, вот я и решил, что прорыв есть, инет у меня медленный, вот я предположил, что уже кто-нибудь протестировал этот исправленный драйвер. :oops: Буду с нетерпением ждать сообщения об удачном испытании.

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

Разработчик mjmartin продолжает работу над драйвером USB.
[usb/usbehci]
Added numerous structures required for Asynchronous Lists used to communicate with controller. Needs much more work.
Implement initial retrieving Device and String Descriptors from USB devices.
Fixed improper handling of Queued IRPs that was causing crashes.
For now, always queue the Irp if the request is a Urb of type Get Descriptor.
Reorganized code to trim down source files.

Будем надеяться, что через короткое время данный драйвер перестанет быть причиной зависаний системы. Прогресс есть, назло всем неверующим в РеактОС есть!!! Да, работы много, но она выполняется!

Yaraslau
Posts: 429
Joined: Mon Sep 28, 2009 7:47 pm
Location: Беларусь/Belarus, ex-USSR

Re: USB

Post by Yaraslau »

Может понадобится...

http://www.all-ebooks.com/2009/06/14/us ... e-4-e.html

Jan Axelson
Издательство: Lakeview Research
Год издания: 2009
Страниц: 506
ISBN: 1931448086
Язык: английский
Формат: PDF
Размер: 6 Мб
This updated edition of the best-selling developer's guide to the Universal Serial Bus (USB) interface covers all aspects of project development, including hardware design, device firmware, and host application software.
Topics include how to choose a device controller chip, how to write device firmware for USB communications, how to cut development time by using USB device classes, and how to write software to access devices that perform vendor-specific functions. Also discussed are hardware interfacing, using bus power, wireless technologies, and USB On-The-Go.

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

Тестировал сборку под номером 45065, запускал под Virtual Box, контроллер USB 2.0 оставил включенным, реакция системы была положительной, то есть ничего не зависло, не рухнуло, не упало, загрузка произошла нормально. Верной дорогой идут товарищи!!! Если бы еще юниата доработать, чтоб амдешные чипсеты поддерживал, я бы протестировал и на реальном оборудовании, а так зависает.

hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto »

я бы протестировал и на реальном оборудовании, а так зависает.
А старый драйвер (ATAPI.SYS) вместо UNIATA, тоже не работает?

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

Пока о драйвере ATAPI.SYS ничего не могу сказать, просто не обратил внимания. Как-то все больше юниата перед глазами :oops: Кстати, еще одна моя ошибка: № сборки - 45087, я просто не ту сборку тогда держал загруженной :oops: :oops: :oops: Проверить пока не могу. Планирую еще через пару недель скачать сборку, работать буду уже с ней.

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

mjmartin понемногу отшлифовывает драйвер USB. Не знаю для кого как, а для меня это приятная новость. Немного ему помог Кристофф фон Виттич. Вот список изменений:
Commit by mjmartin :: r45554 reactos/drivers/usb/usbehci/ (fdo.c irp.c urbreq.c):
[usb/usbehci]
Remove WorkItem code as its not needed. UsbHub driver polls the hubs for device connects.
Register USB Host Controller Device Interface during AddDevice.- Implement more URB's USB_DEVICE_DESCRIPTOR_TYPE, USB_CONFIGURATION_DESCRIPTOR_TYPE, URB_FUNCTION_SELECT_CONFIGURATION, URB_FUNCTION_CLASS_DEVICE/USB_DEVICE_CLASS_HUB.
Implement returning generic UsbdDeviceHandle in URB struct. #

Commit by cwittich :: r45553 reactos/drivers/usb/usbehci/usbiffn.c:
[usb/usbehci]
fix typo

Commit by mjmartin :: r45552 reactos/drivers/usb/usbehci/ (5 files):
[usb/usbehci]
Define Device and Configuration Descriptors for RootHub20.
Queue all USB_SUBMIT_URBs and create a separate thread to handle them.
For PNP START_DEVICE, Create the internal RootHub usb device and register usb hub device interface.
Fill in direct call interface for USB_BUS_INTERFACE_USBDI_V2 and USB_BUS_INTERFACE_HUB_V5.
Implement Direct Call Interface function GetExtendedHubInformation.
Remove duplicate structures that are already defined in USB Headers. Some reorganization.

Небольшой оффтоп к разработчикам: предлагаю сделать в табличной форме списки функций ядра, проводника, API и т.д., в которой отметить, что уже реализовано, что нужно реализовать(сделано-не сделано), при желании можно указать % выполнения работы(типа реализован ключ Х, не реализован ключ У). Если идея интересна и заслуживает внимания, прошу просто указать список названий нужных файлов(обязательно с расширением), информация будет взята: из интернета, у знающих людей, книг и сайта микрософта. сведу все это в таблицу в формате Экселя 97, ее выложат на сайт(можно файлом, можно отдельной страницей) и те разработчики, кто занимается разработкой и поддержкой win32-подсистемы(в частности ядром и API), просто смогут смотреть, что уже сделано, а что нет, думаю это должно немного облегчить работу. Если я чего-то напутал, прошу поправить, я ж не программист :oops: :( Возможно вместо слова "функции" нужно вставить слово "вызов"? Жду ответа.

hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto »

Небольшой оффтоп к разработчикам: предлагаю сделать в табличной форме списки функций ядра, проводника, API и т.д., в которой отметить, что уже реализовано, что нужно реализовать(сделано-не сделано), при желании можно указать % выполнения работы(типа реализован ключ Х, не реализован ключ У).
Такой список составить будет очень трудно!

Для удовлетворения любопытства, есть результаты тестирования, есть устаревшая информация на сайте Wine, есть ещё кое-что здесь, здесь, здесь.

Yaraslau
Posts: 429
Joined: Mon Sep 28, 2009 7:47 pm
Location: Беларусь/Belarus, ex-USSR

Re: USB

Post by Yaraslau »

hto, как раз к выходу стабильной версии можно успеть. ;)

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

mjmartin упорно, хоть и не регулярно работает над улучшением драйвера USB. Но работает! У меня такое ощущение, что скоро РеактОС будет нормально воспринимать каждое второе подключенное USB-устройство, обеспечивая корректную и комфортную работу с ним. Я очень в это верю!

[usb/usbehci]
Add missing break's in CompletePendingURBRequest that caused crashes.- Add some debugging for Urb Function URB_FUNCTION_CLASS_OTHER.
Implement IOCTL_INTERNAL_USB_GET_HUB_COUNT returning only 0 Hubs for now.
Implement RootHubInitNotification.
Misc cleanup.

Demonidios
Posts: 237
Joined: Fri Sep 25, 2009 7:35 pm

Re: USB

Post by Demonidios »

mjmartin настойчиво и упорно дорабатывает драйвер USB. Дорогу осилит идущий! С нетерпением буду ждать такого же прогресса ив поддержке/доработке uniata!

[usb/usbehci]
Add back WorkItem code but use it for calling the hub drivers callback routine (telling hub driver it needs check port status).
Add missing break for case URB_FUNCTION_GET_STATUS_FROM_DEVICE.
RootHubInitNotification: BusContext is the Device Object not the Device Objects Extensions.
UsbEhci now receives URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER IN requests, which is where we want to be for informing hub driver which port a device has been connected.

Жаль, что я сам не умею программировать на Си и Асме, вынужден сидеть сложа руки! :oops: :( :oops: :( :oops: :( :oops: :( :( Хотелось бы тоже сделать свой вклад в развитие РеактОС!Но увы, не дано...

Post Reply

Who is online

Users browsing this forum: Yandex [Bot] and 1 guest