USB

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

Moderators: fog, fireball

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

Re: USB

Post by Demonidios »

Commit by janderwald on usb-bringup-trunk :: r55147 /drivers/usb/usbhub_new/fdo.c: (link)

[USBHUB]
Fix bugs introduced in 55134, 55135
USB Mass Storage devices should now automatically install again

[USBSTOR]
Fix cancellation for IRPs that have already been dispatched for processing by IoStartNextPacket
Don't complete IRPs with the IRP list lock held
Clear the cancel routine before completing the IRP

[USBHUB]
Add more checks for detecting composite device #

[USBHUB]
Check if the device is a composite device
Report USB\COMPOSITE as compatible id when a usb compsite device is detected

Драйвер понемногу выходит на финальную стадию завершения готовности.

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

Re: USB

Post by Demonidios »

Драйвер становится все лучше и стабильнее!

[USBOHCI]
No need to turn off interrupts
Check if bios is active
Check for timeouts when resetting host controller #
09:50 today ReactOS Commit by cgutman on usb-bringup-trunk :: r55170 /drivers/usb/usbohci/hardware.cpp: (link)
[USBOHCI]
Don't turn off interrupts before setting the OHCI_OWNERSHIP_CHANGE_REQUEST bit because it prevents the SMM driver from receiving the interrupt that tells it to give up ownership of the host controller
This fix should be merged to Haiku also which has the same bug #
[USBSTOR]
Use the correct USBD_TRANSFER_DIRECTION value for write operations #
[USBHUB]
Partly revert 55167, it conflicts with hotplugging #
[USBSTOR]
Add debug trace [USBOHCI]
Implement proper GetPortStatus [USBHUB]
Reset all connected ports before sending first SCE
USB Devices present before booting are now detected with OHCI controller. EHCI code is present but not yet activated #
[USBSTOR]
Fix a bug in SRB queuing #
[USBSTOR]
Get the actual value for the removable media bit instead of hardcoding it to true

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

Re: USB

Post by Demonidios »

Драйвер активно совершенствуется!
Commit by janderwald on usb-bringup-trunk :: r55197 / (8 files in 2 dirs): (link)
[USBCCGP]
Query bus interface and check if USBC_DEVICE_CONFIGURATION_INTERFACE_V1 is supported. This interface is implemented by attached usb filter drivers and is used to enumerate functions of the composite usb device
Implement enumeration of function by using usb interface association descriptors and by the USBC_DEVICE_CONFIGURATION_INTERFACE_V1
Needs audio legacy method and union function descriptors to be fully functional
WIP, not yet tested
Fix build with mingw by declaring _DISK_GEOMETRY_EX outside the function #
[USBOHCI]
Wait the required time for the port to be ready after powering it up #
[USBCCGP]
Start implement USB Composite generic parent driver which is used for USB composite devices
Start implement FDO initialization, needs to implement parsing of usb interface assocaition descriptor to complete FDO initialization #
[HIDCLASS]
Implement IRP_MN_REMOVE_DEVICE for FDOs and PDOs
USB mice will now work after being disconnected then reconnected #
[NTOSKRNL]
Add a hack so that registering an interface after a remove and reconnect works #
[MOUCLASS]
Pass down unsupported IRPs instead of completing them #
[MOUHID]
Multiple the scroll value by WHEEL_DELTA (120) like i8042prt does
Scrolling with USB mice works now
Disable debugging

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

Re: USB

Post by Demonidios »

Это наверное самый активно развивающийся драйвер на данный момент!

