Commit graph

49819 commits

Author SHA1 Message Date
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
Johannes Anderwald c9a760c226 [HIDCLASS]
- Prevent buffer overflow in HidClassPDO_HandleQueryHardwareId
- Reimplement HidClassPDO_HandleQueryInstanceId
- USB Composite driver now gets further(hangs at installation stage)

svn path=/branches/usb-bringup-trunk/; revision=55329
2012-01-30 16:47:39 +00:00
Cameron Gutman 3aff101683 [HALACPI]
- Create PDO earlier so ACPI can be loaded earlier in boot
[HIVESYS]
- Create critical device database with required devices for USB boot
[NTOSKRNL]
- Read the CDDB and install devices that are critical for boot
- This implementation won't be 100% correct until a PnP manager rewrite but it should work well enough for our needs
- Not complete and disabled atm

svn path=/branches/usb-bringup-trunk/; revision=55328
2012-01-30 16:23:44 +00:00
Johannes Anderwald 652e0ab582 [KBDHID]
- Fix typo
[USBCCGP]
- Remove unused variable

svn path=/branches/usb-bringup-trunk/; revision=55327
2012-01-30 13:31:05 +00:00
Johannes Anderwald 679512e16c [USBCCGP]
- Add function to append interface number
- Append function number to BusQueryDeviceId / BusQueryInstanceId
- USBCCGP is now properly enumerated and its child device start to get installed

svn path=/branches/usb-bringup-trunk/; revision=55326
2012-01-30 12:42:05 +00:00
Johannes Anderwald d7bc987891 [USBCCGP]
- Fix bug while scanning configuration descriptor
- Store interface list in the PDO device extension
- Display interface numbers when dumping function descriptor
- Fix a few bugs while selecting the configuration for the PDO

svn path=/branches/usb-bringup-trunk/; revision=55325
2012-01-30 10:41:52 +00:00