- 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
- Add and fix missing exports
- Add UNIMPLEMENTED to unimplemented functions
- Fix completely broken USBD_GetPdoRegistryParameter (which wasn't even exported because somebody made a typo and couldn't figure it out)
- My Linksys USB300M driver now loads but it runs into some unimplemented code paths in usbehci
svn path=/branches/usb-bringup-trunk/; revision=55416
- Add HID devices to the critical device database
- Fixes issues with mouse/keyboard not working until new device wizards are dismissed (USB drives work too)
[UMPNPMGR]
- Fix install failure after the kernel detects a critical device
[NTOSKRNL]
- Finally enable the proper IopResetDevice code
- Driver updating without a reboot for running devices is supported now (if someone will write the GUI)
[USBEHCI][USBOHCI]
- Fix removal bugs
svn path=/branches/usb-bringup-trunk/; revision=55401
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Fix initialization bugs for EHCI controllers
- Try again to release ownership of low-speed devices after reset
- Wait for the port reset to complete
svn path=/branches/usb-bringup-trunk/; revision=55232