Commit by cgutman on usb-bringup-trunk :: r55232 /drivers/usb/usbehci_new/hardware.cpp: (link)
[USBEHCI]
Fix initialization bugs for EHCI controllers
Try again to release ownership of low-speed devices after reset
Wait for the port reset to complete #
[USBOHCI]
Attempt to fix reset race conditions #
[USBOHCI]
Revert previous revision #
[USBOHCI]
Fix setting device address #
[USBHUB_NEW]
Fix buffer overflow for composite devices #
[USBEHCI_NEW]
Disable debug spam #
[USBSTOR]
Set the correct transfer direction value in the CBW
Fixes the infamous system hang that occurred when writing to a USB drive #
[USBSTOR]
USBD_SHORT_TRANSFER_OK is only a valid flag if USBD_TRANSFER_DIRECTION_IN is also set #
[USBCCGP]
Implement querying device relations for FDO
Implement creating device objects for each discovered function
Invalidate device relations after the child pdo have been created
Implement PDO device relations, most of query id, query device capabilities, start device
USBCCGP should now initialize and create the child pdos
Next is device control handling
WIP, untested #
[USETUP]
Merge r55212 and 55215
Add a temporary hack to allow testing installation on a device not bootable by the BIOS (like USB drives in VirtualBox)
USB devices now show up as installation targets during setup but attempting to install onto them results in setup hanging due to bugs in the USB code #
[USETUP]
Allow removable media to be selected as an installation target
Fix broken unpartitioned space calculation if the first partition starts below the disk's track size (such as a 1MB aligned partition) #
20:43 yesterday ReactOS Commit by janderwald on usb-bringup-trunk :: r55214 /drivers/storage/class/disk_new/ (disk.c disk.h enum.c pnp.c): (link)
[DISK_NEW]
Revert NTAPI changes

S_Snake
Posts: 145
Joined: Mon Oct 31, 2011 6:37 pm
Location: Russian Empire
Contact:

Re: USB

Post by S_Snake »

S_Snake wrote:странное дело, ни фрилоадер, ни загрузчик ROS не хотели стартовать, пока из биоса не отключил Legacy USB storage detect.
Up, проблема сохраняется и в r55319.

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

Re: USB

Post by Demonidios »

Commit by janderwald on usb-bringup-trunk :: r55357 /lib/drivers/hidparser/ (api.c parser.c): (link)
[HIDPARSE]
Implement HidP_GetUsagesEx
HidP_GetUsagesEx uses HidP_GetUsages with undefined usage page
Required for hid usb support
Check if there is a maximum set. In that case verify if a usage maximum has been set and apply it to the currnt usage. Fixes asserts while usb composite device installation (keyboard) #
[HIDCLASS]
Implement set idle request. The device should only send data when there is actual data. May also fix the mouse debug flood when mouse is ejected
Not yet supported in OHCI
Add missing constants #
[NTOSKRNL]
Don't check for the correct parent in IopActionInitChildServices
This function is also used to load drivers later for devices enumerated early in boot (before we have access to the disk) and we want it to run for all devices on the system, not just those that are immediate children of the root node
Fixes broken PnP in 3rd stage #
[NTOSKRNL]
Implement IoVolumeDeviceToDosName(), taking advantage of newcomer in the branch, MountMgr :-).
This implementation will in fact don't work as MountMgr doesn't implement that part... But the day it's ready, this function will be! #
[HIDPARSER]
Rewrite hidparser so that it support multiple top level collections
Add support for flat collection context meaning all context structures are aligned in after each other. The reason this is required is that usermode hid.dll will access the same structure and thus can't use kernel pointers. User mode hid.dll is used to support keyboard with custom keys (for example search key, email key etc) #
[USBSTOR]
Add forgotten event initialization from last usbstor commit #
[USETUP]
Don't quit if setup doesn't find a non-PnP HDD (until PnP stuff works better) #
[USBSTOR]
Fix handling of SRB_FUNCTION_FLUSH and SRB_FUNCTION_SHUTDOWN to prevent data loss

Над этим драйвером трудятся уже три человека - Камерон Гутман, Йоханес Андервальд, Пьер Швейцер. А М.Дж.Мартин отошёл от дел(в смысле больше дорабатывает этот драйвер). Но ничего - с каждым коммитом драйвер становится всё стабильнее и лучше!

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

Re: USB

Post by Demonidios »

