Certified Wireless Wire Adapter Model Abdul R. Ismail Intel Corporation Content also provided by: Matt Katagiri, NEC
Agenda Overview Software-Hardware Overview Delivery Mechanism: RPipe Hardware Architecture Wire Adapter Device Class Software Architecture Summary 3
Purpose of Wire Adapter To provide a -to-wireless bridge Host side wireless extension To easily convert wired devices to wireless Device side wireless extension To be an enabler of Certified Wireless technology and inherit the popularity of the most successful interface in the world 4
Two Types of Wire Adapter Host Wire Adapter and Device Wire Adapter 2.0 2.0 Host Wire Adapter: HWA Device Wire Adapter: DWA 5
Agenda Overview Software-Hardware Overview Delivery Mechanism: RPipe Hardware Architecture Software-Hardware Interface Wire Adapter Device Class Summary 6
Topology Topology Driver Stack Host Host 2 HWA HWA Certified Wireless CW CW Native Device Native Device Existing Device Drivers DWA DWA DWA DWA CW CW Native Device Native Device DWA DWA DWA DWA HWA HWA Host Host DI 7
Transfer Overview: Hardware Transferred 64 KB Pipes Virtual Connection to Transfer 64 KB Driver Stack Device Device Driver Driver DI 2 Host Host 64KB Host Host Driver Driver Device Max Packet Size 8
Transfer Overview: Certified Wireless Hardware Transferred 64 KB 2 Pipes Virtual Connection to Transfer 64 KB Driver Stack Device Device Driver Driver DI DWA DWA 32 KB 32 KB DWA DWA Device Max. Packet Size Certified Wireless DI HWA HWA 32 KB 32 KB HWA HWA 2 DI Host Host 32 KB 32 KB Host Host DWA Max. Packet Size HWA Max. Packet Size 9
Agenda Overview Software-Hardware Overview Delivery Mechanism: RPipe Hardware Architecture Wire Adapter Device Class Software Architecture Summary 10
Basic Theory of Delivery Certified Wireless Host < Wireless > Dev ID = 02h EP # = 3h Direction = OUT Transfer type = bulk MPS = 2 KB Speed = 480 Mbps Burst size = 4 DWA Let s assume this host is like the current host. In this case, the driver knows all of the transfer information and sets the registers with appropriate values to transfer the data to the DWA. Device 11
Basic Theory of Delivery Certified Wireless Host < Wireless > Dev ID = 02h EP # = 3h Direction = OUT Transfer type = bulk MPS = 2 KB Speed = 480 Mbps Burst size = 4 DWA Same Information < > Dev Address = 01h EP # = 4h Direction = OUT Transfer type = bulk MPS = 512B Speed = HS Device < > Dev Address = 01h EP # = 4h Direction = OUT Transfer type = bulk MPS = 512B Speed = HS Let s add all the transfer information on the top of the data packet. 12
Basic Theory of Delivery Certified Wireless Host < Wireless > Dev ID = 02h EP # = 3h Direction = OUT Transfer type = bulk MPS = 2 KB Speed = 480 Mbps Burst size = 4 DWA Device DWA retrieves the transfer information from the data packet and uses it to initiate the transfer. < > Dev Address = 01h EP # = 4h Direction = OUT Transfer type = bulk MPS = 512B Speed = HS 13
Basic Theory of Delivery Certified Wireless Host DWA Device 14
Local base of Transfer Information Certified Wireless Host DWA Device ID=2 < Wireless > Dev ID = 02h EP # = 3h Direction = OUT Transfer type = bulk MPS = 2 KB Speed = 480 Mbps Burst size = 4 ID 0 1 2 3 Dev Addr, EP#, Dir, T.Type, MPS, Speed 01h, 0h, CTL, 512B, HS 01h, 1h, IN, INT, 64B, HS 01h, 4h, OUT, BLK, 512B, HS 03h, 0h, CTL, 64, FS 4 03h, 3h, IN, ISO, 1023B, FS packet to DWA only has to have transfer information ID 15
Local base of Transfer Information Certified Wireless Host TR DWA Transfer Request Packet with RPipe Index Packet in MPS on Wireless One Transfer ID 0 1 2 3 4 Device Dev Addr, EP#, Dir, T.Type, MPS, Speed 01h, 0h, CTL, 512B, HS 01h, 1h, IN, INT, 64B, HS 01h, 4h, OUT, BLK, 512B, HS 03h, 0h, CTL, 64, FS 03h, 3h, IN, ISO, 1023B, FS Each transfer information set is called RPipe Remote Pipe, or 16
Delivery Summary TR TR Host Wire Adapter and Device Wire Adapter 2.0 2.0 Host Wire Adapter: HWA Device Wire Adapter: DWA 17
Delivery Summary Host Wire Adapter and Device Wire Adapter 2.0 2.0 TR TR Host Wire Adapter: HWA Device Wire Adapter: DWA 17
Delivery Detail: Bulk, Control Certified Wireless Host Step 0: RPipe Setup DWA Device TR Step 1: Send Step 2: Send Step 3: Send Step 4: Send TR Step 5: Send Step 6: Send Step 7: Send Step 8: Send Step Number Upstream BUS Downstream BUS This Period varies 0 1 2 3 4 1 2 3 4 Execution Timing 5 6 7 8 5 6 78 Time 18
Delivery Detail: ISO Certified Wireless Host Step 0: RPipe Setup DWA Device Step 1: Send Step 2: Send Step 3: Send Step 4: Send Step 5: Send Step 6: Send Step 7: Send 1 Upstream BUS Service Period 1 Downstream BUS Service Period Step Number Upstream BUS Downstream BUS 0 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 4 5 6 7 4 5 6 7 4 5 6 7 4 5 6 7 Execution Timing Time 19
Agenda Overview Software-Hardware Overview Delivery Mechanism: RPipe Hardware Architecture Wire Adapter Device Class Software Architecture Summary 20
Hardware Architecture Device Ctl/Status Port Ctl/Status (DWA Only) Media Device Controller Remote Pipes Host Transaction Engine Port Port Ports (DWA Only) 21
Media Device Controller Handles upstream communications with host Choice of upstream media type is dependent on the type of WA HWA: 2.0 device controller DWA: Certified Wireless device controller Device Ctl/Status Processes wire adapter class-specific requests Handles / Certified Wireless standard requests Usually implemented as endpoint controller Port Ctl/Status (DWA Only) Media Device Controller Remote Pipes Host Transaction Engine Port Ports Port (DWA Only) 22
Device Control and Status Provides device control and status information Controlled using standard and class specific command Standard requests Get device descriptor Set address Class-specific requests Get wire adapter status Set/clear wire adapter feature Device Ctl/Status Port Ctl/Status (DWA Only) Media Device Controller Remote Pipes Host Transaction Engine Port Ports Port (DWA Only) 23
Port Control and Status Ports are only present on DWAs Similar to port control of wired 2.0 hub Controls the physical downstream ports on a device wire adapter Device Ctl/Status Controlled using class specific CW requests Class-specific root Port requests Reset Enable/disable Suspend/resume Port Ctl/Status (DWA Only) Media Device Controller Remote Pipes Host Transaction Engine Port Ports Port (DWA Only) 24
Remote Pipe RPipe attributes Endpoint context Amount of buffer /RPipe Number of requests Type of transfer Re-configuration of RPipe Get RPipe and save Set RPipe w/new Restore w/set RPipe w/old descriptor accept transfer requests and data from host Min. 1, max. 3937 Recommended 2 number of supported devices Device Ctl/Status Media Device Controller Functions Convert transfer requests to individual transactions Pass transactions to host transaction engine Return transfer status and data to host OUT: transfer result IN: transfer result + data received from device Port Ctl/Status (DWA Only) Remote Pipes Host Transaction Engine Port Ports Port (DWA Only) 25
Host Transaction Engine RPipes provide the work to be done and control information Transaction control SOF and token generation (DWA) MMC and W X CTA generation (HWA) Prioritize RPipe by transfer types Device Ctl/Status Media Device Controller Priority service to periodic RPipes Isochronous, interrupt Round-robin service to asynchronous RPipes Bulk, control Port Ctl/Status (DWA Only) Remote Pipes Host Transaction Engine Port Ports Port (DWA Only) 26
Synchronization Timing PC or HWA Wireless.2.0 DWA Bus B Bus C 2.0 Device X microseconds Bus Timings Y microseconds Bus B MMC MMC Drift Synchronize Counter (DWA) Drift Synchronize Counter (DWA) Bus C SOF SOF SOF FrameNumber = N FrameNumber = N FrameNumber = N+1 FrameNumber = N+1 SOF All clocks under an HWA are synchronized - Device wire adapters - Certified Wireless devices 17-bit Frame counter 8-bit 125 µs Counter 27
Architecture Summary Wire adapters expose a interface Host wire adapter is a 2.0 device Device wire adapter is a Certified Wireless device Scalability No data rate relationships between layers Specification allows vendors to develop both complex wire adapters as well as simple dedicated wire adapters Cost sensitivity Managed within the device framework Buffer oriented data delivery model DWAs synchronize their downstream clock to the upstream Certified Wireless clock 28
Agenda Overview Software-Hardware Overview Delivery Mechanism: RPipe Hardware Architecture Wire Adapter Device Class Software Architecture Summary 29
Wire Adapter Device Class The class definition describes the interface to a WA Descriptors (standard and class-specific) Describes wire adapter data delivery model Applies to both host and device wire adapters 30
Wire Adapter Device Control The default endpoint is used to manage the WA device Categories of requests: Wire adapter control Remote pipe control and status Port control and status (DWA only) Association and security (HWA only) 31
Wire Adapter Control Ability to reset, enable/disable the wire adapter Set/clear wire adapter feature Get the current status of the wire adapter Get wire adapter status 32
Host Wire Adapter Control Add/remove information elements from an MMC Add/remove MMC IE Set the interval and number of DNTS slots Set Num DNTS Slots Set the device availability info Set device info Time-related information Get BPST time Get W time 33
Remote Pipe Control and Status This is the heart of the wire adapter The number of RPipes is returned in the WA class-specific WA descriptor Each RPipe is described by an RPipe descriptor Get RPipe descriptor Set RPipe descriptor is used to change the buffer size, transfer type, number of retries, endpoint context on an RPipe 34
Remote Pipe Control and Status 2 Transfers on an RPipe may be aborted Abort RPipe An RPipe can be temporarily paused Pause RPipe Host software can get the current state of the RPipe Get RPipe Status 35
HWA Association and Security A host wire adapter provides support to connect a device with a Certified Wireless host DN Received notification sent to the host when a DN_Connect is received Hosts add a WCONNECTACK_IE in response using the Add MMC IE request Uses a security descriptor to identify the encryption types supported Supports using individual encryption types for each downstream device Set device encryption Set device key Provides a mechanism to set the key used to communicate with the Certified Wireless cluster Set Group Key 36
Wire Adapter Transfer Interface A wire adapter exposes an interface with 3 endpoints Notification endpoint Interrupt IN endpoint that provides notifications to the host, including asynchronous wire adapter status changes and transfer status, port status changes (DWA Only), W device notifications (HWA Only) transfer endpoint pair Bulk OUT endpoint used to send transfer requests and transfer data to the wire adapter Bulk IN endpoint used to return transfer result and data from the wire adapter 37
Wire Adapter Transfer Transfer requests and transfer data to a downstream device are sent on the data transfer OUT endpoint All transfer requests contain an RPipe index The transfer request is sent as separate packet, followed by n transfer data packets Packetization information for an isochronous transfer request is sent immediately before the transfer data on an HWA Packetization information is included in the Wireless header of the data packet for a DWA Transfer completion notification is returned on the notification endpoint Transfer result and data from a device is returned on the data transfer IN endpoint 38
Certified Wireless Device Enumeration Continued 39
Certified Wireless Device Enumeration Security enumeration Get Security Descriptor, Set Encryption, 4-Way-Handshake Normal enumeration Get Device Descriptor, Set Address, Get Configuration etc. 40
DWA Isochronous Streaming Interface Optional interface required to support Isochronous traffic Consists of 1 to 27 W isochronous endpoints All endpoints support continuously scalable dynamic switching Max. packet size and stream delay for a stream set using Set Isochronous Endpoint Attributes request Mapping from the upstream endpoint to the downstream endpoint is stored in an RPipe descriptor 41
DWA Isochronous Transfer A downstream isochronous endpoint has a matching upstream CW isochronous endpoint to a downstream endpoint is sent to the corresponding upstream CW endpoint The DWA recovers packetization information and presentation time from the W isochronous packets from a device is returned to the host on the corresponding DWA CW isochronous IN endpoint The DWA adds the packetization information and presentation time to the W isochronous packets The DWA drops data if the buffer overflows for that particular endpoint No Transfer Completion notification is returned 42
Agenda Overview Software-Hardware Overview Delivery Mechanism: RPipe Hardware Architecture Wire Adapter Device Class Software Architecture Summary 43
Software Architecture HWA RDP UPnP Hub Mass Store Video Streaming HID Etc. UWB Security & BW Services NDIS TCP/IP IP Miniport Wire Adapter MiniPort Port Existing SW New OS SW New Vendor S/W *HWA Composite Driver EHCI Port EHCI Hardware 44
Summary Enabler of Certified Wireless technology Two types of wire adapters HWA and DWA Defined as and Certified Wireless device device framework Utilize current infrastructure New concept: remote pipe Proved concept Prototypes from multiple companies 45
Back-up Slides
Read Request Sequence Continued 49
Read Request Sequence 50
Flow - Request Sequence Open Pipe Request Mass Storage Class Driver Open Pipe1 EP Address (2, 8) Max Packet 200H usbwa Converted to Set RPipe Descriptor control transfer request [RPipe1, 2, 8, 200H] Targeted at EP Address (1, 0) Device Address 1 Device Address 2 usbehci EHCI WIRE ADAPTER W HARD DISK The Wire Adapter processes the control transfer and configures its RPipe. All subsequent requests using this RPipe Index will be sent to EP Address 2, 8 software HARDWARE 51
Flow Request Sequence Read Request Bulk Transfer Request Mass Storage Class Driver Issues a read of 64 KB on Pipe1 usbwa This is converted to a bulk transfer request targeted at RPipe1 on the wire adapter s s bulk OUT endpoint Device Address 1 Device Address 2 usbehci EHCI WIRE ADAPTER W HARD DISK The wire adapter processes the transfer request and issues an IN to the Wireless hard disk software HARDWARE 52
Flow Request Sequence Read Request Transfer Completion Notification Mass Storage Class Driver usbwa The wire adapter driver receives the transfer completion notification Device Address 1 Device Address 2 usbehci EHCI WIRE ADAPTER W HARD DISK After receiving all the bytes successfully from the Wireless hard disk, the wire adapter sends back a completion notification on its interrupt IN notification endpoint software HARDWARE 53
Flow Request Sequence Read Request Transfer Result Mass Storage Class Driver usbwa The wire adapter driver sends down a read request on its Bulk IN endpoint to receive the transfer result from the wire adapter Device Address 1 Device Address 2 usbehci EHCI WIRE ADAPTER W HARD DISK software HARDWARE 54
Flow Request Sequence Read Request Transfer Result Mass Storage Class Driver usbwa The wire adapter driver receives the transfer result and decodes which transfer completed Device Address 1 Device Address 2 usbehci EHCI WIRE ADAPTER W HARD DISK The wire adapter returns the transfer result corresponding to the transfer that completed. software HARDWARE 55
Flow Request Sequence Read Request Transfer Mass Storage Class Driver usbwa The wire adapter driver sends down a read request on its bulk IN endpoint to receive the data read from the Wireless hard disk Device Address 1 Device Address 2 usbehci EHCI WIRE ADAPTER W HARD DISK The wire adapter sends the data currently in the buffer associated with this RPipe index to the host in response to the IN transactions software HARDWARE 56
Flow Request Sequence Read Request Completion Mass Storage Class Driver usbwa The wire adapter driver completes the read request sent down by the mass storage driver Device Address 1 Device Address 2 usbehci EHCI WIRE ADAPTER W HARD DISK software HARDWARE 57
DWA Isochronous OUT Example 58
Device Manager Example Topology Report 59
Remote Pipe State Diagram Configured Not Paused 60