Commit graph

49796 commits

Author SHA1 Message Date
Cameron Gutman 9b540bf8a8 [USBOHCI]
- Attempt to fix reset race conditions

svn path=/branches/usb-bringup-trunk/; revision=55231
2012-01-27 05:20:37 +00:00
Johannes Anderwald a594afcd76 [USBOHCI]
- Revert previous revision

svn path=/branches/usb-bringup-trunk/; revision=55230
2012-01-27 02:12:32 +00:00
Johannes Anderwald 972bb5254a [USBOHCI]
- Fix setting device address

svn path=/branches/usb-bringup-trunk/; revision=55229
2012-01-27 02:09:18 +00:00
Cameron Gutman bad9585013 [USBHUB_NEW]
- Fix buffer overflow for composite devices

svn path=/branches/usb-bringup-trunk/; revision=55228
2012-01-27 02:02:11 +00:00
Cameron Gutman f0363e1cc1 [USBEHCI_NEW]
- Disable debug spam

svn path=/branches/usb-bringup-trunk/; revision=55225
2012-01-26 20:25:12 +00:00
Cameron Gutman bc7a50b969 [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
2012-01-26 20:02:42 +00:00
Cameron Gutman 38758cfacb [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
2012-01-26 19:30:46 +00:00
Johannes Anderwald 8f792f3587 [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
2012-01-26 19:11:44 +00:00
Cameron Gutman a565eb2d37 [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
2012-01-26 18:49:50 +00:00
Johannes Anderwald d2da1fb8a7 [DISK_NEW]
- Revert NTAPI changes

svn path=/branches/usb-bringup-trunk/; revision=55214
2012-01-26 17:26:49 +00:00
Johannes Anderwald 6f7593eb7b - Use WIN32_WINNT >=0x600
svn path=/branches/usb-bringup-trunk/; revision=55213
2012-01-26 17:24:52 +00:00
Johannes Anderwald c30c0341fd - Import disk.sys from Windows XP DDK
- Does not yet build

svn path=/branches/usb-bringup-trunk/; revision=55211
2012-01-26 16:55:19 +00:00
Johannes Anderwald 2d7c9100e1 [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
2012-01-26 13:45:59 +00:00
Cameron Gutman b4c6fa3b4c [USBOHCI]
- Wait the required time for the port to be ready after powering it up

svn path=/branches/usb-bringup-trunk/; revision=55196
2012-01-26 04:35:04 +00:00
Johannes Anderwald 1cede4f077 [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
2012-01-26 03:42:56 +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 f7c472bda7 [NTOSKRNL]
- Add a hack so that registering an interface after a remove and reconnect works

svn path=/branches/usb-bringup-trunk/; revision=55193
2012-01-26 03:24:47 +00:00
Cameron Gutman 2be02c1c91 [MOUCLASS]
- Pass down unsupported IRPs instead of completing them

svn path=/branches/usb-bringup-trunk/; revision=55192
2012-01-26 02:59:58 +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 c60ff01cc6 [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
2012-01-26 01:46:06 +00:00
Cameron Gutman 334c9ed261 [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
2012-01-26 00:29:25 +00:00
Cameron Gutman e4cf28f086 [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
2012-01-26 00:11:15 +00:00
Cameron Gutman bbd84c4171 [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
2012-01-26 00:02:03 +00:00
Cameron Gutman 23f71216c4 [USBOHCI]
- Fix and enable the proper GetPortStatus implementation
- Remove the old hacked cached port status mess

svn path=/branches/usb-bringup-trunk/; revision=55185
2012-01-25 23:56:29 +00:00
Johannes Anderwald 84e941632b [USBOHCI]
- Disable GetPortStatus implementation
- Fix build

svn path=/branches/usb-bringup-trunk/; revision=55182
2012-01-25 19:56:35 +00:00
Cameron Gutman 25d8cf82c9 [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
2012-01-25 19:46:44 +00:00
Johannes Anderwald 219fac4641 [USBOHCI]
- Add alignment check

svn path=/branches/usb-bringup-trunk/; revision=55176
2012-01-25 18:56:56 +00:00
Amine Khaldi 23bec34537 [MOUNTMGR]
* Fix the CMake config.

svn path=/branches/usb-bringup-trunk/; revision=55175
2012-01-25 17:02:47 +00:00
Johannes Anderwald 58dab5a63b [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
2012-01-25 09:50:04 +00:00
Cameron Gutman 6c55f96de8 [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
2012-01-25 06:35:00 +00:00
Cameron Gutman 75676e7e49 [USBSTOR]
- Use the correct USBD_TRANSFER_DIRECTION value for write operations

svn path=/branches/usb-bringup-trunk/; revision=55169
2012-01-25 06:09:24 +00:00
Johannes Anderwald 40df6bbbe4 [USBHUB]
- Partly revert 55167, it conflicts with hotplugging

svn path=/branches/usb-bringup-trunk/; revision=55168
2012-01-25 04:00:33 +00:00
Johannes Anderwald a0dc4083ad [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
2012-01-25 03:39:57 +00:00
Cameron Gutman 6fab1a7c6a [USBSTOR]
- Fix a bug in SRB queuing

svn path=/branches/usb-bringup-trunk/; revision=55166
2012-01-25 01:46:35 +00:00
Cameron Gutman e3d0e34a18 [USBSTOR]
- Get the actual value for the removable media bit instead of hardcoding it to true

svn path=/branches/usb-bringup-trunk/; revision=55165
2012-01-25 01:09:59 +00:00
Cameron Gutman 601d6a1e9f [CDROM.INF]
- Fix various issues

svn path=/branches/usb-bringup-trunk/; revision=55164
2012-01-25 00:16:40 +00:00
Cameron Gutman 131dbc69a7 [USBSTOR]
- Don't lie about removable media support for anything except hard drives

svn path=/branches/usb-bringup-trunk/; revision=55160
2012-01-25 00:03:18 +00:00
Johannes Anderwald 82f380100b [INF]
- Try add support for USB CD/DVD Drives

svn path=/branches/usb-bringup-trunk/; revision=55159
2012-01-24 23:19:43 +00:00
Cameron Gutman 11e87a17ea [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
2012-01-24 23:04:31 +00:00
Pierre Schweitzer 31572e7770 [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
2012-01-24 22:54:14 +00:00
Cameron Gutman 2f5db208de [USBSTOR]
- Fix broken IRP error handling and leaking memory

svn path=/branches/usb-bringup-trunk/; revision=55155
2012-01-24 22:28:44 +00:00
Cameron Gutman 75947d6708 [USBEHCI/USBOHCI]
- Handle invalid device handles gracefully instead of crashing

svn path=/branches/usb-bringup-trunk/; revision=55154
2012-01-24 22:21:30 +00:00
Cameron Gutman a65fd45042 [USBSTOR]
- Release the spinlock before returning (accidentally removed)

svn path=/branches/usb-bringup-trunk/; revision=55152
2012-01-24 21:33:51 +00:00
Johannes Anderwald 4f681bfe61 [USBEHCI]
- Display error status when host controller reports failure

svn path=/branches/usb-bringup-trunk/; revision=55149
2012-01-24 20:49:01 +00:00
Johannes Anderwald b4447be2c3 [USBHUB]
- Fix bugs introduced in 55134, 55135
- USB Mass Storage devices should now automatically install again

svn path=/branches/usb-bringup-trunk/; revision=55147
2012-01-24 17:00:30 +00:00
Cameron Gutman 94f1525447 [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
2012-01-24 04:39:09 +00:00
Cameron Gutman cd1f4631f1 [CLASS2]
- Add back an accidentally removed line

svn path=/branches/usb-bringup-trunk/; revision=55137
2012-01-24 03:33:45 +00:00
Cameron Gutman fa62dde61b [CLASS2]
- Add more black magic to remove symbolic links when a drive is removed

svn path=/branches/usb-bringup-trunk/; revision=55136
2012-01-24 03:25:52 +00:00
Johannes Anderwald 3b70f619c8 [USBHUB]
- Add more checks for detecting composite device

svn path=/branches/usb-bringup-trunk/; revision=55135
2012-01-23 23:41:40 +00:00