`(12) Patent Application Publication (10) Pub. No.: US 2010/0165879 A1
`Gupta et al.
`(43) Pub. Date:
`Jul. 1, 2010
`
`US 20100165879A1
`
`(54) WIRELESS PROVISIONING A DEVICE FOR A
`NETWORK USING ASOFT ACCESS POINT
`
`(75) Inventors:
`
`Yatharth Gupta, Bellevue, WA
`(US); David A. Roberts, Redmond,
`WA (US)
`
`Correspondence Address:
`- ..
`WOLF GREENFIELD (Microsoft Corporation)
`C/O WOLF, GREENFIELD & SACKS, P.C.
`6OO ATLANTIC AVENUE
`BOSTON, MA 02210-2206 (US)
`
`(73) Assignee:
`
`Microsoft Corporation, Redmond,
`WA (US)
`
`(21) Appl. No.:
`
`12/347,440
`
`(22) Filed:
`
`Dec. 31, 2008
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`H04L 2/28
`(52) U.S. Cl. ........................................................ 370/254
`(57)
`ABSTRACT
`A computing device for provisioning a wireless device for
`connection to a wireless network via a legacy access point.
`The wireless device Supports a wireless protected setup pro
`tocol for obtaining the network profile of the network. A user
`requests the computing device discover wireless devices for
`provisioning. In response to the user input, the computing
`device is configured as a soft access point and broadcasts a
`beacon signal indicating that the access point Supports a wire
`less protected setup protocol, such as Wi-Fi Protected Setup.
`A request for provisioning is then received by the computing
`device from the wireless device. A network profile is trans
`mitted from the computing device to the wireless device in
`accordance with the wireless protected setup protocol. The
`wireless device may use the profile to connect to the network
`via the legacy access point using the network profile.
`
`100
`
`Wireless Device
`
`
`
`
`
`
`
`120 Computing
`Device
`
`101
`
`Access Point
`
`
`
`
`
`110-y
`
`103
`
`1
`
`APPLE 1012
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 1 of 9
`
`US 2010/O165879 A1
`
`
`
`1OO
`
`Wireless Device
`
`120 Computing
`Device
`
`101
`
`Access Point
`(())
`
`110-Y
`
`
`
`
`
`
`
`
`
`2
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 2 of 9
`
`US 2010/O165879 A1
`
`
`
`1OO
`
`3
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 3 of 9
`
`US 2010/0165879 A1
`
`200
`1-1
`
`Configure computing device to
`Communicate with access point.
`
`Enable soft access point.
`
`Detect Wireless device.
`
`
`
`201
`
`203
`
`205
`
`Transmit network profile to the
`wireless device.
`
`2O7
`
`
`
`
`
`
`
`Fig. 2
`
`4
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 4 of 9
`
`US 2010/O165879 A1
`
`
`
`- 300
`
`Obtain network profile.
`
`Enable Soft Access Point
`
`Broadcast beacon.
`
`Receive request for provisioning from
`a wireless device.
`
`Display devices to user.
`
`Obtain selection of device
`to provision from user,
`
`Werify device identity by PIN,
`
`Receive selection of network profile.
`
`Transmit network profile to device.
`
`Disable Soft-AP.
`
`303
`
`305
`
`307
`
`309
`
`31
`
`313.
`
`315
`
`317
`
`319
`
`Fig. 3
`
`5
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 5 of 9
`
`US 2010/0165879 A1
`
`(3-404
`Select a wireless device to pair with this computer.
`
`400
`
`Bluetooth
`
`Bluetooth
`
`- 411
`
`Bluetooth
`
`g
`s:
`
`Printer
`Web Services Device
`
`4.
`13
`
`
`
`Enter a pairing code for the device.
`This will verify that you are pairing with the correct device.
`
`The code is either displayed on your device or in the information
`that came With the device.
`
`6
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 6 of 9
`
`US 2010/0165879 A1
`
`(3-404
`Enter a pairing code for the device,
`This will verify that you are pairing with the correct device,
`
`so
`
`M3H8X1T1
`
`incorrect PIN.
`& Please Enter Again
`
`The code is either displayed on your device or in the information
`that came with the device.
`
`
`
`Y 401
`
`402
`
`S Public NetWork
`
`Hotspot
`
`7
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 7 of 9
`
`US 2010/0165879 A1
`
`
`
`Gr- 404
`Setting up your printer for Home Net.
`
`Printer
`
`Provisioning successful.
`
`Checking for drivers for your device...
`
`Installing drivers for your device...
`
`Driver installation complete. Click done to use your device.
`
`DOne
`
`Fig. 4F
`
`8
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 8 of 9
`
`US 2010/O165879 A1
`
`
`
`(S)-404
`Device failed to connect.
`
`We are unable to connect and configure your device due to an
`error,
`
`Fig. 4G
`
`9
`
`
`
`Patent Application Publication
`
`Jul. 1, 2010 Sheet 9 of 9
`
`US 2010/0165879 A1
`
`121
`
`122
`
`123
`
`Processor
`
`Memory
`
`I/O Devices
`
`125
`
`User Experience
`Module
`
`120
`
`Soft-AP
`
`Provisioning
`Module
`
`Wireless
`interface
`
`Network
`Profile DB
`
`Network 12g
`Profile
`
`Computing Device
`
`
`
`
`
`
`
`Wireless Device
`
`-1
`a
`my ow
`103
`
`Access Point
`
`Fig. 5
`
`10
`
`
`
`US 2010/01 65879 A1
`
`Jul. 1, 2010
`
`WIRELESS PROVISIONING ADEVICE FOR A
`NETWORK USING ASOFT ACCESS POINT
`
`BACKGROUND
`0001. Many types of devices are configured to support
`communication over a wireless network. Some wireless net
`works are configured as managed or infrastructure networks,
`using an access point to control communications between
`devices on the network.
`0002. Whena user wishes to add a new device to a wireless
`network, she must first obtain a profile for the network and
`provide the profile to the device. The network profile is used
`by the device to identify the network and perform functions
`Such as authentication and encryption in a manner recognized
`by the network. The network profile may be obtained in a
`number of ways. For example, the new device may be wired
`to another device that stores the network profile and the
`profile may be copied over the wire. Alternatively, the net
`work profile may be stored on a portable computer-readable
`medium, such as a USB flash drive or compact disc, and then
`loaded onto the wireless device. The network profile also may
`be entered manually through a keypad or other input device.
`In yet another way, the network profile may be obtained using
`wireless communication with a network access port that Sup
`ports a wireless protected setup protocol.
`0003) A wireless protected setup protocol, also known as a
`wireless provisioning technology, permits secure wireless
`transmission of the network profile to a wireless device. Wi-Fi
`Protected Setup is an example of a wireless protected setup
`protocol used on Wi-Fi networks. In an infrastructure net
`work, the network profile may be transmitted wirelessly when
`the receiving wireless device and the Supplying access point
`both support the wireless protected setup protocol. However,
`not all access points Support a wireless protected setup pro
`tocol. WiMedia Association Model is another example of a
`protected setup protocol used for a peer-to-peer exchange of
`setup date in ultra-wideband (UWB) networks.
`
`SUMMARY
`0004. The usability of wireless connections may be
`expanded by facilitating wireless provisioning of devices
`even in networks with access points that do not support wire
`less provisioning protocols. To provision a wireless device, a
`computing device connected to the network is configured as
`an access point that is capable of performing a wireless pro
`visioning protocol. This “soft AP can perform a wireless
`protected setup under which the network profile for the net
`work is transmitted to the wireless device. The setup process
`performed by the soft AP may include broadcasting a beacon
`signal including an indication that the Soft AP Supports a
`specific wireless provisioning protocol. Such as standard pro
`tocols under which many wireless devices are designed to
`operate under.
`0005. Once the wireless device obtains the network profile
`from the soft AP, it can then connect to the network through a
`“hard AP using the profile. The “soft AP also can be con
`figured as a network client, allowing the computing device
`serving as the soft AP to access the wireless device over the
`network.
`0006. The computing device may be triggered to operate
`in accordance with the provisioning protocol by a user of the
`computing device indicating that the user wishes to connect to
`a wireless device that is not on the network. The computing
`device may contain a user experience module that guides a
`user through the process of commanding the computing
`device to obtain the network profile, configure it as a soft AP
`
`identify un-provisioned wireless devices, provision a selected
`wireless device and then connect to that device. The user
`interface may also prompt the user to verify the device to be
`provisioned to prevent accidentally provisioning the wrong
`device or a malicious attack. For example, a user may be
`prompted to enter a PIN associated with a selected wireless
`device.
`0007. In scenarios in which the computing device is
`already connected to the network, it may already have the
`network profile. Accordingly, obtaining the network profile
`for use by the soft AP, in some scenarios, may simply involve
`reading the profile from a profile store on the computing
`device.
`0008. As a result of the provisioning process, the wireless
`device can use the network profile to connect to the network
`via a legacy access point or other access point that does not
`Support a wireless provisioning protocol Supported by the
`wireless device. Though use of the provisioning process is not
`limited to any specific scenario, it may provide an improved
`user experience particularly for users of portable electronic
`devices that may move from wireless network to wireless
`network and therefore need to be reprovisioned frequently or
`purchasers of wireless devices that expect their devices to
`seamlessly integrate with an existing network.
`0009. The foregoing is a non-limiting summary of the
`invention, which is defined by the attached claims.
`
`BRIEF DESCRIPTION OF DRAWINGS
`0010. The accompanying drawings are not intended to be
`drawn to Scale. In the drawings, each identical or nearly
`identical component that is illustrated in various figures is
`represented by a like numeral. For purposes of clarity, not
`every component may be labeled in every drawing. In the
`drawings:
`0011
`FIG. 1A illustrates a network including an access
`point and a computing device, and a wireless device outside
`the network unable to be wirelessly provisioned by the access
`point;
`0012 FIG. 1B illustrates a computing device configured
`as a soft access point communicating with a wireless device to
`provision the wireless device;
`0013 FIG. 1C illustrates a provisioned wireless device
`communicating with an access point as part of a network;
`0014 FIG. 2 is a flow diagram of a method of operating a
`computing device to provision a wireless device for connec
`tion to a network via a first access point;
`0015 FIG. 3 is flow diagram of another method of oper
`ating a computing device to provision a wireless device for
`connection to a network via a first access point;
`0016 FIGS. 4A-4G illustrate a user interface for control
`ling provisioning of wireless devices; and
`0017 FIG. 5 is a block diagram of a computing device,
`access point, and wireless device.
`
`DETAILED DESCRIPTION
`0018. The inventors have recognized and appreciated that
`though wireless protected setup protocols were developed to
`facilitate the use of wireless communication, the use of wire
`less technology is limited because many networks do not have
`access points that Support the protocols. In this scenario,
`rather than delivering an intended seamless integration of a
`wireless device into a network, a frustrating user experience
`may result. For example, users may wish to provision a wire
`less device wirelessly for a network that uses a legacy access
`point without replacing the access point. The legacy access
`point may not Supporta wireless protected setup protocol that
`
`11
`
`
`
`US 2010/01 65879 A1
`
`Jul. 1, 2010
`
`is also supported by the wireless device or, as protocols
`evolve, may only Supportan older version of a protocol that is
`not supported by the wireless device.
`0019. An example of this situation is illustrated in FIG.
`1A, which shows a wireless network 100, Home Net, with an
`access point 110. Access point 110 is sometimes called a
`“hard AP for the wireless network 100. Computing device
`120 is a member of the wireless network 100 and is connected
`to access point 110 via wireless connection 101.
`0020. A wireless device 130, lacking a network profile for
`the network 100, is unable to form a wireless connection 103,
`and join the network 100. The wireless device 130 supports a
`wireless protected setup protocol, yet cannot obtain the net
`work profile from the access point 110, which is a legacy
`device lacking Support for the protocol.
`0021. The inventors have recognized and appreciated that
`the network profile may be wirelessly communicated to the
`wireless device 130 by configuring the computing device 120
`as an access point Supporting the wireless protected setup
`protocol. In some embodiments, the computing device 120 is
`configured as a soft access point ('soft AP) and broadcasts a
`signal indicating Support for the wireless protected setup
`protocol. The wireless device 130 receives this signal and
`transmits a request for provisioning back to the computing
`device 120. As shown in FIG. 1B, a wireless connection 105
`is formed between the computing device 120 and the wireless
`device 130 so that the computing device 120 may transmit the
`network profile for the network 100 to the wireless device
`130.
`0022. Once the network profile has been successfully
`transmitted to the wireless device 130, the wireless device
`130 may use the profile to join the network 100 by forming the
`wireless connection 103 with the access point 120 as shown in
`FIG. 1C.
`0023 FIG. 2 shows a method 200 of operating the com
`puting device 120 (FIG. 1A) for provisioning the wireless
`device 130 to connect to a wireless network 100 via an access
`point 110.
`0024. At step 201, the computing device 120 is configured
`to connect to the network 100 via the access point 110. The
`computing device may be configured to connect to the net
`work 100 by obtaining the network profile for the network.
`The network profile may be obtained in any suitable way. In
`Some embodiments, the computing device is used to config
`ure the access point and obtains the network profile at the time
`the network 100 is set up.
`0025. At step 203, the computing device 120 is configured
`as a “soft' access point. In some embodiments, the Soft access
`point is enabled by a combination of software and hardware.
`For example, Software modules may control a network inter
`face to function as an access point. The term soft is used to
`differentiate this access point from the “hard' access point
`110 of the infrastructure network 100 or to designate a device
`that may be selectively controlled to operate as an access
`point for provisioning. The Soft access point may broadcast a
`wireless signal including an indication that the soft access
`point Supports a wireless protected setup protocol.
`0026. At step 205, a wireless device 130 is detected. In
`some embodiments, the wireless device is detected because it
`transmits a request for provisioning to the computing device
`120.
`0027. At step 207, the computing device 120 transmits the
`network profile to the wireless device 130 in accordance with
`the wireless protected setup protocol. Once the network pro
`file has been transmitted to the wireless device 130, the soft
`access point on the computing device 120 may be deactivated.
`
`0028 FIG.3 shows a method 300 for provisioning a wire
`less device. Some of the steps of method 300 may be per
`formed similarly as in one or more of the steps in method 200
`(FIG. 2). Method 300 may be performed by a computing
`device. Such as computing device 120, that may be configured
`as a soft access point.
`0029. At step 301, a network profile is obtained. A network
`profile contains information for connection to a correspond
`ing wireless network. The network profile may specify, for
`example, a network name, authentication type, encryption
`type, and encryption key. Other information may also be
`present in a network profile. Also, some of these specifica
`tions may be absent in some network profiles and present in
`others.
`0030. For example, in a network profile for IEEE 802.11
`compliant networks (e.g., Wi-Fi), the network name is the
`service set identifier or SSID. Authentication types may
`include open (i.e., no authentication), shared, Wi-Fi Protected
`Access (WPA and WPA2), and Wi-Fi Protected Access in
`pre-shared key (PSK) mode (WPA-PSK and WPA2-PSK). In
`open or shared mode, encryption may be performed, for
`example, in accordance with the Wired Equivalent Privacy
`(WEP) which may require the joining device have a network
`key. If Wi-Fi Protected Access is used for authentication
`(WPA, WPA2, WPA-PSK, and WPA2-PSK), encryption may
`be in performed in compliance with the temporal key integrity
`protocol (TKIP) or the advanced encryption standard (AES).
`This list is illustrative of some of the options available for
`IEEE 802.11 type networks and is not intended to be exhaus
`tive.
`0031. The network profile may be obtained in any suitable
`way and may be stored in a profile store of a computing
`device. In some embodiments, the network profile is obtained
`from a file stored on a computer-readable medium such as a
`USB flash drive or compact disc. The network profile may be
`transmitted to the computing device over a wired connection
`such as a wired network, USB connection, or IEEE 1394
`cable. The network profile may be entered manually, for
`example, through a keypad or other input device. The network
`profile may be transmitted wirelessly using a wireless pro
`tected setup protocol or through another wireless network
`connection. In some embodiments, the computing device is
`used to form a wireless network by configuring an access
`point. The network profile for the network may thus be
`defined and obtained during setup of the access point. In some
`embodiments, multiple network profiles are obtained. It
`should be appreciated that obtaining a network profile does
`not require that a connection ever be formed to the corre
`sponding wireless network.
`0032. At step 303, a soft access point is enabled. Enabling
`the Soft access point may comprise configuring the comput
`ing device to act as an access point. The Soft access point may
`create a network different from any of the networks profiled in
`step 301. The computing device may enable multiple soft
`access points, each for a different wireless communications
`technology. In some embodiments, the computing device is
`configured as a soft access point in response to a user input.
`The user input, may for example, indicate the user wishes to
`discover a wireless device for provisioning to a wireless net
`work. In some embodiments, the computing device maintains
`a connection to one or more networks while the Soft access
`point is enabled. Though in other embodiments, the comput
`ing device may disconnect from the network while acting as
`Soft access point. If the computing device disconnects from
`the network, it may reconnect after the method 300 is com
`pleted. The network connection may be to the same type of
`network as the network created by the soft access point. For
`
`12
`
`
`
`US 2010/01 65879 A1
`
`Jul. 1, 2010
`
`example, both the Soft access point and the wireless network
`connection may be IEEE 802.11 compliant.
`0033. At step 305, in some embodiments, the soft access
`point broadcasts a signal, using a Suitable network interface,
`indicating that computing device is configured as an access
`point. Such a signal may be a beacon signal. Signals may be
`sent for each wireless communication technology for which
`an access point was enabled in step 303. The signal may
`include an indication that the access point Supports a Suitable
`wireless protected setup protocol. A suitable wireless pro
`tected setup protocol may depend on the type of network the
`Soft access point is configured for. In some embodiments, the
`soft access point is an IEEE 802.11 compliant access point,
`Such as a Wi-Fi access point. Accordingly, the signal may
`include an indication that the access point supports Wi-Fi
`Protected Setup or any other suitable wireless protected setup
`protocol for use on an IEEE 802.11 wireless network. In some
`other embodiments, the computing device may be configured
`for ultra-wideband (UWB) communication. Accordingly, the
`signal may include an indication that protected setup in com
`pliance with the WiMedia Association Model or another suit
`able wireless protected setup protocol is Supported.
`0034. At step 307, the computing device waits to receive a
`request for provisioning from a wireless device. Any Suitable
`method may be used to determine how long to wait before
`continuing to step 309. In some embodiments, the computing
`device waits a predetermined period of time. In some embodi
`ments, the computing device waits until it receives a request.
`In some embodiments, a wait time is reset each time a new
`request is received and expires when no further requests have
`been received and the wait time expires. In some embodi
`ments, the broadcast signal may be repeated (step 305) while
`performing step 307. Also, in some embodiments, informa
`tion may be exchanged a priori to the process 300 being
`performed, Exchanged information may include a device
`identification and PIN for a device to be provisioned. This
`information may be exchanged, for example using a card
`reader and RFID token or other suitable near field communi
`cation mechanism. In Such embodiments, the computing
`device may not wait at all for an explicit request from a device
`to be provisioned at block 307. Exactly how it is determined
`to proceed to step 309 is not critical to the invention.
`0035. At step 309, indications of the wireless devices from
`which a request was received in step 307 are provided to the
`user. In some embodiments, the method 300 is aborted at step
`309 if no requests were received during step 307. In some
`embodiments, the wireless devices requesting provisioning
`are presented in a user interface on a display, for example, as
`is shown in the user interface 400 in FIG. 4A. In this example,
`user interface 400 provides indications 411 of the wireless
`devices requesting provisioning are displayed.
`0036. At step 311, a selection of a wireless device to pro
`vision is received. In some embodiments, steps 307 and 309
`and performed simultaneously, with the wireless device for
`each new request being presented to the user in real-time,
`until the selection at step 311 is received. In some embodi
`ments, a user selects a wireless device through a user interface
`in which all detected devices are indicated. For example, in
`user interface 400 (FIG. 4A), a user may navigate a cursor 415
`over a wireless device 413 to select it. In this example, once
`selected, the user may confirm the selection by similarly
`selecting the “Next' button 401. Also shown are interface
`buttons such as a previous screen button 404 for returning to
`a previous screen, a “Cancel button 402 and close button 403
`for aborting the method 300. However, any suitable user
`interface may be used to receive a user indication that a device
`should be provisioned for connection to a network.
`
`0037. Returning to FIG. 3, the illustrated method 300 may
`include steps that verify that the user has selected a desired
`device. At step 313, the identity of the selected wireless
`device may be verified. This insures that the device intended
`for provisioning by the user corresponds to the selected wire
`less device. In some embodiments, Verification is performed
`by using an identification string for the device, such as a PIN.
`The user may be prompted to enter a PIN that may be, for
`example, provided on a display of the wireless device, printed
`on the wireless device, or provided in materials accompany
`ing the wireless device. FIG. 4B illustrates an example
`embodiment, in which the user interface 400 prompts a user
`to entera “pairing code' or PIN for the device into the textbox
`421. The user may use a keypad or other input device to
`produce characters in the textbox according to the position of
`a cursor 423. If the PIN entered by the user fails to correspond
`with the selected wireless device, the user may have incor
`rectly entered the PIN or the wireless devices selected by the
`user at step 311 is not the wireless device the user intends to
`provision. FIG. 4C illustrates an example embodiment in
`which the user interface 400 provides an indication 431 that
`the PIN is incorrect. The user is prompted to re-enter the PIN,
`or may return to select another device for provisioning.
`0038. At step 315, a network selection for the selected
`wireless device is received. In some embodiments, available
`networks are presented to a user and a network is selected by
`a user input. The network may be chosen from among those
`for which network profiles were obtained in step 301. For
`example, the network profile database may be read to obtain
`a listing of available network profiles. In some embodiments,
`only networks which the wireless device is capable of con
`necting to are available for selection. For example, a device
`only capable of connecting to IEEE 802.11 type networks,
`Ultra-Wide band (UWB) networks in the network profile
`database may not be presented. In some embodiments, mul
`tiple networks may be selected and connection preferences
`set. For example, a connection order may be specified. In
`Some embodiments, if no such profiles exist or as an addi
`tional option, the user may be prompted to manually enter a
`profile or obtain it from another medium. Yet in some other
`embodiments, a network interface of the computing device
`scans for networks and includes the discovered networks as
`options for the user. If a network for which no network profile
`exists in the network profile database is selected, the user may
`be prompted to provide a network profile. FIG. 4D illustrates
`an example embodiment in which the user interface 400
`provides indications 441 of networks with available profiles.
`The user may use the cursor 415 to indicate a selected net
`work 443.
`0039. At step 317, the network profile for the selected
`network is transmitted to the wireless device. The network
`profile may be transmitted in accordance with a wireless
`protected setup protocol supported by the wireless device and
`the computing device. The wireless protected setup protocol
`may encrypt at least a portion of the network profile for secure
`transmission to the wireless device. For example, if the net
`work profile is transmitted over a Wi-Fi connection between
`the devices, the network profile may be transmitted in accor
`dance with the Wi-Fi Protected Setup standard. According to
`the Wi-Fi Protected Setup standard at least a portion of the
`network profile may be encrypted using an encryption proto
`col, such as Extensible Authentication Protocol (EAP) for
`transmission to the wireless device. In some embodiments,
`multiple network profiles may be transmitted, optionally with
`rules for selecting a network. FIG. 4E illustrates an example
`embodiment in which user interface 400 indicates that the
`network profile is being transmitted to the wireless device.
`
`13
`
`
`
`US 2010/01 65879 A1
`
`Jul. 1, 2010
`
`0040. In some embodiments, the computing device con
`firms that the transmission was successful. For example, the
`computing device may attempt to identify the wireless device
`on the networkfor which the network profile was sent. That is,
`the computing device may connect to the network for which
`the wireless device was provisioned, if not already connected,
`and attempt to communicate with the wireless device over
`that network. In some embodiments, the wireless device may
`provide a confirmation that the transmission was successful.
`If the transmission was successful, the user interface 400 may
`provide an indication of the Success. Such as that shown in
`FIG. 4F. Optionally, the computing device may be configured
`to utilize a service of the wireless device. For example, a
`printer driver may be installed when the wireless device is a
`printer. The user interface may be closed using the close
`button 403 or the “Done' button 405.
`0041) If the transmission of the network profile fails, an
`error may be indicated to the user. In some embodiments,
`reasons for the error and/or steps for resolving the error may
`be suggested to the user. FIG. 4G illustrates a user interface
`400 that may be shown when the transmission fails. User
`interface 400 provides a “Retry” button 406 for repeating the
`attempt to transmit the network profile.
`0042. At step 319, the soft access point may be deacti
`vated. Optionally, the user may be prompted to indicate if they
`would like to provision more wireless devices before deacti
`Vating the soft access point.
`0043. The computing device configured as a soft AP may
`be any suitable form. However, as an example, FIG. 5 is a
`block diagram of the computing device 120 according to
`some embodiments. Also shown are the access point 110 and
`the wireless device 130. Computing device 120 and wireless
`device 130 may be any suitable type of computing device.
`Computing device 120 and wireless device 130 may be, for
`example and not limitation, any of a personal computer, lap
`top, tablet PC, personal digital assistant (PDA), mobile
`phone, a peripheral device, printer, headset, mobile phone,
`display, television, camera, input device, output device, or
`any other type of device or combination thereof configured to
`control a radio for wireless communication.
`0044. In some embodiments, the computing device 120
`comprises a processor 121, memory 122, input/output (I/O)
`devices 123, and a wireless interface 124.
`0045 Processor 121 may be a processor as are known in
`the art or any suitable processing device. For example and not
`limitation, processor 121 may be a central processing unit
`(CPU), digital signal processor (DSP), controller, address
`able controller, general or special purpose microprocessor,
`microcontroller, addressable microprocessor, programmable
`processor, programmable controller, dedicated processor,
`dedicated controller, or any other Suitable processing device.
`0046 Memory 122 may store data and/or software mod
`ules that when executed by processor 121 perform a desired
`function. Memory 122 may be a computer-readable storage
`medium as are known in the art or any Suitable type of com
`puter-readable storage medium. For example and not limita
`tion, memory 122 may be RAM, a nanotechnology-based
`memory, one or more floppy discs, compact discs, optical
`discs, Volatile and non-volatile memory devices, magnetic
`tapes, flash memories, hard disk drive, circuit configurations
`in Field Programmable Gate Arrays, other semiconductor
`devices, or other tangible computer storage medium or com
`bination thereof.
`0047 I/O devices 123 may include any type of I/O device
`as are known in the art and/or any suitable I/O device for
`providing and/or receiving information. I/O devices 123 may
`include, for example and not limitation, a keypad Such as a
`
`keyboard, pointing device Such as a mouse or trackball,
`microphone, joystick, touch screen display, display, speaker,
`or a combination thereof.
`0048 Wireless interface 124 may receive and transmit
`information wirelessly to and from the computing device.
`Wireless interface 124 may be any wireless interface known
`in the art or any suitable wireless interface. The wireless
`interface may be compatible with any wireless communica
`tions protocol. The wireless interface 124 may be compatible
`with any standard or proprietary communications protocol,
`such as those for wireless personal area network (WPAN),
`wireless local area network (WLAN), wireless local area
`network (WLAN), wireless metropolitan area networks
`(wireless MAN), wireless wide area network (WWAN), or
`other types of networks. The wireless interface 124 may, for
`example and not limitation, be compatible with any of IEEE
`802.11, Wi-Fi, ultra-wide band (UWB) technologies, Blue
`tooth, Wireless USB, WiMedia, WiMax, or Wireless 1394.
`0049. The computing device 120 may include a network
`profile database 128. The network profile database may use
`memory 122 to store network profiles including network
`profile 129.
`0050. The computing device 120 may also include a num
`ber of modules configured to perform a specific function. In
`the illustrated embodiment, the computing device 120
`includes a user experience module 125, a provisioning m