Page 3 of 19

Re: USB

Posted: Sun Nov 01, 2009 11:43 pm
by fireball
Вобщем-то можно сказать что шаг в этом направлении уже сделан :). Теперь по умолчанию загрузка ядра реактоса и винды для загрузчика - одно и тоже.

Re: USB

Posted: Sat Nov 21, 2009 9:34 am
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 ведется Вами, скажите пожалуйста - хоть что-нибудь из найденого пригодилось для сообщества РеактОС?

Re: USB

Posted: Fri Jan 08, 2010 5:28 pm
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?

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

Re: USB

Posted: Fri Jan 08, 2010 10:34 pm
by Demonidios
Прошу прощения, я просто английский не очень... :oops: Просто столько изменений в драйвере, вот я и решил, что прорыв есть, инет у меня медленный, вот я предположил, что уже кто-нибудь протестировал этот исправленный драйвер. :oops: Буду с нетерпением ждать сообщения об удачном испытании.

Re: USB

Posted: Sun Jan 10, 2010 8:41 am
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.

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

Re: USB

Posted: Sun Jan 10, 2010 7:18 pm
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.

Re: USB

Posted: Tue Jan 19, 2010 9:45 pm
by Demonidios
Тестировал сборку под номером 45065, запускал под Virtual Box, контроллер USB 2.0 оставил включенным, реакция системы была положительной, то есть ничего не зависло, не рухнуло, не упало, загрузка произошла нормально. Верной дорогой идут товарищи!!! Если бы еще юниата доработать, чтоб амдешные чипсеты поддерживал, я бы протестировал и на реальном оборудовании, а так зависает.

Posted: Wed Jan 20, 2010 1:49 am
by hto
я бы протестировал и на реальном оборудовании, а так зависает.
А старый драйвер (ATAPI.SYS) вместо UNIATA, тоже не работает?

Re: USB

Posted: Wed Jan 20, 2010 6:15 pm
by Demonidios
Пока о драйвере ATAPI.SYS ничего не могу сказать, просто не обратил внимания. Как-то все больше юниата перед глазами :oops: Кстати, еще одна моя ошибка: № сборки - 45087, я просто не ту сборку тогда держал загруженной :oops: :oops: :oops: Проверить пока не могу. Планирую еще через пару недель скачать сборку, работать буду уже с ней.

Re: USB

Posted: Wed Feb 10, 2010 9:13 pm
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: :( Возможно вместо слова "функции" нужно вставить слово "вызов"? Жду ответа.

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

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

Re: USB

Posted: Thu Feb 11, 2010 10:46 am
by Yaraslau
hto, как раз к выходу стабильной версии можно успеть. ;)

Re: USB

Posted: Sun Feb 21, 2010 6:48 pm
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.

Re: USB

Posted: Tue Feb 23, 2010 8:01 pm
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: :( :( Хотелось бы тоже сделать свой вклад в развитие РеактОС!Но увы, не дано...