Commit by janderwald on usb-bringup-trunk :: r55370 /drivers/usb/usbd/usbd.c: (link)
[USBD]
In 2012 a long protected natural resource for bugs was shutdown due to popular usb device support demand
Fix length check in USBD_ParseDescriptors. (PLONG)Descriptor + TotalLength is not the length of the configuration descriptor but twice the configuration descriptor
Reset found variable in the loop. This fixes finding of interfaces which are not the first one in the configuration descriptor
Again moving to next usb descriptor was broken. UsbDeviceDescriptor = UsbDeviceDescriptor + UsbDeviceDescriptor->bLength does not move to the next but to next XX descriprors specified by bLength
Introduced in rev 17382 (14/08/2005) #
[KBDHID]
Implement IOCTL_KEYBOARD_QUERY_TYPEMATIC, IOCTL_KEYBOARD_SET_TYPEMATIC
Fix bug in the dispatch routine
Keyboard presses are no longer reported twice #
[HIDPARSER]
A key break code indicator is 0x80, not 0x1 [USBCCGP]
Silence debug print [KBDHID]
Implement IOCTL_KEYBOARD_QUERY_INDICATORS, IOCTL_KEYBOARD_SET_INDICATORS
Partly implement dispatching to kbdclass
Kbdclass now receives keys from kbdhid. Not yet fully working
Tested in XP+ ReactOS USB Stack + ReactOS HID stack + USB Composite Device Keyboard
[USBEHCI][USBOHCI]
Wait 100 milliseconds for the port power and insertion to stabilize
Wait for the 10 millisecond "recovery" period after reset #
[USBEHCI]
Wait 20 milliseconds for port reset #
[USBEHCI]
Wait 20 milliseconds after enabling power for the port to stabilize #
13:56 today ReactOS Commit by janderwald on usb-bringup-trunk :: r55364 / (3 files in 2 dirs): (link)
[HIDPARSE]
Use report value when report item bitcount > 1 [KBDHID]
Print raw report
KBDHID starts to receive normal keys and modifier keys

Прогресс драйвера не стоит на месте!

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

Re: USB

Post by Demonidios »

Commit by janderwald on usb-bringup-trunk :: r55389 /drivers/usb/usbohci/ (6 files): (link)
[USBOHCI]
Check if the transfer descriptors reported errors and propagate the error in the urb status field
OHCI now reports error which the class driver are handling
Allocate device descriptor from non paged pool to prevent possible alignment problems
Fix checking of completed transfer descriptors
Fix double freeing of descriptors
Cleanup endpoints when the halted bit is set by the host controllers
Check for the endpoint direction in the data descriptor
Setup descriptor needs buffer rounding set #
[EHCI]
Explictely clear bios owned flag and remove all SMI interrupts #
[USBEHCI]
Check for bios ownership
Acquire ownership if bios owns it
Verify ownership #
[USBEHCI]
Use constants instead of hardcoding register offsets. Taken from Haiku
Elements in HCSP-PORTROUTE are 4 bit entries instead #
23:18 yesterday ReactOS Commit by cgutman on usb-bringup-trunk :: r55382 /base/setup/usetup/interface/usetup.c: (link)
[USETUP]
Write the partition table back after CheckActiveBootPartition() because it could've changed the partition table on a disk with no active partition
Fixes issues installing ROS on new disks and disks with no active partitions (including USB disks)

igorko
Posts: 145
Joined: Thu Jun 18, 2009 3:12 pm

Re: USB

Post by igorko »

Прошу потестировать сборку. Особое внимание обратите на HID-композитные устройства и флешки(и USB-HDD). С ними еще встречаются проблемы. Простые мышки и клавы работают(на клаве еще не все кнопки но основная панель работает). Гарячее извлечение может крушыть систему(над етим щас тоже работают)

Выкладывайте логи сдесь(или на пастбине)

bootcd-usb-55401.7z

P.S. В зборку встроен хак для VBox 4x (правда не тот что будет включен в 0.3.14 а другой). У меня работает. В ВБоксе сначала пробуйте OHCI а потом уже EHCI (если не ставить галку напротив EHCI то будет включен OHCI ) И конечно пробуйте на реальном железе. (Так как например ВБокс не умеет грузится с флешки)

S_Snake
Posts: 145
Joined: Mon Oct 31, 2011 6:37 pm
Location: Russian Empire
Contact:

Re: USB

Post by S_Snake »

igorko, это на реальном железе протестировать?

igorko
Posts: 145
Joined: Thu Jun 18, 2009 3:12 pm

