usb/1394 on the pc mark slezak program manager windows device experience group marksl @...

35
USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Upload: stephanie-jennings

Post on 28-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

USB/1394 on the PC

Mark SlezakProgram ManagerWindows Device experience groupMarkSl @ microsoft.com Microsoft Corporation

Page 2: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

USB – Refactoring of USBHubUSB – Refactoring of USBHub

Stack Update to Improve USB Rewrite of USBHub.sys

Improvements include better: Power Management

Selective Suspend behavior

Kernel Debugging over USB BetaNew feature for Windows codenamed “Longhorn”

Allows for debugging systems without legacy ports

Page 3: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

1394 – What’s Changed & What Hasn’t 1394 – What’s Changed & What Hasn’t

Longhorn is primarily bug fixesImproving the current code base is the main goal

Improvements to 1394 debugging

Removal of IP over 1394 in Longhornhttp://www.microsoft.com/whdc/system/bus/1394/IP_1394.mspx

Page 4: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Bluetooth on the PC

Vatsal BhardwajProgram ManagerWindows Device experience groupVatsalb @ microsoft.com Microsoft Corporation

Robin HeydonTechnical consultant Robin.Heydon @ csr.com CSR plc

Page 5: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

OutlineOutline

Bluetooth on future OSBluetooth on 64-bit versions of Windows

Bluetooth on Longhorn

Overview of Bluetooth Driver development interfaces – Presentation from Cambridge Silicon Radio

Bluetooth SIG roadmap

Improving end user experience with sync on Microsoft’s stack for Bluetooth

Call to Action

Page 6: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Bluetooth on 64-Bit Versions of WindowsBluetooth on 64-Bit Versions of Windows

Port the existing Windows XP SP2 features to x64 client release

No Bluetooth stack on Windows Server 2003

Profiles Supported Windows XP SP2 Windows XP x64

Human Interface Device (HID) X X

Dial-up Networking (DUN) X X

Hard Copy Replacement Printing (HCRP) X X

Personal Area Network user (PANU) X X

File push – Object Push Profile (OPP) X X

Virtual COM ports X X

Page 7: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

New Features on LonghornNew Features on Longhorn

Profile parity with Windows XP SP2 and Windows XP x64

Core stack enhancements Support for Synchronous Connection Oriented links (SCO)

Channel avoidance

Improved extensibility L2cap and SDP interfaces

SCO/eSCO interfaces

Qualification update to Bluetooth 2.0 + EDR (Enhanced Data Rate)

Page 8: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

New Features for Longhorn New Features for Longhorn –– Core Stack ImprovementsCore Stack Improvements

Synchronous connection oriented links (SCO)

Enhanced Synchronous connection orientedlinks (eSCO)

Improved AFH channel interference avoidancewith 802.11

Support for newer, faster hardware – EDR radios

Page 9: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

New Features for Longhorn – ExtensibilityNew Features for Longhorn – Extensibility

Goals SCO driver development interface

Service discovery protocol (SDP) driver development interface

L2cap driver development interface

Device installation

User mode extensibility in the Microsoft core stack for Bluetooth isprovided with RFCOMM sockets (published as part of SDK) and VCOM ports

Page 10: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

New Features for Longhorn – Extensibility (con’t)New Features for Longhorn – Extensibility (con’t)

Out of scopeProviding interface to HCI layer to enable 3rd partiesto add HCI commands

Providing interface to allow addition of custom L2cap/SCO/SDP interfaces

Providing a mechanism to install custom RFCOMM protocol layer on top of the L2cap protocol layer

Page 11: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Profile Examples Which Can Be Developed on Profile Examples Which Can Be Developed on Top of Microsoft Stack for BluetoothTop of Microsoft Stack for Bluetooth

Headset profile

Handsfree profile

Advanced audio distribution profile

A/V remote control profile

File transfer protocol profile

Page 12: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

HCI

SCO L2CAP SDP

Audio StackSCO

Hardware

Kernel mode

User mode

RFCOMM

New Proposed DDI

HS Profile

Sync Profile

CT Profile

HF Profile

BPPBIP

A/V Profiles

FTP Profile

Audio StackL2CAP

SPP

VCOM

OPP

HID PANU HCRPDUN

User Mode ExtensibilityPotential Clients:

Sync Software, Imaging Software

Kernel modeextensibility

Primary Client:Audio profiles

Bluetooth Protocol Stack on LonghornBluetooth Protocol Stack on Longhorn

New CoreComponent

ExistingComponent

Open to 3rd-PartyDevelopment

Page 13: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Bluetooth driver development interfaces overview

Robin HeydonTechnical Consultant CSR plc

Page 14: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Value proposition to CSRValue proposition to CSR

Our customers who wish to use a Microsoft StackGives them level of flexibility to add profiles

We will support them in adding these profiles

Leverage current Microsoft StackReusing the existing robust code base

Add functionality that our customers wantLeverage CSR profile code base

Used in many end products already - interoperability

Page 15: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Bluetooth DDI InterfaceBluetooth DDI Interface

Interfaces to Bluetooth L2CAP and SDPUsing IOCTLs to perform actions

IOCTL_BTH_GET_LOCAL_INFOReads Bluetooth Local Radio Information

BD_ADDR, Version Numbers, Name, Class Of Device, Supported Features

IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO

Writes an SDP record that will be published

Also includes Class of Device, Security, Browsability

IOCTL_INTERNAL_BTH_SUBMIT_BRBDoes most of the other useful stuff

Create connections, send data, etc…

Page 16: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Bluetooth BRB InterfaceBluetooth BRB Interface

Using Internal Bth Submit BRB, you can:

Connect to servicesBRB_L2CA_OPEN_CHANNEL

BRB_L2CA_ACL_TRANSFER

BRB_L2CA_CLOSE_CHANNEL

Register connectable servicesBRB_REGISTER_PSM

L2CAP_SERVER_INTERFACE

ConnectionIndication

BRB_L2CA_OPEN_CHANNEL_RESPONSE

Page 17: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Example Service Example Service

L2CAP_SERVER_INTERFACEAssociates the PSM with an IndicationCallback function

BRB_REGISTER_PSMRegisters the PSM as connectable

IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFOPublishes an SDP record describing the service

IndicationCallback (ConnectionIndication)Indicates that a inbound connection has arrived

BRB_L2CA_OPEN_CHANNEL_RESPONSEAccepts this inbound connection

L2CA_TRANSFER_DATATransfers data, in and out

L2CA_CLOSE_CHANNELCloses the channel

Page 18: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

SummarySummary

Providing everything that is requiredRegistering of PSMs

Registering of SDP records

Open / Read / Write / Close L2CAP Channels

Connectionless Data

Easy to use

Easy to extend current stackAdd current and new profiles

Page 19: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Bluetooth Roadmap Features That are Bluetooth Roadmap Features That are Interesting to Microsoft Interesting to Microsoft

Bluetooth QoS

Efficient service discovery

Alphanumeric PINs

Simple pairing

Page 20: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Bluetooth QoSBluetooth QoS

Myth: EDR will solve my problems of limited Bluetooth bandwidth, when using a stereo headset with other Bluetooth devices (like HID devices, printers, sync with mobile phones). With EDR, I don’t need QoS

Page 21: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Bluetooth QoS (con’t)Bluetooth QoS (con’t)

Reality: EDR does increase the Bluetooth bandwidth to 2-3 Mbps, but is not an alternative to QoS, stereo audio, HID devices, printers all operate over ACL links with no channel access guarantees

QoS is needed for better coexistence of Stereo audio profiles with other Bluetooth profiles

Page 22: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Efficient Service DiscoveryEfficient Service Discovery

Current protocol takes a long time to discover Bluetooth devices and resolve their user friendly names Bad user experience

~ 5-6 sec to discover all Bluetooth 1.2 devices

~ 10-11 sec to discover all Bluetooth 1.1 devices

Remote name resolution (RNR) takes an additional 0.5 - 2 sec per device

Efficient service discovery reduces requirements to make baseband connections during device discovery Better user experience

Reduces the need to issue RNR duringdevice discovery

Page 23: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Improving Sync Experience on Windows OS Improving Sync Experience on Windows OS

COM ports challenges

User Experience COM ports are hard to configure

User must manually select them

My sync experience

Page 24: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Question: I Am an ISV Writing Sync Applications, Question: I Am an ISV Writing Sync Applications, What Should I Do?What Should I Do?

Recommendation: Develop PC applications that use sockets to communicate to Bluetooth devices

Socket interfaces are very common

Provide richer environment More predictable buffering / data flow

Good error status indications

More control over connections

Link to Online SDKhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/bluetooth/bluetooth/bluetooth_start_page.asp

Page 25: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Some of the Partners Who Have Developed Their Some of the Partners Who Have Developed Their Sync Applications Using the Microsoft SDK for Sync Applications Using the Microsoft SDK for BluetoothBluetooth

“Nokia's mission is to offer to the best products and solutions with a superior user experience. Cooperation with industry leaders, such as Microsoft, will enable us to offer truly compelling choices to mobile users. Nokia PC Suite software developed using these new Microsoft’s tools for Bluetooth provides our customers with a great end user experience when they connect and synch their mobile phone with their Bluetooth enabled Windows PC”

- Jouni Rapakko, Technology Manager, PC Suite Unit, Nokia

Page 26: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Call to ActionCall to Action

ALLInstall the Longhorn builds on your machines and use the Microsoft stack for Bluetooth

Send us your feedback on Bthfb @microsoft.com

Driver/third party stack developersSend an email with business justification to bthddi @microsoft.com to request enrollment in beta program and get the Bluetooth DDI design documents

Application DevelopersUse Microsoft SDK for Bluetooth to develop applications

Post feedback, questions on the SDK on bthapi @microsoft.com alias

OEMsAdopt Microsoft stack for Bluetooth on Longhorn

Device vendorsUse stronger PINs and Support alphanumeric PINs whenever possible

Support Extended service inquiry and Improved service inquiry/response

Page 27: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Contact InformationContact Information

For feedback on Microsoft stack for Bluetoothor general Bluetooth feedback

Bthfb @ microsoft.com

For feedback on Microsoft SDK for BluetoothBthapi @ microsoft.com

Page 28: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

SummarySummary

Product name: Microsoft stack for Bluetoothon Longhorn

Low power cable replacement technology

Microsoft stack for Bluetooth is extensible

Value proposition to partners Reduce development cost, time to market for their Bluetooth product

Microsoft provides the core stack functionality and APIs

Partners can focus on developing profiles

Product differentiationDevice vendors can develop custom profiles for theirdevices using the Microsoft SDK for Bluetooth,Microsoft DDK for Bluetooth

Page 29: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Appendix

Page 30: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Recommendation: Bluetooth Security Recommendation: Bluetooth Security

Use strong PINs Windows XP SP2 recommends the use of 8-character PIN length

Support Alphanumeric PINs whenever possible(2005 Bluetooth SIG Roadmap feature)

Don’t default to the discoverable state

Don’t hardwire the same PINs to all your devices

Page 31: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Improving Overall User Experience Improving Overall User Experience

Recommendation: Use the Bluetooth UI in Windows XP SP2 to discover, connect, and bind remote devices

Provide a consistent interface so that users don’t have to learn multiple interfaces

The BluetoothSelectDevices API can be usedto invoke our UI

Link to SDKhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/bluetooth/bluetooth/bluetooth_start_page.asp

Page 32: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Question: I am an ISV . . .Question: I am an ISV . . .

Ideal situation is remote device uses RFCOMM directly without Serial Port profile

If remote device uses SPP and depends RS232 status signals like RTS, CTS, RI, etc, then applications can manipulate RS232 signals by using SIO_RFCOMM_SEND_COMMAND socket IOCTL

Applications can also implement the other parts of the SPP protocol like RPN and RLS messages viasocket IOCTL

Page 33: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

Community ResourcesCommunity Resources

Windows Hardware & Driver Central (WHDC)www.microsoft.com/whdc/default.mspx

Technical Communitieswww.microsoft.com/communities/products/default.mspx

Non-Microsoft Community Siteswww.microsoft.com/communities/related/default.mspx

Microsoft Public Newsgroupswww.microsoft.com/communities/newsgroups

Technical Chats and Webcastswww.microsoft.com/communities/chats/default.mspx

www.microsoft.com/webcasts

Microsoft Blogswww.microsoft.com/communities/blogs

Page 34: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation
Page 35: USB/1394 on the PC Mark Slezak Program Manager Windows Device experience group MarkSl @ microsoft.com Microsoft Corporation

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.