Johannes Anderwald [Wed, 1 Feb 2012 10:36:19 +0000 (10:36 +0000)]
[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
Johannes Anderwald [Wed, 1 Feb 2012 03:02:25 +0000 (03:02 +0000)]
[HIDUSB]
- Add support function to detect when the boot protocol is still active
svn path=/branches/usb-bringup-trunk/; revision=55361
Johannes Anderwald [Wed, 1 Feb 2012 02:36:53 +0000 (02:36 +0000)]
[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
Johannes Anderwald [Wed, 1 Feb 2012 01:44:21 +0000 (01:44 +0000)]
[USBCCGP]
- Fix multiple bugs while selecting configuration
- Silence traces
svn path=/branches/usb-bringup-trunk/; revision=55359
Johannes Anderwald [Tue, 31 Jan 2012 19:00:45 +0000 (19:00 +0000)]
[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
Johannes Anderwald [Tue, 31 Jan 2012 18:37:49 +0000 (18:37 +0000)]
[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
Cameron Gutman [Tue, 31 Jan 2012 18:26:03 +0000 (18:26 +0000)]
[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
Pierre Schweitzer [Tue, 31 Jan 2012 18:18:46 +0000 (18:18 +0000)]
[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
Johannes Anderwald [Tue, 31 Jan 2012 16:19:33 +0000 (16:19 +0000)]
[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
Cameron Gutman [Tue, 31 Jan 2012 15:59:59 +0000 (15:59 +0000)]
[USBSTOR]
- Add forgotten event initialization from last usbstor commit
svn path=/branches/usb-bringup-trunk/; revision=55352
Cameron Gutman [Tue, 31 Jan 2012 15:45:43 +0000 (15:45 +0000)]
[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
Cameron Gutman [Tue, 31 Jan 2012 15:33:32 +0000 (15:33 +0000)]
[USBSTOR]
- Fix handling of SRB_FUNCTION_FLUSH and SRB_FUNCTION_SHUTDOWN to prevent data loss
svn path=/branches/usb-bringup-trunk/; revision=55350
Johannes Anderwald [Tue, 31 Jan 2012 10:11:39 +0000 (10:11 +0000)]
- Remove old version of usbehci and usbhub
svn path=/branches/usb-bringup-trunk/; revision=55348
Cameron Gutman [Mon, 30 Jan 2012 22:54:40 +0000 (22:54 +0000)]
[USBEHCI]
- Remove debug spam
svn path=/branches/usb-bringup-trunk/; revision=55341
Cameron Gutman [Mon, 30 Jan 2012 22:45:16 +0000 (22:45 +0000)]
[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
Cameron Gutman [Mon, 30 Jan 2012 22:19:47 +0000 (22:19 +0000)]
[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
Cameron Gutman [Mon, 30 Jan 2012 21:47:30 +0000 (21:47 +0000)]
[HAL]
- Remove differences between legacy and ACPI HAL initialization
svn path=/branches/usb-bringup-trunk/; revision=55337
Cameron Gutman [Mon, 30 Jan 2012 21:36:51 +0000 (21:36 +0000)]
[HIVESYS]
- Fix the service entries
[HAL]
- Synchronously invalidate device relations
[NTOSKRNL]
- Remove hacks
svn path=/branches/usb-bringup-trunk/; revision=55336
Johannes Anderwald [Mon, 30 Jan 2012 19:29:26 +0000 (19:29 +0000)]
[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
Johannes Anderwald [Mon, 30 Jan 2012 16:47:39 +0000 (16:47 +0000)]
[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
Cameron Gutman [Mon, 30 Jan 2012 16:23:44 +0000 (16:23 +0000)]
[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
Johannes Anderwald [Mon, 30 Jan 2012 13:31:05 +0000 (13:31 +0000)]
[KBDHID]
- Fix typo
[USBCCGP]
- Remove unused variable
svn path=/branches/usb-bringup-trunk/; revision=55327
Johannes Anderwald [Mon, 30 Jan 2012 12:42:05 +0000 (12:42 +0000)]
[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
Johannes Anderwald [Mon, 30 Jan 2012 10:41:52 +0000 (10:41 +0000)]
[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
Johannes Anderwald [Mon, 30 Jan 2012 09:53:18 +0000 (09:53 +0000)]
[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
Cameron Gutman [Mon, 30 Jan 2012 04:52:37 +0000 (04:52 +0000)]
[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
Cameron Gutman [Mon, 30 Jan 2012 04:18:59 +0000 (04:18 +0000)]
[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
Cameron Gutman [Mon, 30 Jan 2012 00:23:11 +0000 (00:23 +0000)]
[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
Cameron Gutman [Mon, 30 Jan 2012 00:05:14 +0000 (00:05 +0000)]
[INF]
- Formatting fixes
- Add missing device description
- Set to boot start for USB boot support
svn path=/branches/usb-bringup-trunk/; revision=55307
Cameron Gutman [Sun, 29 Jan 2012 23:28:34 +0000 (23:28 +0000)]
[INF]
- Enable boot start for USB drivers (part 1 of 2)
svn path=/branches/usb-bringup-trunk/; revision=55305
Johannes Anderwald [Sun, 29 Jan 2012 23:27:03 +0000 (23:27 +0000)]
[INF]
- Add usbccgp installation section
svn path=/branches/usb-bringup-trunk/; revision=55304
Johannes Anderwald [Sun, 29 Jan 2012 23:11:21 +0000 (23:11 +0000)]
- 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
Cameron Gutman [Sun, 29 Jan 2012 22:54:57 +0000 (22:54 +0000)]
[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
Johannes Anderwald [Sun, 29 Jan 2012 20:34:46 +0000 (20:34 +0000)]
[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
Johannes Anderwald [Sun, 29 Jan 2012 17:30:31 +0000 (17:30 +0000)]
[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
Johannes Anderwald [Sun, 29 Jan 2012 17:25:34 +0000 (17:25 +0000)]
[EHCI]
- EHCI controllers support 15 ports as specified
svn path=/branches/usb-bringup-trunk/; revision=55292
Johannes Anderwald [Sun, 29 Jan 2012 17:24:41 +0000 (17:24 +0000)]
[USBEHCI]
- Rewrite the init routine of EHCI controller
- Implement PORT_POWER
svn path=/branches/usb-bringup-trunk/; revision=55291
Johannes Anderwald [Sat, 28 Jan 2012 19:49:53 +0000 (19:49 +0000)]
[USBCCGP]
- Start implementing select configuration request
svn path=/branches/usb-bringup-trunk/; revision=55278
Amine Khaldi [Fri, 27 Jan 2012 23:11:19 +0000 (23:11 +0000)]
[MOUNTMGR]
* Silence some gcc warnings.
svn path=/branches/usb-bringup-trunk/; revision=55269
Cameron Gutman [Fri, 27 Jan 2012 22:00:48 +0000 (22:00 +0000)]
[TXTSETUP.SIF]
- Start the USB composite generic parent driver during 1st stage
svn path=/branches/usb-bringup-trunk/; revision=55265
Johannes Anderwald [Fri, 27 Jan 2012 20:58:58 +0000 (20:58 +0000)]
[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
Amine Khaldi [Fri, 27 Jan 2012 18:45:54 +0000 (18:45 +0000)]
[MOUNTMGR]
* Fix build.
svn path=/branches/usb-bringup-trunk/; revision=55256
Johannes Anderwald [Fri, 27 Jan 2012 18:33:41 +0000 (18:33 +0000)]
[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
Johannes Anderwald [Fri, 27 Jan 2012 18:04:39 +0000 (18:04 +0000)]
[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
Johannes Anderwald [Fri, 27 Jan 2012 14:08:40 +0000 (14:08 +0000)]
[HIDCLASS]
- IOCTL are only supported for PDOs
svn path=/branches/usb-bringup-trunk/; revision=55244
Johannes Anderwald [Fri, 27 Jan 2012 12:29:18 +0000 (12:29 +0000)]
[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
Cameron Gutman [Fri, 27 Jan 2012 06:27:12 +0000 (06:27 +0000)]
[USBEHCI]
- 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
Cameron Gutman [Fri, 27 Jan 2012 05:20:37 +0000 (05:20 +0000)]
[USBOHCI]
- Attempt to fix reset race conditions
svn path=/branches/usb-bringup-trunk/; revision=55231
Johannes Anderwald [Fri, 27 Jan 2012 02:12:32 +0000 (02:12 +0000)]
[USBOHCI]
- Revert previous revision
svn path=/branches/usb-bringup-trunk/; revision=55230
Johannes Anderwald [Fri, 27 Jan 2012 02:09:18 +0000 (02:09 +0000)]
[USBOHCI]
- Fix setting device address
svn path=/branches/usb-bringup-trunk/; revision=55229
Cameron Gutman [Fri, 27 Jan 2012 02:02:11 +0000 (02:02 +0000)]
[USBHUB_NEW]
- Fix buffer overflow for composite devices
svn path=/branches/usb-bringup-trunk/; revision=55228
Cameron Gutman [Thu, 26 Jan 2012 20:25:12 +0000 (20:25 +0000)]
[USBEHCI_NEW]
- Disable debug spam
svn path=/branches/usb-bringup-trunk/; revision=55225
Cameron Gutman [Thu, 26 Jan 2012 20:02:42 +0000 (20:02 +0000)]
[USBSTOR]
- Set the correct transfer direction value in the CBW
- Fixes the infamous system hang that occurred when writing to a USB drive
svn path=/branches/usb-bringup-trunk/; revision=55223
Cameron Gutman [Thu, 26 Jan 2012 19:30:46 +0000 (19:30 +0000)]
[USBSTOR]
- USBD_SHORT_TRANSFER_OK is only a valid flag if USBD_TRANSFER_DIRECTION_IN is also set
svn path=/branches/usb-bringup-trunk/; revision=55222
Johannes Anderwald [Thu, 26 Jan 2012 19:11:44 +0000 (19:11 +0000)]
[USBCCGP]
- Implement querying device relations for FDO
- Implement creating device objects for each discovered function
- Invalidate device relations after the child pdo have been created
- Implement PDO device relations, most of query id, query device capabilities, start device
- USBCCGP should now initialize and create the child pdos
- Next is device control handling
- WIP, untested
svn path=/branches/usb-bringup-trunk/; revision=55219
Cameron Gutman [Thu, 26 Jan 2012 18:49:50 +0000 (18:49 +0000)]
[USETUP]
- Merge r55212 and 55215
- Add a temporary hack to allow testing installation on a device not bootable by the BIOS (like USB drives in VirtualBox)
- USB devices now show up as installation targets during setup but attempting to install onto them results in setup hanging due to bugs in the USB code
svn path=/branches/usb-bringup-trunk/; revision=55217
Johannes Anderwald [Thu, 26 Jan 2012 17:26:49 +0000 (17:26 +0000)]
[DISK_NEW]
- Revert NTAPI changes
svn path=/branches/usb-bringup-trunk/; revision=55214
Johannes Anderwald [Thu, 26 Jan 2012 17:24:52 +0000 (17:24 +0000)]
- Use WIN32_WINNT >=0x600
svn path=/branches/usb-bringup-trunk/; revision=55213
Johannes Anderwald [Thu, 26 Jan 2012 16:55:19 +0000 (16:55 +0000)]
- Import disk.sys from Windows XP DDK
- Does not yet build
svn path=/branches/usb-bringup-trunk/; revision=55211
Johannes Anderwald [Thu, 26 Jan 2012 13:45:59 +0000 (13:45 +0000)]
[USBCCGP]
- Query bus interface and check if USBC_DEVICE_CONFIGURATION_INTERFACE_V1 is supported. This interface is implemented by attached usb filter drivers and is used to enumerate functions of the composite usb device
- Implement enumeration of function by using usb interface association descriptors and by the USBC_DEVICE_CONFIGURATION_INTERFACE_V1
- Needs audio legacy method and union function descriptors to be fully functional
- WIP, not yet tested
- Fix build with mingw by declaring _DISK_GEOMETRY_EX outside the function
svn path=/branches/usb-bringup-trunk/; revision=55197
Cameron Gutman [Thu, 26 Jan 2012 04:35:04 +0000 (04:35 +0000)]
[USBOHCI]
- Wait the required time for the port to be ready after powering it up
svn path=/branches/usb-bringup-trunk/; revision=55196
Johannes Anderwald [Thu, 26 Jan 2012 03:42:56 +0000 (03:42 +0000)]
[USBCCGP]
- Start implement USB Composite generic parent driver which is used for USB composite devices
- Start implement FDO initialization, needs to implement parsing of usb interface assocaition descriptor to complete FDO initialization
svn path=/branches/usb-bringup-trunk/; revision=55195
Cameron Gutman [Thu, 26 Jan 2012 03:27:22 +0000 (03:27 +0000)]
[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
Cameron Gutman [Thu, 26 Jan 2012 03:24:47 +0000 (03:24 +0000)]
[NTOSKRNL]
- Add a hack so that registering an interface after a remove and reconnect works
svn path=/branches/usb-bringup-trunk/; revision=55193
Cameron Gutman [Thu, 26 Jan 2012 02:59:58 +0000 (02:59 +0000)]
[MOUCLASS]
- Pass down unsupported IRPs instead of completing them
svn path=/branches/usb-bringup-trunk/; revision=55192
Cameron Gutman [Thu, 26 Jan 2012 02:50:15 +0000 (02:50 +0000)]
[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
Cameron Gutman [Thu, 26 Jan 2012 02:20:11 +0000 (02:20 +0000)]
[MOUHID]
- Only set the MOUSE_WHEEL flag if the wheel data is non-zero
svn path=/branches/usb-bringup-trunk/; revision=55190
Cameron Gutman [Thu, 26 Jan 2012 01:46:06 +0000 (01:46 +0000)]
[USBOHCI]
- Properly dismiss the enable status changed interrupt to avoid an interrupt storm after a device is disconnected
svn path=/branches/usb-bringup-trunk/; revision=55189
Cameron Gutman [Thu, 26 Jan 2012 00:29:25 +0000 (00:29 +0000)]
[USBEHCI]
- Fix GetPortStatus() and remove the cached status stuff (except for reset that we have to cache because the EHCI spec has no port reset complete bit)
svn path=/branches/usb-bringup-trunk/; revision=55188
Cameron Gutman [Thu, 26 Jan 2012 00:11:15 +0000 (00:11 +0000)]
[USBHUB_NEW]
- Revert r55167 now that OHCI is fixed
- USB drives attached to an OHCI controller before boot are now enumerated without a reconnect needed
svn path=/branches/usb-bringup-trunk/; revision=55187
Cameron Gutman [Thu, 26 Jan 2012 00:02:03 +0000 (00:02 +0000)]
[USBHUB_NEW]
- Remove the hacky way of determining if a device connect occurred (prone to all sorts of race conditions) and just always create a device since the only reason we reset right now is for a device connect
svn path=/branches/usb-bringup-trunk/; revision=55186
Cameron Gutman [Wed, 25 Jan 2012 23:56:29 +0000 (23:56 +0000)]
[USBOHCI]
- Fix and enable the proper GetPortStatus implementation
- Remove the old hacked cached port status mess
svn path=/branches/usb-bringup-trunk/; revision=55185
Johannes Anderwald [Wed, 25 Jan 2012 19:56:35 +0000 (19:56 +0000)]
[USBOHCI]
- Disable GetPortStatus implementation
- Fix build
svn path=/branches/usb-bringup-trunk/; revision=55182
Cameron Gutman [Wed, 25 Jan 2012 19:46:44 +0000 (19:46 +0000)]
[USBOHCI]
- Fix StartController() to perform initialization according to OHCI spec
- Fixes the infamous OHCI initialization hang on real hardware
svn path=/branches/usb-bringup-trunk/; revision=55181
Johannes Anderwald [Wed, 25 Jan 2012 18:56:56 +0000 (18:56 +0000)]
[USBOHCI]
- Add alignment check
svn path=/branches/usb-bringup-trunk/; revision=55176
Amine Khaldi [Wed, 25 Jan 2012 17:02:47 +0000 (17:02 +0000)]
[MOUNTMGR]
* Fix the CMake config.
svn path=/branches/usb-bringup-trunk/; revision=55175
Johannes Anderwald [Wed, 25 Jan 2012 09:50:04 +0000 (09:50 +0000)]
[USBOHCI]
- No need to turn off interrupts
- Check if bios is active
- Check for timeouts when resetting host controller
svn path=/branches/usb-bringup-trunk/; revision=55171
Cameron Gutman [Wed, 25 Jan 2012 06:35:00 +0000 (06:35 +0000)]
[USBOHCI]
- Don't turn off interrupts before setting the OHCI_OWNERSHIP_CHANGE_REQUEST bit because it prevents the SMM driver from receiving the interrupt that tells it to give up ownership of the host controller
- This fix should be merged to Haiku also which has the same bug
svn path=/branches/usb-bringup-trunk/; revision=55170
Cameron Gutman [Wed, 25 Jan 2012 06:09:24 +0000 (06:09 +0000)]
[USBSTOR]
- Use the correct USBD_TRANSFER_DIRECTION value for write operations
svn path=/branches/usb-bringup-trunk/; revision=55169
Johannes Anderwald [Wed, 25 Jan 2012 04:00:33 +0000 (04:00 +0000)]
[USBHUB]
- Partly revert 55167, it conflicts with hotplugging
svn path=/branches/usb-bringup-trunk/; revision=55168
Johannes Anderwald [Wed, 25 Jan 2012 03:39:57 +0000 (03:39 +0000)]
[USBSTOR]
- Add debug trace
[USBOHCI]
- Implement proper GetPortStatus
[USBHUB]
- Reset all connected ports before sending first SCE
- USB Devices present before booting are now detected with OHCI controller. EHCI code is present but not yet activated
svn path=/branches/usb-bringup-trunk/; revision=55167
Cameron Gutman [Wed, 25 Jan 2012 01:46:35 +0000 (01:46 +0000)]
[USBSTOR]
- Fix a bug in SRB queuing
svn path=/branches/usb-bringup-trunk/; revision=55166
Cameron Gutman [Wed, 25 Jan 2012 01:09:59 +0000 (01:09 +0000)]
[USBSTOR]
- Get the actual value for the removable media bit instead of hardcoding it to true
svn path=/branches/usb-bringup-trunk/; revision=55165
Cameron Gutman [Wed, 25 Jan 2012 00:16:40 +0000 (00:16 +0000)]
[CDROM.INF]
- Fix various issues
svn path=/branches/usb-bringup-trunk/; revision=55164
Cameron Gutman [Wed, 25 Jan 2012 00:03:18 +0000 (00:03 +0000)]
[USBSTOR]
- Don't lie about removable media support for anything except hard drives
svn path=/branches/usb-bringup-trunk/; revision=55160
Johannes Anderwald [Tue, 24 Jan 2012 23:19:43 +0000 (23:19 +0000)]
[INF]
- Try add support for USB CD/DVD Drives
svn path=/branches/usb-bringup-trunk/; revision=55159
Cameron Gutman [Tue, 24 Jan 2012 23:04:31 +0000 (23:04 +0000)]
[USBSTOR]
- Rewrite pending SRB handling and change some behavior of the IRP queue
- The caller is no longer responsible for checking whether it can call USBSTOR_QueueNextRequest; frozen IRP queue and pending SRB are both handled for them
- It's no longer required for the caller of USBSTOR_QueueTerminateRequest to know whether the SRB was active (which was impossible before when handling a cancellation)
- Many potential race issues with IRP cancellation are eliminated
- Debugging hung SRBs is much easier now that pointer to the active one is stored in the FDO
svn path=/branches/usb-bringup-trunk/; revision=55157
Pierre Schweitzer [Tue, 24 Jan 2012 22:54:14 +0000 (22:54 +0000)]
[MOUNTMGR]
Finally add the long awaited Mount Point Manager (aka mountmgr).
It's not complete yet, but will do most of the job it's been designed for.
What's missing is some dos volumes handlers, complete database support (local - registry - is complete, remote - files - is not).
It handles NTFS properties like reparse points.
It also handles devices with drive letters and those without drive letters (by using their unique ID).
Devices removal/arrival is detected through notifications (might be an issue).
Some work will have to be done in storage stack to fully support it.
Most of its IOCTL have been implemented (it's possible, for example, to notify a volume arrival through them, in case notifications don't work).
There's still some work to do on it to have it complete and fully implemented.
Enjoy!
svn path=/branches/usb-bringup-trunk/; revision=55156
Cameron Gutman [Tue, 24 Jan 2012 22:28:44 +0000 (22:28 +0000)]
[USBSTOR]
- Fix broken IRP error handling and leaking memory
svn path=/branches/usb-bringup-trunk/; revision=55155
Cameron Gutman [Tue, 24 Jan 2012 22:21:30 +0000 (22:21 +0000)]
[USBEHCI/USBOHCI]
- Handle invalid device handles gracefully instead of crashing
svn path=/branches/usb-bringup-trunk/; revision=55154
Cameron Gutman [Tue, 24 Jan 2012 21:33:51 +0000 (21:33 +0000)]
[USBSTOR]
- Release the spinlock before returning (accidentally removed)
svn path=/branches/usb-bringup-trunk/; revision=55152
Johannes Anderwald [Tue, 24 Jan 2012 20:49:01 +0000 (20:49 +0000)]
[USBEHCI]
- Display error status when host controller reports failure
svn path=/branches/usb-bringup-trunk/; revision=55149
Johannes Anderwald [Tue, 24 Jan 2012 17:00:30 +0000 (17:00 +0000)]
[USBHUB]
- Fix bugs introduced in 55134, 55135
- USB Mass Storage devices should now automatically install again
svn path=/branches/usb-bringup-trunk/; revision=55147
Cameron Gutman [Tue, 24 Jan 2012 04:39:09 +0000 (04:39 +0000)]
[USBSTOR]
- Fix cancellation for IRPs that have already been dispatched for processing by IoStartNextPacket
- Don't complete IRPs with the IRP list lock held
- Clear the cancel routine before completing the IRP
svn path=/branches/usb-bringup-trunk/; revision=55138
Cameron Gutman [Tue, 24 Jan 2012 03:33:45 +0000 (03:33 +0000)]
[CLASS2]
- Add back an accidentally removed line
svn path=/branches/usb-bringup-trunk/; revision=55137
Cameron Gutman [Tue, 24 Jan 2012 03:25:52 +0000 (03:25 +0000)]
[CLASS2]
- Add more black magic to remove symbolic links when a drive is removed
svn path=/branches/usb-bringup-trunk/; revision=55136
Johannes Anderwald [Mon, 23 Jan 2012 23:41:40 +0000 (23:41 +0000)]
[USBHUB]
- Add more checks for detecting composite device
svn path=/branches/usb-bringup-trunk/; revision=55135
Johannes Anderwald [Mon, 23 Jan 2012 23:29:54 +0000 (23:29 +0000)]
[USBHUB]
- Check if the device is a composite device
- Report USB\COMPOSITE as compatible id when a usb compsite device is detected
svn path=/branches/usb-bringup-trunk/; revision=55134
Johannes Anderwald [Mon, 23 Jan 2012 16:47:19 +0000 (16:47 +0000)]
[USBOHCI]
- Fix warning
- Remove assert
[USBEHCI]
- Remove assert
svn path=/branches/usb-bringup-trunk/; revision=55122
Cameron Gutman [Mon, 23 Jan 2012 16:29:43 +0000 (16:29 +0000)]
[USBEHCI]
- Remove unused variable
svn path=/branches/usb-bringup-trunk/; revision=55121