Commit graph

59 commits

Author SHA1 Message Date
Cameron Gutman
8141780521 [BUILD]
- Add rbuild files
- Fix dumb dependencies in cmake files
[DEBUG]
- Kill more debugging

svn path=/branches/usb-bringup-trunk/; revision=55554
2012-02-12 03:48:54 +00:00
Cameron Gutman
50daddc967 [HIDCLASS][HIDPARSE][HIDUSB][KBDHID][MOUHID][USBCCGP][USBD][USBEHCI][USBOHCI][USBHUB][USBSTOR]
- Massive debug spam reduction

svn path=/branches/usb-bringup-trunk/; revision=55553
2012-02-12 02:53:34 +00:00
Johannes Anderwald
cf494ea401 [HIDCLASS]
- Check if attaching to device stack failed. In that case fail the request
[HIDUSB]
- Always set SupriseRemovalOk
[USBCCGP] [HIDCLASS] [USBHUB] [USBSTOR]
- Check if the pdo is still in the pdo list. Only call IoDeleteDevice in that case

svn path=/branches/usb-bringup-trunk/; revision=55429
2012-02-05 15:36:00 +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
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