Académique Documents
Professionnel Documents
Culture Documents
An Implementation Approach
Abstract
The purpose of this paper is to go through Alternate MAC PHY (AMP) specification and propose
the changes to be done to the CW1200 WLAN MAC software in order to support AMP
functionality.
The first section of the paper tries to explain the AMP specification in simple terms, using
reference to the appropriate sections of the specification wherever required.
An Implementation Approach
Legal Information
© Copyright ST-Ericsson, 2009. All Rights Reserved.
Disclaimer
The contents of this document are subject to change without prior notice. ST-
Ericsson makes no representation or warranty of any nature whatsoever
(neither expressed nor implied) with respect to the matters addressed in this
document, including but not limited to warranties of merchantability or fitness
for a particular purpose, interpretability or interoperability or, against
infringement of third party intellectual property rights, and in no event shall
ST-Ericsson be liable to any party for any direct, indirect, incidental and or
consequential damages and or loss whatsoever (including but not limited to
monetary losses or loss of data), that might arise from the use of this
document or the information in it.
Trademark List
All trademarks and registered trademarks are the property of their respective
owners.
An Implementation Approach
Contents
2 Introduction..............................................................................5
2.1 What AMP is all about?................................................................................5
2.2 Functional Overview of the AMP..................................................................5
2.2.1 What is PAL?.............................................................................................5
2.2.2 List of requirement from WLAN for AMP Support ....................................5
2.2.3 How BT AMP will form connection over WLAN?.........................................6
An Implementation Approach
1 Purpose
This document is supposed to act as a guideline to design and implement AMP
functionality in CW1200 MAC.
2 Scope
The document provides initial information on AMP functionality and proposes
its implementation for CW1200 MAC. This document is not indented to be a
detailed design document.
3 Audience
CW1200 MAC software designers and developers.
4 Prerequisites
Knowledge on 802.11 and architecture of CW1200 WLAN MAC.
5 Revision Information
Table 1 Revision History
Date Rev. Comments
6 Reference List
[1] Core_V3.0 + HS Bluetooth Specification
[2] IEEE802.11-2007 WLAN MAC and PHY Specification
An Implementation Approach
2 Introduction
Protocol Adaptation Layer (PAL) is the interface layer between BT and WLAN.
BT AMP Manager will call the APIs to initiate PAL. PAL will call the
corresponding WLAN APIs to initiate the WLAN device. PAL is the controller
which will also accept the HCI commands from the BT AMP Manager and
initiate the corresponding request to the WLAN device. PAL will understand the
HCI commands received from BT AMP Manager and convert it into the
corresponding APIs/OIds of H-UMAC to configure or to initiate connection or for
data transfer.
2. Beacon and Probe response shall include MAC address of the transmitting
WALN device in Address2 and Address3 fields.
3. Probe request shall include the MAC address of the peer WLAN device in the
Address1 and Address3 fields.
5. Shall support the 4 address field frame format for the all data frames. As
there is no frame forwarding, so the RA address is the same as the DA and the
TA address is the same as SA.
6. The only valid AKMP shall be PSK (00:0F:AC:02) or the vendor-specific AKMP.
7. The NoPairwise bit (B1) of RSN capabilities field shall not be allowed as a
valid selection.
An Implementation Approach
9. If the Qos is offered by the AMP WLAN device then it shall advertise EDCA in
beacon and probe response frames by including the EDCA parameters set
information element. This will also include in (re)association frames.
11. The ACI, AIFSN and TXOPlimit values of the AC parameters shall be use as
given in Table 7-37 [2].
12. The ECWmin and ECWmax values are specific to the 802.11 PHY type.
The above list shows that WLAN device should work as STA as well as AP. It
should also able to work as normal infrastructure mode in parallel to BT AMP.
On BT the maximum throughput will get is 2.1Mbps. The new functionality AMP
will provide the flexibility to get more throughput by using WLAN device.
An Implementation Approach
AM P_Get_Info_Request(Am p_IDB )
An Implementation Approach
S ig n a lin g
S ca n(O pt iona l)
o v er B R/E D R
R a d io S c a n lis t r e tu r ne d
A MP H C I S ig n a l M A C to S tar t
S t a rt B e a c oning
A MP P A L
M A C r e s p o ns e to s ta r t c m d
H C _I C h a n n e_s
l el
H C _I R e a s _dL o c a_A
l MP_
A S S OC
H C _I C o m ma n d_C o m p le te
(A M P_A s s o c )A AM P_Create_Ph ysica_Link
l _Re que st(Rem ote
-Am p-ID B, AM P_Asso cA)
H C _I A c c e p_P
t h y s ic _L
a l in k
H C _I C om ma n d_s ta tus
H C _I W r ite_R e mo te_A MP A s s o c
(A MP_A s s o c )B
H C _I C o mm a n d_C o mp le te
S ig n al M A C to S ta r t
S t a rt B e a c oning
MA C r e s po n s e to s ta r t c md
In the above sequence diagram the initiator AMP manager will first send the
HCI commands to the PAL to start WLAN device. PAL will understand those HCI
commands and call the corresponding APIs/OIDs of WLAN.
The initiator WLAN will start sending beacons and indicate to the PAL for start
confirmation. PAL will also indicate the status to the initiator AMP manager for
start confirmation.
After receiving the start confirmation from PAL the initiator AMP manager will
send request on BT BR/EDR radio to the responder AMP manager to start
responder WLAN device. Responder AMP manager will indicate the status of
completion on the same BT BR/EDR radio to initiator AMP manager.
An Implementation Approach
S ta r t C o n n e c tio n
8 0 2.1 1 A U T H(o p e n a lg r )e q
Legend
8 0 2.1 1 A U T H(o p e n a lg r )s p
A MP H C I
8 0 2.1 1 A S S O_R
CEQ
A MP P A L
8 0 2.1 1 A S S O_R
CSP
C o n n e c tio n C o m p le te C o n n e c tio n C o m p le te
When the initiator and responder will form the complete connection over
WLAN device then it will indicate to the PAL with completion event.
To perform the key handshake between initiator and responder, then the
initiator PAL will act as authenticator while the responder PAL will act as
supplicant. It will perform the complete 4 way key handshake over WLAN. After
successful key handshake PAL will indicate to the AMP manager about
connection complete indication.
An Implementation Approach
1 UMAC Architecture
Host-UMAC
OS Interface Layer
Upper MACtext
Interface (UMI)
Core Upper MAC (UMC)
Device Interface Layer (DIL)
Upper MAC Interface (UMI): This is the interface layer between host driver and
Core Upper MAC. This will take the request from the host driver and provide the
information to Core Upper MAC. Similarly this will pass the received information
from Core Upper MAC to host driver.
Core Upper MAC (UMC): This is main layer which will maintain the UMAC state
machine. This will accept the request received from UMI layer and convert it into
the corresponding MIBs/Requests of WSM firmware. This will handle all the
management frames and data frames. This will send the entire MIBs, requests,
management frames and data frames to the DIL layer.
Device Interface Layer (DIL): The responsibility of this layer to make the Host
Upper MAC independent of Lower MAC. It will having a queue which will collect all
the MIBs, requests, management frames and data frames and also inform to the
lower layer (i.e. WDEV) for frame availability to send it to WSM firmware. This will
also receive all the MIBs confirmation, requests confirmation, management
responses, data frames and events from WSM firmware and will provide this to
Core Upper MAC for processing.
The UMI layer code needs to be reentrant. In UMI_Create() there will be one
additional parameter which will indicate whether this request is for AMP STA/AP or
for Infra/adhoc Mode. So when host driver will call the UM_Create() twice to create
2 handles one for Infra/adhoc mode and other for AMP STA/AP. This layer will also
allocate the different memory for Infra/adhoc mode and for AMP STA/AP.
An Implementation Approach
DIL layer of UMAC needs to be non reentrant. This layer will allocate the common
memory for Infra/adhoc mode and for AMP STA/AP. It will store all the packets
received from infra mode and AMP STA/AP mode into a single queue. It will also
pass the received frames from WLAN device to appropriate state machine.
UMAC needs to support new OIDs which will be used for AMP STA/AP.
An Implementation Approach
In the above sequence diagram PAL is interacting with UMAC to get the WLAN
device capabilities and configuration. PAL will map these capabilities and
configuration with AMP_Info and AMP_Assoc.
An Implementation Approach
First get the peer AMP Controller info . Based on the info it
will decide to form a connection with peer . After that it will
get the AMP _ASSOC info form peer . All the above
handshake done on BT /EDR radio .
HCI_Command _status
HCI_Write _Remote _AMPAssoc
(AMP _Assoc )
Determine selected channel . Set Connection
Accept timeout .
OPTIONAL
UMI_DEVICE _OID _802 _11_BSSID _LIST _SCAN
In the above sequence diagram PAL is interacting with UMAC with the set of
present and proposed OIDs to start WLAN device. WLAN device will start
beaconing.
An Implementation Approach
Ini tia tor A M P M anager r eques t to for m a c on nec tion w ith R es p onder by
us ing follow ing c m d on
/E DBRT r a di. AoM P_C re a _P
te h ysica_Ll in k_R e q u e st
(R e sp o n d e r Am
-ID, In
p ita to r AM
_Asso
P )c
H C_A
I c c pet
_P hy s i c_Li
al nk
H C_C
I o m m and
_s tatus
H C_W
I r ite
_R em o _A
te M P A s s oc
(A M P_A s s oc)
U M_D
I E V IC_O
E ID_802_11_S T A R_A
TMP
S T A R_A
T M P_C O M P L E _E
T EV E N*T
H C_C
I om m a _C
nd om p le te
In this above sequence diagram PAL is interacting with UMAC with the set of
proposed OIDs which will start WLAN device. WLAN device will start beaconing.
An Implementation Approach
After receiving
START _AP _COMPLETE _EV
EVENT from Upper MAC , it
will initiate WLAN connection
with initiator
When the responder WLAN device started, the responder PAL will set the OID to
form the connection with initiator. Now the responder will act as a STA and the
initiator will act as an AP. When the UMAC will form the WLAN connection with the
responder and initiator, it will indicate to the corresponding PAL with connected
event.
An Implementation Approach
PAL U p pe r M A C W LA N W LA N U p pe r M A C PAL
(Init ia t o r) (Init ia t or) D e v ic e D e v ic e (R e s po n de) r (R e s pond )e r
U M_D
I E V IC _O
E ID_8 0 2_1 1_A U M I_D E V IC _O
E ID_8 0 2_1 1_A
D D_K E Y S e nd A dd K e y re que s t t o S e n d A d d K e y re q u e s t t o D D_K E Y
W L A N d e v ic e W LA N de v ic e
Afte r su cce ssfu l co n fig u ra tio n Afte r su cce ssfu l co n fig u ra tio n
o f th e se cu rity ke ys in U,M AC o f th e se cu rity ke ys in U, M AC
it w ill in d ica te it w ill in d ica te
Phy s ic _Link
a l _C om ple te Phy s ic _Link
a l _C om ple te
e ve n t to h o st H C I e ve n t to h o st H C I
After successful WLAN connection, PAL will initiate the 4-way key handshake over
WLAN to negotiate the keys between the initiator and responder. After finishing
the key negotiation both initiator and responder PAL will inform to the AMP
manager about the connection status.
An Implementation Approach
B T /A M P H C I Interface
AMP S ocket / IO C T L G A N /-W
I LA N …
/
M anager handlers
3
L2C A P
P AL
M anager
S T E W LAN M anager
P hysical Link M anager L ogical Link E xtended wpa_ supplicant
control interfac e
M anage r
1 2 L ink
S TA T IO N Management, S C A N &P S
M ini A P
wpa_ supplicant A ccount U tilities
M ini A P S TA T IO N handling
(H ostA P)d (wpa_ supplicant)
5 E xtended wpa_ supplicant
nl80211 driver interface
H 4 So ck et
IP S ocket N etlinksocket
<Virtual Interface> N etlinksocket N etlinksocket
B T /A M P H C I Interface 7 6 <Virtual Interface> <Virtual Interface>
S ocket / IO C T L
IP S tack nl80211 S T E
U M A C multiple instance handler
802.11 P A L M anager (P art B ) extensions
ETH Device
8
H C I transport driver
KE RNEL SP ACE
ETH Mux
A M P Data Manager
UMAC
W DE V
The above architecture diagram is still under discussion. This is the proposed architecture on
Android platform. S DIO
1 : Path for data packets, BT will send/receive the ACL data packet to/from PAL.
2 : Path for control packets. Through this way BT and PAL will control the data flow through HCI
commands.
3 : Path for control packets. Through this way BT will send the HCI commands to PAL to get
WLAN device information, form physical link connection over WLAN, form logical link
connection. Similarly by using same way PAL will send the status and events for all received HCI
commands.
4 : Path for control packets. Through this way STE Manager and PAL will interact for
synchronization.
5 : Path for control packets. Through this way the PAL will interact with WALN device with set of
APIs and OIDs, e.g to start WLAN device, to form connection with peer WLAN device.
An Implementation Approach
6 : Path for data packets. Through this way both the PAL (Part A) and (Part B) will send/receive
the data packet for security key handshake.
7 : Path for control packets. Through this way PAL (Part A) will provide the physical link handle
and logical handle to PAL (Part B).
8 : Path for data packets. Through this way PAL will send the data frame to the WLAN device
through Ethernet MUX. PAL will remove the BT header and add the SNAP header.
All the Data frames received from the PAL layer should also need to include the 14
bytes of Ethernet header, so that there will be no change in UMAC for data path to
convert it into 802.11 frame.
Support require for controlling data flow when the traffic will run from both PAL as
well as TCP/IP stack side.
An Implementation Approach
6 Open Points
1. Will it be possible that both infra/adhoc STA and AMP STA/AP will work parallel
on different channels?