Commit graph

49824 commits

Author SHA1 Message Date
Johannes Anderwald 9f4adfb8ee [USBOHCI]
- Revert 55411

svn path=/branches/usb-bringup-trunk/; revision=55412
2012-02-04 15:04:27 +00:00
Johannes Anderwald 80c665d2ac [HIDCLASS]
- Remove PDO from pdo list when it is destroyed
- Handle IRP_MN_QUERY_REMOVE_DEVICE, IRP_MN_CANCEL_STOP_DEVICE, IRP_MN_QUERY_STOP_DEVICE, IRP_MN_CANCEL_REMOVE_DEVICE
[HIDUSB]
- Add driver unload routine
[MOUHID]
- Wait for completion of pending irp
[USBHUB]
- Remove pdo from PDO list
- Handle IRP_MN_QUERY_DEVICE_RELATIONS
- Add stub driver unload routine
[USBOHCI]
- handle IRP_MN_REMOVE for FDO
- remove ASSERT

svn path=/branches/usb-bringup-trunk/; revision=55411
2012-02-04 14:10:18 +00:00
Cameron Gutman 3bc323077a [HIVESYS]
- Add HID devices to the critical device database
- Fixes issues with mouse/keyboard not working until new device wizards are dismissed (USB drives work too)
[UMPNPMGR]
- Fix install failure after the kernel detects a critical device
[NTOSKRNL]
- Finally enable the proper IopResetDevice code
- Driver updating without a reboot for running devices is supported now (if someone will write the GUI)
[USBEHCI][USBOHCI]
- Fix removal bugs

svn path=/branches/usb-bringup-trunk/; revision=55401
2012-02-03 23:34:21 +00:00
Cameron Gutman e7484d185a [PCI][HIDCLASS][HIDUSB][KBDHID][MOUHID][USBCCGP][USBOHCI][USBEHCI][USBHUB][USBSTOR]
- Handle query remove IRPs
- Fix some other removal bugs

svn path=/branches/usb-bringup-trunk/; revision=55399
2012-02-03 22:59:53 +00:00
Johannes Anderwald 9eed4afb3d [USBCCGP]
- Remove hack of forwarding pdo requests to lower device object of fdo
- Implement handling of reset port and cycle port
- IOCTL_INTERNAL_USB_RESET_PORT /  IOCTL_INTERNAL_USB_CYCLE_PORT now need to be implemented in usbhub

svn path=/branches/usb-bringup-trunk/; revision=55396
2012-02-03 16:03:42 +00:00
Johannes Anderwald fb0e8c40ac [USBOHCI]
- Fix mingw build

svn path=/branches/usb-bringup-trunk/; revision=55395
2012-02-03 15:55:04 +00:00
Johannes Anderwald c2d96ce7ff [USBOHCI]
- Implement reseting pipe and clear pipe stall

svn path=/branches/usb-bringup-trunk/; revision=55394
2012-02-03 14:47:18 +00:00
Johannes Anderwald 690f71f605 [USBOHCI]
- Fix build

svn path=/branches/usb-bringup-trunk/; revision=55393
2012-02-03 13:02:45 +00:00
Johannes Anderwald 71b5a853dc [USBOHCI]
- Don't hardcode the device speed

svn path=/branches/usb-bringup-trunk/; revision=55392
2012-02-03 11:29:03 +00:00
Johannes Anderwald 8e66575f08 [USBOHCI]
- Consider device speed when building the device endpoint descriptor