Re: USB

Post by igorko »

Как хош. Моно и в вбоксе, можно и на реальном. В вмВаре я не тестирую, но можно и там.

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

Re: USB

Post by Demonidios »

Commit by cgutman :: r55555 reactos/ (144 files in 45 dirs): (link)
[USB]
We proudly merge the first charge of the usb-bringup branch. We do want to stress hardware support is still under heavy development and testing in real hardware is experimental
Merge the Human Interface Device Stack(HID) which is used for mice / keyboards and other devices which use the USB interface, consisting of hidusb, hidparse, hidclass, mouhid, kbdhid
Merge the composite driver, supports USB composite devices, laid out in usbccgp
Merge the generic hub driver, which supports the USB root hub and in future USB hubs. Driver is usbhub
Merge the Open Host Controller Interface driver (ohci)
Merge the Enhanced Host Controller Interface driver (ehci)
Merge the many fixes in other areas of ReactOS needed for USB to work (ntoskrnl, pci, inf, umpnpmgr, usetup)
Special thanks goes the Haiku team, whose excellent code has provided a great base for the development of the new ReactOS USB / HID stack
The development of the USB stack has shown the great potential when ReactOS developers team up together to achieve a common goal. The involved developers are here, listed alphabetically: Alex Ionescu Amine Khaldi Cameron Gutman Johannes Anderwald Michel Martin Thomas Faber Thomas Lotz(Haiku) Let's start the ReactOS revolution

Commit by cgutman on usb-bringup-trunk :: r55553 /drivers/ (35 files in 11 dirs): (link)
[HIDCLASS][HIDPARSE][HIDUSB][KBDHID][MOUHID][USBCCGP][USBD][USBEHCI][USBOHCI][USBHUB][USBSTOR]
Massive debug spam reduction #
04:15 today ReactOS Commit by janderwald on usb-bringup-trunk :: r55552 /drivers/ (4 files in 2 dirs): (link)
[USBEHCI]
Enable async park mode when available
Use correct type for the pipe handle
Implement URB_FUNCTION_GET_STATUS_FROM_INTERFACE, URB_FUNCTION_GET_STATUS_FROM_ENDPOINT
Verify that there is buffer provided in SubmitSetupPacket [KBDCLASS]
Forward requests to lower device

Судя по всему, новый драйвер включён в сборку, а старый удалён.

towerr
Posts: 258
Joined: Wed Jun 20, 2007 3:01 am

Re: USB

Post by towerr »

Demonidios wrote:Commit by cgutman :: r55555 reactos/ (144 files in 45 dirs): (link)
[USB] ***
****
Судя по всему, новый драйвер включён в сборку, а старый удалён.
да... теперь те, кто хочет и может разбиратся с дебаглогами, хочет помочь в тестировании усб, читать тут...
http://www.reactos.org/wiki/index.php/V ... bug_output
http://www.reactos.org/wiki/index.php/D ... rial_cable
http://www.reactos.org/wiki/index.php/D ... _backtrace
по русски - http://ros.systemcore.ru/site/wiki/
вики русской части, пополняется по ходу действий...
- НО лучше, все-таки общатся напрямую в ирк, как это другие делают.
ибо, даже составить рипорт для багзиллы, и назначить, но это ваш выбор.

towerr
Posts: 258
Joined: Wed Jun 20, 2007 3:01 am

Re: USB

Post by towerr »

http://www.reactos.org/wiki/Supported_USB_Devices
это неполный список, тоже редактироватся со временем будет.

towerr
Posts: 258
Joined: Wed Jun 20, 2007 3:01 am

Re: USB

Post by towerr »

Вниманию тех, кто качает (собирает) свежие исошки и пробует усб
Если возникает проблема с PS/2 мышом и клавой после установки, то это лечится нехитрым способом.
это выглядит так, что получается, УСБ ставится по дефолту преоритетным, и не видит обычную мыш и клаву
чтоб обойти этот момент, надо чтоб активным при загрузке была мыш, которой будете пользоватся ( PS/2 )
я сказал все по непонятному, но кому хочется понять, надеюсь поймет.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest