Top Banner
October 10, 2000 1
24

October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

Dec 23, 2015

Download

Documents

Junior Leonard
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 1

Page 2: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 2

USB 2.0 Software Roadmap & Architecture Update

USB 2.0 Software Roadmap & Architecture Update

Robert IngmanRobert IngmanLead Program ManagerLead Program Manager

Windows DivisionWindows Division

Microsoft Corp.Microsoft Corp.

Page 3: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 3

Software Roadmap AgendaSoftware Roadmap Agenda

Microsoft planMicrosoft plan Microsoft’s ship criteria Microsoft’s ship criteria ““Early adopter” planEarly adopter” plan Current statusCurrent status USB 2.0 and storage devicesUSB 2.0 and storage devices

Page 4: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 4

Microsoft PlanMicrosoft Plan

Tentative “early adopter” USB 2.0 driver support for Tentative “early adopter” USB 2.0 driver support for Windows 2000 in Q1, 2001Windows 2000 in Q1, 2001– Only if hardware is ready in timeOnly if hardware is ready in time– Why Q1 next year? Hardware won’t be ready this year…Why Q1 next year? Hardware won’t be ready this year…

Tentative full USB 2.0 support in Windows “Whistler” Tentative full USB 2.0 support in Windows “Whistler” releases in 2001releases in 2001– consumer, workstation, and server releases consumer, workstation, and server releases

Tentative back-ports of USB 2.0 driver supportTentative back-ports of USB 2.0 driver support by mid-2001 for Windows Me and Windows 98 SE by mid-2001 for Windows Me and Windows 98 SE

No driver support for Windows 98 gold No driver support for Windows 98 gold

Page 5: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 5

Why Windows 2000 First?Why Windows 2000 First?

Windows 2000 is our USB 2.0 development platformWindows 2000 is our USB 2.0 development platform– We develop and test on Windows 2000 code base first anywayWe develop and test on Windows 2000 code base first anyway– Reduces riskReduces risk– Reduces test burdenReduces test burden

Windows 2000 is Microsoft’s strategic foundation for all Windows 2000 is Microsoft’s strategic foundation for all future OS effortsfuture OS efforts– Paves the way for USB 2.0 support in Windows “Whistler”Paves the way for USB 2.0 support in Windows “Whistler”

and beyond and beyond Enables early focus on business/commercial customers Enables early focus on business/commercial customers

and “prosumers” and “prosumers”

Page 6: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 6

Microsoft’s Ship CriteriaMicrosoft’s Ship Criteria

Before Microsoft USB 2.0 driver stack ships, for Before Microsoft USB 2.0 driver stack ships, for any Windows OS, we need at least 3 months of any Windows OS, we need at least 3 months of solid end-to-end testing with the following solid end-to-end testing with the following hardware:hardware:– Production-qualityProduction-quality USB 2.0 host controllers from USB 2.0 host controllers from

at least 2 vendorsat least 2 vendors– Production-qualityProduction-quality USB 2.0 hubs from at least USB 2.0 hubs from at least

3 vendors3 vendors– Production-qualityProduction-quality USB 2.0 peripherals from USB 2.0 peripherals from

at least 6 vendorsat least 6 vendors

Page 7: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 7

“Early Adopter” Plan“Early Adopter” Plan

““Early adopter” OEMs and IHVs should plan to Early adopter” OEMs and IHVs should plan to spend time & resources at Microsoft this fall spend time & resources at Microsoft this fall – We need MORE HARDWARE to test with!We need MORE HARDWARE to test with!– Can you help?Can you help?

3-month final test pass for Win2000 can start only 3-month final test pass for Win2000 can start only when we have enough production-quality when we have enough production-quality hardware to test with hardware to test with

USB 2.0 host controllers, hubs, and peripherals as USB 2.0 host controllers, hubs, and peripherals as specified by our ship criteria need to be part of specified by our ship criteria need to be part of the entire test passthe entire test pass

Page 8: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 8

“Early Adopter” Test Flow“Early Adopter” Test Flow

First at Intel for hardware debugging First at Intel for hardware debugging – Low-level electrical workLow-level electrical work– Bus signaling work Bus signaling work – Any work that requires extensive use of scopes, etcAny work that requires extensive use of scopes, etc– Compliance and interop testingCompliance and interop testing

Then at Microsoft when you are ready toThen at Microsoft when you are ready to– Have your device enumerated by a 2.0 host controllerHave your device enumerated by a 2.0 host controller– Have Windows load a driver for it Have Windows load a driver for it

Page 9: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 9

Current Software Status Current Software Status

New USB 2.0 driver stack up & runningNew USB 2.0 driver stack up & running– New port driver New port driver – New mini-port drivers for UHCI, OHCI, and EHCINew mini-port drivers for UHCI, OHCI, and EHCI

2.0 HS interrupt and bulk is functional2.0 HS interrupt and bulk is functional Classic FS bulk works behind 2.0 hub/TTClassic FS bulk works behind 2.0 hub/TT Areas that need more work:Areas that need more work:

– Classic LS devices behind 2.0 hub/TTClassic LS devices behind 2.0 hub/TT– Classic FS isoch behind 2.0 hub/TTClassic FS isoch behind 2.0 hub/TT– 2.0 HS isoch 2.0 HS isoch

Test tools are being developed in parallelTest tools are being developed in parallel

As of October 9, 2000As of October 9, 2000

Page 10: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 10

Current Hardware Status Current Hardware Status

Early testing of USB 2.0 driver stack on Win2000 Early testing of USB 2.0 driver stack on Win2000 with the following hardware:with the following hardware:– Host controllers and hubs from one vendorHost controllers and hubs from one vendor– IDE-to-USB2 bridges from 2 vendorsIDE-to-USB2 bridges from 2 vendors– Scanner from one vendorScanner from one vendor– Generic, programmable test device from IntelGeneric, programmable test device from Intel

As of October 9, 2000As of October 9, 2000

Page 11: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 11

USB 2.0 andStorage DevicesUSB 2.0 andStorage Devices

USB 2.0 is fine for secondary add-on storageUSB 2.0 is fine for secondary add-on storage Microsoft has no plans in place currently to support a Microsoft has no plans in place currently to support a

USB 2.0 storage device as the primary, bootable deviceUSB 2.0 storage device as the primary, bootable device– This means no support for system boot partitions, paging, This means no support for system boot partitions, paging,

hibernation, or crash-dumpshibernation, or crash-dumps ““Recovery boot” from USB 2.0 CD-ROM drive will be Recovery boot” from USB 2.0 CD-ROM drive will be

supported, but requires specific BIOS support as wellsupported, but requires specific BIOS support as well(El Torito specification)(El Torito specification)

Boot to MS-DOS from USB floppy done via BIOSBoot to MS-DOS from USB floppy done via BIOSsupport as wellsupport as well– El Torito or legacy emulationEl Torito or legacy emulation

Page 12: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 12

Architecture AgendaArchitecture Agenda

Overview of new USB 2.0 driver stackOverview of new USB 2.0 driver stack

USB Driver Interface for 2.0USB Driver Interface for 2.0

New USB UI for 2.0New USB UI for 2.0

Selective Suspend Selective Suspend

ConclusionConclusion

Page 13: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 13

New USB Driver StackNew USB Driver Stack

New USB port driver and mini-port driver for each host New USB port driver and mini-port driver for each host controller type replace monolithic Win9X/Win2000 host controller type replace monolithic Win9X/Win2000 host controller driverscontroller drivers– Port driver handles PnP, power mgmt, and other OS stuffPort driver handles PnP, power mgmt, and other OS stuff– Mini-port drivers talk to the hardwareMini-port drivers talk to the hardware

New generic parent/composite device driverNew generic parent/composite device driver Hub driver now loads for hubs only (and not for Hub driver now loads for hubs only (and not for

composite devices)composite devices) New driver architecture reduces dependencies and New driver architecture reduces dependencies and

isolates specific functionality in dedicated drivers isolates specific functionality in dedicated drivers

Page 14: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 14

USB Driver Stackin “Whistler”USB Driver Stackin “Whistler”

USB Host ControllerUSB Host ControllerUSB Host ControllerUSB Host Controller

PCI EnumeratorPCI EnumeratorPCI EnumeratorPCI Enumerator

USBUSBUhci.Uhci.SysSys

USBUSBUhci.Uhci.SysSys

USBUSBOhci.Ohci.SysSys

USBUSBOhci.Ohci.SysSys

USBccgp.SysUSBccgp.SysUSBccgp.SysUSBccgp.Sys

USBport.SysUSBport.SysUSBport.SysUSBport.Sys

Client DriverClient DriverClient DriverClient Driver

USBhub.SysUSBhub.SysUSBhub.SysUSBhub.Sys

USB Driver Interface (in DDK)USB Driver Interface (in DDK)USB Driver Interface (in DDK)USB Driver Interface (in DDK)

USBUSBEhci.Ehci.SysSys

USBUSBEhci.Ehci.SysSys

Not Committed Yet!Not Committed Yet!Not Committed Yet!Not Committed Yet!

UUSSBBD.D.SSYYSS

UUSSBBD.D.SSYYSS

Page 15: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 15

USB 2.0 Added to Win2000USB 2.0 Added to Win2000

USB Host ControllerUSB Host ControllerUSB Host ControllerUSB Host Controller

PCI EnumeratorPCI EnumeratorPCI EnumeratorPCI Enumerator

UHCD.UHCD.SYSSYS

UHCD.UHCD.SYSSYS

OPENOPENHCI.HCI.SYSSYS

OPENOPENHCI.HCI.SYSSYS

USBPORT.SYSUSBPORT.SYSUSBPORT.SYSUSBPORT.SYS

CLIENT DRIVERCLIENT DRIVERCLIENT DRIVERCLIENT DRIVER

USBHUB.SYSUSBHUB.SYSUSBHUB.SYSUSBHUB.SYS

USB Driver Interface (in DDK)USB Driver Interface (in DDK)

USBEHCI.SYSUSBEHCI.SYSUSBEHCI.SYSUSBEHCI.SYS

USBHUB20.SYSUSBHUB20.SYSUSBHUB20.SYSUSBHUB20.SYS

UUSSBBD.D.SSYYSS

UUSSBBD.D.SSYYSS

Page 16: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 16

Bulk, Interrupt, & IsochronousBulk, Interrupt, & IsochronousClassic 1.0/1.1 DevicesClassic 1.0/1.1 Devices

Connected to 2.0 HC via USB 2.0 hub/TTConnected to 2.0 HC via USB 2.0 hub/TT USB Driver Interface remains exactly the sameUSB Driver Interface remains exactly the same

– Client drivers do not need to changeClient drivers do not need to change Transaction Translator support is built into Transaction Translator support is built into

USBEHCI mini-port driver USBEHCI mini-port driver Some changes required to MS Hub driverSome changes required to MS Hub driver

– USBHUB.SYS updated in “Whistler”USBHUB.SYS updated in “Whistler”– USBHUB20.SYS for W2K and Win9XUSBHUB20.SYS for W2K and Win9X

Page 17: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 17

2.0 High-Speed Devices2.0 High-Speed Devices

USB Driver Interface remains exactly the sameUSB Driver Interface remains exactly the same Client drivers do not need to changeClient drivers do not need to change

– Device just runs at higher speedDevice just runs at higher speed– For example, the USB mass storage class driverFor example, the USB mass storage class driver

in Windows 2000 does not need to be changedin Windows 2000 does not need to be changed

Bulk & InterruptBulk & Interrupt

Page 18: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 18

2.0 High-Speed Isochronous2.0 High-Speed Isochronous

USB 2.0 isoch has micro-frame resolutionUSB 2.0 isoch has micro-frame resolution– 8 packets per ms instead of 1 packet per ms8 packets per ms instead of 1 packet per ms

Options:Options:1.1. Allow client drivers to submit 1 packet-sized data buffersAllow client drivers to submit 1 packet-sized data buffers

– Would require new USB Driver InterfaceWould require new USB Driver Interface– Would introduce huge burden on system (8000 IRP’s/sec)Would introduce huge burden on system (8000 IRP’s/sec)

2.2. Keep min. data buffer size the same as for FS isochKeep min. data buffer size the same as for FS isoch– Data buffer must be able to hold at least 1ms worth of dataData buffer must be able to hold at least 1ms worth of data– No need to expose current micro-frame number to client driverNo need to expose current micro-frame number to client driver– USB Driver Interface can remain the same as for FS isochUSB Driver Interface can remain the same as for FS isoch

Plan is to go with option 2 Plan is to go with option 2

Page 19: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 19

USB UI OverviewUSB UI Overview

Property pages in Device Manager:Property pages in Device Manager:– Host controller bandwidth allocation (“Advanced” tab)Host controller bandwidth allocation (“Advanced” tab)– Hub power information per port (“Power” tab)Hub power information per port (“Power” tab)

Pop-up error dialogsPop-up error dialogs– Hub power exceeded (e.g. camera plugged intoHub power exceeded (e.g. camera plugged into

bus-powered hub)bus-powered hub)– Over-current/electrical surge on hub portOver-current/electrical surge on hub port– Failed bandwidth allocationFailed bandwidth allocation– Cascading of more than 5 hubsCascading of more than 5 hubs– Enumeration failure (new in “Whistler”)Enumeration failure (new in “Whistler”)– Non-unique serial numbers (new in “Whistler”)Non-unique serial numbers (new in “Whistler”)

Page 20: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 20

New UI for USB 2.0 New UI for USB 2.0