svn path=/branches/usb-bringup-trunk/; revision=55390
2012-02-03 11:02:37 +00:00
Johannes Anderwald 4cbccecd5c [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

svn path=/branches/usb-bringup-trunk/; revision=55389
2012-02-03 09:52:29 +00:00
Johannes Anderwald b1587061be [EHCI]
- Explictely clear bios owned flag and remove all SMI interrupts

svn path=/branches/usb-bringup-trunk/; revision=55387
2012-02-02 23:35:56 +00:00
Johannes Anderwald dbbb319a35 [USBEHCI]
- Check for bios ownership
- Acquire ownership if bios owns it
- Verify ownership

svn path=/branches/usb-bringup-trunk/; revision=55386
2012-02-02 23:09:53 +00:00
Johannes Anderwald 7626aedc3b [USBEHCI]
- Use constants instead of hardcoding register offsets. Taken from Haiku
- Elements in HCSP-PORTROUTE are 4 bit entries instead

svn path=/branches/usb-bringup-trunk/; revision=55385
2012-02-02 22:18:58 +00:00
Cameron Gutman afe62bf2cf [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)

svn path=/branches/usb-bringup-trunk/; revision=55382
2012-02-02 19:57:13 +00:00
Johannes Anderwald 59de50814d [USBSTOR]
- Add sanity checks
- Check if device needs CDB padding and return error in that case

svn path=/branches/usb-bringup-trunk/; revision=55381
2012-02-02 19:37:38 +00:00
Cameron Gutman 087dfd04c9 [USBOHCI]
- Fix device enumeration on boot

svn path=/branches/usb-bringup-trunk/; revision=55380
2012-02-02 18:29:30 +00:00
Johannes Anderwald e2654208c6 [INF]
- Add install section for hid compatible device
- Reviewed by Cameron Gutman

svn path=/branches/usb-bringup-trunk/; revision=55379
2012-02-02 18:26:10 +00:00
Johannes Anderwald 28ae797644 [HIDCLASS]
- Also store the HID_DEVICE_UP format in the hardware id list

svn path=/branches/usb-bringup-trunk/; revision=55378
2012-02-02 18:10:11 +00:00
Cameron Gutman 1f7ea29e28 [NTOSKRNL]
- Revert 54008

svn path=/branches/usb-bringup-trunk/; revision=55377
2012-02-02 18:08:28 +00:00
Cameron Gutman ad9b2cb9cc [TXTSETUP.SIF]
- Install hidusb for USB human interface devices during 1st stage setup

svn path=/branches/usb-bringup-trunk/; revision=55376
2012-02-02 17:46:28 +00:00
Cameron Gutman b6406a158e [HIDCLASS]
- Ignore failure to register a device interface during 1st stage setup

svn path=/branches/usb-bringup-trunk/; revision=55375
2012-02-02 17:42:55 +00:00
Cameron Gutman a38869d14c [INF]
- Don't install the usbuhci service yet because we have no driver

svn path=/branches/usb-bringup-trunk/; revision=55374
2012-02-02 15:35:31 +00:00
Johannes Anderwald ea9834831e [INF]
- Fix unknown device for hid keyboard

svn path=/branches/usb-bringup-trunk/; revision=55373
2012-02-02 10:36:33 +00:00
Johannes Anderwald 820049768b [USBCCGP]
- Remove hacks used for broken usbd driver
- Implement IRP_MN_REMOVE for FDO & PDO

svn path=/branches/usb-bringup-trunk/; revision=55372
2012-02-02 10:17:14 +00:00
Johannes Anderwald aa485d63fd [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)
 

svn path=/branches/usb-bringup-trunk/; revision=55370
2012-02-01 16:59:13 +00:00
Johannes Anderwald 55cb471b4f [KBDHID]
- Implement IOCTL_KEYBOARD_QUERY_TYPEMATIC, IOCTL_KEYBOARD_SET_TYPEMATIC
- Fix bug in the dispatch routine
- Keyboard presses are no longer reported twice

svn path=/branches/usb-bringup-trunk/; revision=55369
2012-02-01 14:28:02 +00:00
Johannes Anderwald 704bae2492 [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 

svn path=/branches/usb-bringup-trunk/; revision=55368
2012-02-01 13:34:20 +00:00
Cameron Gutman 5ab8673f32 [USBEHCI][USBOHCI]
- Wait 100 milliseconds for the port power and insertion to stabilize
- Wait for the 10 millisecond "recovery" period after reset

svn path=/branches/usb-bringup-trunk/; revision=55367
2012-02-01 12:16:47 +00:00
Cameron Gutman 33c1f6019d [USBEHCI]
- Wait 20 milliseconds for port reset

svn path=/branches/usb-bringup-trunk/; revision=55366
2012-02-01 11:49:57 +00:00
Cameron Gutman 6c5ad5e239 [USBEHCI]
- Wait 20 milliseconds after enabling power for the port to stabilize

svn path=/branches/usb-bringup-trunk/; revision=55365
2012-02-01 11:22:43 +00:00
Johannes Anderwald 205e63a314 [HIDPARSE]
- Use report value when report item bitcount > 1
[KBDHID]
- Print raw report
- KBDHID starts to receive normal keys and modifier keys

svn path=/branches/usb-bringup-trunk/; revision=55364
2012-02-01 10:36:19 +00:00
Johannes Anderwald 2cc2771f69 [HIDUSB]
- Add support function to detect when the boot protocol is still active

svn path=/branches/usb-bringup-trunk/; revision=55361
2012-02-01 03:02:25 +00:00
Johannes Anderwald ba8cbe2e17 [USBOHCI]
- Fix bugs in HandleClassEndpoint, HandleClassInterface which always set direction device to host instead of relying to the transfer flags provided
- Allow setup packets w/o a data stage

svn path=/branches/usb-bringup-trunk/; revision=55360
2012-02-01 02:36:53 +00:00
Johannes Anderwald 78f3a69807 [USBCCGP]
- Fix multiple bugs while selecting configuration
- Silence traces

svn path=/branches/usb-bringup-trunk/; revision=55359
2012-02-01 01:44:21 +00:00
Johannes Anderwald d0cec1a401 [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)

svn path=/branches/usb-bringup-trunk/; revision=55357
2012-01-31 19:00:45 +00:00
Johannes Anderwald 3bb6d463d3 [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

svn path=/branches/usb-bringup-trunk/; revision=55356
2012-01-31 18:37:49 +00:00
Cameron Gutman c07fd3b20f [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

svn path=/branches/usb-bringup-trunk/; revision=55355
2012-01-31 18:26:03 +00:00
Pierre Schweitzer 69e98d5671 [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!

svn path=/branches/usb-bringup-trunk/; revision=55354
2012-01-31 18:18:46 +00:00
Johannes Anderwald 277b8f0871 [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)

svn path=/branches/usb-bringup-trunk/; revision=55353
2012-01-31 16:19:33 +00:00
Cameron Gutman f53d09f118 [USBSTOR]
- Add forgotten event initialization from last usbstor commit

svn path=/branches/usb-bringup-trunk/; revision=55352
2012-01-31 15:59:59 +00:00
Cameron Gutman b3994ae487 [USETUP]
- Don't quit if setup doesn't find a non-PnP HDD (until PnP stuff works better)

svn path=/branches/usb-bringup-trunk/; revision=55351
2012-01-31 15:45:43 +00:00
Cameron Gutman 823a29d5e3 [USBSTOR]
- Fix handling of SRB_FUNCTION_FLUSH and SRB_FUNCTION_SHUTDOWN to prevent data loss

svn path=/branches/usb-bringup-trunk/; revision=55350
2012-01-31 15:33:32 +00:00
Johannes Anderwald 47e18d8e47 - Remove old version of usbehci and usbhub
svn path=/branches/usb-bringup-trunk/; revision=55348
2012-01-31 10:11:39 +00:00
Cameron Gutman a77425676b [USBEHCI]
- Remove debug spam

svn path=/branches/usb-bringup-trunk/; revision=55341
2012-01-30 22:54:40 +00:00
Cameron Gutman be54f427e6 [USBHUB]
- Missed a fix from last commit
- Wait for the device status change work item to complete
- The USB stack is now properly constructed for USB booting

svn path=/branches/usb-bringup-trunk/; revision=55339
2012-01-30 22:45:16 +00:00
Cameron Gutman 475fe08f3c [USBHUB]
- Send the SCE IRP before resetting the port so we can wait on it for device enumeration

svn path=/branches/usb-bringup-trunk/; revision=55338
2012-01-30 22:19:47 +00:00
Cameron Gutman 5236296f5c [HAL]
- Remove differences between legacy and ACPI HAL initialization

svn path=/branches/usb-bringup-trunk/; revision=55337
2012-01-30 21:47:30 +00:00
Cameron Gutman 4a9fcb6569 [HIVESYS]
- Fix the service entries
[HAL]
- Synchronously invalidate device relations
[NTOSKRNL]
- Remove hacks

svn path=/branches/usb-bringup-trunk/; revision=55336
2012-01-30 21:36:51 +00:00
Johannes Anderwald a7eba59665 [HIDPARSE]
- Start support for multi top level hid collections
- Not yet full implemented
- Required for proper usb composite support

svn path=/branches/usb-bringup-trunk/; revision=55332
2012-01-30 19:29:26 +00:00