Commit graph

55 commits

Author SHA1 Message Date
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 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 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
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
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 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
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
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
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 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
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
Cameron Gutman e33d8f1ee5 [HIDCLASS]
- Implement IRP_MN_REMOVE_DEVICE for FDOs and PDOs
- USB mice will now work after being disconnected then reconnected

svn path=/branches/usb-bringup-trunk/; revision=55194
2012-01-26 03:27:22 +00:00
Cameron Gutman 36ad09a7b5 [MOUHID]
- Multiple the scroll value by WHEEL_DELTA (120) like i8042prt does
- Scrolling with USB mice works now
- Disable debugging

svn path=/branches/usb-bringup-trunk/; revision=55191
2012-01-26 02:50:15 +00:00
Cameron Gutman 270bb180e0 [MOUHID]
- Only set the MOUSE_WHEEL flag if the wheel data is non-zero

svn path=/branches/usb-bringup-trunk/; revision=55190
2012-01-26 02:20:11 +00:00
Cameron Gutman 1f321cafad [USB-BRINGUP-TRUNK]
- Allow surprise removal of HID devices
- Don't assemble useless empty resource lists

svn path=/branches/usb-bringup-trunk/; revision=55119
2012-01-23 16:22:43 +00:00
Johannes Anderwald a1a29073fa [HIDCLASS]
- Remove asserts which are hit during shutdown

svn path=/branches/usb-bringup-trunk/; revision=55049
2012-01-21 17:32:59 +00:00
Johannes Anderwald 6d707f2fb5 [HIDCLASS]
- Fix typo

svn path=/branches/usb-bringup-trunk/; revision=55044
2012-01-21 17:02:16 +00:00
Johannes Anderwald 48c2e17262 [HIDCLASS]
- Remove superflous asserts

svn path=/branches/usb-bringup-trunk/; revision=55040
2012-01-21 01:56:02 +00:00
Johannes Anderwald 82153d9360 [USB-BRINGUP]
- Fix build of hidparse

svn path=/branches/usb-bringup-trunk/; revision=55039
2012-01-21 01:48:30 +00:00
Cameron Gutman cd068cb3c8 [USB-BRINGUP-TRUNK]
- Add add_cd_file line for mouhid

svn path=/branches/usb-bringup-trunk/; revision=55033
2012-01-20 23:24:07 +00:00
Cameron Gutman 90e0d854c5 [USB-BRINGUP-TRUNK]
- Fix hidusb build

svn path=/branches/usb-bringup-trunk/; revision=55028
2012-01-20 22:38:39 +00:00
Cameron Gutman 86feb20aad [USB-BRINGUP-TRUNK]
- Fix build errors in kbdhid and mouhid

svn path=/branches/usb-bringup-trunk/; revision=55025
2012-01-20 22:17:32 +00:00
Cameron Gutman 3a034047fc [USB-BRINGUP-TRUNK]
- Add USB stuff to 1st stage setup

svn path=/branches/usb-bringup-trunk/; revision=55024
2012-01-20 22:04:57 +00:00
Cameron Gutman f5223ccf13 [USB-BRINGUP-TRUNK]
- Remove outdated cmake attribute

svn path=/branches/usb-bringup-trunk/; revision=55021
2012-01-20 21:28:33 +00:00
Cameron Gutman 753f07c723 [USB-BRINGUP-TRUNK]
- Merge 54115-54859

svn path=/branches/usb-bringup-trunk/; revision=55020
2012-01-20 21:19:37 +00:00
Johannes Anderwald 065fd7dbd5 [USB-BRINGUP]
- Add keyboard hid driver template ripped off from mouhid driver
- Implement keyboard driver initialization

svn path=/branches/usb-bringup/; revision=54850
2012-01-06 16:35:55 +00:00
Johannes Anderwald f53c2c4f14 [HID]
- Implement quering compatible ids
- Fix result status for quering instance id
- Fix bug in msmouse.inf

svn path=/branches/usb-bringup/; revision=54843
2012-01-05 18:22:48 +00:00
Johannes Anderwald ee21e811d0 [USB-BRINGUP]
- Add a ReactOS hack to let the hid stack initialize
- Add input.inf
- HID Mouse initializes and starts, now win32k needs some work to open the mice

