DPP: Add some more details on how to use DPP
Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
66e20bb1a7
commit
d4f5d1f0c7
1 changed files with 36 additions and 27 deletions
|
@ -9,40 +9,44 @@ Connector mechanism.
|
||||||
Introduction to DPP
|
Introduction to DPP
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Device provisioning Protocol allows enrolling of interface-less devices
|
Device Provisioning Protocol (also known as Wi-Fi Easy Connect) allows
|
||||||
in a secure Wi-Fi network using many methods like QR code based
|
enrolling of interface-less devices in a secure Wi-Fi network using many
|
||||||
authentication( detailed below ), PKEX based authentication etc. In DPP
|
methods like QR code based authentication (detailed below), PKEX based
|
||||||
a Configurator is used to provide network credentials to the devices.
|
authentication (password with in-band provisioning), etc. In DPP a
|
||||||
The three phases of DPP connection are authentication, configuration and
|
Configurator is used to provide network credentials to the devices. The
|
||||||
|
three phases of DPP connection are authentication, configuration and
|
||||||
network introduction.
|
network introduction.
|
||||||
|
|
||||||
|
More information about Wi-Fi Easy Connect is available from this Wi-Fi
|
||||||
|
Alliance web page:
|
||||||
|
https://www.wi-fi.org/discover-wi-fi/wi-fi-easy-connect
|
||||||
|
|
||||||
Build config setup
|
Build config setup
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
The following changes must go in the config file used to compile hostapd
|
The following parameters must be included in the config file used to
|
||||||
and wpa_supplicant.
|
compile hostapd and wpa_supplicant.
|
||||||
|
|
||||||
wpa_supplicant build config
|
wpa_supplicant build config
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
Enable DPP and protected management frame in wpa_supplicant build config
|
Enable DPP in wpa_supplicant build config file
|
||||||
file
|
|
||||||
|
|
||||||
CONFIG_DPP=y
|
CONFIG_DPP=y
|
||||||
|
|
||||||
hostapd build config
|
hostapd build config
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
Enable DPP and protected management frame in hostapd build config file
|
Enable DPP in hostapd build config file
|
||||||
|
|
||||||
CONFIG_DPP=y
|
CONFIG_DPP=y
|
||||||
|
|
||||||
Configurator build config
|
Configurator build config
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Any STA or AP device can act as a Configurator. Enable DPP and protected
|
Any STA or AP device can act as a Configurator. Enable DPP in build
|
||||||
managment frames in build config. For an AP to act as Configurator,
|
config. For an AP to act as a Configurator, Interworking needs to be
|
||||||
Interworking needs to be enabled. For wpa_supplicant it is not required.
|
enabled for GAS. For wpa_supplicant it is not required.
|
||||||
|
|
||||||
CONFIG_INTERWORKING=y
|
CONFIG_INTERWORKING=y
|
||||||
|
|
||||||
|
@ -90,41 +94,46 @@ To get key of Configurator
|
||||||
> dpp_configurator_get_key <id>
|
> dpp_configurator_get_key <id>
|
||||||
|
|
||||||
|
|
||||||
How to configure an enrollee using Configurator
|
How to configure an Enrollee using Configurator
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
|
||||||
On enrollee side:
|
On Enrollee side:
|
||||||
|
|
||||||
Generate QR code for the device. Store the qr code id returned by the
|
Generate QR code for the device. Store the QR code id returned by the
|
||||||
command.
|
command.
|
||||||
|
|
||||||
> dpp_bootstrap_gen type=qrcode mac=<mac-address-of-device> chan=<operating-class/operating-channel> key=<key of the device>
|
> dpp_bootstrap_gen type=qrcode mac=<mac-address-of-device> chan=<operating-class/channel> key=<key of the device>
|
||||||
(returns bootstrapping info id)
|
(Returns bootstrapping info id. If the key parameter is not included, a new key
|
||||||
|
is generated automatically. The MAC address is specified without octet
|
||||||
|
separating colons. The channel list includes the possible channels on which the
|
||||||
|
device is waiting. This uses global operating classes; e.g., 81/1 is the 2.4
|
||||||
|
GHz channel 1 on 2412 MHz.)
|
||||||
|
|
||||||
Get QR Code of device using the bootstrap info id.
|
Get URI for the QR Code of device using the bootstrap info id.
|
||||||
> dpp_bootstrap_get_uri <bootstrap-id>
|
> dpp_bootstrap_get_uri <bootstrap-id>
|
||||||
|
|
||||||
Make device listen to DPP request (The central frequency of channel 1 is
|
Make device listen to DPP request. The central frequency of the 2.4 GHz
|
||||||
2412) in case if enrollee is a client device.
|
band channel 1 is 2412 MHz) in case the Enrollee is a client device. An
|
||||||
|
AP as an Enrollee is listening on its operating channel.
|
||||||
|
|
||||||
> dpp_listen <frequency>
|
> dpp_listen <frequency>
|
||||||
|
|
||||||
On Configurator side:
|
On Configurator side:
|
||||||
|
|
||||||
Enter the QR Code in the Configurator.
|
Enter the QR Code in the Configurator.
|
||||||
> dpp_qr_code "<QR-Code-read-from-enrollee>"
|
> dpp_qr_code "<URI-from-QR-Code-read-from-enrollee>"
|
||||||
|
|
||||||
On successfully adding QR Code, a bootstrapping info id is returned.
|
On successfully adding QR Code, a bootstrapping info id is returned.
|
||||||
|
|
||||||
Send provisioning request to enrollee. (conf is ap-dpp if enrollee is an
|
Send provisioning request to Enrollee. (conf is ap-dpp if Enrollee is an
|
||||||
AP. conf is sta-dpp if enrollee is a client)
|
AP. conf is sta-dpp if Enrollee is a client)
|
||||||
> dpp_auth_init peer=<qr-code-id> conf=<ap-dpp|sta-dpp> ssid=<SSID hexdump> configurator=<configurator-id>
|
> dpp_auth_init peer=<qr-code-id> conf=<ap-dpp|sta-dpp> ssid=<SSID hexdump> configurator=<configurator-id>
|
||||||
or for legacy (PSK/SAE) provisioning for a station Enrollee:
|
or for legacy (PSK/SAE) provisioning for a station Enrollee:
|
||||||
> dpp_auth_init peer=<qr-code-id> conf=sta-psk ssid=<SSID hexdump> pass=<passphrase hexdump>
|
> dpp_auth_init peer=<qr-code-id> conf=sta-psk ssid=<SSID hexdump> pass=<passphrase hexdump>
|
||||||
|
|
||||||
The DPP values will be printed in the console. Save this values into the
|
The DPP values will be printed in the console. Save these values into the
|
||||||
config file. If the enrollee is an AP, we need to manually write these
|
config file. If the Enrollee is an AP, we need to manually write these
|
||||||
values to the hostapd config file. If the enrollee is a client device,
|
values to the hostapd config file. If the Enrollee is a client device,
|
||||||
these details can be automatically saved to config file using the
|
these details can be automatically saved to config file using the
|
||||||
following command.
|
following command.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue