Patent Publication Number: US-2023161525-A1

Title: First communication device and non-transitory computer-readable medium storing computer-readable instructions for first communication device

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation application of U.S. Ser. No. 17/557,109 filed on Dec. 21, 2021 and U.S. Ser. No. 17/004,128 filed on Aug. 27, 2020, now U.S. Pat. No. 11,216,225 granted on Jan. 4, 2022 and claims priority to Japanese Patent Application No. 2019-157247 filed on Aug. 29, 2019, the contents of which are hereby incorporated by reference into the present application. 
    
    
     TECHNICAL FIELD 
     The disclosure herein discloses an art for establishing a wireless connection between a first communication device and another device. 
     DESCRIPTION OF RELATED ART 
     A Device Provisioning Protocol (DPP) scheme, which is a wireless communication scheme established by Wi-Fi Alliance, is known. The DPP scheme is a wireless communication scheme for easily establishing a Wi-Fi (Registered Trademark, Wi-Fi Alliance) connection between a pair of devices. In the DPP scheme, a first device serving a role of a Configurator sends information for establishing the Wi-Fi connection to a second device serving a role of an Enrollee. Then, the Wi-Fi connection is established between the second device and the first device. 
     SUMMARY 
     The disclosure herein provides an art that enables a first communication device to serve a suitable role based on a situation of the first communication device. 
     A first communication device disclosed herein may comprise: a wireless interface configured to execute wireless communication in conformity with a Wi-Fi standard, and a controller configured to: execute an output control process of externally outputting output information, the output information being in conformity with the Wi-Fi standard and obtained using a public key of the first communication device; receive, via the wireless interface, an authentication request in which the public key is used from a second communication device that has obtained the public key; determine whether a wireless connection has been established between the first communication device and any one of access points; in a case where it is determined that a wireless connection has been established between the first communication device and a first access point: send a first authentication response to the second communication device via the wireless interface, the first authentication response including first role information indicating that the first communication device is to serve a first role which is a role of sending first wireless setting information to the second communication device, the first wireless setting information being for establishing a first wireless connection between the second communication device and the first access point; and send the first wireless setting information to the second communication device via the wireless interface after the first authentication response has been sent to the second communication device; in a case where it is determined that no wireless connection has been established between the first communication device and any of the access points: send a second authentication response to the second communication device via the wireless interface, the second authentication response including second role information indicating that the first communication device is to serve a second role which is different from the first role and is a role of receiving second wireless setting information from the second communication device, the second wireless setting information being for establishing a second wireless connection between the first communication device and a second access point; receive the second wireless setting information from the second communication device via the wireless interface after the second authentication response has been sent to the second communication device; and establish the second wireless connection with the second access point via the wireless interface using the second wireless setting information. 
     A method implemented by the above first communication device, a computer program, and non-transitory computer-readable medium storing this computer program are also novel and useful. A communication system comprising the above communication device and the other device (e.g., a second communication device, an external device) is also novel and useful. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    shows a configuration of a communication system; 
         FIG.  2    shows a schematic sequence diagram of a process of establishing a wireless connection in conformity with a DPP scheme between a printer and an access point; 
         FIG.  3    shows a sequence diagram of a Bootstrapping process; 
         FIG.  4    shows a sequence diagram of an Authentication process; 
         FIG.  5    shows a sequence diagram of a Configuration process; 
         FIG.  6    shows a sequence diagram of a Network Access process; 
         FIG.  7    shows a flowchart of the Authentication process; 
         FIG.  8    shows a sequence diagram of the Bootstrapping process and the Authentication process in Case A in which a wireless connection is established between the printer and an AP; 
         FIG.  9    shows a sequence diagram continued from  FIG.  8    (Configuration process and Network Access process); 
         FIG.  10    shows a sequence diagram of the Bootstrapping process and the Authentication process in Case B in which wireless connections are established between the printer and an AP and between a terminal and another AP; 
         FIG.  11    shows a sequence diagram continued from  FIG.  10    (Configuration process and Network Access process); 
         FIG.  12    shows a sequence diagram of the Bootstrapping process in Case C in which a wireless connection in conformity with a WFD scheme is to be established between the printer and a terminal; 
         FIG.  13    shows a sequence diagram continued from  FIG.  12    (Authentication process); 
         FIG.  14    shows a sequence diagram continued from  FIG.  13    (Configuration process); 
         FIG.  15    shows a sequence diagram continued from  FIG.  14    (Network Access process); and 
         FIG.  16    shows a table that summarizes respective cases of an embodiment. 
     
    
    
     EMBODIMENTS 
     Embodiment 
     (Configuration of Communication System  2 ;  FIG.  1   ) 
     As shown in  FIG.  1   , a communication system  2  comprises two access points (hereinafter termed “AP”)  6 ,  8 , a printer  10 , and two terminals  100 ,  200 . In the present embodiment, a user uses the terminal  100  for establishing a wireless connection in conformity with a Wi-Fi standard (hereinafter termed “Wi-Fi connection”) between the printer  10  and the AP  6 , for example. 
     (Configuration of Terminal  100 ) 
     The terminal  100  is a portable terminal device such as a cell phone (such as a smartphone), a PDA, and a tablet PC. In a variant, the terminal  100  may be a desktop terminal device. The terminal  100  includes a camera  115  and a Wi-Fi interface  116 . Hereinbelow, an interface will simply be termed “I/F”. 
     The camera  115  is a device configured to capture an image of an object, and in the present embodiment, it is used to capture a QR Code (Registered Trademark, DENSO WAVE INCORPORATED) for each of the APs  6 ,  8  and the printer  10 . 
     The Wi-Fi I/F  116  is a wireless interface for executing communication in conformity with the Wi-Fi standard. The Wi-Fi standard is a standard for executing wireless communication in accordance with the standard 802.11 of the Institute of Electrical and Electronics Engineers, Inc. (IEEE) and standards complying therewith (such as 802.11a, 11b, 11g, 11n, etc.). The Wi-Fi I/F  116  supports a Device Provisioning Protocol (DPP) scheme established by the Wi-Fi Alliance. The DPP scheme is described in the specification “Device Provisioning Protocol Technical Specification Version 1.1” created by the Wi-Fi Alliance, and is a scheme for easily establishing a Wi-Fi connection between a pair of devices (such as the printer  10  and the AP  6 ) by using the terminal  100 . 
     The Wi-Fi I/F  116  further supports a WFD (abbreviation of Wi-Fi Direct (Registered Trademark, Wi-Fi Alliance)) scheme established by the Wi-Fi Alliance. The WFD scheme is a scheme described in the specification “Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1” created by the Wi-Fi Alliance. In the WFD, a Group Owner state (hereinafter termed “G/O state”) and a Client state (hereinafter termed “CL state”) are defined. Further, in the present embodiment, a state that is different from both the G/O state and the CL state will be termed a “device state”. A device that supports the WFD scheme is configured to operate selectively in one of the aforementioned three states. Hereinbelow, the Wi-Fi connection established in accordance with the WFD scheme may be termed a “WFD connection”. 
     (Configuration of Terminal  200 ) 
     The terminal  200  is also a portable terminal device similar to the terminal  100 . In a variant, the terminal  200  may be a desktop terminal device. The terminal  200  includes a camera  215  and a Wi-Fi I/F  216 , similar to the terminal  100 . 
     (Configuration of Printer  10 ) 
     The printer  10  is a peripheral device configured to execute print function (such as a peripheral device of the terminals  100 ,  200 ). The printer  10  comprises an operation unit  12 , a display unit  14 , a Wi-Fi I/F  16 , a print execution unit  18 , and a controller  30 . The respective units  12  to  30  are connected to a bus line (reference sign omitted). 
     The operation unit  12  includes a plurality of buttons. The user may input various instructions to the printer  10  by operating the operation unit  12 . The display unit  14  is a display configured to display various types of information. The display unit  14  may further include a touchscreen function (i.e., an operation unit). The print execution unit  18  includes a print mechanism such as an inkjet scheme and a laser scheme. 
     The Wi-Fi I/F  16  supports the DPP scheme and the WFD scheme. Accordingly, the printer  10  can establish a Wi-Fi connection with the AP  6  and further can establish a WFD connection with a terminal (such as the terminal  100 ) without any intervention of the APs. Hereinbelow, the Wi-Fi connection with the AP  6  may be termed an “AP connection”. 
     The Wi-Fi I/F  16  is allocated with two MAC addresses “mac_ap” and “mac_wfd”. The MAC address “mac_ap” is a MAC address used in the AP connection. The MAC address “mac_wfd” is a MAC address used in the WFD connection. 
     The controller  30  includes a CPU  32  and a memory  34 . The CPU  32  is configured to execute various processes in accordance with a program  40  stored in the memory  34 . The memory  34  is constituted of volatile memory, nonvolatile memory, and/or the like. 
     Further, the memory  34  may store AP information  44  that is used to establish the AP connection. 
     (Overview of DPP;  FIG.  2   ) 
     Next, an overview of the DPP will be described with reference to  FIG.  2   . The AP  6  also supports the DPP scheme. In the present embodiment, establishment of a DPP connection between the printer  10  and the AP  6  is realized by each of the devices  6 ,  10 ,  100  executing communication in conformity with the DPP scheme. Hereinbelow, for easier understanding, operations executed by a CPU (such as the CPU  32 ) of each device will be described with their corresponding device (such as the printer  10 ) as the subject of action instead of describing the operations with their corresponding CPU as the subject of action. 
     In T 5 , the terminal  100  executes Bootstrapping (hereinafter termed “BS”) of the DPP scheme with the AP  6 . This BS is a process that provides information, which is to be used in Authentication (hereinafter termed “Auth”) in T 10  as described later, from the AP  6  to the terminal  100  in response to a QR code adhered to the AP  6  being captured by the camera  115  of the terminal  100 . 
     In T 10 , the terminal  100  uses the information obtained in the BS of T 5  and executes the Auth of the DPP scheme with the AP  6 . This Auth is a process for each of the terminal  100  and the AP  6  to authenticate its communication counterpart. 
     In T 15 , the terminal  100  executes Configuration (hereinafter termed “Config”) of the DPP scheme with the AP  6 . This Config is a process of sending, to the AP  6 , information for the AP  6  to establish the AP connection in conformity with the DPP scheme. Specifically, the terminal  100  generates an Configuration Object to be used by an AP (hereinafter, a Configuration Object will simply be termed “CO”, and CO to be used by an AP will simply be termed “AP-CO”) and sends this AP-CO to the AP  6 . As a result, the AP-CO is stored in the AP  6 . 
     Next, the terminal  100  executes the BS of the DPP scheme with the printer  10  in T 25 . This BS is a process that provides information, which is to be used in the Auth in T 30  as described later, from the printer  10  to the terminal  100  in response to a QR code displayed on the printer  10  being captured by the camera  115  of the terminal  100 . 
     In T 30 , the terminal  100  uses the information obtained in the BS of T 25  and executes the Auth of the DPP scheme with the printer  10 . This Auth is a process for each of the terminal  100  and the printer  10  to authenticate its communication counterpart. 
     In T 35 , the terminal  100  executes the Config of the DPP scheme with the printer  10 . This Config is a process of sending, to the printer  10 , information for establishing the DPP connection between the printer  10  and the AP  6 . In this Config, the terminal  100  generates a first printer-CO for a printer, which is for establishing an AP connection between the printer  10  and the AP  6 , and sends this first printer-CO to the printer  10 . As a result, the first printer-CO is stored in the printer  10 . 
     In T 40 , the printer  10  and the AP  6  use the stored AP-CO and first printer-CO and execute Network Access (hereinafter termed “NA”) of the DPP scheme. The NA is a process for sharing connection keys for establishing the AP connection in conformity with the DPP scheme between the printer  10  and the AP  6 . After this, the printer  10  and the AP  6  execute 4-way handshake communication. In at least a part of processes in the 4-way handshake communication, the printer  10  and AP  6  communicate encrypted information encrypted by the shared connection keys. Then, in a case where decryption of the encrypted information is successful, the AP connection is established between the printer  10  and the AP  6 . The printer  10  can thereby participate as a child station in a wireless network formed by the AP  6 . In a variant, the printer  10  and AP  6  may execute Simultaneous Authentication of Equals (SAE; so-called “Dragonfly”) communication instead of the 4-way handshake communication. 
     In the DPP scheme, in order to establish the AP connection between the printer  10  and the AP  6 , the user does not need to input information (such as a SSID and a password) on the wireless network in which the AP  6  operates as a parent station to the printer  10 . Thus, the user can easily establish the AP connection between the printer  10  and the AP  6 . 
     (Details of Respective Processes;  FIGS.  3  to  6   ) 
     Next, details of the respective processes executed in T 25  to T 40  of  FIG.  2    will be described with reference to  FIGS.  3  to  6   . 
     (Bootstrapping (BS);  FIG.  3   ) 
     Firstly, the BS process executed in T 25  of  FIG.  2    will be described with reference to  FIG.  3   . In an initial state of  FIG.  3   , the memory  34  of the printer  10  stores a public key PPK 1  and a private key psk 1  of the printer  10  in advance. Further, in the initial state of  FIG.  3   , the memory  34  does not store the AP information  44 . 
     In T 100 , the user operates the operation unit  12  and inputs a predetermined instruction to the printer  10 . When the input of the predetermined instruction is accepted from the user in T 100 , the printer  10  displays a selection screen on the display unit  14  in T 102 . The selection screen is a screen for selecting a communication method. The selection screen includes an “AP Communication” button indicating that communication via an AP is to be used and a “WFD Communication” button indicating that communication in conformity with the WFD scheme without intervention of any APs is to be used. Alternatively, the selection screen may not be displayed. In this case, for example, an AP-QR code for an AP (see T 106 ) may be displayed in a case of accepting an instruction from the user in a first screen related to use of the communication through an AP, while a WFD-QR code for the WFD (see T 856  of  FIG.  12   ) may be displayed in a case of accepting an instruction from the user in a second screen different from the first screen and related to use of the communication in conformity with the WFD. 
     In T 104 , the user operates the operation unit  12  and selects the “AP Communication” button in the selection screen. When the selection of the “AP Communication” button is accepted from the user in T 104 , the printer  10  displays the AP-QR code on the display unit  14  in T 106 . The AP-QR code is obtained by encoding the public key PPK 1  of the printer  10  and the MAC address “mac_ap” used in the AP connection. 
     The terminal  100  activates the camera  115  of the terminal  100  in response to accepting an operation from the user, and in T 120 , captures the AP-QR code displayed in T 100  by using the camera  115 . Then, in T 122 , the terminal  100  decodes the captured AP-QR code and obtains the public key PPK 1  and the MAC address “mac_ap”. When the process of T 122  is completed, the process of  FIG.  3    is terminated. 
     (Authentication (Auth);  FIG.  4   ) 
     Next, the Auth process executed in T 30  of  FIG.  2    will be described with reference to  FIG.  4   . All communication executed between the terminal  100  and the printer  10  hereinafter is executed via the Wi-Fi I/F  116  of the terminal  100  and the Wi-Fi I/F  16  of the printer  10 . As such, hereinafter, the description “via the Wi-Fi I/F  116  (or  16 )” will be omitted. 
     In T 200 , the terminal  100  generates a public key TPK 1  and a private key tsk 1  of the terminal  100 . Then, in T 202 , the terminal  100  generates a shared key SK 1  in conformity with Elliptic curve Diffie-Hellman key exchange (ECDH) using the generated private key tsk 1  and the public key PPK 1  of the printer  10  obtained in T 122  of  FIG.  3   . Then, in T 204 , the terminal  100  encrypts a random value RV 1  using the generated shared key SK 1  and generates encrypted data ED 1 . 
     In T 210 , the terminal  100  sends a DPP Authentication Request (hereinafter termed “AReq”) to the printer  10  with the MAC address “mac_ap” obtained in T 122  of  FIG.  3    as a recipient. The AReq is a signal that requests the printer  10  to execute authentication. The AReq includes the public key TPK 1  of the terminal  100  generated in T 200 , the encrypted data ED 1  generated in T 204 , a capability of the terminal  100 , and the MAC address “mac_ap”. 
     The capability is information that is pre-designated in a device supporting the DPP scheme and includes a value which is one of: a value indicating that the device is capable of operating only as a Configurator in conformity with the DPP scheme, a value indicating that the device is capable of operating only as an Enrollee in conformity with the DPP scheme, and a value indicating that the device is capable of operating as both the Configurator and the Enrollee. The Configurator refers to a role configured to send a CO that is to be used in NA (e.g., T 40  of  FIG.  2   ) to the Enrollee in Config (e.g., T 35  of  FIG.  2   ). On the other hand, the Enrollee refers to a role configured to receive the CO that is to be used in the NA from the Configurator in the Config. In this case AReq includes a value the device is capable of operating as both the Configurator and the Enrollee as the capability of the terminal  100 . 
     In T 210 , the printer  10  receives the AReq from the terminal  100 . As aforementioned, the AReq is sent with the MAC address “mac_ap” of the Wi-Fi I/F  16  of the printer  10  as the recipient. Thus, the printer  10  can suitably receive the AReq from the terminal  100 . 
     When the AReq is received from the terminal  100  in T 210 , the printer  10  executes the process of  FIG.  7    (to be described later) in T 211  and determines a capability of the printer  10  as the Enrollee. 
     Then, the printer  10  executes a process for authenticating a sender of the AReq (i.e., the terminal  100 ). Specifically, the printer  10  generates a shared key SK 1  using the public key TPK 1  of the terminal  100  in the AReq and the private key psk 1  of the printer  10  in T 212 . Here, the shared key SK 1  generated by the terminal  100  in T 202  and the shared key SK 1  generated by the printer  10  in T 212  match (are identical). Due to this, in T 214 , the printer  10  can suitably decrypt the encrypted data ED 1  in the AReq using the generated shared key SK 1 , as a result of which it can obtain the random value RV 1 . In a case where this decryption of the encrypted data ED 1  is successful, the printer  10  determines that the sender of the AReq is the device that had captured the QR code displayed in T 106  of  FIG.  3   , that is, determines that the authentication was successful, and executes the processes from T 216 . On the other hand, in a case where the decryption of the encrypted data ED 1  is unsuccessful, the printer  10  determines that the sender of the AReq is not the device that had captured the QR code displayed in T 106 , that is, determines that the authentication failed, and does not execute the processes from T 216 . 
     In T 216 , the printer  10  generates a new public key PPK 2  and a new private key psk 2  of the printer  10 . In a variant, the printer  10  may store the public key PPK 2  and the private key psk 2  in advance. Then, in T 217 , the printer  10  generates a shared key SK 2  in conformity with the ECDH using the public key TPK 1  of the terminal  100  in the AReq of T 210  and the generated private key psk 2  of the printer  10 . Then, in T 218 , the printer  10  encrypts the obtained random value RV 1  and a new random value RV 2  using the generated shared key SK 2  and generates encrypted data ED 2 . 
     In T 220 , the printer  10  sends a DPP Authentication Response (hereinafter termed “ARes”) to the terminal  100 . This ARes includes the public key PPK 2  of the printer  10  generated in T 216 , the encrypted data ED 2  generated in T 218 , and the capability of the printer  10  (i.e., a value indicating that it is capable of operating only as the Enrollee) determined in T 211 . 
     In T 220 , the terminal  100  receives the ARes from the printer  10 . In this case, the terminal  100  executes a process for authenticating a sender of the ARes (i.e., the printer  10 ). Specifically, in T 222 , the terminal  100  generates a shared key SK 2  in conformity with the ECDH using the private key tsk 1  of the terminal  100  generated in T 200  and the public key PPK 2  of the printer  10  in the ARes. Here, the shared key SK 2  generated by the printer  10  in T 217  and the shared key SK 2  generated by the terminal  100  in T 222  match. Due to this, in T 224 , the terminal  100  can suitably decrypt the encrypted data ED 2  in the ARes using the generated shared key SK 2 , as a result of which it can obtain the random values RV 1  and RV 2 . In a case where this decryption of the encrypted data ED 2  is successful, the terminal  100  determines that the sender of the ARes is the device that possesses the captured QR code, that is, determines that the authentication was successful, and executes the processes from T 230 . On the other hand, in a case where the decryption of the encrypted data ED 2  is unsuccessful, the terminal  100  determines that the sender of the ARes is not the device that stores the captured QR code, that is, determines that the authentication failed, and does not execute the processes from T 230 . 
     In T 230 , the terminal  100  sends a Confirm to the printer  10 . The Confirm includes information indicating that the terminal  100  is to operate as the Configurator and the printer  10  is to operate as the Enrollee. As a result, the terminal  100  determines to operate as the Configurator in T 232  and the printer  10  determines to operate as the Enrollee in T 234 . When the process of T 234  is completed, the process of  FIG.  4    is terminated. 
     (Configuration (Config);  FIG.  5   ) 
     Next, the Config process executed in T 35  of  FIG.  2    will be described with reference to  FIG.  5   . In T 300 , the printer  10  sends a DPP Configuration Request (hereinafter termed “CReq”) to the terminal  100 . The CReq is a signal requesting to send the first printer-CO. The CReq includes a value “sta” indicating that the printer  10  is to receive the first printer-CO. Further, the CReq includes a value “config” requesting operation information for the printer  10  to operate as the Configurator. For example, Case A ( FIGS.  8  and  9   ) may be assumed in which communication in conformity with the DPP scheme is executed between the printer  10  and the terminal  100  after the processes of  FIGS.  3  to  6    have been completed and the AP connection has been established between the printer  10  and the AP  6 . In this case, the printer  10  operates as the Configurator, uses the first printer-CO, generates a first terminal-CO for a terminal, and sends the first terminal-CO to the terminal  200 . In the present case, the printer  10  sends the CReq including the value “config” to the terminal device  100  in advance in T 300  prior to Case A which later takes place. By doing so, the printer  10  becomes able to operate as the Configurator, use the first printer-CO obtained from the terminal  100 , and generate the first terminal-CO in Case A which later takes place. 
     When the CReq is received from the printer  10  in T 300 , the terminal  100  obtains a group ID “Group1”, the public key TPK 2 , and the private key tsk 2  from a memory (not shown) of the terminal  100  in T 302 . As aforementioned, the terminal  100  has already executed the Config in T 15  of  FIG.  2    with the AP  6 , and generated the group ID “Group1”, the public key TPK 2 , and the private key tsk 2  at this occasion and stored them in the memory. The group ID “Group1” is information for identifying a wireless network formed by the Wi-Fi connection between the printer  10  and the AP  6  being established. In a variant, a letter string designated by the user may be used as the group ID. That is, in T 302 , the terminal  100  obtains the respective pieces of information stored in T 15  of  FIG.  2   . Then, in T 304 , the terminal  100  generates the first printer-CO. Specifically, the terminal  100  executes the following processes. 
     The terminal  100  firstly hashes the public key TPK 2  of the terminal  100  to generate a hash value HV 1 . Further, the terminal  100  hashes combination of the hash value HV 1 , the group ID “Group1”, and the public key PPK 2  of the printer  10  in the ARes in T 220  of  FIG.  4    to generate a specific value. Then, the terminal  100  generates a digital signature DSpr 1  by using the private key tsk 2  of the terminal  100  to encrypt the generated specific value in conformity with Elliptic Curve Digital Signature Algorithm (ECDSA). As a result, the terminal  100  can generate a first printer-Signed-Connector for a printer (hereinafter, the Signed-Connector will simply be termed “SC”) including the hash value HV 1 , the group ID “Group1”, the public key PPK 2  of the printer  10 , and the digital signature DSpr 1 . Then, the terminal  100  generates the first printer-CO including the first printer-SC and the public key TPK 2  of the terminal  100 . 
     In T 310 , the terminal  100  sends a DPP Configuration Response (hereinafter termed “CRes”) including the first printer-CO to the printer  10 . Here, the CRes includes operation information as a response to the value “config” in the CReq. The operation information includes information (such as the private key tsk 2  of the terminal  100 ) for the printer  10  to operate as the Configurator and generate the first terminal-CO for another terminal (such as the terminal  200 ). 
     When the CRes is received from the terminal  100  in T 310 , the printer  10  stores the first printer-CO in the CRes in T 312 . The first printer-CO is information to be used in establishing the AP connection with the AP  6 , and thus can be said as being connection information for establishing the AP connection with the AP  6 . The printer  10  stores the first printer-CO as the AP information  44 . When the process of T 312  is completed, the process of  FIG.  5    is terminated. 
     (Network Access (NA);  FIG.  6   ) 
     Next, the NA process in T 40  of  FIG.  2    will be described with reference to  FIG.  6   . As aforementioned, similar to T 25  to T 35  of  FIG.  2   , the processes of T 5  to T 15  have been already executed between the terminal  100  and the AP  6 . The AP  6  stores a public key APK 1  and a private key ask 1  of the AP  6  in advance. Further, the QR code obtained by encoding the public key APK 1  of the AP  6  and a MAC address of the AP  6  is adhered to a housing of the AP  6 . When the terminal  100  captures this QR code, processes similar to the respective processes from T 200  of  FIG.  4    are executed between the terminal  100  and the AP  6 . As a result, the AP  6  stores a public key APK 2  and a private key ask 2  of the AP  6  (see T 216  of  FIG.  4   ) and further stores the AP-CO received from the terminal  100  (see T 312  of  FIG.  5   ). The AP-CO includes an AP-SC for an AP and the public key TPK 2  of the terminal  100 . This public key TPK 2  matches the public key TPK 2  included in the first printer-CO. Further, the AP-SC includes the hash value HV 1 , the group ID “Group1”, the public key APK 2  of the AP  6 , and a digital signature DSap 1 . The hash value HV 1  and group ID “Group1” hereof match the hash value HV 1  and the group ID “Group1” included in the first printer-CO. The digital signature DSap 1  is information obtained by a specific value, which is obtained by hashing a combination of the hash value HV 1 , the group ID “Group1”, and the public key APK 2 , being encrypted by the private key tsk 2  of the terminal  100 , and is a value that differs from the digital signature DSpr 1  included in the first printer-CO. 
     In T 400 , the printer  10  sends a DPP Peer Discovery Request (hereinafter termed “DReq”) including the first printer-SC to the AP  6 . The DReq is a signal requesting the AP  6  to execute authentication and send the AP-SC. 
     When the DReq is received from the printer  10  in T 400 , the AP  6  executes a process for authenticating a sender of the DReq (i.e., the printer  10 ) and the respective pieces of information in the DReq (i.e., the hash value HV 1 , the “Group1”, and the public key PPK 2 ). Specifically, in T 402 , the AP  6  firstly executes a first AP determination process related to whether the hash value HV 1  and the group ID “Group1” in the received first printer-SC respectively match the hash value HV 1  and the group ID “Group1” in the AP-SC included in the stored AP-CO. In the case shown in  FIG.  6   , since the AP  6  determines a match in the first AP determination process, it determines that the authentication of the sender of the DReq (i.e., the printer  10 ) was successful. The hash value HV 1  in the received first printer-SC and the hash value HV 1  in the AP-SC included in the stored AP-CO matching means that the first printer-SC and the AP-SC were generated by a same device (i.e., the terminal  100 ). Thus, the AP  6  also determines that the authentication of a generator of the received first printer-SC (i.e., the terminal  100 ) was successful. 
     The AP  6  further decrypts the digital signature DSpr 1  in the received first printer-SC by using the public key TPK 2  of the terminal  100  included in the stored AP-CO. In the case shown in  FIG.  6   , the decryption of the digital signature DSpr 1  is successful, thus the AP  6  executes a second AP determination process related to whether the specific value obtained by decrypting the digital signature DSpr 1  matches the value obtained by hashing the respective pieces of information (i.e., the hash value HV 1 , the “Group1”, and the public key PPK 2 ) in the received first printer-SC. In the case shown in  FIG.  6   , the AP  6  determines a match in the second AP determination process, thus determines that the authentication of the respective pieces of information in the DReq was successful and executes processes from T 404 . The match being determined in the second AP determination process means that the respective pieces of information (i.e., the hash value HV 1 , the “Group1”, and the public key PPK 2 ) in the received first printer-SC have not been tampered by a third party after the first printer-CO was stored in the printer  10 . On the other hand, the AP  6  determines that the authentication failed and does not execute the processes from T 404  in each case where a match is not determined in the first AP determination process, the decryption of the digital signature DSpr 1  fails, and a match is not determined in the second AP determination process. 
     Next, in T 404 , the AP  6  generates a connection key (i.e., an shared key) CK 1  in conformity with the ECDH using the obtained public key PPK 2  of the printer  10  and the stored private key ask 2  of the AP  6 . 
     In T 410 , the AP  6  sends a DPP Peer Discovery Response (hereinafter termed “DRes”) including the AP-SC to the printer  10 . 
     When the DRes is received from the AP  6  in T 410 , the printer  10  executes a process for authenticating a sender of the DRes (i.e., the AP  6 ) and the respective pieces of information (i.e., hash value HV 1 , the “Group1”, and the public key APK 2 ) in the DRes. Specifically, in T 412 , the printer  10  firstly executes a first PR determination process related to whether the hash value HV 1  and the group ID “Group1” in the received AP-SC respectively match the hash value HV 1  and the group ID “Group1” in the first printer-SC included in the stored first printer-CO. In the case shown in  FIG.  6   , since the printer  10  determines a match in the first PR determination process, it determines that the authentication of the sender of the DRes (i.e., the AP  6 ) was successful. The hash value HV 1  in the received AP-SC and the hash value HV 1  in the first printer-SC included in the stored first printer-CO matching means that the first printer-SC and the AP-SC were generated by the same device (i.e., the terminal  100 ). Thus, the printer  10  also determines that authentication of a generator of the received AP-SC (i.e., the terminal  100 ) was successful. 
     Further, the printer  10  decrypts the digital signature DSap 1  in the received AP-SC by using the public key TPK 2  of the terminal  100  included in the stored first printer-CO. In the case shown in  FIG.  6   , the decryption of the digital signature DSap 1  is successful, so the printer  10  executes a second PR determination process related to whether the specific value obtained by decrypting the digital signature DSap 1  matches the value obtained by hashing the respective pieces of information (i.e., the hash value HV 1 , the “Group1”, and the public key APK 2 ) in the received AP-SC. In the case shown in  FIG.  6   , the printer  10  determines a match in the second PR determination process, thus determines that the authentication of the respective pieces of information in the DRes was successful and executes processes from T 414 . The match being determined in the second PR determination process means that the respective pieces of information (i.e., the hash value HV 1 , the “Group1”, and the public key APK 2 ) in the AP-SC have not been tampered by a third party after the AP-CO was stored in the AP  6 . On the other hand, the printer  10  determines that the authentication failed and does not execute the processes from T 414  in each case where a match is not determined in the first PR determination process, the decryption of the digital signature DSap 1  fails, and a match is not determined in the second PR determination process. 
     In T 414 , the printer  10  generates a connection key CK 1  in conformity with the ECDH using the stored private key psk 2  of the printer  10  and the public key APK 2  of the AP  6  in the received AP-SC. Here, the connection key CK 1  generated by the AP  6  in T 404  and the connection key CK 1  generated by the printer  10  in T 414  match. Due to this, the connection keys CK 1  for establishing the AP connection are shared between the printer  10  and the AP  6 . 
     As aforementioned, after the connection keys CK 1  have been shared between the printer  10  and the AP  6 , the printer  10  and the AP  6  use the connection keys CK 1  to execute the 4-way handshake communication in T 420 . As a result, the AP connection is established between the printer  10  and the AP  6 . When T 420  is completed, the process of  FIG.  6    is terminated. 
     (Auth Process of Printer  10 ;  FIG.  7   ) 
     An Auth process realized by the CPU  32  of the printer  10  will be described with reference to  FIG.  7   . Within the Auth process of  FIG.  4   , processes executed by the printer  10  are realized by the process of  FIG.  7   . 
     In S 2 , the CPU  32  monitors receipt of the AReq from a terminal that had captured the QR code of the printer  10  in the BS process (hereinafter termed “Initiator terminal”) via the Wi-Fi I/F  16 . The CPU  32  proceeds to S 4  in a case of receiving the AReq from the Initiator terminal (YES to S 2 ). The process of T 210  of  FIG.  4    is realized by the process of S 2 . All the communication in the process of  FIG.  7    is executed via the Wi-Fi I/F  16 . Thus, hereinafter, the description “via the Wi-Fi I/F  16 ” will be omitted. 
     In S 4 , the CPU  32  determines whether the received AReq includes the MAC address “mac_ap”. As indicated in T 106  of  FIG.  3   , the AP-QR code in which the information including the MAC address “mac_ap” is encoded is displayed in the case where the “AP Communication” button is selected. Due to this, the Initiator terminal captures the AP-QR code, obtains the MAC address “mac_ap”, and sends the AReq including the MAC address “mac_ap” to the printer  10 . On the other hand, in the case where the “WFD Communication” button in the selection screen is selected, the WFD-QR code in which the information including the MAC address “mac_wfd” to be used in the WFD connection is encoded is displayed. Due to this, the Initiator terminal captures the WFD-QR code, obtains the MAC address “mac_wfd”, and sends the AReq including the MAC address “mac_wfd” to the printer  10 . The CPU  32  proceeds to S 10  in a case of determining that the received AReq includes the MAC address “mac_ap” (YES to S 4 ), while the CPU  32  proceeds to S 20  in a case of determining that the received AReq includes the MAC address “mac_wfd” (NO to S 4 ). Then, in the case of determining that the AReq includes the MAC address “mac_ap” (YES to S 4 ), the printer  10  establishes the AP connection with one of the APs, while in the case of determining that the AReq includes the MAC address “mac_wfd”, the printer  10  establishes the WFD connection with the Initiator terminal. Processes for establishing the WFD connection will be described later in  FIGS.  12  to  15   . According to this configuration, the printer  10  can establish a suitable Wi-Fi connection according to the MAC address included in the AReq. 
     In S 10 , the CPU  32  determines whether the AP information  44  is stored in the memory  34 . The AP information  44  not being stored in the memory  34  means that no AP connection has been established between the printer  10  and any of the APs. The CPU  32  proceeds to S 16  in a case of determining that no AP information  44  is stored in the memory  34  (NO to S 10 ). 
     In S 16 , the CPU  32  determines the capability of the printer  10  as the “Enrollee”. 
     Then, in S 40 , the CPU  32  executes processes similar to T 212  to T 218  of  FIG.  4    (i.e., the authentication of the Initiator terminal and the generation of the encrypted data). 
     Then, in S 42 , the CPU  32  sends the ARes including the capability “Enrollee” to the Initiator terminal. 
     Then, in S 44 , the CPU  32  executes the Confirm process similar to T 230  and T 234  of  FIG.  4   . That is, the CPU  32  determines to operate as the Enrollee. When the process of S 44  is completed, the process of  FIG.  7    is terminated. 
     The AP information  44  being stored in the memory  34  means that the AP connection has been established between the printer  10  and one of the APs (such as the AP  6 ). The CPU  32  proceeds to S 12  in a case of determining that the AP information  44  is stored in the memory  34  (YES to S 10 ). 
     In S 12 , the CPU  32  determines whether the AReq received in S 2  includes the value indicating a capability of the Initiator terminal as being capable of operating only as the Enrollee. A situation under which the received AReq includes the value indicating being capable of operating only as the Enrollee may for example be a situation under which a program that prioritizes execution of receipt of COs from other devices is installed in the Initiator terminal, or a situation under which an operation for selecting to receive the COs from other devices has been performed by the user on the Initiator terminal. The CPU  32  proceeds to S 14  in a case of determining that the received AReq includes the value indicating being capable of operating only as the Enrollee (YES to S 12 ). 
     In S 14 , the CPU  32  determines the capability of the printer  10  as “Configurator”. Following S 30  is similar to S 40 . 
     Next, in S 32 , the CPU  32  sends the ARes including the capability “Configurator” to the Initiator terminal. 
     Then in S 34 , the CPU  32  executes the Confirm process. Unlike the Confirm process executed in S 44 , the CPU  32  determines to operate as the Configurator in the Confirm process of S 34 . When the process of S 34  is completed, the process of  FIG.  7    is terminated. 
     The CPU  32  proceeds to S 16  in a case where the received AReq includes a value indicating being capable of operating as either the Configurator or the Enrollee, or in a case where the received AReq includes a value indicating being capable of operating only as the Configurator (NO to S 12 ). That is, the CPU  32  determines the capability of the printer  10  as the “Enrollee”. Then the processes of S 40  to S 44  are executed, and the process of  FIG.  7    is terminated. 
     The CPU  32  executes the processes of S 20  to S 26  in the case of determining that the received AReq includes the MAC address “mac_wfd” (NO to S 4 ). The printer  10  executes a G/O Negotiation to be described later and selects one of the G/O state and the CL state. The CPU  32  proceeds to S 24  in a case where the printer  10  selected the G/O state as a result of the G/O Negotiation (YES to S 20 ), while the CPU  32  proceeds to S 26  in a case where the printer  10  selected the CL state as the result of the G/O Negotiation (NO to S 20 ). 
     In S 24 , the CPU  32  determines the capability of the printer  10  as the “Configurator”. Then, when S 24  is completed, the CPU  32  executes the processes of S 30  to S 34  and terminates the process of  FIG.  7   . 
     In S 26 , the CPU  32  determines the capability of the printer  10  as the “Enrollee”. Then, when S 26  is completed, the CPU  32  executes the processes of S 40  to S 44  and terminates the process of  FIG.  7   . 
     For example, a comparative example may be assumed in which the determination of S 10  (i.e., the determination on whether the AP information  44  is stored) is executed before the AReq is received from the Initiator terminal. For example, the printer  10  executes the determination of S 10  in the B S process before the Auth process. In this comparative example, the printer  10  executes the determination of S 10  where it is not necessary even in a case where the Auth process is not executed due to some reason (such as communication disruptions). Contrary to this, according to the configuration of the present embodiment, the printer  10  executes the determination of S 10  in the case where the AReq is received from the Initiator terminal (YES to S 2 ). According to the configuration of the present embodiment, the determination of S 10  can be suppressed from being executed where it is not necessary. In a variant, the configuration of the comparative example may be employed. 
     (Specific Case a;  FIGS.  8  and  9   ) 
     Specific Case A realized by the process of  FIG.  7    will be described with reference to  FIGS.  8  and  9   . Case A is a continuation of the process of  FIG.  2    (i.e.,  FIGS.  3  to  6   ). That is, in an initial state of Case A, the AP connection is established between the printer  10  and the AP  6 . Due to this, the first printer-CO is stored in the memory  34  of the printer  10  as the AP information  44  (see T 312  of  FIG.  5   ). Further, the terminal  200  does not have any AP connection established with any of the APs. In the present case, the AP connection between the terminal  200  and the AP  6  is established after having established the AP connection between the printer  10  and the AP  6 . With the AP connection being established between the terminal  200  and the AP  6 , the terminal  200  can participate as a child station in the wireless network formed by the AP  6  and thereby communicate with the printer  10  via the AP  6 . 
     (Bootstrapping (BS) and Authentication (Auth) in Case A;  FIG.  8   ) 
     The BS process and the Auth process in Case A will be described with reference to  FIG.  8   . T 455  is similar to T 25  of  FIG.  2    (i.e.,  FIG.  3   ) except that the terminal  200  captures the AP-QR code of the printer  10 . 
     In T 500 , the terminal  200  generates a public key TPK 3  and a private key tsk 3  of the terminal  200 . T 502  is similar to T 202  of  FIG.  4    except that a shared key SK 3  is generated using the private key tsk 3  of the terminal  200  and the public key PPK 1  of the printer  10 . T 504  is similar to T 204  of  FIG.  4    except that encrypted data ED 3  is generated by encrypting a random value RV 3  using the shared key SK 3 . 
     In the present case, for example, the operation for selecting to receive COs from other devices has been performed on the terminal  200  by the user. Due to this, in T 510 , the terminal  200  sends the AReq including the value indicating being capable of operating only as the Enrollee as a capability of the terminal  200  to the printer  10 . Further, this AReq includes the public key TPK 3  of the terminal  200  generated in T 500 , the encrypted data ED 3  generated in T 504 , and the MAC address “mac_ap”. 
     When the AReq is received from the terminal  200  in T 510 , the printer  10  determines in T 511   a  that the received AReq includes the MAC address “mac_ap” (YES to S 4  of  FIG.  7   ). In T 511   b , the printer  10  determines that the first printer-CO is stored in the memory  34  as the AP information  44  (YES to S 10 ). In T 511   c , the printer  10  determines that the received AReq includes the value indicating being capable of operating only as the Enrollee as the capability of the terminal  200  (YES to S 12 ). Then, in T 511   d , the printer  10  determines the capability of the printer  10  as the “Configurator”(S 14 ). 
     Then, the printer  10  executes authentication similar to T 212  to T 218  of  FIG.  4    and this authentication is completed successfully (S 30 ). That is, the printer  10  generates the shared key SK 3  using the public key TPK 3  of the terminal  200  in the AReq and the private key psk 1  of the printer  10  in T 512 , and decrypts the encrypted data ED 3  in the AReq using the shared key SK 3  and obtains the random value RV 3  in T 514 . Then, the printer  10  generates a new public key PPK 3  and a new private key psk 3  of the printer  10  in T 516 , generates a shared key SK 4  using the public key TPK 3  of the terminal  200  in the AReq and the private key psk 3  of the printer  10  in T 517 , and encrypts the random value RV 3  and a new random value RV 4  using the shared key SK 4  and generates encrypted data ED 4  in T 518 . 
     Then, in T 520 , the printer  10  sends the ARes including the public key PPK 3  of the printer  10 , the encrypted data ED 4 , and the capability of the printer  10  (i.e., the value indicating being capable of operating only as the Configurator) to the terminal  200  (S 32 ). 
     When the ARes is received from the printer  10  in T 520 , the terminal  200  executes authentication similar to T 222  and T 224  of  FIG.  4    and this authentication is completed successfully. That is, in T 522 , the terminal  200  generates a shared key SK 4  using the private key tsk 3  of the terminal  200  generated in T 500  and the public key PPK 3  of the printer  10  in the ARes, and decrypts the encrypted data ED 4  in the ARes using the shared key SK 4  and obtains the random values RV 3  and RV 4  in T 524 . 
     In T 530 , the terminal  200  sends the Confirm to the printer  10 . The Confirm includes information indicating that the terminal  200  is to operate as the Enrollee and the printer  10  is to operate as the Configurator. As a result, the terminal  200  determines to operate as the Enrollee in T 532  and the printer  10  determines to operate as the Configurator in T 534 . 
     (Configuration (Config) and Network Access (NA) in Case a;  FIG.  9   ) 
     The Config process and the NA process in Case A will be described with reference to  FIG.  9   . That is,  FIG.  9    is a continuation of  FIG.  8   . In the present case, the terminal  200  is the Enrollee. Due to this, in T 600 , the terminal  200  sends the CReq to the printer  10 . The CReq in the present case includes the value “sta” but does not include the value “config”. 
     When the CReq is received from the terminal  200  in T 600 , the printer  10  obtains the hash value HV 1 , the group ID “Group1”, and the public key TPK 2  from the first printer-CO being the AP information  44  in T 602 . Then, in T 604 , the printer  10  generates the first terminal-CO. Specifically, the printer  10  executes the following processes. 
     The printer  10  hashes a combination of the hash value HV 1 , the group ID “Group1”, and the public key TPK 3  of the terminal  200  in the AReq in T 510  of  FIG.  8    to generate a specific value. Then, the printer  10  generates a digital signature DSta 1  in conformity with the ECDSA using the private key tsk 2  included in the operation information received from the terminal device  100  in T 310  of  FIG.  5    to encrypt the generated specific value. As a result, the printer  10  can generate a first terminal-SC for a terminal including the hash value HV 1 , the group ID “Group1”, the public key TPK 3  of the terminal  200 , and the digital signature DSta 1 . Then, the printer  10  generates the first terminal-CO including the first terminal-SC and the public key TPK 2 . 
     In T 610 , the printer  10  sends the CRes including the first terminal-CO to the terminal  200 . Due to this, the terminal  200  obtains the first terminal-CO and stores the first terminal-CO in T 612 . 
     Then, the terminal  200  sends the DReq including the first terminal-SC to the AP  6  in T 620 . 
     When the DReq is received from the terminal  200  in T 620 , the AP  6  executes authentication of the DReq in T 622  similar to T 402  of  FIG.  6   . In the case shown in  FIG.  9   , the hash value HV 1  and the group ID “Group1” in the received first terminal-SC respectively match the hash value HV 1  and the group ID “Group1” in the AP-SC included in the stored AP-CO, so the AP  6  determines that the authentication was successful in the first AP determination process. 
     The AP  6  further decrypts the digital signature DSta 1  in the received first terminal-SC using the public key TPK 2  included in the stored AP-CO. In the case shown in  FIG.  9   , the decryption of the digital signature DSta 1  is completed successfully. In this case, the specific value obtained by decrypting the digital signature DSta 1  and the value obtained by hashing the respective pieces of information (i.e., the hash value HV 1 , the “Group1”, and the public key TPK 3 ) in the received first terminal-SC match, thus the AP  6  determines that the authentication was successful in the second AP determination process. 
     Next, in T 624 , the AP  6  generates a connection key CK 2  in conformity with the ECDH using the obtained public key TPK 3  of the terminal  200  and the stored private key ask 2  of the AP  6 . In T 630 , the AP  6  sends the DRes including the AP-SC to the terminal  200 . 
     When the DRes is received from the AP  6  in T 630 , the terminal  200  executes authentication of the DRes in T 632  similar to T 412  of  FIG.  6   . The terminal  200  firstly executes a first TA determination process that is similar to the first PR determination process. In the case shown in  FIG.  9   , since the hash value HV 1  and the group ID “Group1” in the received AP-SC respectively match the hash value HV 1  and the group ID “Group1” in the first terminal-SC included in the stored first terminal-CO, the terminal  200  determines that the authentication was successful in the first TA determination process. 
     Then, the terminal  200  executes a second TA determination process that is similar to the second PR determination process. Specifically, the terminal  200  decrypts the digital signature DSap 1  in the received AP-SC using the public key TPK 2  included in the stored first terminal-CO. In the present case, the terminal  200  determines that the specific value obtained by decrypting the digital signature DSap 1  and the value obtained by hashing the respective pieces of information (i.e., the hash value HV 1 , the “Group1”, and the public key APK 2 ) in the received AP-SC match, thus the terminal  200  determines that the authentication was successful in the second TA determination process. 
     Then, in T 634 , the terminal  200  generates a connection key CK 2  in conformity with the ECDH using the stored private key tsk 3  of the terminal  200  and the obtained public key APK 2  of the AP  6 . By doing so, the terminal  200  and the AP  6  establish the AP connection using the connection keys CK 2  in T 640 . 
     (Specific Case B;  FIGS.  10  and  11   ) 
     Specific Case B realized by the process of  FIG.  7    will be described with reference to  FIGS.  10  and  11   . Case B is a continuation of the process of  FIG.  2    (i.e.,  FIGS.  3  to  6   ), similar to Case A. That is, in an initial state of Case B, the AP connection is established between the printer  10  and the AP  6 . Further, the terminal  200  has the AP connection established with the AP  8 . In the present case, a new AP connection is to be established between the printer  10  and the AP  8  by the respective devices  8 ,  10 ,  200  executing communication in conformity with the DPP scheme. By doing so, the printer  10  can be shifted to a state of being connected to the AP  8  from a state of being connected to the AP  6 . 
     (Bootstrapping (BS) and Authentication (Auth) in Case B;  FIG.  10   ) 
     The BS process and the Auth process in Case B will be described with reference to  FIG.  10   . T 655  is similar to T 455  of  FIG.  8   . T 700  to T 704  are similar to T 500  to T 504  of  FIG.  8   . 
     In the present case, the operation for selecting to receive CO(s) from other device(s) has not been performed on the terminal  200  by the user. Due to this, in T 710 , the terminal  200  sends the AReq including the value indicating being capable of operating as either the Configurator or the Enrollee as the capability of the terminal  200  to the printer  10 . T 710  is similar to T 510  of  FIG.  8    except that the value of the capability of the terminal  200  is different. 
     T 711   a  and T 711   b  are similar to T 511   a  and T 511   b  of  FIG.  8   . In T 711   c , the printer  10  determines that the received AReq does not include the value indicating being capable of operating only as the Enrollee as the capability of the terminal  200  (NO to S 12 ). Then, in T 711   d , the printer  10  determines the capability of the printer  10  as the “Enrollee” (S 16 ). 
     T 712  to T 718  are similar to T 512  to T 518  of  FIG.  8   . T 720  is similar to T 520  of  FIG.  8    except that the ARes includes the value indicating being capable of operating only as the Enrollee as the capability of the printer  10 . 
     T 722  and T 724  are similar to T 522  and T 524  of  FIG.  8   . T 730  is similar to T 530  of  FIG.  8    except that the Confirm includes information indicating that the terminal  200  is to operate as the Configurator and the printer  10  is to operate as the Enrollee. As a result, the terminal  200  determines to operate as the Configurator in T 732  and the printer  10  determines to operate as the Enrollee in T 734 . 
     (Configuration (Config) and Network Access (NA) in Case B;  FIG.  11   ) 
     The Config process and the NA process in Case B will be described with reference to  FIG.  11   . That is,  FIG.  11    is a continuation of  FIG.  10   . In the present case, the printer  10  is the Enrollee. Due to this, in T 800 , the printer  10  sends the CReq to the terminal  200 . The CReq in the present case includes the value “sta” and the value “config”. 
     When the CReq is received from the printer  10  in T 800 , the terminal  200  obtains a group ID “Group2”, a public key TPK 10 , and a private key tsk 10  from a memory (not shown) of the terminal  200  in T 802 . In the present case, the AP connection is established between the terminal  200  and the AP  8 . That is, the terminal  200  has already executed the Config in conformity with the DPP scheme with the AP  8 , upon having done so, the group ID “Group2”, the public key TPK 10 , and the private key tsk 10  were generated and stored in the memory. That is, in T 802 , the terminal  200  obtains the respective pieces of information stored in the Config. Then, in T 804 , the terminal  200  generates the first printer-CO. Specifically, the terminal  200  generates a hash value HV 2  by hashing the public key TPK 10  of the terminal  200 . Further, the terminal  200  generates a specific value by hashing a combination of the hash value HV 2 , the group ID “Group2”, and the public key PPK 3  of the printer  10  in the ARes in T 720  of  FIG.  10   . Then, the terminal  200  encrypts the generated specific value using the private key tsk 10  of the terminal  200  and generates a digital signature DSpr 2 . As a result, the terminal  200  generates the first printer-SC including the hash value HV 2 , the group ID “Group2”, the public key PPK 3  of the printer  10 , and the digital signature DSpr 2 . Then, the terminal  200  generates the first printer-CO including the first printer-SC and the public key TPK 10  of the terminal  200 . 
     In T 810 , the terminal  200  sends the CRes including the first printer-CO to the printer  10 . Due to this, in T 812 , the printer  10  stores the first printer-CO received in T 810  as the AP information  44  by replacing the first printer-CO already stored as the AP information  44  (i.e., the first printer-CO used in the AP connection with the AP  6 ). That is, it updates the AP information  44 . 
     As aforementioned, in the present case, the AP connection is already established between the terminal  200  and the AP  8 . Due to this, the AP  8  stores a public key APK 10  and a private key ask 10  of the AP  8 , and further stores the AP-CO received from the terminal  200 . The AP-CO includes the AP-SC and the public key TPK 10  of the terminal  200 . Further, the AP-SC includes the hash value HV 2 , the group ID “Group2”, the public key APK 10  of the AP  8 , and a digital signature DSap 2 . The digital signature DSap 2  is information in which the specific value obtained by hashing a combination of the hash value HV 2 , the group ID “Group2”, and the public key APK 10  is encrypted using the private key tsk 10  of the terminal  200 , and is a value that is different from the digital signature DSpr 2  included in the first printer-CO. 
     T 820  to T 834  are similar to T 400  to T 414  of  FIG.  6    primarily except that the communication is executed between the AP  8  and the printer  10  and that a connection keys CK 3  are generated using the public key PPK 3  and the private key ask 10  (and the private key psk 3  and the public key APK 10 ). Due to this, the printer  10  and the AP  8  establish the AP connection in T 840  using the connection keys CK 3 . 
     (Specific Case C;  FIGS.  12  to  15   ) 
     Specific Case C realized by the process of  FIG.  7    will be described with reference to  FIGS.  12  to  15   . Case C is a continuation of the process of  FIG.  2    (i.e.,  FIGS.  3  to  6   ), similar to Case A. That is, in an initial state of Case C, the AP connection is established between the printer  10  and the AP  6 . In the present case, the WFD connection is to be established between the printer  10  and the terminal  200  by the “WFD Communication” button being selected by the user. 
     (Bootstrapping (BS) in Case C;  FIG.  12   ) 
     The BS process in Case C will be described with reference to  FIG.  12   . T 850  and T 852  are similar to T 100  and T 102  of  FIG.  3   . In T 854 , the user operates the operation unit  12  and selects the “WFD Communication” button in the selection screen. T 856  is similar to T 106  of  FIG.  3    except that a WFD-QR code is displayed on the display unit  14 . The WFD-QR code is obtained by encoding the public key PPK 1  of the printer  10  and the MAC address “mac_wfd” used in the WFD connection. 
     T 870  and T 872  are similar to T 120  and T 122  of  FIG.  3    except that the WFD-QR code is captured by the terminal  200  and the MAC address “mac_wfd” is obtained by the terminal  200 . 
     Next, in T 880 , the terminal  200  and the printer  10  execute WFD Discovery communication in conformity with the WFD scheme. The WFD Discovery is communication for searching for the printer  10 . 
     Next, in T 890 , the terminal  200  and the printer  10  execute G/O Negotiation communication in conformity with the WFD scheme. The G/O Negotiation is communication for determining which device is to operate in the G/O state or the CL state. In the present case, it is determined that the printer  10  is to be in the G/O state and the terminal  200  is to be in the CL state. As a result, the terminal  200  enters the CL state in T 892  and the printer  10  enters the G/O state in T 894 . For example, which one of the printer  10  and the terminal  200  is to be in the G/O state is determined according to various factors such as a spec of the printer  10  or the terminal  200 . In the present embodiment, the printer  10  enters the G/O state when the AP connection is established between the printer  10  and one of the APs, and the printer  10  enters the CL state when there is no AP connection established between the printer  10  and any of the APs. In a variant, it may be determined that the terminal  200  is to be in the G/O state and the printer  10  is to be in the CL state. 
     (Authentication (Auth) in Case C;  FIG.  13   ) 
     The Auth process in Case C will be described with reference to  FIG.  13   . That is,  FIG.  13    is a continuation of  FIG.  12   . T 900  to T 904  are similar to T 500  to T 504  of  FIG.  8   . T 910  is similar to T 510  of  FIG.  8    except that the AReq includes the value indicating being capable of operating as either the Configurator or the Enrollee as the capability of the terminal  200  and the MAC address “mac_wfd”. 
     When the AReq is received from the terminal  200  in T 910 , the printer  10  determines in T 911   a  that the received AReq includes the MAC address “mac_wfd” (NO to S 4  of  FIG.  7   ). In T 911   c , the printer  10  determines the capability of the printer  10  as the “Configurator” (S 24 ) since the printer  10  is in the G/O state (YES to S 20 ). T 912  to T 934  are similar to T 512  to T 534  of  FIG.  8   . 
     (Configuration (Config) in Case C;  FIG.  14   ) 
     The Config process in Case C will be described with reference to  FIG.  14   . That is,  FIG.  14    is a continuation of  FIG.  13   . T 1000  is similar to T 600  of  FIG.  9   . 
     In T 1002 , the printer  10  generates a public key PPK 4  and a private key psk 4  of the printer  10 . Then, in T 1004 , the printer  10  generates a second terminal-CO for a terminal. Specifically, printer  10  executes the following processes. 
     Firstly, the printer  10  generates a hash value HV 3  by hashing the public key PPK 4  of the printer  10 . Further, the printer  10  generates a specific value by hashing a combination of the hash value HV 3 , a group ID “Group3”, and the public key TPK 3  of the terminal  200  in the AReq of T 910  of  FIG.  13   . Then, the printer  10  generates a digital signature DSta 3  by using the private key psk 4  to encrypt the generated specific value in conformity with the ECDSA. As a result, the printer  10  can generate a second terminal-SC for a terminal including the hash value HV 3 , the group ID “Group3”, the public key TPK 3  of the terminal  200 , and the digital signature DSta 3 . Then, the printer  10  generates the second terminal-CO including the second terminal-SC and the public key PPK 4 . 
     In T 1010 , the printer  10  sends the CRes including the second terminal-CO to the terminal  200 . Due to this, the terminal  200  obtains the second terminal-CO and stores the second terminal-CO in T 1012 . 
     (Network Access (NA) in Case C;  FIG.  15   ) 
     The NA process in Case C will be described with reference to  FIG.  15   . That is,  FIG.  15    is a continuation of  FIG.  14   . 
     In T 1020 , the printer  10  generates a public key PPK 5  and a private key psk 5  of the printer  10 . Then, in T 1022 , the printer  10  generates a second printer-CO. Specifically, the printer  10  executes the following processes. 
     The printer  10  generates a specific value by hashing a combination of the hash value HV 3 , the group ID “Group3”, and the public key PPK 5  generated in T 1020 . Then, the printer  10  generates a digital signature DSpr 3  by using the private key psk 4  to encrypt the generated specific value in conformity with the ECDSA. As a result, the printer  10  can generate a second printer-SC for a printer including the hash value HV 3 , the group ID “Group3”, the public key PPK 5  of the printer  10 , and the digital signature DSpr 3 . Then, the printer  10  generates the second terminal-CO including the second printer-SC and the public key PPK 4 . 
     In T 1030 , the printer  10  sends the DReq including the second printer-SC to the terminal  200 . 
     When the DReq is received from the printer  10  in T 1030 , the terminal  200  executes authentication of the DReq in T 1032  similar to T 402  of  FIG.  6   . Specifically, the terminal  200  determines that the hash value HV 3  and the group ID “Group3” in the received second printer-SC respectively match the hash value HV 3  and the group ID “Group3” in the stored second terminal-SC. Then, the terminal  200  decrypts the digital signature DSpr 3  in the received second printer-SC using the public key PPK 4  in the stored second terminal-CO. The terminal  200  determines that the specific value obtained by decrypting the digital signature DSpr 3  and the value obtained by hashing the respective pieces of information (i.e., the hash value HV 3 , the “Group3”, and the public key PPK 5 ) in the received second printer-SC match. Due to the above, the terminal  200  determines that the authentication of the DReq was successful. 
     Next, in T 1034 , the terminal  200  generates a connection key CK 4  in conformity with the ECDH using the stored private key tsk 3  of the terminal  200  and the obtained public key PPK 5  of the printer  10 . In T 1040 , the terminal  200  sends the DRes including the second terminal-SC to the printer  10 . 
     When the DRes is received from the terminal  200  in T 1040 , the printer  10  executes authentication of the DRes in T 1042  similar to T 412  of  FIG.  6   . Specifically, the printer  10  determines that the hash value HV 3  and the group ID “Group3” in the received second terminal-SC match the hash value HV 3  and the group ID “Group3” in the stored second printer-SC. Then, the printer  10  decrypts the digital signature DSta 3  in the received second terminal-SC using the public key PPK 4  in the stored second printer-CO. The printer  10  determines that the specific value obtained by decrypting the digital signature DSta 3  and the value obtained by hashing the respective pieces of information (i.e., the hash value HV 3 , the “Group3”, and the public key TPK 3 ) in the received second terminal-SC match. Due to the above, the printer  10  determines that the authentication of the DRes was successful. 
     Next, in T 1044 , the printer  10  generates a connection key CK 4  in conformity with the ECDH using the obtained public key TPK 3  of the terminal  200  and the stored private key psk 5  of the printer  10 . Due to this, the printer  10  and the terminal  200  establish the WFD connection in T 1050  using the connection keys CK 4 . 
     (Table Summarizing Respective Cases in the Present Embodiment;  FIG.  16   ) 
     Cases realized by the Auth process of the printer  10  in  FIG.  7    will be described with reference to  FIG.  16   . As shown in the respective cases with line numbers  1  to  8  of  FIG.  16   , the capability of the printer  10  is determined. 
     The cases with line numbers  1  to  4  indicate cases in which the AP connection is established between one of the terminals having captured the QR code of the printer  10  (i.e., the “Initiator terminal”) and one of the APs (such as the AP  6 ) in the BS process. 
     The case with the line number  1  shows a case in which the AP connection is not established between the printer  10  and any of the APs (such as the AP  6 ) and the “AP Communication” button is selected in the selection screen displayed in the printer  10  (see T 102  of  FIG.  3   ). This case corresponds to the case of  FIGS.  2  to  6   . That is, the printer  10  establishes the AP connection with the AP  6  under the situation where the AP connection is established between the Initiator terminal and the AP  6 . In this case, the printer  10  determines that the AReq includes the MAC address “mac_ap” (YES to S 4  of  FIG.  7   ) and determines that the AP information  44  is not stored in the memory  34  (NO to S 10 ). As a result, the printer  10  determines the capability of the printer  10  as the “Enrollee” (S 16 ). In the present case, the printer  10  can receive the CO from the Initiator terminal and participate as a child station in the wireless network in which the Initiator terminal is currently participating. 
     The case with the line number  2  shows a case in which the AP connection is not established between the printer  10  and any of the APs and the “WFD Communication” button is selected in the selection screen. This case corresponds to a case of establishing the WFD connection between the printer  10  and the Initiator terminal. In this case, the printer  10  determines that the AReq includes the MAC address “mac_wfd” (NO to S 4  of  FIG.  7   ). Since the AP connection is not established between the printer  10  and any of the APs, the printer  10  enters the CL state (NO to S 20 ). As a result, the printer  10  determines the capability of the printer  10  as the “Enrollee” (S 26 ). In the present case, the printer  10  can execute communication with the Initiator terminal in conformity with the WFD scheme in response to the “WFD Communication” button being selected. 
     The case with the line number  3  shows a case in which the AP connection is established between the printer  10  and the AP  6  and the “AP Communication” button is selected in the selection screen. This case corresponds to Case B of  FIGS.  10  and  11   . That is, it corresponds to a case in which the printer  10  is shifted to the state of being connected to the AP  8  from the state of being connected to the AP  6  in a situation where the AP connection is established between the Initiator terminal and the AP  8 . In this case, the printer  10  determines the capability of the printer  10  as the “Enrollee” (T 711   a  to T 711   d  of  FIGS.  10    and S 16  of  FIG.  7   ). 
     The case with the line number  4  shows a case in which the AP connection is established between the printer  10  and one of the APs and the “WFD Communication” button is selected in the selection screen. This case corresponds to a case in which, the WFD connection is established between the printer  10  and the Initiator terminal although the AP connection is established between the Initiator terminal and the one of the APs. In this case, the printer  10  determines that the AReq includes the MAC address “mac_wfd” (NO to S 4  of  FIG.  7   ). Since the AP connection is established between the printer  10  and the one of the APs, the printer  10  enters the G/O state (YES to S 20 ). As a result, the printer  10  determines the capability of the printer  10  as the “Configurator” (S 24 ). In the present case, the printer  10  can execute communication via the AP, however, it can execute communication with the Initiator terminal in conformity with the WFD scheme from a viewpoint of security. 
     Further, cases with the line numbers  5  to  8  show cases in which the AP connection is not established between the Initiator terminal and any of the APs (such as the AP  6 ). 
     The case with the line number  5  is similar to the case with the line number  1  except that the AP connection is not established between the Initiator terminal and any of the APs. In this case, the printer  10  establishes the AP connection with the AP  6  under the situation in which the AP connection is not established between the Initiator terminal and the AP  6 . For example, the AP connection is also established between the Initiator terminal and the AP  6  by the Initiator terminal capturing the QR code adhered to the AP  6  after the AP connection has been established between the printer  10  and the AP  6 . In this case, the printer  10  determines the capability of the printer  10  as the “Enrollee” (S 16  of  FIG.  7   ). In the present case, both the printer  10  and the Initiator terminal can be participated in the wireless network formed by the AP. 
     The case with the line number  6  is similar to the case with the line number  2  except that the AP connection is not established between the Initiator terminal and any of the APs. In this case, the printer  10  determines the capability of the printer  10  as the “Enrollee” (S 26  of  FIG.  7   ). In the present case, the printer  10  can execute communication with the Initiator terminal in conformity with the WFD scheme under a situation in which neither the printer  10  nor the Initiator terminal has a Wi-Fi connection established with any of the APs. 
     The case with the line number  7  is similar to the case with the line number  3  except that the AP connection is not established between the Initiator terminal and any of the APs. This case corresponds to Case A of  FIGS.  8  and  9   . That is, the Initiator terminal establishes the AP connection with the AP  6  under the situation in which the AP connection is not established between the Initiator terminal and any of the APs while the AP connection is established between the printer  10  and the AP  6 . In this case, the printer  10  determines the capability of the printer  10  as the “Configurator” (T 511   a  to T 511   d  of  FIGS.  8    and S 14  of  FIG.  7   ). In the present case, the printer  10  can send the CO to the Initiator terminal and cause the Initiator terminal to participate as a child station in the wireless network in which the printer  10  is currently participating. 
     The case with the line number  8  is similar to the case with the line number  4  except that the AP connection is not established between the Initiator terminal and any of the APs. This case corresponds to Case C of  FIGS.  12  to  15   . That is, the printer  10  establishes the WFD connection with the Initiator terminal although the AP connection is established between the printer  10  and one of the APs. In this case, the printer  10  determines the capability of the printer  10  as the “Configurator” (T 911   a  and T 911   c  of  FIGS.  13    and S 24  of  FIG.  7   ). In the present case, the printer  10  can execute communication via the AP, however, it can execute communication with the Initiator terminal in conformity with the WFD scheme from the viewpoint of security. 
     Effects of the Present Embodiment 
     According to the configurations of the present embodiment, the printer  10  determines whether the AP information  44  is stored in the memory  34 , that is, whether the AP connection has been established between the printer  10  and any one of the access points (S 10  of  FIG.  7   ). Under the situation in which the AP connection has been established between the printer  10  and the AP  6  (YES to S 10 ), the printer  10  serves the role of the Configurator (S 14 ) and sends the first terminal-CO to the terminal  200  (T 610  of  FIG.  9    and the case with the line number  7  in  FIG.  16   ). As a result, the AP connection can be established between the terminal  200  and the AP  6  (T 640 ). Further, under the situation in which no AP connection has been established between the printer  10  and any of the access points (NO to S 10 ), the printer  10  serves the role of the Enrollee (S 16 ) and receives the first printer-CO from the terminal  100  (T 310  of  FIG.  5    and the case with the line number  1  in  FIG.  16   ). As a result, the AP connection can be established between the printer  10  and the AP  6 . Thus, the printer  10  can serve a suitable role by determining the situation of the printer  10  itself. 
     Further, under the situation in which the AP connection has been established between the printer  10  and any one of the access points, the printer  10  determines whether the AReq includes the value indicating being capable of operating only as the Enrollee as the capability of the Initiator terminal (S 12  of  FIG.  7   ). In the case of determining that the AReq includes such value (YES to S 12  of  FIG.  7   ), the printer  10  serves the role of the Configurator (S 14  and the case with the line number  7  in  FIG.  16   ). On the other hand, in the case of determining that the AReq does not include such value (NO to S 12  of  FIG.  7   ), the printer  10  serves the role of the Enrollee (S 16  and the case with the line number  3  in  FIG.  16   ). According to this configuration, the printer  10  can serve a suitable role by determining both the situation of the printer  10  itself and the situation of the Initiator terminal. 
     (Corresponding Relationship) 
     The printer  10 , the display unit  14 , and the Wi-Fi I/F  16  are respectively an example of a “first communication device”, a “display unit”, and a “wireless interface”. The AP-QR code and the WFD-QR code are examples of “output information”. The Initiator terminal (such as the terminal  100 ) is an example of a “second communication device”. The AReq (i.e., the DPP Authentication Request) is an example of an “authentication request”. The ARes (i.e., the DPP Authentication Response) is an example of a “first authentication response (and a second authentication response)”. The capability “Configurator” and the capability “Enrollee” are respectively an example of “first role information” and “second role information”. The first terminal-CO in T 610  of  FIG.  9    is an example of “first wireless setting information”. The first printer-CO in T 310  of  FIG.  5    is an example of “second wireless setting information”. The AP  6  is an example of a “first access point”. In the case with the line number  1  in  FIG.  16   , the AP  6  is an example of a “second access point”. In the case with the line number  3  in  FIG.  16   , the AP  8  is an example of the “second access point”. In the AReq in T 510  of  FIG.  8   , the value indicating being capable of operating only as the Enrollee as the capability of the terminal  200  is an example of “predetermined information”. The MAC address “mac_ap” and the MAC address “mac_wfd” are respectively an example of “first use information” and “second use information”. The AP information  44  is an example of “access point information”. 
     T 106  of  FIG.  3    is an example of “execute an output control process”. S 2 , S 10 , S 32 , and S 42  of  FIG.  7    are respectively an example of “receive an authentication request”, “determine whether a wireless connection is established between the first communication device and one of access points”, “send a first authentication response”, and “send a second authentication response”. T 310  of  FIGS.  5    and T 420  of  FIG.  6    are respectively an example of “receive the second wireless setting information” and “establish the second wireless connection”. T 610  of  FIG.  9    is an example of “send the first wireless setting information”. 
     (Variant 1) The printer  10  may cause the print execution unit  18  to print the QR code instead of displaying the QR code in T 106  of  FIG.  3   . In this variant, a process of causing the print execution unit  18  to print the QR code is an example of an “output control process”. 
     (Variant 2) Each of the printer  10  and the terminal  100  may further include a wireless interface (such as a BT (abbreviation of Bluetooth (Registered Trademark, Bluetooth SIG, Inc)) I/F or a NFC (abbreviation of Near Field Communication) I/F) that complies with a wireless scheme that differs from the Wi-Fi scheme (such as a BT scheme or a NFC scheme). In this case, in T 106  of  FIG.  3   , the printer  10  may instruct the BT I/F of the printer  10  to send DPP information including the public key PPK 1  and the MAC address “mac_ap”, for example. In this case, the terminal  100  can receive the DPP information via the BT I/F of the terminal  100 . In this variant, instructing the BT I/F to send the DPP information is an example of the “output control process”. Further, in another variant, in T 106  of  FIG.  3   , the printer  10  may cause the NFC I/F of the printer  10  to store the DPP information. In this case, the terminal  100  can receive the DPP information via the NFC I/F of the terminal  100 . In this variant, causing the NFC I/F to store the DPP information is an example of the “output control process”. 
     (Variant 3) The printer  10  may execute the process of  FIG.  2    in conformity with, instead of the DPP scheme, a scheme included in the Wi-Fi scheme (such as a Wi-Fi Protected Setup (WPS) scheme) using a wireless profile (i.e., a Service Set Identifier (SSID) and a password) to establish the AP connection with the AP  6 . In this case, in the Config process, the printer  10  may send the first terminal-CO that includes the wireless profile stored in the printer  10  in conformity with the other scheme instead of the first terminal-SC to the terminal  200 . Accordingly, the terminal  200  can establish the AP connection with the AP  6  using the received wireless profile. In this variant, the wireless profile is an example of the “first wireless setting information”. Further, in this variant, in S 4  of  FIG.  7   , the printer  10  may determine whether the wireless profile is stored as the AP information  44 . In this variant, the wireless profile is an example of the “access point information”. 
     (Variant 4) The terminal  200  may execute the process in Case B in conformity with, instead of the DPP scheme, a scheme included in the Wi-Fi scheme (such as the Wi-Fi Protected Setup (WPS) scheme) to establish the AP connection with the AP  8 . In this case, the printer  10  may receive the first terminal-CO that includes the wireless profile stored in the terminal  200  in conformity with the other scheme instead of the first terminal-SC from the terminal  200 . In this variant, the wireless profile is an example of the “second wireless setting information”. 
     (Variant 5) The Wi-Fi I/F  116  may support a SoftAP scheme established by the Wi-Fi Alliance instead of the WFD scheme. In this case, the selection screen in T 102  of  FIG.  3    may include a “SoftAP Communication” button instead of the “WFD Communication” button. Here, the AP-QR code displayed in the case where the “AP Communication” button in the selection screen is selected is obtained by encoding the public key PPK 1  and first information indicating to use communication via the AP. On the other hand, a SoftAP-QR code for SoftAP communication displayed in a case where the “SoftAP Communication” button in the selection screen is selected is obtained by encoding the public key PPK 1  and second information indicating to use communication in conformity with the SoftAP scheme with no intervention of APs. Further, in this variant, the printer  10  may determine in the Auth process whether the AReq includes the first information instead of the determination in S 4  of  FIG.  7   . The printer  10  may proceed to S 10  and establish the AP connection with an AP (such as the AP  6 ) in a case of determining that the AReq includes the first information. Further, the printer  10  may determine the capability of the printer  10  as one of the “Configurator” and the “Enrollee” and establish a Wi-Fi connection with the Initiator terminal in conformity with the SoftAP scheme in a case of determining that the AReq includes the second information. In this variant, the first information and the second information are respectively an example of the “first use information” and the “second use information”. 
     (Variant 6) The process of S 12  of  FIG.  7    may be skipped. That is, the program  40  may not include instruction corresponding to the process of S 12 . In this variant, in the case with the line number  3  in the table of  FIG.  16   , the printer  10  may determine the capability of the printer  10  as the “Configurator”. Then, under the situation in which the AP connection is established between the Initiator terminal and the AP  8 , the printer  10  may generate the first terminal-CO related to the AP  6  and send the first terminal-CO to the Initiator terminal. Then, the Initiator terminal may shift to the state of being connected to the AP  6  from the state of being connected to the AP  8 . In this variant, “determine whether the authentication request includes predetermined information” and the “predetermined information” may be omitted. 
     (Variant 7) In a case where the printer determines YES in S 2  of  FIG.  7   , the printer  10  proceed to S 10  without a process of S 4 . That is, the WFD connection may not be established between the printer  10  and the Initiator terminal. In this variant, the processing load on the printer  10  can be reduced. In this variant, the “establish a third wireless connection”, the “first use information”, the “second use information”, and a “third wireless connection” may be omitted. 
     (Variant 8) Without determining whether the AP information  44  is stored in the memory  34  (S 10  of  FIG.  7   ), the printer  10  may attempt to send a confirmation signal to APs and determine whether a response signal to this confirmation signal is received, for example. The printer  10  may proceed to S 12  in a case of determining that the response signal is received, while the printer  10  may proceed to S 16  in a case of determining that the response signal is not received. In this variant, the “access point information” may be omitted. 
     (Variant 9) The “first communication device” may not be the printer  10 , and may instead by another device such as a scanner, a multi-function device, a portable terminal, a PC, and a server. Further, the “second communication device” may not be the terminal  100  or  200 , and may instead be another device such as a printer, a scanner, a multi-function device, and a camera. 
     (Variant 10) One or more of the processes of  FIGS.  2  to  15    may be implemented by hardware such as a logic circuit, instead implemented by software as described in the above embodiment.