Device Manager property pages will include USB Device Manager property pages will include USB 2.0 HC’s and hubs as well2.0 HC’s and hubs as well

New pop-up dialogs to cover new basic scenario:New pop-up dialogs to cover new basic scenario:– 2.0 hub/device plugged into classic root port or hub2.0 hub/device plugged into classic root port or hub

User will be guided to plug in 2.0 device intoUser will be guided to plug in 2.0 device into2.0-capable port instead:2.0-capable port instead:– Free 2.0 port does exist: plug it inFree 2.0 port does exist: plug it in– Free 2.0 port does not exist: swap 1.0/2.0 devicesFree 2.0 port does not exist: swap 1.0/2.0 devices– All 2.0 ports have 2.0 devices plugged in: trade deviceAll 2.0 ports have 2.0 devices plugged in: trade device– System isn’t 2.0-capable: warning dialogSystem isn’t 2.0-capable: warning dialog

Page 21: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 21

Selective SuspendSelective Suspend

Allows individual devices to be selectively suspended Allows individual devices to be selectively suspended (D2) when idle even when system itself is fully awake (S0)(D2) when idle even when system itself is fully awake (S0)

Allows root ports to be suspended if all USB devices are Allows root ports to be suspended if all USB devices are idle, and the HC can be put into a low-power state (C3)idle, and the HC can be put into a low-power state (C3)– Will result in battery power savings for mobile systemsWill result in battery power savings for mobile systems

Scheme is cooperative, and requires that all devices + Scheme is cooperative, and requires that all devices + drivers go into idle state when inactivedrivers go into idle state when inactive

Client drivers must be able to put devices into aClient drivers must be able to put devices into alow-power state even when system itself is awakelow-power state even when system itself is awake

Microsoft will rev HID/keyboard/mouse, storage, and Microsoft will rev HID/keyboard/mouse, storage, and printer driver stacks to take advantage of this new featureprinter driver stacks to take advantage of this new feature

Sample driver in “Whistler” DDK (beta2)Sample driver in “Whistler” DDK (beta2)

New Feature in “Whistler”New Feature in “Whistler”

Page 22: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 22

Selective SuspendSelective Suspend

Power downPower down– New IOCTL in USBHUB that client driver calls whenNew IOCTL in USBHUB that client driver calls when

device is idledevice is idle– Callback routine tells client driver to power down deviceCallback routine tells client driver to power down device

using standard PoXxx callusing standard PoXxx call– NOTE: client driver must post WAIT_WAKE IRP for wake-up NOTE: client driver must post WAIT_WAKE IRP for wake-up

capable device before powering down devicecapable device before powering down device Power upPower up

– Wake-up capable device generates standard resume signaling Wake-up capable device generates standard resume signaling when “activated” by the user, WAIT_WAKE IRP gets completed, when “activated” by the user, WAIT_WAKE IRP gets completed, and client driver issues Set_D0 request to deviceand client driver issues Set_D0 request to device

OROR– Client driver issues Set_D0 request to device in response to host Client driver issues Set_D0 request to device in response to host

software “activation” software “activation”

ContinuedContinued

Page 23: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 23

ConclusionConclusion

USB 2.0 driver development work leveragesUSB 2.0 driver development work leverageswhat was done for USB 1.0what was done for USB 1.0– Re-use of USB1.x driver code reduces riskRe-use of USB1.x driver code reduces risk

Microsoft’s USB team is staffed and fully Microsoft’s USB team is staffed and fully committed to USB 2.0committed to USB 2.0

Microsoft’s ability to support USB 2.0 “early Microsoft’s ability to support USB 2.0 “early adopters” is gated on the early availability of adopters” is gated on the early availability of enough host controllers, hubs, and peripheralsenough host controllers, hubs, and peripherals

Page 24: October 10, 20001. 2 USB 2.0 Software Roadmap & Architecture Update Robert Ingman Lead Program Manager Windows Division Microsoft Corp.

October 10, 2000 24

Call to ActionCall to Action

USB 2.0 driver support for Windows is gated on USB 2.0 driver support for Windows is gated on hardware availabilityhardware availability– Contact us as soon as you are ready to work with usContact us as soon as you are ready to work with us– Send email to Send email to [email protected]@MICROSOFT.COM

Get on the Windows “Whistler” Beta programGet on the Windows “Whistler” Beta program– Send email to Send email to [email protected]@MICROSOFT.COM

Get the USB 2.0 PDKGet the USB 2.0 PDK– Details on Details on http://www.usb.org/developers/usb20/http://www.usb.org/developers/usb20/– Includes Win2000 pre-release drivers from MicrosoftIncludes Win2000 pre-release drivers from Microsoft