svn path=/branches/usb-bringup/; revision=54838
2012-01-05 04:05:10 +00:00
Johannes Anderwald 21fb64f0bf [USB-BRINGUP]
- Fix creating instance id
- Print debug message
- Sync msmouse with head and add hid installation
- Needs input.inf written
- HID stack starts to initializes and then fails the to enable the device interface (/drivers/hid/hidclass/pdo.c:511), Logs show that IoGetDeviceObjectPointer() fails with STATUS_UNSUCCESSFUL

svn path=/branches/usb-bringup/; revision=54837
2012-01-05 01:24:11 +00:00
Johannes Anderwald d1e00dac5c [USB-BRINGUP]
- Implement a HID parsing library, which is based on Haiku`s exellent HID Stack
- Implement HidP_FreeCollection, HidP_GetCaps, HidP_GetCollectionDescription, HidP_MaxUsageListLength, HidP_GetSpecificValueCaps, HidP_GetUsages, HidP_GetScaledUsageValue
- hidparse driver is now implemented enough to support a hid mouse
- Tested in VBox 4.1.4 + WinXP + ReactOS usbohci+ mouhid+ hidclass+ hidparse+hidusb

svn path=/branches/usb-bringup/; revision=54834
2012-01-04 21:58:18 +00:00
Johannes Anderwald 07ae01f96c [USB-BRINGUP]
- Create PDO for each top level collection found
- Use the specified collection index instead of the first
- add collection id to hardware id when the device has more than one top level collection, see http://msdn.microsoft.com/en-us/windows/hardware/gg487473 for details

svn path=/branches/usb-bringup/; revision=54808
2012-01-02 12:00:51 +00:00
Johannes Anderwald 842fe995ce [USB-BRINGUP]
- Fake status success for unimplemented IRP_MN_REMOVE_DEVICE
- Fix tons of bugs in the read report completion routine
- Implement function to re-use a complete report irp
- Use correct device object when invoking the mini driver's dispatch routine in the read function
- silence a few traces
- Mouse now works with with ReactOS USB stack + ReactOS HID stack (TBD: implement hidparse.sys)

svn path=/branches/usb-bringup/; revision=54806
2012-01-01 22:48:08 +00:00
Johannes Anderwald f687f32e69 [USB-BRINGUP]
- Move attributes / device description to common struct
- Partly implement IRP_MJ_CREATE, IRP_MJ_CLOSE, IRP_MJ_READ

svn path=/branches/usb-bringup/; revision=54798
2011-12-31 19:09:26 +00:00
Johannes Anderwald eb5e8a089b [USB-BRINGUP]
- Fix bug in HidUsb_AbortPipe, which passed the wrong handle
- Implement reset port routine
- Implement reset worker routine when reading report fails

svn path=/branches/usb-bringup/; revision=54797
2011-12-31 18:22:18 +00:00
Johannes Anderwald d5ab604853 [USB-BRINGUP]
- Partly implement IRP_MN_START_DEVICE for PDO 
- PDO  now completely initializes
- Remaining IOCTL to implement IRP_MJ_CREATE, IRP_MJ_CLOSE, IRP_MJ_FLUSH, IRP_MJ_READ for partial mouse support in hidclass

svn path=/branches/usb-bringup/; revision=54792
2011-12-31 04:13:37 +00:00
Johannes Anderwald a64411cfbf [USB-BRINGUP]
- Implement HidClassFDO_DeviceRelations
- Implement IOCTL_HID_GET_COLLECTION_INFORMATION,  IOCTL_HID_GET_COLLECTION_DESCRIPTOR
- Implement IRP_MN_QUERY_ID, IRP_MN_QUERY_CAPABILITIES, IRP_MN_QUERY_BUS_INFORMATION, IRP_MN_QUERY_PNP_STATE, IRP_MN_QUERY_DEVICE_RELATIONS, 
- HIDClass PDO is now created and starts initialization, needs IRP_MN_START_DEVICE request implementation
- Tested in Vbox 4.1.4 + WinXP + ReactOS hidusb,hidmou,hidclass

svn path=/branches/usb-bringup/; revision=54791
2011-12-31 03:33:14 +00:00
Johannes Anderwald c671800d55 [USB-BRINGUP]
- Rename device extension
- Implement FDO Initialization (IRP_MN_START_DEVICE)

svn path=/branches/usb-bringup/; revision=54787
2011-12-30 14:34:07 +00:00
Johannes Anderwald ceb3f5ee43 [USB-BRINGUP]
- Implement AddDevice routine for hidusb
- Fix bug in Hid_DispatchUrb, which returned not initialized status code
- Implement IOCTL_HID_GET_REPORT_DESCRIPTOR, IOCTL_HID_READ_REPORT
- Add support routines for reseting / aborting pipe, not yet used
- TBD: implement error handling
- hidusb now works in combination with a usb mouse (other hid devices such as keyboards will require more ioctl implemented)
- Tested in Vbox 4.1.4 + WinXP + ReactOS usbhid.sys + ReactOS usbmou.sys
- Testing procedure -> inject usb mouse after startup (needs mouse integration disabled -> thanks to timo for pointing this out)

svn path=/branches/usb-bringup/; revision=54781
2011-12-29 19:03:40 +00:00
Johannes Anderwald 4e6638bcc3 [USB-BRINGUP]
- Usage page of zero is not used, increment, the MouHid_ButtonUpFlags / MouHid_ButtonDownFlags array
- Mouse clicks now work
- Implement flushing of the hid report queue
- Driver now works in VBox 4.1.4 + WinXP 
- Secondary mouse pointer does not move in VBox (either a Vbox bug / WinXP), tested with ms driver and the same results were reveiled

svn path=/branches/usb-bringup/; revision=54776
2011-12-29 10:07:00 +00:00
Johannes Anderwald 6717a4ecfe [USB-BRINGUP]
- Fix up / down button detection
- Fix move detection. Mouse changes are now detected
- Mouse does not yet work in Vbox, as mouclass driver is for unknown reasons not connecting to the mouhid, needs to be investigated
- Tested in VBox 4.1.4 + ReactOS mouhid.sys

svn path=/branches/usb-bringup/; revision=54775
2011-12-28 17:18:56 +00:00
Johannes Anderwald b27438e17d [USB-BRINGUP]
- Fix a few bugs & race condition in the read report routine
- mouhid initializes and is able to read input reports
- button press / wheel state change is detected
- mouse move detection not yet working

svn path=/branches/usb-bringup/; revision=54774
2011-12-28 16:35:41 +00:00
Johannes Anderwald 012eac6d8f [USB-BRINGUP]
- Implement mouse move detection, wheel state detection

svn path=/branches/usb-bringup/; revision=54772
2011-12-28 11:36:05 +00:00
Johannes Anderwald d4bb27774a [USB-BRINGUP]
- Partly implement mouse read completion
- Implement read initiation
- Implement MouHid_Create, MouHid_Close

svn path=/branches/usb-bringup/; revision=54768
2011-12-27 02:35:03 +00:00
Johannes Anderwald 05c20641db - Link to hal
- Implement mouse button change detection
- Implement support routine for dispatching mouse input data
- Allocate mdl for input report, not yet used

svn path=/branches/usb-bringup/; revision=54767
2011-12-27 00:46:10 +00:00
Johannes Anderwald bf1f779fff [USB-BRINGUP]
- Implement retrieving device / configuration descriptor
- Partly implement hid descriptor parsing
- Select configuration when initialization is complete
- Implement starting up device

svn path=/branches/usb-bringup/; revision=54765
2011-12-26 21:51:05 +00:00
Johannes Anderwald c626190319 [USB-BRINGUP]
- Implement IOCTL_HID_GET_DEVICE_ATTRIBUTES, IOCTL_HID_GET_DEVICE_DESCRIPTOR for hidusb
- Partly implement pnp dispatch routines for hidusb

svn path=/branches/usb-bringup/; revision=54764
2011-12-26 18:20:32 +00:00
Johannes Anderwald 3477d17d4b [USB-BRINGUP]
- Halfplement mouse hid driver, WIP, untested

svn path=/branches/usb-bringup/; revision=54762
2011-12-26 03:37:22 +00:00
Johannes Anderwald 69dfb12f9a [HIDCLASS]
- Implement AddDevice routine

svn path=/branches/usb-bringup/; revision=54760
2011-12-25 23:07:50 +00:00