Commit graph

49768 commits

Author SHA1 Message Date
Cameron Gutman c6e7f39b35 [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
2012-01-30 04:52:37 +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
Cameron Gutman f740e9241e [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
2012-01-30 00:23:11 +00:00
Cameron Gutman bf71578096 [INF]
- Formatting fixes
- Add missing device description
- Set to boot start for USB boot support

svn path=/branches/usb-bringup-trunk/; revision=55307
2012-01-30 00:05:14 +00:00
Cameron Gutman 4ac7c1e1f7 [INF]
- Enable boot start for USB drivers (part 1 of 2)

svn path=/branches/usb-bringup-trunk/; revision=55305
2012-01-29 23:28:34 +00:00
Johannes Anderwald 3f91d309f7 [INF]
- Add usbccgp installation section

svn path=/branches/usb-bringup-trunk/; revision=55304
2012-01-29 23:27:03 +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
Cameron Gutman d5f187d853 [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
2012-01-29 22:54:57 +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
Cameron Gutman eb13400efd [TXTSETUP.SIF]
- Start the USB composite generic parent driver during 1st stage

svn path=/branches/usb-bringup-trunk/; revision=55265
2012-01-27 22:00:48 +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
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
Johannes Anderwald 0a2f895e36 [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
2012-01-27 12:29:18 +00:00
Cameron Gutman 6f54b01f29 [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
2012-01-27 06:27:12 +00:00
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