Commit graph

404 commits

Author SHA1 Message Date
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
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 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 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 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
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 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
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 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 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
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
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
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