Commit graph

49797 commits

Author SHA1 Message Date
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
Johannes Anderwald 6ce77d6cb7 [HIDUSB]
- Pass the interface number in the request when issuing hid get report descriptor
- Fixes wrong report descriptors being obtained

svn path=/branches/usb-bringup-trunk/; revision=55322
2012-01-30 09:53:18 +00:00
Cameron Gutman c6e7f39b35 [USETUP]
- Fix selection of the active partition
- Running 1st stage setup to a USB drive now results in a bootable USB drive that successfully runs FreeLoader which can load the ROS kernel, HAL, and other critical boot executables from the USB drive but ROS fails early in boot after FreeLoader hands control to the kernel

svn path=/branches/usb-bringup-trunk/; revision=55316
2012-01-30 04:52:37 +00:00
Cameron Gutman 2b79f855e1 [USBSTOR]
- Handle SRB_FUNCTION_SHUTDOWN successfully (failing it results in a stack overflow due to a bug in disk.sys)
- Fixes the crash during shutdown after using a USB drive

svn path=/branches/usb-bringup-trunk/; revision=55315
2012-01-30 04:18:59 +00:00
Cameron Gutman f740e9241e [INF]
- Formatting fixes
[TXTSETUP.SIF]
- Boot load certain USB drivers in 1st stage for eventual support for installing from USB

svn path=/branches/usb-bringup-trunk/; revision=55309
2012-01-30 00:23:11 +00:00
Cameron Gutman bf71578096 [INF]
- Formatting fixes
- Add missing device description
- Set to boot start for USB boot support

svn path=/branches/usb-bringup-trunk/; revision=55307
2012-01-30 00:05:14 +00:00
Cameron Gutman 4ac7c1e1f7 [INF]
- Enable boot start for USB drivers (part 1 of 2)

svn path=/branches/usb-bringup-trunk/; revision=55305
2012-01-29 23:28:34 +00:00
Johannes Anderwald 3f91d309f7 [INF]
- Add usbccgp installation section

svn path=/branches/usb-bringup-trunk/; revision=55304
2012-01-29 23:27:03 +00:00
Johannes Anderwald fc2d4e3800 - Remove cruft from CMakeLists.txt
- Silence debug flood
- Remove debugging code
- Add traces for composite device detection
- Don't print device descriptor

svn path=/branches/usb-bringup-trunk/; revision=55302
2012-01-29 23:11:21 +00:00
Cameron Gutman d5f187d853 [USETUP]
- Fix the ordering of disks in the 1st stage setup list
- Search for the active partition on the selected install disk instead of the first disk

svn path=/branches/usb-bringup-trunk/; revision=55299
2012-01-29 22:54:57 +00:00
Johannes Anderwald a4c2608e34 [USBEHCI]
- Enable device as pci bus master
- Fixes hanging of Vmware USB EHCI controller
- Revert changes from 55293 from usb_queue
- Currently crashes when usbstor wants to receive descriptors

svn path=/branches/usb-bringup-trunk/; revision=55294
2012-01-29 20:34:46 +00:00
Johannes Anderwald 2b13dd5132 [USBEHCI]
- Update async address everytime a new queue head is added as specified in EHCI spec section 3.2
- Add more checks
- Vmware EHCI not yet working

svn path=/branches/usb-bringup-trunk/; revision=55293
2012-01-29 17:30:31 +00:00
Johannes Anderwald 99c0842bcb [EHCI]
- EHCI controllers support 15 ports as specified

svn path=/branches/usb-bringup-trunk/; revision=55292
2012-01-29 17:25:34 +00:00
Johannes Anderwald 403bb82e09 [USBEHCI]
- Rewrite the init routine of EHCI controller
- Implement PORT_POWER

svn path=/branches/usb-bringup-trunk/; revision=55291
2012-01-29 17:24:41 +00:00
Johannes Anderwald 312148342c [USBCCGP]
- Start implementing select configuration request

svn path=/branches/usb-bringup-trunk/; revision=55278
2012-01-28 19:49:53 +00:00
Amine Khaldi 35f0f5f497 [MOUNTMGR]
* Silence some gcc warnings.

svn path=/branches/usb-bringup-trunk/; revision=55269
2012-01-27 23:11:19 +00:00
Cameron Gutman eb13400efd [TXTSETUP.SIF]
- Start the USB composite generic parent driver during 1st stage

svn path=/branches/usb-bringup-trunk/; revision=55265
2012-01-27 22:00:48 +00:00
Johannes Anderwald a960e537aa [USBCCGP]
- Implement counting of all interface descriptors
- Store device descriptor and configuration descriptor in pdo device extension
- Store all interface descriptors for an composite audio device
- Implement parsing and constructing a special configuration descriptor for each individual device function
- Implement URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE for device descriptor and configuration descriptor
- USBGCCGP now receives select configuration request
- Tested in XP + Ros USB Stack + USB Audio Device

svn path=/branches/usb-bringup-trunk/; revision=55261
2012-01-27 20:58:58 +00:00
Amine Khaldi 43220d11a5 [MOUNTMGR]
* Fix build.

svn path=/branches/usb-bringup-trunk/; revision=55256
2012-01-27 18:45:54 +00:00
Johannes Anderwald 35c824d26f [USBCCGP]
- Use Function index than interface number. Fixes invalid hardware ids
- Fix construction of compatible id
- USB Audio device now installs on XP when usbccgp is used 
- Now asserts in sb-bringup-trunk\drivers\usb\usbccgp\pdo.c:343) PDO_Dispatch Function f not implemented, which is implemented next

svn path=/branches/usb-bringup-trunk/; revision=55255
2012-01-27 18:33:41 +00:00
Johannes Anderwald 07e8b3be9b [USBCCGP]
- Implement counting interface descriptors
- Fix allocating interface list
- Fix multiple bugs when copying interface information
- Implement support function to dump function descriptor
- Fix multiple bugs when creating compatible / hardware id string
- Implement legacy enumerator, which will be used for HID composite devices
- Implement special enumerator for audio devices
- Display static GenericCompositeUSBDeviceString, needs to be read from registry in order to be MUI aware
- Device initializes and device wizard pops up
- Tested in XP with Ros USB stack + USB Audio Microphone 

svn path=/branches/usb-bringup-trunk/; revision=55253
2012-01-27 18:04:39 +00:00
Johannes Anderwald fc557e4320 [HIDCLASS]
- IOCTL are only supported for PDOs

svn path=/branches/usb-bringup-trunk/; revision=55244
2012-01-27 14:08:40 +00:00
Johannes Anderwald 0a2f895e36 [USBHUB_NEW]
- Rewrite GetDeviceIds function
- Don't rely on hardcoded constants when building the device id strings
- Don't corrupt the device id string when building the instance id string
- Fix bug in GetUsbStringDescriptor which read beyond the allocated string when copying the result.

svn path=/branches/usb-bringup-trunk/; revision=55238
2012-01-27 12:29:18 +00:00