Computer program for a first communication device, and a second communication device
The computer program for communication devices allows re-execution of DPP processing by managing bootstrapping keys and one-time information, addressing the failure of Wi-Fi connections and ensuring successful device pairing.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2022-06-28
- Publication Date
- 2026-05-19
AI Technical Summary
Existing technologies do not provide a means to re-execute the Device Provisioning Protocol (DPP) when a Wi-Fi connection fails between devices.
A computer program for a communication device that includes components to acquire and manage bootstrapping keys and one-time information, allowing it to re-execute DPP processing if a Wi-Fi connection is not established, by switching to a different bootstrapping key if the initial key is one-time.
Enables appropriate re-execution of DPP processing when a Wi-Fi connection fails, ensuring successful establishment of a wireless connection between devices.
Smart Images

Figure 0007861537000001 
Figure 0007861537000002 
Figure 0007861537000003
Abstract
Description
Technical Field
[0001] This specification discloses a technique for establishing a wireless connection between a communication device and an external device.
Background Art
[0002] Patent Document 1 discloses a technique for establishing a Wi-Fi connection between a pair of devices according to DPP (abbreviation for Device Provisioning Protocol).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Patent Document 1 does not disclose any means for re-executing the process according to DPP when the process according to DPP fails, that is, when a Wi-Fi connection cannot be established between a pair of devices. This specification provides a technique for appropriately re-executing the DPP process when a Wi-Fi connection cannot be established.
Means for Solving the Problems
[0005] This specification discloses a computer program for a first communication device. The first communication device may include a Wi-Fi interface for performing Wi-Fi communication in accordance with the Wi-Fi standard, and a computer.The computer program includes the following components: a first acquisition unit that acquires a first bootstrapping key of a second communication device and one-time information indicating whether or not the first bootstrapping key is a one-time key when a predetermined operation is performed on the computer; and a Wi-Fi standard DPP (Device Provisioning) when the first bootstrapping key and the one-time information are acquired. A first DPP processing execution unit that performs DPP processing in accordance with the Protocol (abbreviation for Protocol), the DPP processing includes: a process of sending an authentication request using the first bootstrapping key to the second communication device via the Wi-Fi interface; a process of receiving an authentication response from the second communication device via the Wi-Fi interface when the authentication request is sent to the second communication device; and a process of communicating first connection information with the second communication device via the Wi-Fi interface when the authentication response is received from the second communication device, wherein the first connection information is information for establishing a Wi-Fi connection between the first communication device or the second communication device and an external device via the Wi-Fi interface; and a first DPP processing execution unit that performs DPP processing in accordance with the Protocol (abbreviation for Protocol), the DPP processing includes: a process of sending an authentication request using the first bootstrapping key to the second communication device via the Wi-Fi interface; a process of receiving an authentication response from the second communication device via the Wi-Fi interface when the authentication response is received from the second communication device; and a process of performing communication of first connection information with the second communication device via the Wi-Fi interface when the Wi-Fi connection is not established and the one-time information The second acquisition unit may function as follows: a second acquisition unit that acquires a second bootstrapping key of a second communication device that is different from the first bootstrapping key in the first case in which the report indicates that the first bootstrapping key is the one-time key, and does not acquire the second bootstrapping key in the second case in which the Wi-Fi connection is not established and the one-time information indicates that the first bootstrapping key is not the one-time key; a second DPP processing execution unit that, in the first case, when the second bootstrapping key is acquired, executes the DPP processing using the second bootstrapping key instead of the first bootstrapping key; and a third DPP processing execution unit that, in the second case, re-executes the DPP processing using the acquired first bootstrapping key.
[0006] According to the above configuration, the first communication device acquires the first bootstrapping key and one-time information, and executes DPP processing using the first bootstrapping key. If a Wi-Fi connection is not established between the first or second communication device and the external device, and the first bootstrapping key is a one-time key, the first communication device acquires the second bootstrapping key and executes DPP processing using the second bootstrapping key. On the other hand, if a Wi-Fi connection is not established between the first or second communication device and the external device, and the first bootstrapping key is not a one-time key, the first communication device executes the DPP processing using the acquired first bootstrapping key again. In this way, the first communication device can switch whether or not to acquire the second bootstrapping key depending on whether or not the first bootstrapping key is a one-time key, when a Wi-Fi connection is not established between the first or second communication device and the external device. Therefore, the first communication device can appropriately re-execute the DPP process if a Wi-Fi connection cannot be established.
[0007] This specification also discloses a second communication device. The second communication device includes an output control unit that causes an output unit to output first output information obtained using a first bootstrapping key of the second communication device and one-time information indicating that the first bootstrapping key is a one-time key, and a Wi-Fi standard DPP (Device Provisioning) when the first bootstrapping key and the one-time information are acquired by the first communication device in response to the output of the first output information by the output unit. A first DPP processing execution unit that performs DPP processing in accordance with the Protocol (abbreviation for Protocol), wherein the DPP processing includes: receiving an authentication request using the first bootstrapping key from the first communication device via the Wi-Fi interface of the second communication device; sending an authentication response to the first communication device via the Wi-Fi interface when the authentication request is received from the first communication device; and performing communication of first connection information with the first communication device via the Wi-Fi interface when the authentication response is sent to the first communication device, wherein the first connection information is a connection between the first communication device or the second communication device and an external device via the Wi-Fi interface The DPP processing execution unit may include: a first DPP processing execution unit which includes the processing which is information for establishing a Wi-Fi connection via a face; a second output control unit which, when the Wi-Fi connection is not established, causes the output unit to output a second output information obtained using a second bootstrapping key of the second communication device, which is different from the first bootstrapping key; and a second DPP processing execution unit which, when the second bootstrapping key is acquired by the first communication device in response to the output unit outputting the second output information, executes the DPP processing in which the second bootstrapping key is used instead of the first bootstrapping key.
[0008] According to the above configuration, the second communication device outputs the first bootstrapping key and one-time information indicating that the first bootstrapping key is a one-time key. If a Wi-Fi connection is not established between the first or second communication device and the external device, the second communication device outputs the second bootstrapping key and executes DPP processing using the second bootstrapping key. In this way, the second communication device can output the second bootstrapping key if a Wi-Fi connection is not established between the first or second communication device and the external device. Therefore, the second communication device can appropriately re-execute DPP processing if a Wi-Fi connection is not established.
[0009] This specification also discloses a second communication device. The second communication device includes an output control unit that causes an output unit to output output information obtained using the bootstrapping key of the second communication device and one-time information indicating that the bootstrapping key is not a one-time key, and a Wi-Fi standard DPP (Device Provisioning) when the bootstrapping key and the one-time information are acquired by the first communication device in response to the output information being output by the output unit. A first DPP processing execution unit that performs DPP processing in accordance with the Protocol (abbreviation for Protocol), wherein the DPP processing includes: a process of receiving an authentication request using the bootstrapping key from a first communication device via the Wi-Fi interface of the second communication device; a process of sending an authentication response to the first communication device via the Wi-Fi interface when the authentication request is received from the first communication device; and a process of communicating connection information with the first communication device via the Wi-Fi interface when the authentication response is sent to the first communication device, wherein the connection information is information for establishing a Wi-Fi connection between the first or second communication device and an external device via the Wi-Fi interface; and a third DPP processing execution unit that re-executes the DPP processing using the bootstrapping key when the Wi-Fi connection is not established.
[0010] According to the above configuration, the second communication device outputs a bootstrapping key and one-time information indicating that the bootstrapping key is not a one-time key. If a Wi-Fi connection is not established between the first or second communication device and an external device, the second communication device re-executes the DPP process using the bootstrapping key. In this way, the second communication device can appropriately re-execute the DPP process if a Wi-Fi connection is not established.
[0011] This specification also discloses a second communication device. The second communication device includes a housing on which a code image obtained by encoding a bootstrapping key of the second communication device and one-time information indicating that the bootstrapping key is not a one-time key is attached, and a Wi-Fi standard DPP (Device Provisioning) when the bootstrapping key and the one-time information are acquired by the first communication device in response to the code image being photographed by the first communication device. A first DPP processing execution unit that performs DPP processing in accordance with the Protocol (abbreviation for Protocol), wherein the DPP processing includes: a process of receiving an authentication request using the bootstrapping key from a first communication device via the Wi-Fi interface of the second communication device; a process of sending an authentication response to the first communication device via the Wi-Fi interface when the authentication request is received from the first communication device; and a process of communicating connection information with the first communication device via the Wi-Fi interface when the authentication response is sent to the first communication device, wherein the connection information is information for establishing a Wi-Fi connection between the first or second communication device and an external device via the Wi-Fi interface; and a third DPP processing execution unit that re-executes the DPP processing using the bootstrapping key when a Wi-Fi connection is not established between the first or second communication device and an external device.
[0012] According to the above configuration, the second communication device comprises a housing on which a code image is attached, which contains a bootstrapping key and one-time information indicating that the bootstrapping key is not a one-time key. The second communication device re-executes the DPP process using the bootstrapping key if a Wi-Fi connection is not established between the first or second communication device and an external device. In this way, the second communication device can appropriately re-execute the DPP process if a Wi-Fi connection is not established.
[0013] A computer-readable recording medium for storing a computer program for the first communication device described above, the first communication device itself implemented by the computer program, and a method executed by the first communication device are also novel and useful. Furthermore, a computer program for the second communication device described above, a computer-readable recording medium for storing the computer program, and a method executed by the second communication device described above are also novel and useful. Furthermore, a communication system comprising the first communication device described above and the second communication device described above is also novel and useful. [Brief explanation of the drawing]
[0014] [Figure 1] This outlines the communication system. [Figure 2] This shows the features of each printer. [Figure 3] The control configuration for each device is shown. [Figure 4] This shows a flowchart of the processes performed by the application. [Figure 5] The sequence diagram for Case A1 is shown. [Figure 6] The sequence diagram following Figure 5 is shown. [Figure 7] The sequence diagram for Case A2 is shown. [Figure 8] The sequence diagram for Case A3 is shown. [Figure 9] The sequence diagrams for Case B1 and Case B2 are shown. [Figure 10] The sequence diagram for Case C is shown below. [Figure 11] The sequence diagrams for Case D1 and Case D2 are shown. [Figure 12] The sequence diagrams for Case E1 and Case E2 are shown. [Figure 13] The sequence diagram for case F1 is shown. [Figure 14] The sequence diagram for case F2 is shown. [Figure 15] The sequence diagrams for Case G1 and Case G2 are shown. [Figure 16] Shows the sequence diagrams of Case H1 and Case H2. [Figure 17] Shows the sequence diagrams of Case I1 and Case I2. [Figure 18] Shows the sequence diagram of Case J1. [Figure 19] Shows the sequence diagram of Case J2. [Figure 20] Shows the sequence diagrams of Case K1 and Case K2. [Figure 21] Shows a summary of each case of this embodiment.
Mode for Carrying Out the Invention
[0015] (Outline of the communication system; FIG. 1) As shown in FIG. 1, the communication system 2 includes an AP (abbreviation for Access Point) 6, a plurality of printers 10A to 10K, and a terminal 100. Hereinafter, when the printers 10A to 10K are not particularly distinguished, they may be simply described as "printer 10". In this embodiment, it is assumed that a wireless connection (hereinafter referred to as "Wi-Fi connection") according to the Wi-Fi standard is established between each of the printers 10A to 10K and the AP 6 using the terminal 100.
[0016] (Features of each printer; FIG. 2) Refer to Figure 2 to explain the characteristics of each printer 10A to 10K. Figure 2 shows the combination of setup information output means and one-time information for each printer 10A to 10K. The setup information output means indicates the means by which each printer 10A to 10K outputs setup information. Here, setup information refers to the information used when establishing a Wi-Fi connection between each printer 10A to 10K and AP6, and includes, for example, the public key of each printer 10A to 10K. Details of the setup information will be described later. The one-time information indicates either "YES," which indicates that the public key included in the setup information is a one-time key (i.e., a key that can only be used once), or "NO," which indicates that the public key is not a one-time key (i.e., a key that can be used permanently).
[0017] Printers 10A and 10B can output setup information by displaying a QR code (registered trademark) obtained by encoding the setup information. In particular, the public key of printer 10A is a one-time key, while the public key of printer 10B is not a one-time key. Printer 10C is equipped with a housing 50 (see Figure 1) to which a QR code obtained by encoding the setup information is attached.
[0018] Printers 10D to 10G can output setup information by using wireless communication compliant with the Bluetooth® standard. Hereafter, Bluetooth will be referred to as "BT," and wireless communication compliant with the BT standard will be referred to as "BT communication." The BT standard is, for example, the IEEE 802.15.1 standard and equivalent standards. More specifically, each printer 10D to 10G supports BLE (Bluetooth Low Energy). BLE is implemented in BT standard version 4.0 and later. In particular, printers 10D and 10E each transmit setup information to terminal 100 using an advertisement signal. Printers 10F and 10G each transmit setup information to terminal 100 using a one-to-one connection via BT (for example, GATT (Generic Attribute Profile)). Also, the public keys of printers 10D and 10F are one-time keys, while the public keys of printers 10E and 10G are not one-time keys.
[0019] Each of the printers 10H through 10K can output setup information by using NFC (Near Field Communication) communication (hereinafter referred to as "NFC communication"). NFC is a wireless communication method based on international standards such as ISO / IEC 21481 or 18092. Printers 10H and 10I each use NFC communication to directly transmit setup information to terminal 100. Printers 10J and 10K each use NFC communication to transmit information to terminal 100 to establish a Wi-Fi connection with the printer, and then use that Wi-Fi connection to transmit setup information to terminal 100. This process, where information to establish a Wi-Fi connection is communicated between a pair of devices using NFC communication, and then the desired data is communicated using the Wi-Fi connection, is sometimes referred to as "NFC handover." The public keys of printers 10H and 10J are one-time keys, while the public keys of printers 10I and 10K are not one-time keys.
[0020] (Control configuration of each device; Figure 3) Next, with reference to Figure 3, the control configuration of the printers 10 (i.e., each printer 10A to 10K) and the terminal 100 will be explained.
[0021] (Printer 10 configuration) The printer 10 is a peripheral device (for example, a peripheral device of terminal 100) capable of performing printing functions. In a modified example, the printer 10 may be a multi-function device capable of performing scanning functions, facsimile functions, etc. The printer 10 comprises an operation unit 12, a Wi-Fi interface 16, and a print execution unit 18. Hereinafter, the interface will be referred to as "I / F". The operation unit 12 is equipped with multiple keys. The user can input various instructions to the printer 10 by operating the operation unit 12. The print execution unit 18 is equipped with a printing mechanism such as an inkjet or laser printer.
[0022] Wi-FiI / F16 is a wireless interface for performing Wi-Fi communication in accordance with the Wi-Fi standard. The Wi-Fi standard is a wireless communication standard for performing wireless communication in accordance with the IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 802.11 standard and equivalent standards (e.g., 802.11a, 11b, 11g, 11n, 11ac, etc.). In particular, Wi-FiI / F16 supports DPP (Device Provisioning Protocol), which was developed by the Wi-Fi Alliance. Details of DPP are described in the standard document "Wi-Fi Easy Connect (trademark) Specification Version 2.0" created by the Wi-Fi Alliance.
[0023] Furthermore, the Wi-Fi I / F16 of printers 10J and 10K also supports WFD (short for Wi-Fi Direct®), a standard developed by the Wi-Fi Alliance. The reason for this will be explained later. Details of WFD are described in the "Wi-Fi Direct® Specification Version 1.9" standard document created by the Wi-Fi Alliance. In the following, a Wi-Fi connection established according to WFD will be referred to as a "WFD connection." Note that the Wi-Fi I / F16 of the other printers 10A to 10I may or may not support WFD.
[0024] Printers 10A and 10B are also equipped with a display unit 14. The display unit 14 is a display for displaying various information. The display unit 14 is a so-called touch panel and also functions as an operation unit 12. In this embodiment, a QR code is displayed on the display unit 14. Note that the other printers 10C to 10K may or may not be equipped with a display unit 14.
[0025] Furthermore, each printer 10D to 10G is equipped with a BTI / F20. The BTI / F20 is an interface for performing BT communication. Note that the other printers 10A to 10C and 10H to 10K may or may not be equipped with a BTI / F20.
[0026] Furthermore, each printer (10H-10K) is equipped with an NFCI / F22 interface. The NFCI / F22 is an interface for performing NFC communication. Note that the other printers (10A-10G) may or may not be equipped with an NFCI / F22 interface.
[0027] Here, we will describe the differences between Wi-Fi, Bluetooth, and NFC communication. The communication speeds of each communication are fastest in the following order: Wi-Fi (e.g., maximum speed of 600Mbps), Bluetooth (e.g., maximum speed of 24Mbps), and NFC (e.g., maximum speed of 424kbps). The carrier frequency for each communication is either 2.4GHz or 5.0GHz for Wi-Fi, 2.4GHz for Bluetooth, and 13.56MHz for NFC. In other words, when the 5.0GHz band is used as the carrier frequency for Wi-Fi, the carrier frequencies for each communication will differ from those of the others. The maximum distance at which each communication can be performed is fastest in the following order: Wi-Fi (e.g., 100m), Bluetooth (e.g., approximately several tens of meters), and NFC (e.g., approximately 10cm).
[0028] The control unit 30 comprises a CPU 32 and a memory 34. The CPU 32 performs various processes according to the program 36 stored in the memory 34. The memory 34 is composed of volatile memory, non-volatile memory, etc. The memory 34 also stores its own model name MN.
[0029] (Configuration of terminal 100) Terminal 100 is a portable terminal device such as a mobile phone (e.g., a smartphone), PDA, or tablet PC. In a modified example, terminal 100 may be a stationary PC, notebook PC, or the like. Terminal 100 comprises an operation unit 112, a display unit 114, a Wi-Fi interface 116, a camera 118, and a control unit 130. Each unit 112 to 130 is connected to a bus line (symbols omitted).
[0030] The operation unit 112 is an interface for inputting various instructions to the terminal 100. The display unit 114 is a display for displaying various information. The display unit 114 is a so-called touch panel and also functions as the operation unit 112. The camera 118 is a device for photographing objects. In this embodiment, the camera 118 is used to photograph the QR code on the printer 10. The Wi-Fi interface 116 supports DPP and WFD.
[0031] The control unit 130 comprises a CPU 132 and a memory 134. The CPU 132 executes various processes according to programs 136 and 138 stored in the memory 134. The memory 134 is composed of volatile memory, non-volatile memory, etc.
[0032] The OS (Operating System) program 136 is a program that enables the basic operation of terminal 100. The application 138 is a program that establishes a Wi-Fi connection between terminal 100 and AP6, and between printer 10 and AP6. Hereafter, the OS program and the application will be referred to as "OS" and "app," respectively. The app 138 is installed on terminal 100 from, for example, an internet server (not shown) provided by the vendor of printer 10 or an internet server (not shown) provided by the vendor of OS 136.
[0033] Furthermore, application 138 can cause OS 136 to execute various processes or cause other applications to execute various processes via OS 136 by supplying instructions to OS 136. Therefore, each process executed by OS 136 or other applications in response to instructions from application 138 can be said to be a process implemented by application 138 (i.e., the CPU 132 functions as the execution unit that executes the said process).
[0034] (Application processing; Figure 4) Next, referring to Figure 4, we will explain the process implemented by the CPU 132 of terminal 100 executing application 138. Figure 4 shows the process for establishing a Wi-Fi connection between printer 10 and AP6 according to DPP. Hereafter, the printer for which the Wi-Fi connection is to be established will be referred to as the "target printer". Also, when explaining the process in Figure 4 below, we will focus on application 138 rather than CPU 132. The process in Figure 4 is triggered when a Wi-Fi setup operation is received from the user.
[0035] In S10, app 138 displays notification screen SC1 (see Figure 5) on the display unit 114. Notification screen SC1 includes a message prompting the user to select a target printer, and options for specific methods of selecting the target printer (i.e., QR code scanning, BT, NFC, and model name selection). The option "QR code scanning" means selecting the target printer by scanning a QR code displayed or attached to the target printer. The option "BT" means selecting the target printer by performing BT communication with the target printer. The option "NFC" means selecting the target printer by performing NFC communication with the target printer. The option "model name selection" means selecting the target printer by selecting the model name of the target printer.
[0036] In S12, application 138 accepts a selection method from the user for selecting the target printer. Specifically, application 138 first accepts a selection from the user for one option from the options in the notification screen SC1. In this case, processing is executed according to the selected option.
[0037] For example, if the option "Scan QR Code" is selected, app 138 accepts a request from the user to scan a QR code displayed or attached to the target printer. As a result, app 138 obtains setup information by decoding the QR code. If the option "BT" is selected, app 138 receives setup information from the target printer using BT communication with the target printer. If the option "NFC" is selected, app 138 receives setup information from the target printer using NFC communication with the target printer in response to terminal 100 being brought close to the target printer. If the option "Select Model Name" is selected, app 138 accepts a request from the user to select the model name of the target printer. In this case, setup information is not obtained.
[0038] Here, as shown in Figure 4, the setup information includes means information, a public key, one-time information, and DPP automatic transition information. The means information indicates the means for obtaining the setup information (i.e., QR code scanning, BT communication, or NFC communication). The public key is information used when performing authentication according to DPP. The one-time information indicates either "YES," which indicates that the public key is a one-time key, or "NO," which indicates that the public key is not a one-time key. The DPP automatic transition information indicates either "YES," which indicates that the target printer transitions from a DPP non-responsive state to a DPP responsive state without receiving a DPP transition operation from the user, or "NO," which indicates that the target printer transitions from a DPP non-responsive state to a DPP responsive state in response to receiving a DPP transition operation from the user. The DPP responsive state is a state in which DPP processing can be performed, that is, a state in which a DPP Authentication Request has been received and a DPP Authentication Response can be sent. The DPP non-response state is a state in which DPP processing cannot be performed, i.e., a state in which the DPP Authentication Response cannot be sent. Obtaining the above setup information corresponds to DPP bootstrapping.
[0039] App 138 determines in S14 whether or not it has obtained the setup information. Specifically, if one of the options "QR code," "BT," or "NFC" is selected, App 138 determines that the setup information is obtained by executing the process corresponding to the selected option, and proceeds to S20 to store the setup information. On the other hand, if the option "Select model name" is selected, App 138 determines that the setup information is not obtained, and proceeds to S14 to determine that it is NO, and proceeds to S16.
[0040] In S16, application 138 displays the setup information acquisition means on the display unit 14. For each printer model name, application 138 stores the setup information output means (see Figure 2) for printers with that model name. From the setup information output means of the selected printer model name (i.e., the target printer), application 138 identifies the setup information acquisition means (i.e., one or more means from QR code scanning, BT, and NFC). Then, application 138 displays the identified acquisition means on the display unit 14. By looking at this display, the user can find out the means for acquiring setup information from the target printer. After the processing in S16 is completed, application 138 executes the processing in S10 again.
[0041] In S22, app 138 determines whether the means information included in the acquired setup information indicates "QR code" and whether the DPP automatic migration information indicates "NO". If the means information indicates "QR code" and the DPP automatic migration information indicates "NO", app 138 determines YES in S22 and proceeds to S24. On the other hand, in any other case (i.e., if the means information is different from "QR code", or if the DPP automatic migration information indicates "YES"), app 138 determines NO in S22 and proceeds to S30.
[0042] In S24, application 138 displays a screen on the display unit 114 that asks the user whether or not the DPP migration operation has been performed on the target printer. This screen includes a message asking the user whether or not the DPP migration operation has been performed on the target printer, as well as a YES button and a NO button.
[0043] App 138 determines in S26 whether the YES button or the NO button was selected on the screen shown above. If the YES button is selected (YES in S26), App 138 proceeds to S30; if the NO button is selected (NO in S26), it proceeds to S28. The situation in which the YES button is selected on the screen shown above is when the target printer displays a QR code in response to accepting a DPP migration operation from the user (see, for example, Case A2 described later). On the other hand, the situation in which the NO button is selected on the screen shown above is when a QR code is affixed to the casing of the target printer (see Case C described later).
[0044] In S28, application 138 displays a screen on the display unit 114 prompting the user to perform a DPP migration operation on the target printer. As a result, after the user sees this screen and performs the DPP migration operation on the target printer, the processes from S30 onwards are executed.
[0045] App 138 initiates DPP processing in S30. Specifically, App 138 first sends an Authentication Request to the target printer using the acquired public key. As a result, various DPP-compliant processes (hereinafter referred to as "DPP processing"), such as DPP Authentication (hereinafter referred to as "Auth") and Configuration (hereinafter referred to as "Config"), are executed between terminal 100 and the target printer.
[0046] In S32, application 138 determines whether or not a Wi-Fi connection has been established between the target printer and the AP (e.g., AP6). Specifically, if a Wi-Fi connection is established between the target printer and the AP, application 138 receives a Status Query Result (hereinafter simply referred to as "Result") from the target printer that contains information indicating that the Wi-Fi connection has been established. On the other hand, if a Wi-Fi connection is not established between the target printer and the AP, application 138 receives a Result from the target printer that contains information indicating that the Wi-Fi connection was not established. If application 138 receives a Result from the target printer that contains information indicating that the Wi-Fi connection has been established, it determines YES in S32 and terminates the process shown in Figure 4. On the other hand, if application 138 receives a Result from the target printer that contains information indicating that the Wi-Fi connection was not established, it determines NO in S32 and proceeds to S34.
[0047] In S34, application 138 displays a screen on the display unit 114 showing a means for re-executing the DPP process (e.g., re-scanning the QR code) based on the means information contained in the setup information stored in S20. A specific example of this screen and its details will be described later. Since the re-execution means determined based on the means information is displayed, the appropriate re-execution means can be presented to the user.
[0048] In S36, application 138 determines whether or not it has received a request from the user to execute the re-execution means. If application 138 has received a request from the user to execute the re-execution means, it determines YES in S36 and re-executes the process in S30. On the other hand, if application 138 receives an operation from the user to cancel the re-execution of the DPP process, it determines NO in S36 and terminates the process in Figure 4.
[0049] (Case A1; Figures 5 and 6) Next, we will explain specific cases realized by the processing in Figure 4, referring to Figures 5 to 20. First, we will explain Case A1, referring to Figures 5 and 6. Case A1 is a case in which DPP processing is performed between terminal 100 and printer 10A. In particular, Case A1 is a case in which the DPP migration information indicates "YES" because printer 10A does not store the DPP Configuration Object (hereinafter referred to as "CO").
[0050] Although not shown in the diagram, in the initial state of Figure 5, DPP processing is being performed between terminal 100 and AP6, and a Wi-Fi connection has already been established between terminal 100 and AP6. In the following explanation of Figure 5, for ease of understanding, the operations performed by the CPU of each device (e.g., CPU 32, 132, etc.) will be described from the perspective of each device (e.g., printer 10A, terminal 100, etc.) rather than from the perspective of the CPU. The same applies to the explanations of Figures 6 to 20.
[0051] At T100 in Figure 5, when the user performs the operation to turn on the power of printer 10A, at T102, the power of printer 10A is turned on. In this case, at T104, printer 10A generates the public key PKA1, at T106 generates the QR code QRA1, at T110 transitions from a DPP non-responding state to a DPP responsive state, and at T112 displays the QR code QRA1 on the display unit 14. The QR code QRA1 is a code image obtained by encoding the means information "QR code", the public key PKA1, the one-time information "YES", and the DPP automatic transition information "YES" (i.e., a code image obtained by encoding the setup information).
[0052] Although not shown in the diagram, printer 10A generates a private key corresponding to the public key PKA1 at T104. The public key PKA1 and the private key are used when performing authentication according to DPP. Thus, since the public key PKA1 is generated at T104 when printer 10A is powered on, printer 10A does not need to store the public key PKA1 in advance.
[0053] Terminal 100 accepts an operation from the user to launch application 138 at T120. As a result, when application 138 is launched, application 138 displays notification screen SC1 on display unit 114 at T122 (S10 in Figure 4).
[0054] Terminal 100, at T124, accepts the user's selection of the option "Scan QR code" on the notification screen SC1. In this case, terminal 100 activates the camera 118. Then, at T126, terminal 100 accepts the operation to scan the QR code QRA1 displayed on the printer 10A with the camera 118 (S12). In this case, terminal 100 obtains setup information by decoding the scanned QR code QRA1 (YES in S14), and at T128, stores the obtained setup information in memory 134 (S20). The process at T126 corresponds to DPP's Bootstrapping.
[0055] Furthermore, when terminal 100 stores the setup information at T128, the DPP automatic migration information included in the stored setup information indicates "YES" (NO at S22), so at T130, it sends an Auth Request using the public key PKA1 to printer 10A via Wi-Fi I / F116 (S30). Hereafter, Request will be referred to as "Req".
[0056] The Auth Req is a signal requesting authentication from the sending terminal 100. Specifically, terminal 100 first generates a shared key using terminal 100's private key (not shown) and printer 10A's public key PKA1, and then generates encrypted data by encrypting a random value using the shared key. Then, terminal 100 sends the Auth Req to printer 10A, which includes terminal 100's public key (not shown), the encrypted data, and terminal 100's Capability. Terminal 100's Capability includes a value indicating that it can only operate as a DPP Configurator.
[0057] When printer 10A receives an Auth Request from terminal 100 via Wi-Fi I / F 16 at T130, it performs authentication of the encrypted data contained in the Auth Request. Specifically, printer 10A generates a shared key using terminal 100's public key and printer 10A's private key contained in the Auth Request, and uses the shared key to decrypt the encrypted data. If the decryption of the encrypted data is successful, printer 10A determines that authentication has been successful and proceeds with the processing from T132 onwards.
[0058] At T132, printer 10A transitions from the DPP response state to the DPP non-response state. This is because the authentication of the encrypted data has been successful, and there is no need to maintain the DPP response state. The DPP response state places a higher processing load on printer 10A compared to the DPP non-response state, so transitioning from the DPP response state to the DPP non-response state reduces the processing load on printer 10A.
[0059] Furthermore, printer 10A sends an Auth Response, including printer 10A's Capability, to terminal 100 via Wi-Fi I / F16 at T134. Hereafter, Response will be referred to as "Res". Printer 10A's Capability includes a value indicating that it can operate only as a DPP Enrollee.
[0060] When terminal 100 receives an Auth Res from printer 10A at T134, it determines that there is no conflict between the Capability of printer 10A (i.e., Enrollee) included in the Auth Res and terminal 100's own Capability (i.e., Configurator). Then, at T135, terminal 100 sends an Auth Confirm to AP6 via Wi-Fi I / F 116. The Auth Confirm contains information indicating that terminal 100 is operating as a Configurator and printer 10A is operating as an Enrollee. As a result, at T136, terminal 100 decides to operate as a Configurator. The Configurator is a device that is responsible for sending a CO to the Enrollee.
[0061] Furthermore, in T138, it is decided that printer 10A will act as the Enrollee. The Enrollee is a device that receives CO from the Configurator. The processing in T130 and T134-T138 corresponds to DPP authentication.
[0062] Printer 10A sends a Config Req to terminal 100 via Wi-Fi I / F 16 at T140. The Config Req is a signal requesting the transmission of a CO.
[0063] When terminal 100 receives a Config Request from printer 10A at T140, it generates a printer CO. Specifically, terminal 100 first generates a printer Signed Connector (hereinafter referred to as "SC"), which is information that should be used by printer 10A to establish a Wi-Fi connection. The printer SC includes, for example, a group ID, which is an identifier that identifies the wireless network. Then, terminal 100 generates a printer CO including the printer SC and sends a Config Request including the printer CO to printer 10A via Wi-Fi I / F 116 at T142.
[0064] When printer 10A receives a Config Res from terminal 100 via Wi-Fi I / F 16 at T142, it sends the Config Result to terminal 100 via Wi-Fi I / F 16 at T144. The Config Result contains information indicating that the configuration was successful. The processing from T140 to T144 corresponds to the DPP configuration.
[0065] Printer 10A sends a Discovery Request, including the printer's SC, to AP6 via Wi-Fi I / F16 at T150. The Discovery Request is a signal requesting the other party to send the SC. However, in this case, due to poor radio wave conditions at AP6, AP6 does not receive the Discovery Request. As a result, AP6 does not send a Discovery Request to printer 10A.
[0066] If printer 10A does not receive a Discovery Res from AP6 after a predetermined time has elapsed since sending a Discovery Request to AP6 in T152, it sends a Result to terminal 100. This Result includes information "Error" indicating that a Wi-Fi connection could not be established between printer 10A and AP6. Although not shown in the diagram, if a Wi-Fi connection cannot be established between printer 10A and AP6, printer 10A deletes the printer CO already received in T142.
[0067] (Continuation of Figure 5; Figure 6) When terminal 100 receives a Result containing an error from the target printer via Wi-Fi I / F 116 at T152 in Figure 5, it displays notification screen SC2 on the display unit 114 at T154 in Figure 6 (S34 in Figure 4). Specifically, first, terminal 100 identifies a message indicating that the setup failed (i.e., that a Wi-Fi connection was not established between printer 10A and AP6). Next, terminal 100 identifies a message prompting the user to rescan the QR code, since the means information included in the stored setup information indicates "QR code" and the one-time information indicates "YES". This is because the public key of printer 10A is a one-time key, and therefore the public key needs to be reacquired. Next, terminal 100 does not identify a message prompting the user to perform a DPP migration operation, since the DPP automatic migration information included in the stored setup information indicates "YES". As a result, notification screen SC2 includes a message indicating that the setup failed and a message prompting the user to rescan the QR code, but does not include a message prompting the user to perform a DPP migration operation. In other words, the notification screen SC2 includes messages identified by terminal 100, but does not include messages identified by terminal 100. This notifies the user that the setup failed and that they should rescan the QR code.
[0068] When printer 10A sends a Result containing an error to terminal 100, at T156 it generates a public key PKA2 that is different from the public key PKA1, at T158 it generates a QR code QRA2, at T160 it transitions from a DPP non-response state to a DPP response state, and at T162 it displays the QR code QRA2 on the display unit 14. In other words, if printer 10A does not receive a Discovery Response from AP6 even after a predetermined time has elapsed since sending a Discovery Request to AP6 at T150 in Figure 5, it executes the processes from T156 to T162 without accepting user input. In this way, when a Wi-Fi connection is not established between printer 10A and AP6, public key PKA2 is automatically generated at T156 (i.e., without accepting user input), improving user convenience. The QR code QRA2 is a code image obtained by encoding setup information including the public key PKA2 in place of the public key PKA1.
[0069] In response to viewing the notification screen SC2, the user rescans the QR code QRA2 at T164. The processing at T164 and T166 is the same as the processing at T126 and T128 in Figure 5, except that the setup information is different (specifically, the public key PKA2 is used). Subsequently, the same processing as at T130 to T144 in Figure 5 is executed, except that the public key PKA2 is used.
[0070] At T166, printer 10A sends a Discovery Request, including the printer SC, to AP6 via Wi-Fi I / F16. By T166, the radio wave environment at AP6 has improved. Therefore, at T166, AP6 receives the Discovery Request from printer 10A.
[0071] When AP6 receives a Discovery Request from printer 10A at T166, it uses the AP's SC to authenticate the printer SC included in the Discovery Request. If the authentication of the printer SC is successful, AP6 generates a connection key. Then, at T168, AP sends a Discovery Request containing the AP's SC to printer 10A.
[0072] When printer 10A receives Discovery Res from AP6 in T168, it uses the printer's SC to authenticate the AP SC included in Discovery Res. If the authentication of the AP SC is successful, printer 10A generates a connection key. The connection key generated here is the same as the connection key generated by AP6. In other words, the connection key is shared between printer 10A and AP6.
[0073] Next, printer 10A uses the connection key to perform a 4-way handshake communication with AP6. As a result, a Wi-Fi connection is established between printer 10A and AP6 at T170. Since a Wi-Fi connection has also been established between terminal 100 and AP6, terminal 100 and printer 10A can communicate with each other via AP6. The processing from T166 to T170 corresponds to Network Access in DPP.
[0074] Although not shown in the diagram, when printer 10A establishes a Wi-Fi connection with AP6, it stores the received printer CO in memory 34. Therefore, from this point onward, printer 10A uses "NO" instead of "YES" as the DPP automatic transition information. When the printer CO is stored, a Wi-Fi connection is established between printer 10A and the device (AP6 in this case). If the DPP automatic transition information is "YES" in this situation (i.e., it automatically transitions to the DPP response state), there is a risk that printer 10A may perform DPP processing in a situation unintended by the user. As a result, for example, the QR code of printer 10A may be photographed by a third party other than the user of printer 10A. If printer 10A performs DPP processing in a situation unintended by the user, the Wi-Fi connection with AP6 may be disconnected when printer 10A receives a new printer CO and deletes the stored printer CO. To suppress such issues, when a Wi-Fi connection is established between printer 10A and AP6, that is, when printer 10A memorizes the printer CO, the DPP automatic migration information is changed from "YES" to "NO".
[0075] Furthermore, once a Wi-Fi connection is established with AP6, printer 10A sends a Result message containing the information "Success" indicating that the Wi-Fi connection has been established to terminal 100 via Wi-Fi I / F 16.
[0076] Terminal 100 receives a Result, including success, from printer 10A via Wi-Fi I / F 116 at T172 (YES at S32 in Figure 4).
[0077] As described above, the printer 10A can establish a Wi-Fi connection with AP6. To this end, the printer 10A can receive print data representing the image to be printed from terminal 100 via AP6 and execute printing of the image represented by said print data.
[0078] (Case A2; Figure 7) Next, we will explain Case A2 with reference to Figure 7. Case A2 is a case in which DPP processing is performed between terminal 100 and printer 10A. In particular, Case A2 is a case in which the DPP transition information shows "NO" because printer 10A has already stored CO.
[0079] In Figure 7, at T200, when the user performs the operation to turn on the power of printer 10A, at T202, the power of printer 10A is turned on. In this case, since printer 10A has already stored CO, printer 10A does not automatically transition to the DPP response state. At T203, when printer 10A receives a DPP transition operation from the user, it executes the processes at T204 to T212. The processes at T204 to T212 are the same as those at T104 to T112 in Figure 5, except that the public key PKA3 and the QR code QRA3 are used. Since printer 10A generates a public key when it receives a DPP transition operation from the user, it can generate the public key at the appropriate timing. The QR code QRA3 is a code image obtained by encoding setup information that includes the public key PKA3 instead of the public key PKA1, and also includes the DPP automatic transition information "NO". Subsequently, the same process as T120~T128 in Figure 5 is executed.
[0080] In this case, the means information included in the stored setup information indicates "QR code" and the DPP automatic migration information indicates "NO" (YES at S22 in Figure 4), so terminal 100 displays the inquiry screen (see Figure 4) on the display unit 114 at T214 (S24). In this case, the user has already performed the DPP migration operation on printer 10A (see T203), so terminal 100 accepts the user's selection of the YES button on the inquiry screen at T216 (YES at S26). In this case, the same processing as T130~T152 in Figure 5 is performed, except that the public key PKA3 is used. That is, the Wi-Fi connection between printer 10A and AP6 is not established.
[0081] In this case, terminal 100 displays notification screen SC3 on display unit 114 at T254 (S34 in Figure 4). Specifically, first terminal 100 identifies a message indicating that setup failed. Next, terminal 100 identifies a message prompting the user to rescan the QR code, since the means information included in the stored setup information indicates "QR code" and the one-time information indicates "YES". Next, terminal 100 identifies a message prompting the user to perform a DPP migration operation, since the DPP automatic migration information included in the stored setup information indicates "NO". Therefore, notification screen SC3 includes a message indicating that setup failed, a message prompting the user to rescan the QR code, and a message prompting the user to perform a DPP migration operation. This notifies the user that setup failed, that they should rescan the QR code, and that they should perform a DPP migration operation.
[0082] In response to viewing the notification screen SC3, the user executes a DPP migration operation on printer 10A at T255. The subsequent processing at T256-T266 is the same as T156-T166 in Figure 6, except that the public key PKA4, the QR code QRA4, and the DPP automatic migration information "NO" are used. Printer 10A generates a public key when it receives a DPP migration operation from the user, so it can generate the public key at the appropriate time. Subsequently, the same processing as at T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that the public key PKA4 is used, and a Wi-Fi connection is established between printer 10A and AP6.
[0083] (Case A3; Figure 8) Next, we will explain Case A3 with reference to Figure 8. Case A3 is a case in which DPP processing is performed between terminal 100 and printer 10A. In particular, in Case A3, "Model Name Selection" is selected as the means of selecting the target printer. The initial state of Case A3 is the same as the initial state of Case A1. In Case A3, first, the same processing as T100 to T112 in Figure 5 is performed. The processing of T320 and T322 is the same as the processing of T120 and T122 in Figure 5.
[0084] Terminal 100, at T324, accepts the selection of the "Model Name Selection" option in the notification screen SC1, and then accepts the selection of the printer 10A's model name MNA (S12 in Figure 4). In this case, terminal 100 does not acquire setup information (NO in S14), so it first identifies the printer 10A's setup information output method (i.e., QR code). Then, at T326, application 138 displays notification screen SC4 on the display unit 114 (S16). Notification screen SC4 includes a message prompting the user to scan the QR code. By viewing notification screen SC4, the user knows that they should scan the QR code. Subsequently, the processes at T126 to T152 in Figure 5 and the same processes as in Figure 6 are executed, and a Wi-Fi connection is established between printer 10A and AP6.
[0085] (Case B1; Figure 9) Next, we will explain Case B1 with reference to Figure 9. Case B1 is a case in which DPP processing is performed between terminal 100 and printer 10B. In particular, Case B1 is a case in which the DPP transition information indicates "YES" because printer 10B does not store the CO. As shown in Figure 2, the public key of printer 10B is not a one-time key. Printer 10B stores the public key PKB in advance from the time of shipment.
[0086] The processing of T400 and T402 is the same as the processing of T100 and T102 in Figure 5. Also, the processing of T406 to T412 is the same as the processing of T106 to T112 in Figure 5, except that the setup information is different (specifically, the public key PKB is used and the one-time information "NO" is used). In this modified example, the printer 10B may store the QR code QRB1 from the time of shipment. In this modified example, the processing of T406 can be omitted. After that, the same processing as T120 to T152 in Figure 5 is executed, except that the public key PKB is used and the printer 10B is the main entity performing the processing. That is, the Wi-Fi connection between the printer 10B and AP6 is not established.
[0087] Terminal 100 displays notification screen SC5 on the display unit 114 in T422 (S34 in Figure 3). Specifically, since the means information included in the stored setup information indicates "QR code" and the one-time information indicates "NO", terminal 100 does not specify a message prompting the user to rescan the QR code, but instead specifies a message prompting the user to perform the DPP re-execution operation. This is because the public key of printer 10B is not a one-time key, so there is no need to reacquire the public key. Next, since the DPP automatic migration information included in the stored setup information indicates "YES", terminal 100 does not specify a message prompting the user to perform the DPP migration operation. As a result, notification screen SC5 includes a message indicating that the setup failed and a message prompting the user to perform the DPP re-execution operation, but does not include a message prompting the user to perform the DPP migration operation.
[0088] When printer 10B sends a Result containing an error to terminal 100 (T152 in Figure 5, as seen in Figure 9), it transitions from a DPP non-responding state (see T132 in Figure 5) to a DPP responsive state at T423.
[0089] In response to viewing the notification screen SC5, the user executes a DPP re-execution operation on terminal 100 in T424. In this case, the same process as T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that a public key PKB is used and the printer 10B is the main entity performing the process, and a Wi-Fi connection is established between printer 10B and AP6.
[0090] (Case B2; Figure 9) Next, we will explain Case B2 with reference to Figure 9. Case B2 is a case in which DPP processing is performed between terminal 100 and printer 10B. In particular, Case B2 is a case in which the DPP transition information indicates "NO" because printer 10B has already stored the CO. In Case B2, first, the same processing as T200~T203 and T206~T212 in Figure 7 is performed, except that the public key PKB is used. After that, the same processing as T120~T128 in Figure 5, T214 and T216 in Figure 7, and T130~T152 in Figure 5 is performed, except that the public key PKB is used and the printer 10B is the main entity performing the processing. In other words, the Wi-Fi connection between printer 10B and AP6 is not established.
[0091] Terminal 100 displays notification screen SC6 on the display unit 114 in T432 (S34 in Figure 3). Specifically, since the means information included in the stored setup information indicates "QR code" and the one-time information indicates "NO", terminal 100 does not identify a message prompting the user to rescan the QR code, but instead identifies a message prompting the user to perform the DPP re-execution operation. Next, since the DPP automatic migration information included in the stored setup information indicates "NO", terminal 100 identifies a message prompting the user to perform the DPP migration operation. As a result, notification screen SC6 includes a message indicating that the setup failed, a message prompting the user to perform the DPP re-execution operation, and a message prompting the user to perform the DPP migration operation.
[0092] In response to viewing the notification screen SC6, the user executes a DPP transition operation on printer 10B at T434. In this case, printer 10B transitions from a DPP non-responsive state to a DPP responsive state at T436. The processing at T438 is the same as that at T424. Subsequently, the same processing as that at T130~T144 in Figure 5 and T166~T172 in Figure 6 is executed, except that a public key PKB is used and printer 10B is the main entity performing the processing, and a Wi-Fi connection is established between printer 10B and AP6.
[0093] (Case C; Figure 10) Next, we will explain Case C with reference to Figure 10. Case C is a case in which DPP processing is performed between terminal 100 and printer 10C. As described above, printer 10C is equipped with a housing 50 to which a QR code QRC is attached (see Figure 1). Therefore, printer 10C stores a public key PKC that is not a one-time key from the time of shipment (see Figure 2). Also, regardless of whether printer 10C stores CO or not, the DPP automatic transition information will show "NO".
[0094] The processing at T500 and T502 is the same as the processing at T100 and T102 in Figure 5. Subsequently, the same processing as at T120 to T128 in Figure 5 is performed. In this case, the means information included in the stored setup information indicates "QR code" and the DPP automatic migration information indicates "NO" (YES at S22 in Figure 4), so at T504, terminal 100 displays an inquiry screen (see Figure 4) on the display unit 114 (S24). In this case, the user has not yet performed the DPP migration operation on printer 10C, so at T506, terminal 100 accepts the user's selection of the NO button on the inquiry screen (NO at S26). In this case, at T508, terminal 100 displays a screen prompting the user to perform the DPP migration operation (see Figure 4) on the display unit 114 (S28).
[0095] When printer 10C receives a DPP transition operation from the user viewing the screen at T510, it transitions to the DPP response state at T512. Subsequently, the same process as T130~T152 in Figure 5 is executed, except that a public key PKC is used and printer 10C is the main processor. In other words, a Wi-Fi connection is not established between printer 10C and AP6.
[0096] Terminal 100 displays the notification screen SC6 on the display unit 114 at T522 (see S34 in Figure 3 and Figure 9). The specific processing is the same as that of T432 in Figure 9. The processing of T530 to T534 is the same as that of T434 to T438 in Figure 9. Subsequently, the same processing as that of T130 to T144 in Figure 5 and T166 to T172 in Figure 6 is executed, except that a public key PKC is used and the printer 10C is the main entity performing the processing, and a Wi-Fi connection is established between printer 10C and AP6.
[0097] (Case D1; Figure 11) Next, we will explain Case D1 with reference to Figure 11. Case D1 is a case in which DPP processing is performed between terminal 100 and printer 10D. In particular, Case D1 is a case in which the DPP transition information indicates "YES" because printer 10D does not store the CO. In Case D1, the same processing as T100~T104 and T110 in Figure 5 is performed, except that the public key PKD1 is used.
[0098] Printer 10D supplies setup information to BTI / F20 in T612. In this case, the setup information indicates "BT(ADV_EXT)" as the means information, PKD1 as the public key, "YES" as the one-time information, and "YES" as the DPP automatic transition information. The means information "BT(ADV_EXT)" indicates that the setup information will be sent from printer 10D to terminal 100 using the advertisement signal.
[0099] Printer 10D repeatedly transmits BLE_ADV_EXT, an advertisement signal containing setup information. At stage T614, the advertisement signal is not received by terminal 100.
[0100] Subsequently, the same process as T120 and T122 in Figure 5 is executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). At T624, terminal 100 accepts the user's selection of the option "BT" in the notification screen SC1 (S12). In this case, terminal 100 changes the state of its BTI / F120 from a state where it cannot receive advertised signals to a state where it can receive advertised signals. As a result, at T626, terminal 100 receives advertised signals from printer 10D and obtains setup information (YES in S14), and at T628, stores the obtained setup information in memory 134 (S20). Subsequently, since the setup means included in the stored setup information indicates "BT (ADV_EXT)" (NO in S22), the same process as T130 to T152 in Figure 5 is executed, except that the public key PKD1 is used and the printer 10D is the main processor. In particular, in T132 as shown in Figure 11, when the printer 10D enters a DPP non-responsive state, the printer 10D stops transmitting the advertise signal.
[0101] Terminal 100 displays notification screen SC5 on display unit 114 in T654 (see S34 in Figure 4 and Figure 9). Specifically, terminal 100 identifies a message prompting the user to perform a DPP re-execution operation because the means information included in the stored setup information indicates "BT(ADV_EXT)". This is because if the user performs a DPP re-execution operation on terminal 100, terminal 100 can obtain new setup information including the public key by receiving an advertisement signal from printer 10D. Next, terminal 100 does not identify a message prompting a DPP migration operation because the DPP automatic migration information included in the stored setup information indicates "YES".
[0102] The processes of T656 and T660 are the same as those of T156 and T160 in Figure 6, except that the public key PKD2 is used. The process of T662 is the same as that of T612, except that the setup information is different (specifically, the public key PKD2 is used). The process of T664 is the same as that of T424 in Figure 9. Subsequently, the same processes as T626 and T628 are executed, and terminal 100 acquires and stores the new setup information. Furthermore, the same processes as T130~T144 in Figure 5 and T166~T172 in Figure 6 are executed, except that the public key PKD2 is used and the printer 10D is the main entity performing the process, and a Wi-Fi connection is established between printer 10D and AP6.
[0103] (Case D2; Figure 11) Next, we will explain Case D2 with reference to Figure 11. Case D2 is a case in which DPP processing is performed between terminal 100 and printer 10D. In particular, Case D2 is a case in which the DPP transition information indicates "NO" because printer 10D has already stored the CO. In Case D2, first, the same processing as T200~T204 and T210 in Figure 7 is performed, except that the public key PKD3 is used. The processing of T672 is the same as the processing of T612, except that the setup information is different (specifically, the public key PKD3 is used and the DPP automatic transition information "NO" is used). After that, T120 and T122 in Figure 5 are executed, and the same processing as T624~T628 is performed. As a result, terminal 100 obtains and stores the setup information. After that, the same processing as T130~T152 in Figure 5 is performed, except that the public key PKD3 is used and the main entity performing the processing is printer 10D.
[0104] Terminal 100 displays the notification screen SC6 on the display unit 114 at T674 (see S34 in Figure 4 and Figure 9). Specifically, terminal 100 identifies a message prompting the execution of the DPP re-execution operation because the means information included in the stored setup information indicates "BT(ADV_EXT)". Next, terminal 100 identifies a message prompting the DPP migration operation because the DPP automatic migration information included in the stored setup information indicates "NO". The processing at T675 is the same as the processing at T255 in Figure 7. Also, the processing at T676 is the same as the processing at T156 in Figure 6, except that the public key is PKD4.
[0105] Subsequently, the same processes as T660-T664 are executed, and the same processes as T626 and T628 are executed, and terminal 100 acquires and stores new setup information (i.e., setup information including the public key PKD4). Then, the same processes as T130-T144 in Figure 5 and T166-T172 in Figure 6 are executed, except that the public key PKD4 is used and the printer 10D is the main operator of the process, and a Wi-Fi connection is established between printer 10D and AP6.
[0106] (Case E1; Figure 12) Next, we will explain Case E1 with reference to Figure 12. Case E1 is a case in which DPP processing is performed between terminal 100 and printer 10E. In particular, Case E1 is a case in which the DPP transition information indicates "YES" because printer 10E does not store the CO. As shown in Figure 2, the public key of printer 10E is not a one-time key. Printer 10E stores the public key PKE in advance from the time of shipment. In Case E1, first, the same processing as T100, T102, and T110 in Figure 5 is performed.
[0107] The processes of T712 and T714 are the same as those of T612 and T614 in Figure 11, except that the setup information is different (specifically, a public key PKE is used). Subsequently, the same processes as those of T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). The processes of T724 to T728 are the same as those of T624 to T628 in Figure 11, except that the setup information is different and the printer 10E is the main entity performing the process. Subsequently, the same processes as those of T130 to T152 in Figure 5 are executed, except that a public key PKE is used and the printer 10E is the main entity performing the process.
[0108] Terminal 100 displays the notification screen SC5 on the display unit 114 in T754 (see S34 in Figure 4 and Figure 9). Specifically, terminal 100 identifies a message prompting the execution of the DPP re-execution operation because the means information included in the stored setup information indicates "BT(ADV_EXT)". In this way, when the means information indicates "BT(ADV_EXT)", terminal 100 identifies a message prompting the execution of the DPP re-execution operation, regardless of whether the one-time information indicates "YES" or "NO". Next, terminal 100 does not identify a message prompting the DPP migration operation because the DPP automatic migration information included in the stored setup information indicates "YES".
[0109] The processing of T760 and T764 is the same as the processing of T660 and T664 in Figure 11. Subsequently, the same processing as T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that a public key PKE is used and the printer 10E is the main entity performing the processing, and a Wi-Fi connection is established between the printer 10E and AP6.
[0110] (Case E2; Figure 12) Next, referring to Figure 12, Case E2 will be explained. Case E2 is a case in which DPP processing is performed between terminal 100 and printer 10E. In particular, Case E2 is a case in which the DPP migration information indicates "NO" because printer 10E has already stored the CO. In Case E2, first, the same processing as T200~T203 and T210 in Figure 7 is performed. The processing of T772 is the same as the processing of T712, except that the setup information is different (specifically, the DPP automatic migration information "NO" is used). After that, T120 and T122 in Figure 5 are executed, and the same processing as T724~T728 is performed. As a result, terminal 100 obtains and stores the setup information. After that, the same processing as T130~T152 in Figure 5 is performed, except that a public key PKE is used and the printer 10E is the main entity performing the processing.
[0111] Terminal 100 displays the notification screen SC6 on the display unit 114 in T774 (see S34 in Figure 4 and Figure 9). Specifically, terminal 100 identifies a message prompting the execution of the DPP re-execution operation because the means information included in the stored setup information indicates "BT(ADV_EXT)". Next, terminal 100 identifies a message prompting the DPP migration operation because the DPP automatic migration information included in the stored setup information indicates "NO".
[0112] The processing of T775~T784 is the same as the processing of T434~T438 in Figure 9. Subsequently, the same processing as T130~T144 in Figure 5 and T166~T172 in Figure 6 is executed, except that a public key PKE is used and the printer 10E is the main entity performing the processing, and a Wi-Fi connection is established between the printer 10E and AP6.
[0113] (Case F1; Figure 13) Next, we will explain Case F1 with reference to Figure 13. Case F1 is a case in which DPP processing is performed between terminal 100 and printer 10F. In particular, Case F1 is a case in which the DPP transition information indicates "YES" because printer 10F does not store the CO. In Case F1, first, the same processing as T100~T104 and T110 in Figure 5 is performed, except that the public key PKF1 is used. The processing of T812 is the same as the processing of T612 in Figure 11, except that the setup information is different (specifically, the means information "BT(GATT)" and the public key PKF1 is used). The means information "BT(GATT)" is information that indicates that setup information is sent from printer 10F to terminal 100 using a one-to-one connection via BT.
[0114] Printer 10F repeatedly transmits the advertisement signal BLE_ADV_IND. This advertisement signal does not contain setup information. At stage T814, the advertisement signal is not received by terminal 100.
[0115] Subsequently, the same processes as those shown in T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). At T824, terminal 100 accepts the user's selection of the option "BT" within the notification screen SC1 (S12). In this case, terminal 100 changes its BTI / F120 from a state where it cannot receive advertised signals to a state where it can receive advertised signals. As a result, at T825, terminal 100 receives advertised signals from printer 10F, and at T826, establishes a one-to-one connection via BT (i.e., a GATT connection).
[0116] Terminal 100, using a GATT connection via BTI / F120 on T827, sends a setup information request to printer 10F.
[0117] When printer 10F receives a setup information request from terminal 100 via T827, T828 transmits the setup information to terminal 100 via BTI / F20 using a GATT connection.
[0118] When terminal 100 receives setup information from printer 10F at T828 (YES at S14 in Figure 4), it stores the received setup information in memory 134 (S20). Subsequently, since the means information included in the stored setup information indicates "BT(GATT)" (NO at S22), the same processing as T130~T152 in Figure 5 is executed, except that the public key PKF1 is used and the printer 10F is the main entity performing the processing. In particular, at T132, as shown in Figure 13, when printer 10F enters a DPP non-response state, printer 10F stops transmitting the advertise signal.
[0119] Terminal 100 displays notification screen SC5 on display unit 114 in T854 (see S34 in Figure 4 and Figure 9). Specifically, terminal 100 identifies a message prompting the user to perform a DPP rerun operation because the means information included in the stored setup information is "BT (GATT)". This is because if the user performs a DPP rerun operation on terminal 100, terminal 100 can obtain new setup information including the public key from printer 10F using a GATT connection. Next, terminal 100 does not identify a message prompting a DPP migration operation because the DPP automatic migration information included in the stored setup information is "YES".
[0120] The processes of T856 and T860 are the same as those of T156 and T160 in Figure 6, except that a public key PKF2 is used. The process of T862 is the same as that of T812, except that the setup information is different (specifically, a public key PKF2 is used). The process of T864 is the same as that of T424 in Figure 9. Subsequently, the same processes as T827 to T830 are executed, and terminal 100 acquires and stores new setup information. Furthermore, the same processes as T130 to T144 in Figure 5 and T166 to T172 in Figure 6 are executed, except that a public key PKF2 is used and the printer 10F is the main entity performing the process, and a Wi-Fi connection is established between printer 10F and AP6.
[0121] (Case F2; Figure 14) Next, we will explain Case F2 with reference to Figure 14. Case F2 is a case in which DPP processing is performed between terminal 100 and printer 10F. In particular, Case F2 is a case in which the DPP transition information shows "NO" because printer 10F has already stored CO. In Case F2, first, the same processing as T100 and T102 in Figure 5 is performed.
[0122] When printer 10F is powered on, it repeatedly transmits the advertisement signal BLE_ADV_IND. The advertisement signal does not contain setup information. At stage T874, the advertisement signal is not received by terminal 100.
[0123] Subsequently, the same processes as those shown in T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). Terminal 100 accepts the user's selection of the option "BT" in the notification screen SC1 at T876 (S12). In this case, terminal 100 changes its BTI / F120 from a state where it cannot receive advertised signals to a state where it can receive advertised signals. As a result, terminal 100 receives advertised signals from printer 10F at T877, and establishes a one-to-one connection via BT (i.e., a GATT connection) at T826.
[0124] Terminal 100, using a GATT connection via BTI / F120 on T880, sends a serial number request to printer 10F requesting the printer 10F to send its serial number.
[0125] When printer 10F receives a serial number request from terminal 100 via T880, T882 transmits the serial number of printer 10F to terminal 100 via BTI / F20 using a GATT connection.
[0126] When terminal 100 requests a serial number from printer 10F via T882, terminal 100 sends a password to printer 10F via BTI / F120 using a GATT connection via T884. This password may be pre-stored in terminal 100 in association with the serial number of printer 10F, or it may be entered by the user after processing by T882.
[0127] When printer 10F receives a password from terminal 100 in T884, it performs authentication of that password. In this case, since password authentication is successful, printer 10F, in T886, sends a signal indicating authentication OK to terminal 100 via BTI / F20 using a GATT connection. If authentication fails, printer 10F does not perform any further processing from T886 onwards.
[0128] When terminal 100 receives a signal from printer 10F indicating authentication OK at T886, terminal 100 sends a DPP transition request to printer 10F via BTI / F120 using the GATT connection at T888. The DPP transition request is a signal that asks printer 10F to change its state from a DPP non-responding state to a DPP responsive state. Thus, in this case, it is not necessary for printer 10F to directly perform a DPP transition operation in order to change its state from a DPP non-responding state to a DPP responsive state.
[0129] The authentication process described in T880-T886 above is performed for the following reasons. Specifically, as described above, in case F2, printer 10F stores the printer CO. Also, there is no need to directly perform a DPP migration operation on printer 10F. Therefore, if the authentication process described above were not performed, printer 10F might receive a DPP migration request from a third-party terminal and store a new CO in place of the already stored printer CO. As a result, the Wi-Fi connection between printer 10F and the device may be disconnected. On the other hand, in this case, since the authentication described above is performed, only the legitimate user of printer 10F can use terminal 100 to send a DPP migration request to printer 10F. This prevents the above event from occurring.
[0130] The processing of T889 and T890 is the same as that of T104 and T110 in Figure 5, except that the public key is PKF3. Also, the processing of T891 to T894 is the same as that of T812 and T827 to T830 in Figure 13, except that the setup information is different (specifically, the public key PKF3 and the DPP automatic migration information "NO" are used). Subsequently, the same processing as T130 to T152 in Figure 5 is executed, except that the public key PKF3 is used and the main entity performing the processing is printer 10F.
[0131] Terminal 100 displays the notification screen SC5 on the display unit 114 at T895 (see S34 in Figure 4 and Figure 9). Specifically, since the means information included in the stored setup information indicates "BT(GATT)", terminal 100 identifies a message prompting the execution of the DPP re-execution operation, but does not identify a message prompting the DPP migration operation. As described above, in this case, terminal 100 uses the GATT connection to send the DPP migration request to printer 10F, so it is not necessary to directly execute the DPP migration operation on printer 10F. The processing at T896 is the same as the processing at T424 in Figure 9. Also, the processing at T897 and T898 is the same as the processing at T888 and T889, except that the public key is PKF4.
[0132] Subsequently, the same process as T890-T894 is executed, except that the public key PKF4 is used, and terminal 100 acquires and stores the new setup information. Then, the same process as T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that the public key PKF4 is used and the printer 10F is the main entity performing the process, and a Wi-Fi connection is established between printer 10F and AP6.
[0133] (Case G1; Figure 15) Next, we will explain Case G1 with reference to Figure 15. Case G1 is a case in which DPP processing is performed between terminal 100 and printer 10G. In particular, Case G1 is a case in which the DPP transition information indicates "YES" because printer 10G does not store the CO. As shown in Figure 2, the public key of printer 10G is not a one-time key. Printer 10G stores the public key PKG in advance from the time of shipment of printer 10G. In Case G1, first, the same processing as T100, T102, and T110 in Figure 5 is performed.
[0134] The processing of T912 is the same as that of T812 in Figure 13, except that the setup information is different (specifically, a public key PKG is used and the one-time information "NO" is used). Similarly, the processing of T914 is the same as that of T814 in Figure 13.
[0135] Subsequently, the same processes as T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). Next, the same processes as T824 to T830 in Figure 13 are executed, and terminal 100 receives setup information from printer 10G using GATT connection and stores the setup information (YES in S12 and S14, S20). Then, the same processes as T130 to T152 in Figure 5 are executed, except that a public key PKG is used and the printer 10G is the main entity performing the processing.
[0136] Terminal 100 displays the notification screen SC5 on the display unit 114 in T954 (see S34 in Figure 4 and Figure 9). Specifically, since the means information included in the stored setup information indicates "BT(GATT)", terminal 100 identifies a message prompting the execution of the DPP re-execution operation, but does not identify a message prompting the DPP transition operation. In this way, when the means information indicates "BT(GATT)", terminal 100 identifies a message prompting the execution of the DPP re-execution operation, regardless of whether the one-time information indicates "YES" or "NO".
[0137] The process of T960 is the same as the process of T160 in Figure 6. Similarly, the process of T964 is the same as the process of T424 in Figure 9. Subsequently, the same process as T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that a public key PKG is used and the printer 10G is the main entity performing the process, and a Wi-Fi connection is established between the printer 10G and AP6.
[0138] (Case G2; Figure 15) Next, we will explain Case G2 with reference to Figure 15. Case G2 is a case in which DPP processing is performed between terminal 100 and printer 10G. In particular, Case G2 is a case in which the DPP transition information shows "NO" because printer 10G has already stored CO. In Case G2, first, the same processing as T100 and T102 in Figure 5 is performed. The processing of T974 is the same as the processing of T874 in Figure 14.
[0139] Subsequently, the same processes as T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). Next, the same processes as T876 to T894 in Figure 14 are executed, and terminal 100 receives setup information from printer 10G using GATT connection and stores the setup information (YES in S12 and S14, S20). Then, the same processes as T130 to T152 in Figure 5 are executed, except that a public key PKG is used and the printer 10G is the main entity performing the processing.
[0140] Terminal 100 displays notification screen SC5 on the display unit 114 in T992 (see S34 in Figure 4 and Figure 9). Specifically, since the means information included in the stored setup information indicates "BT(GATT)", terminal 100 identifies a message prompting the execution of the DPP re-execution operation, but does not identify a message prompting the DPP migration operation.
[0141] The processing at T995 is the same as the processing at T424 in Figure 9. When terminal 100 receives a request from the user to perform a DPP rerun operation at T995, at T996, it sends a DPP transition request to printer 10G via BTI / F120 using the GATT connection.
[0142] When printer 10G receives a DPP transition request from terminal 100 at T996, it transitions from a DPP non-responding state to a DPP responding state at T997. Subsequently, the same processing as T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that a public key PKG is used and printer 10G is the main processor, and a Wi-Fi connection is established between printer 10G and AP6.
[0143] (Case H1; Figure 16) Next, we will explain Case H1 with reference to Figure 16. Case H1 is a case in which DPP processing is performed between terminal 100 and printer 10H. In particular, Case H1 is a case in which the DPP transition information indicates "YES" because printer 10H does not store the CO. In Case H1, first, the same processing as T100~T104 and T110 in Figure 5 is performed, except that the public key PKH1 is used.
[0144] Printer 10H supplies setup information to NFCI / F22 at T1012 and changes the state of NFCI / F22 from a state where NFC communication is not possible to a state where NFC communication is possible. In this case, the setup information indicates "NFC (direct communication)" as the means information, PKH1 as the public key, "YES" as the one-time information, and "YES" as the DPP automatic transition information. The means information "NFC (direct communication)" indicates that the setup information will be sent directly from printer 10H to terminal 100 using NFC communication.
[0145] Subsequently, the same processes as T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). At T1024, terminal 100 accepts the user's selection of "NFC" from the options in the notification screen SC1 (S12). In this case, terminal 100 changes the state of its NFCI / F122 from a state where NFC communication is not possible to a state where NFC communication is possible. Then, at T1026, the user of terminal 100 touches terminal 100 to printer 10H to establish an NFC connection between terminal 100 and printer 10H. Then, at T1027, terminal 100 receives setup information from printer 10H via NFCI / F122 using the NFC connection, and at T1028, stores the received setup information in memory 134 (S20). Subsequently, the means information included in the stored setup information indicates "NFC (direct communication)" (NO in S22), and the same process as T130~T152 in Figure 5 is executed, except that the public key PKH1 is used and the printer 10H is the main entity performing the processing. In particular, in T132, which is referenced in Figure 16, when the printer 10H transitions to a DPP non-responding state, the printer 10H changes the state of NFCI / F22 from a state where NFC communication is possible to a state where NFC communication is not possible.
[0146] Terminal 100 displays notification screen SC7 on display unit 114 at T1054 (S34 in Figure 4). Specifically, terminal 100 identifies a message prompting terminal 100 to touch printer 10H again, since the means information included in the stored setup information indicates "NFC (direct communication)" and the one-time information indicates "YES". This is because touching terminal 100 to printer 10H again allows it to obtain new setup information including the public key using the NFC connection. Next, terminal 100 does not identify a message prompting DPP migration operation, since the DPP automatic migration information included in the stored setup information indicates "YES". Therefore, notification screen SC7 includes a message indicating that the setup failed and a message prompting terminal 100 to touch printer 10H again.
[0147] The processing of T1056 and T1060 is the same as the processing of T156 and T160 in Figure 6, except that the public key PKH2 is used. Also, the processing of T1062 is the same as the processing of T1012, except that the setup information is different (specifically, the public key PKH2 is used). The processing of T1064 is the same as the processing of T1026.
[0148] Subsequently, processes T1027 and T1028 are executed, and terminal 100 receives and stores setup information, including the public key PKH2, via NFC connection. Then, processes similar to those of T130-T144 in Figure 5 and T166-T172 in Figure 6 are executed, except that the public key PKH2 is used and the printer 10H is the main entity performing the process, and a Wi-Fi connection is established between printer 10H and AP6.
[0149] (Case H2; Figure 16) Next, we will explain Case H2 with reference to Figure 16. Case H2 is a case in which DPP processing is performed between terminal 100 and printer 10H. In particular, Case H2 is a case in which the DPP transition information indicates "NO" because printer 10H has already stored the CO. In Case H2, first, the same processing as T200~T204 and T210 in Figure 7 is performed, except that the public key PKH3 is used. The processing of T1072 is the same as the processing of T1012, except that the setup information is different (specifically, the public key PKH3 is used and the DPP automatic transition information "NO" is used).
[0150] Subsequently, the same processes as T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). Next, the same processes as T1024 to T1028 are executed, except that the setup information is different, and terminal 100 receives and stores the setup information. After that, the same processes as T130 to T152 in Figure 5 are executed, except that the public key PKH3 is used and the printer 10H is the main entity performing the processing.
[0151] Terminal 100 displays notification screen SC8 on the display unit 114 at T1074 (S34 in Figure 4). Specifically, terminal 100 identifies a message prompting terminal 100 to touch printer 10H again, as the means information included in the stored setup information indicates "NFC (direct communication)" and the one-time information indicates "YES". Next, terminal 100 identifies a message prompting DPP transition operation, as the DPP automatic transition information included in the stored setup information indicates "NO". Therefore, notification screen SC8 includes a message indicating that the setup failed, a message prompting terminal 100 to touch printer 10H again, and a message prompting DPP transition operation. The processing at T1075 is the same as the processing at T255 in Figure 7. The processing at T1076 is the same as the processing at T156 in Figure 6, except that the public key PKH4 is used.
[0152] Subsequently, after the same process as T1060~T1064 is performed, the same process as T1027 and T1028 is performed, and setup information including the public key PKH4 is received and stored via NFC connection. Then, the same process as T130~T144 in Figure 5 and T166~T172 in Figure 6 is performed, except that the public key PKH4 is used and the printer 10H is the main entity performing the process, and a Wi-Fi connection is established between printer 10H and AP6.
[0153] (Case I1; Figure 17) Next, we will explain Case I1 with reference to Figure 17. Case I1 is a case in which DPP processing is performed between terminal 100 and printer 10I. In particular, Case I1 is a case in which the DPP transition information indicates "YES" because printer 10I does not store the CO. As shown in Figure 2, the public key of printer 10I is not a one-time key. Printer 10I stores the public key PKI in advance from the time of shipment. In Case I1, first, the same processing as T100, T102, and T110 in Figure 5 is performed. The processing of T1112 is the same as the processing of T1012 in Figure 16, except that the setup information is different (specifically, the public key PKI is used and the one-time information "NO" is used).
[0154] Subsequently, the same processes as those in T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). The processes in T1124 to T1128 are the same as those in T1024 to T1028 in Figure 16, except that the setup information is different and the printer 10I is the main entity performing the process. Subsequently, the same processes as those in T130 to T152 in Figure 5 are executed, except that the public key PKI is used and the printer 10I is the main entity performing the process.
[0155] Terminal 100 displays notification screen SC5 on display unit 114 at T1154 (see S34 in Figure 4 and Figure 9). Specifically, terminal 100 identifies a message prompting the execution of the DPP re-execution operation because the means information included in the stored setup information indicates "NFC (direct communication)" and the one-time information is "NO". This is because the public key of printer 10I is not a one-time key, so there is no need to reacquire the public key. Next, terminal 100 does not identify a message prompting the DPP migration operation because the DPP automatic migration information included in the stored setup information indicates "YES".
[0156] The process for T1160 is the same as the process for T160 in Figure 6. Similarly, the process for T1164 is the same as the process for T424 in Figure 9. Subsequently, the same processes as those for T130-T144 in Figure 5 and T166-T172 in Figure 6 are executed, except that a public key PKI is used and the printer 10I is the main entity performing the process, and a Wi-Fi connection is established between the printer 10I and AP6.
[0157] (Case I2; Figure 17) Next, we will explain Case I2 with reference to Figure 17. Case I2 is a case in which DPP processing is performed between terminal 100 and printer 10I. In particular, Case I2 is a case in which the DPP migration information indicates "NO" because printer 10I has already stored CO. In Case HI, first, the same processing as T200~T203 and T210 in Figure 7 is performed. The processing of T1172 is the same as the processing of T1112, except that the setup information is different (specifically, the DPP automatic migration information "NO" is used).
[0158] Subsequently, the same processes as T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). Next, the same processes as T1124 to T1128 are executed, except that the setup information is different, and terminal 100 receives and stores the setup information. After that, the same processes as T130 to T152 in Figure 5 are executed, except that public key PKI is used and the printer 10I is the main entity performing the processing.
[0159] Terminal 100 displays notification screen SC6 on the display unit 114 at T1174 (see S34 in Figure 4 and Figure 9). Specifically, terminal 100 identifies a message prompting the execution of the DPP re-execution operation because the means information included in the stored setup information indicates "NFC (direct communication)" and the one-time information indicates "NO". Next, terminal 100 identifies a message prompting the DPP migration operation because the DPP automatic migration information included in the stored setup information indicates "NO". The processing at T1175 to T1184 is the same as the processing at T434 to T438 in Figure 9.
[0160] Subsequently, the same process as T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that a public key PKI is used and the printer 10I is the primary processor, and a Wi-Fi connection is established between the printer 10I and AP6.
[0161] (Case J1; Figure 18) Next, we will explain Case J1 with reference to Figure 18. Case J1 is a case in which DPP processing is performed between terminal 100 and printer 10J. In particular, Case J1 is a case in which the DPP transition information indicates "YES" because printer 10J does not store the CO. In Case J1, the same processing as T100~T104 and T110 in Figure 5 is performed, except that the public key PKJ1 is used. As will be explained in more detail later, the setup information for Case J1 includes the means information "NFC handover". The means information "NFC handover" is information indicating that information for establishing a Wi-Fi connection is communicated using NFC communication, and then the setup information is sent from printer 10J to terminal 100 using the Wi-Fi connection.
[0162] Printer 10J supplies WFD connection information to NFCI / F22 in T1212. WFD connection information is information used to establish a WFD connection between printer 10J and terminal 100 (for example, the SSID (Service Set Identifier) of the wireless network on which printer 10J operates as the WFD master station).
[0163] Subsequently, the same processes as those shown in Figure 5 (T120 and T122) are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). The processes of T1224 and T1226 are the same as those of T1024 and T1026 in Figure 16.
[0164] Terminal 100 receives WFD connection information from printer 10H via NFCI / F122 at T1227 using NFC connection, and establishes a WFD connection with printer 10J at T1028 using the received WFD connection information.
[0165] Terminal 100, using Wi-Fi I / F 116 on T1230, sends a setup information request to printer 10J using WFD connection.
[0166] When printer 10J receives a setup information request from terminal 100 at T1230, T1231 supplies the setup information to Wi-Fi I / F16, and T1232 transmits the setup information to terminal 100 via Wi-Fi I / F16 using the WFD connection. In this case, the setup information indicates "NFC handover" as the means information, PKJ1 as the public key, "YES" as the one-time information, and "YES" as the DPP automatic migration information.
[0167] When terminal 100 receives setup information from printer 10J (YES in S14 of Figure 4), it stores the setup information in T1234 (S20). Subsequently, in T1236, the WFD connection between terminal 100 and printer 10J is disconnected.
[0168] Subsequently, the means information included in the stored setup information indicates "NFC handover" (NO in S22), and the same process as T130~T152 in Figure 5 is executed, except that the public key PKJ1 is used and the printer 10J is the main entity performing the process.
[0169] Terminal 100 displays notification screen SC7 on display unit 114 in T1254 (see S34 in Figure 4 and Figure 16). Specifically, terminal 100 identifies a message prompting terminal 100 to touch printer 10H again, because the means information included in the stored setup information indicates "NFC handover" and the one-time information indicates "YES". By touching printer 10H again, terminal 100 can receive new setup information including the public key using the WFD connection established by the NFC handover. Subsequently, terminal 100 does not identify a message prompting a DPP transition operation because the DPP automatic transition information included in the stored setup information indicates "YES".
[0170] The processing of T1256 and T1260 is the same as the processing of T156 and T160 in Figure 6, except that the public key PKJ2 is used. The processing of T1262 is the same as the processing of T1212. Also, the processing of T1264 is the same as the processing of T1226.
[0171] Subsequently, the same process as in T1227-T1236 is executed, and terminal 100 acquires and stores setup information including the public key PKJ2. Then, the same process as in T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that the public key PKJ2 is used and the printer 10J is the main entity performing the process, and a Wi-Fi connection is established between printer 10J and AP6.
[0172] (Case J2; Figure 19) Next, we will explain Case J2 with reference to Figure 19. Case J2 is a case in which DPP processing is performed between terminal 100 and printer 10J. In particular, Case J2 is a case in which the DPP transition information indicates "NO" because printer 10J has already stored the CO. In Case J2, first, the same processing as T100 to T104 in Figure 5 is performed, except that the public key PKJ3 is used. The processing of T1272 is the same as the processing of T1212 in Figure 18.
[0173] Subsequently, the same processes as T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). The processes from T1274 to T1278 are the same as the processes from T1224 to T1228 in Figure 18.
[0174] Terminal 100, using Wi-Fi I / F116 on T1280, sends a serial number request to printer 10J via WFD connection, requesting the printer 10J to send its serial number.
[0175] When printer 10J receives a serial number request from terminal 100 via T1280, printer 10J transmits its serial number to terminal 100 via Wi-Fi I / F16 using WFD connection via T1282.
[0176] When terminal 100 receives the serial number from printer 10J at T1282, terminal 100 sends a DPP migration request to printer 10J via Wi-Fi I / F116 using WFD connection at T1284. Although not shown in the diagram, the DPP migration request includes a password. This password may be stored in advance at terminal 100 in association with the serial number of printer 10J, or it may be entered by the user after processing at T1282. Thus, in this case, it is not necessary to directly perform the DPP migration operation on printer 10J.
[0177] When printer 10J receives a DPP migration request from terminal 100 at T1282, it performs password authentication for the password included in the DPP migration request. In this case, since password authentication is successful, printer 10J executes processes T1286 to T1288. If authentication fails, printer 10J does not execute processes T1286 onwards. Processes T1286 and T1287 are the same as processes T156 and T160 in Figure 6, except that the public key PKJ3 is used. Process T1288 is the same as process T1231 in Figure 18, except that the setup information is different (specifically, the public key PKJ3 is used and the DPP automatic migration information "NO" is used).
[0178] The processing of T1289 to T1292 is the same as the processing of T1230 to T1236 in Figure 18, except that the setup information is different. Subsequently, the same processing as T130 to T152 in Figure 5 is executed, except that the public key PKJ3 is used and the main entity performing the processing is printer 10J.
[0179] At T1254, terminal 100 displays the notification screen SC7 on the display unit 114 (see S34 in Figure 4 and Figure 16). Specifically, terminal 100 identifies a message prompting it to touch printer 10J again, as the means information included in the stored setup information indicates "NFC handover" and the one-time information indicates "YES". Next, terminal 100 does not identify a message prompting a DPP transition operation, as the means information included in the stored setup information indicates "NFC handover". As described above, in this case, terminal 100 sends a DPP transition request to printer 10J using the WFD connection established by the NFC handover, so it is not necessary for terminal 10J to directly perform the DPP transition operation. The processing at T1296 is the same as the processing at T1276. After that, the same processing as at T1277 and T1278 is performed, and a WFD connection is established between terminal 100 and printer 10J.
[0180] The process of T1297 is the same as the process of T1284. Also, the process of T1298 is the same as the process of T156 in Figure 6, except that the public key PKJ4 is used. Subsequently, the same process as T1287 to T1292 is executed, and terminal 100 acquires and stores setup information including the public key PKJ4. Then, the same process as T130 to T144 in Figure 5 and T166 to T172 in Figure 6 is executed, except that the public key PKJ4 is used and the printer 10J is the main entity performing the process, and a Wi-Fi connection is established between printer 10J and AP6.
[0181] (Case K1; Figure 20) Next, we will explain Case K1 with reference to Figure 20. Case K1 is a case in which DPP processing is performed between terminal 100 and printer 10K. In particular, Case K1 is a case in which the DPP transition information indicates "YES" because printer 10K does not store the CO. As shown in Figure 2, the public key of printer 10K is not a one-time key. Printer 10K stores the public key PKK in advance from the time of shipment. In Case K1, first, the same processing as T100, T102, and T110 in Figure 5 is performed. The processing of T1312 is the same as the processing of T1212 in Figure 18.
[0182] Subsequently, the same processes as T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). Next, the same processes as T1224 to T1236 in Figure 18 are executed, and terminal 100 receives setup information from printer 10K using the WFD connection established by NFC handover and stores the setup information (YES in S12 and S14, S20). Then, the same processes as T130 to T152 in Figure 5 are executed, except that the public key PKK is used and the printer 10K is the main entity performing the processing.
[0183] Terminal 100 displays notification screen SC5 on display unit 114 in T1354 (see S34 in Figure 4 and Figure 9). Specifically, terminal 100 identifies a message prompting the execution of the DPP re-execution operation because the means information included in the stored setup information indicates "NFC handover" and the one-time information indicates "NO". This is because the public key of printer 10K is not a one-time key, so there is no need to reacquire the public key of printer 10K. Next, terminal 100 does not identify a message prompting the DPP migration operation because the DPP automatic migration information included in the stored setup information indicates "YES".
[0184] The process for T1360 is the same as the process for T160 in Figure 6. Similarly, the process for T1364 is the same as the process for T424 in Figure 9. Subsequently, the same process as T130-T144 in Figure 5 and T166-T172 in Figure 6 is executed, except that a public key PKK is used and the printer 10K is the main entity performing the process, and a Wi-Fi connection is established between the printer 10K and AP6.
[0185] (Case K2; Figure 20) Next, we will explain Case K2 with reference to Figure 20. Case K2 is a case in which DPP processing is performed between terminal 100 and printer 10K. In particular, Case K2 is a case in which the DPP transition information shows "NO" because printer 10K has already stored CO. In Case K2, first, the same processing as T100 and T102 in Figure 5 is performed. The processing of T1372 is the same as the processing of T1312 in Figure 19.
[0186] Subsequently, the same processes as T120 and T122 in Figure 5 are executed, and the notification screen SC1 is displayed (see S10 in Figure 4 and Figure 5). Next, the same processes as T1274 to T1292 in Figure 19 are executed, and terminal 100 receives setup information from printer 10K using the WFD connection established by NFC handover and stores the setup information (YES in S12 and S14, S20). Then, the same processes as T130 to T152 in Figure 5 are executed, except that a public key PKK is used and the printer 10K is the main entity performing the processing.
[0187] In step T1394, terminal 100 displays the notification screen SC7 on the display unit 114 (see S34 in Figure 4 and Figure 16). Specifically, terminal 100 identifies a message prompting terminal 100 to touch printer 10K again, since the means information included in the stored setup information indicates "NFC handover" and the DPP automatic migration information indicates "NO," but does not identify a message prompting a DPP migration operation. The processing in T1396 is the same as the processing in T1026 in Figure 6.
[0188] Subsequently, the same processes as those shown in T1277, T1278, T1284, T1287, and T1292 in Figure 19 are executed, and the state of printer 10K transitions from a DPP non-responsive state to a DPP responsive state. After that, the same processes as those shown in T130-T144 in Figure 5 and T166-T172 in Figure 6 are executed, except that a public key PKK is used and the printer 10K is the main entity performing the process, and a Wi-Fi connection is established between printer 10K and AP6.
[0189] (Summary of this example; Figure 21) Figure 21 summarizes this embodiment. Figure 21 shows the combination of the setup information output means, one-time information, DPP automatic migration information, and notification content of the re-execution means. For example, the second row of Figure 21 shows that the setup information can be output by displaying a QR code obtained by encoding the setup information, and for printer 10A, where the public key is a one-time key, if the DPP automatic migration information indicates "YES", a notification screen (SC2, see Figure 6) containing a message prompting the user to scan the QR code will be displayed if a Wi-Fi connection is not established between printer 10A and AP6 (Case A1, see Figures 5 and 6). The same applies to the other rows.
[0190] In particular, in cases A1 and A2, the notification screen includes a message prompting the user to scan the QR code (see notification screen SC2 in Figure 6 and notification screen SC3 in Figure 7), while in cases B1, B2, and C, the notification screen does not include a message prompting the user to scan the QR code but includes a message prompting the user to perform a DPP re-execution operation (see notification screens SC5 and SC6 in Figure 9). Also, in cases A1 and B1, the notification screen does not include a message prompting the user to perform a DPP migration operation (see notification screen SC2 in Figure 6 and notification screen SC5 in Figure 9), while in cases A2, B2, and C, the notification screen includes a message prompting the user to perform a DPP migration operation (see notification screen SC3 in Figure 7 and notification screen SC6 in Figure 9). Thus, when the setup information output means displays (or pastes) a QR code, the terminal 100 can display an appropriate notification screen corresponding to the one-time information and DPP migration information.
[0191] Furthermore, in cases D1 to G2, regardless of whether the one-time information indicates "YES" or "NO," the notification screen includes a message prompting the user to perform the DPP re-execution operation (see notification screens SC5 and SC6 in Figure 9, referenced in Figures 11 to 15). In particular, in cases D1, E1, and F1 to G2, the notification screen does not include a message prompting the user to perform the DPP migration operation (see notification screen SC2 in Figure 6, referenced in Figures 11 to 15, and notification screen SC5 in Figure 9), while in cases D2 and E2, the notification screen includes a message prompting the user to perform the DPP migration operation (see notification screen SC6 in Figure 9, referenced in Figures 11 and 12). Thus, terminal 100 can display an appropriate notification screen when the setup information output means is BT (i.e., BT(ADV_EXT) or BT(GATT)).
[0192] Furthermore, in cases H1 and H2, the notification screen includes a message prompting the user to touch the terminal to the printer (see notification screens SC7 and SC8 in Figure 16), while in cases I1 and I2, the notification screen does not include a message prompting the user to touch the terminal to the printer, but includes a message prompting the user to perform a DPP rerun operation (see notification screens SC5 and SC6 in Figure 9, which are referenced in Figure 17). In particular, in cases H1, I1, and J1-K2, the notification screen does not include a message prompting the user to perform a DPP migration operation (see notification screen SC7 in Figure 16, notification screen SC5 in Figure 9, which are referenced in Figures 17-20, and notification screen SC7 in Figure 16), while in cases H2 and I2, the notification screen includes a message prompting the user to perform a DPP migration operation (see notification screen SC8 in Figure 16, and notification screen SC6 in Figure 9, which is referenced in Figure 17). Thus, terminal 100 can display an appropriate notification screen when the setup information output means is NFC (i.e., NFC (direct communication) or NFC handover).
[0193] (Effects of this embodiment) According to the above configuration, printer 10A displays a QR code QRA1 obtained by encoding printer 10A's public key PKA1 and the one-time information "YES" on the display unit 14 (T112 in Figure 5). Terminal 100 obtains printer 10A's public key PKA1 and the one-time information "YES" by scanning the QR code QRA1 (T126 in Figure 5), and performs DPP processing using public key PKA1 (T130~T144 in Figure 5). If a Wi-Fi connection is not established between printer 10A and AP6, the one-time information indicates "YES," so printer 10A displays a QR code QRA2 obtained by encoding a public key PKA2, which is different from public key PKA1, on the display unit 14 (T162 in Figure 6). Terminal 100 obtains the public key PKA2 by scanning the QR code QRA2 (T164 in Figure 6) and performs DPP processing using the public key PKA2 (T130-T144 in Figure 5, as referenced in Figure 6). Printer 10B displays the QR code QRB1 obtained by encoding the printer 10B's public key PKB and the one-time information "NO" on its display unit (T412 in Figure 9). Terminal 100 obtains the printer 10B's public key PKB and the one-time information "NO" by scanning the QR code QRB1 (T126 in Figure 5, as referenced in Figure 9) and performs DPP processing using the public key PKB (T130-T144 in Figure 5, as referenced in Figure 9). If a Wi-Fi connection is not established between printer 10B and AP6, terminal 100 will see the one-time information as "NO" and will perform the DPP processing using the already obtained public key PKB again. The same applies when a QR code QRC, obtained by encoding the printer 10C's public key PKB and the one-time information "NO", is attached to the printer 10C's casing 50 (see Case C in Figure 10). In this way, when a Wi-Fi connection is not established between the printer 10 (i.e., each printer 10A to 10K) and AP6, the terminal 100 can switch whether or not to acquire a new public key depending on whether or not the public key is a one-time key. Therefore, when a Wi-Fi connection is not established between the printer and AP6, the terminal 100 can appropriately re-execute the DPP process.
[0194] Furthermore, according to the above configuration, if a Wi-Fi connection is not established between the first or second communication device and an external device, the terminal 100 displays a notification screen (see, for example, notification screen SC2 in Figure 6) indicating one of several methods (in this embodiment, QR code scanning, BT, NFC) for re-executing the DPP process, which is determined based on the means for obtaining the bootstrapping key. In this way, if a Wi-Fi connection is not established, the user can appropriately re-execute the DPP process according to the notification screen.
[0195] (Correspondence) Terminal 100, printer 10 (i.e., printers 10A to 10K), and AP6 are examples of the "first communication device," "second communication device," and "external device," respectively. Public key PKA1 and public key PKA2 are examples of the "first bootstrapping key" and "second bootstrapping key," respectively. QR code QRA1, QR code QRA2, QR code QRB1, and QR code QRC are examples of the "first output information," "second output information," "output information," and "code image," respectively. BT communication and NFC communication are examples of the "first communication" and "second communication," respectively. DPP non-response state and DPP response state are examples of the "non-response state" and "response state," respectively. DPP automatic transition information is an example of "transition information." Notification screen SC2 is an example of a "method screen." Notification screen SC3 is an example of both a "method screen" and a "notification screen." Auth Req, Auth Res, and the printer CO are examples of "authentication request," "authentication response," and "first connection information (and connection information)," respectively. The processing from T130 to T144 in Figure 5 is an example of "DPP processing." The CO stored by printer 10A in the initial state in Figure 7 is an example of "second connection information." Selecting the "QR code" in notification screen SC1 and taking a picture of the QR code are examples of "prescribed operations." The DPP transition operation is an example of "prescribed instructions."
[0196] The processes at T126 and T130-T144 in Figure 5 are examples of processes executed by the "first acquisition unit" and the "first DPP processing execution unit" of the "computer program," respectively. In particular, the processes at T130, T134, and T142 are examples of processes that "send an authentication request," "receive an authentication response," and "communicate the first connection information," respectively. The processes at T130-T144 in Figure 5, referenced in Figure 6, and the processes at T130-T144 in Figure 5, referenced in Figure 9, are examples of processes executed by the "second DPP processing execution unit" and the "third processing execution unit" of the "computer program," respectively. The process at T254 in Figure 7 and the process at T154 in Figure 6 are examples of processes executed by the "first display control unit (and second display control unit)" and the "second display control unit" of the "computer program," respectively.
[0197] The processes T112 and T130-T144 in Figure 5 are examples of processes executed by the "first output control unit" and the "first DPP processing execution unit" of the "second communication device," respectively. In particular, the processes T130, T134, and T142 are examples of processes that "receive an authentication request," "send an authentication response," and "communicate the first connection information (or connection information)," respectively. The processes T130-T144 in Figure 5, which are referenced in Figure 6, and the processes T130-T144 in Figure 5, which are referenced in the section of Figure 10 that says "same as T130-T144 in Figure 5 and T166-T172 in Figure 6," are examples of processes executed by the "second DPP processing execution unit" and the "third DPP processing execution unit" of the "second communication device," respectively. The process T162 in Figure 6 is an example of a process executed by the "second output control unit" of the "second communication device." The processes T104 in Figure 5, T204 in Figure 7, T156 in Figure 6, and T256 in Figure 7 are examples of processes executed by the "first generation unit," "second generation unit," "third generation unit," and "fourth generation unit" of the "second communication device," respectively.
[0198] The specific examples of the technology disclosed herein have been described in detail above, but these are merely illustrative and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes to the specific examples illustrated above. Modifications of the above embodiments are listed below.
[0199] (Modification 1) In the above embodiment, for example, DPP processing was performed between terminal 100 and printer 10A to establish a Wi-Fi connection between printer 10A and AP6. In modification, DPP processing may be performed between terminal 100 and printer 10A to establish a Wi-Fi connection between terminal 100 and AP6. In this modification, printer 10A may act as Configurator, terminal 100 may act as Enrollee, and printer 10A may send terminal CO to terminal 100. In this modification, terminal CO is an example of "first connection information (and connection information)". In another modification, DPP processing may be performed between terminal 100 and printer 10A to establish a Wi-Fi connection between terminal 100 and printer 10A. In this modification, terminal 100 or printer 10A is an example of "external device". In another variation, terminal 100 may, instead of sending printer CO including printer SC to printer 10A, send printer CO including AP6's SSID and password to printer 10A. In this variation, printer CO including AP6's SSID and password is an example of "first connection information (and connection information)".
[0200] (Modification 2) Terminal 100 may include a message prompting the user to perform a DPP migration operation, regardless of whether the DPP automatic migration information indicates "YES" or "NO". In particular, in this modification, the setup information does not need to include the DPP automatic migration information. In this case, each notification screen SC2, etc., may include a message prompting the user to perform a DPP migration operation. Generally speaking, the "first display control unit" of the "computer program" can be omitted.
[0201] (Modification 3) Setup information does not have to include means information. In this case, each notification screen SC2, etc., does not include a message that is identified based on the setup information output means of each printer 10 (for example, a message prompting the user to take a picture of a QR code), but only a message prompting the user to re-execute the setup. In this modification, the "second display control unit" of the "computer program" can be omitted. In another modification, the setup information does not include means information, and the terminal 100 itself may determine the means for acquiring the setup information. For example, when setup information is acquired in response to a QR code being photographed (see T126 in Figure 5), the terminal 100 may identify "QR code" as the means for acquiring the setup information. That is, the terminal 100 may determine and store one of the means used to acquire the setup information (i.e., QR code, BT(ADV_EXT), BT(GATT), NFC (direct communication), and NFC handover).
[0202] (Modification 4) Printer 10A may automatically generate a public key when the printer 10A is powered on, regardless of whether the CO is already stored or not. In this modification, the "second generation unit" of the "second communication device" can be omitted. In another modification, printer 10A may generate a public key after the printer 10A is powered on, when a DPP transition operation is received from the user, regardless of whether the CO is already stored or not. In this modification, the "first generation unit" of the "second communication device" can be omitted.
[0203] (Modification 5) Printer 10A may automatically generate a public key if a Wi-Fi connection is not established between printer 10A and AP6, regardless of whether the CO is already stored. In this modification, the "fourth generation unit" of the "second communication device" can be omitted. In another modification, printer 10A may generate a public key if a DPP transition operation is received from the user after a Wi-Fi connection has not been established between printer 10A and AP6, regardless of whether the CO is already stored. In this modification, the "third generation unit" of the "second communication device" can be omitted.
[0204] (Modification 6) In this embodiment, an example was described in which each printer 10 can execute one setup information output means (i.e., one of QR code, BT, or NFC). In the modification, the printer 10 may be configured to execute two or more of the above setup information output means. In this modification as well, a notification screen (e.g., SC2) is displayed based on the setup information acquisition means, so that if a Wi-Fi connection is not established, the user can appropriately re-execute the DPP process according to the notification screen.
[0205] (Modification 7) In this embodiment, terminal 100 simultaneously acquires setup information including four pieces of information: means information, public key, one-time information, and DPP automatic migration information (see, for example, T126 in Figure 5). In a modification, terminal 100 may acquire this information at different times rather than simultaneously. For example, printer 10A may generate and display four QR codes by encoding each piece of information, and acquire the setup information (i.e., the four pieces of information) by sequentially scanning these QR codes.
[0206] (Modification 8) In the above embodiment, each process in Figures 4 to 20 was implemented by software such as program 36, but at least one of these processes may be implemented by hardware such as a logic circuit.
[0207] The technical elements described herein or in the drawings demonstrate technical usefulness individually or in various combinations, and are not limited to the combinations described in the claims at the time of filing. Furthermore, the technologies illustrated herein or in the drawings can achieve multiple objectives simultaneously, and achieving even one of these objectives constitutes technical usefulness in itself.
[0208] Even if, in the claims of this patent application, each claim depends on only some of the claims, it is not limited to the claim being dependent only on those specific claims. To the extent that it is not technically contradictory, each claim may be dependent on other claims that were not dependent at the time of application. That is, the technologies of each claim can be combined in various ways as follows: (Item 1) A computer program for a first communication device, The first communication device is, A Wi-Fi interface for performing Wi-Fi communication in accordance with Wi-Fi standards, Computers and, Equipped with, The aforementioned computer program comprises the following components of the computer, namely: A first acquisition unit that, when a predetermined operation is performed, acquires a first bootstrapping key of a second communication device and one-time information indicating whether or not the first bootstrapping key is a one-time key. A first DPP processing execution unit that, when the first bootstrapping key and the one-time information are obtained, executes DPP processing in accordance with the Wi-Fi standard's DPP (Device Provisioning Protocol), The aforementioned DPP processing is The process involves sending an authentication request using the first bootstrapping key to the second communication device via the Wi-Fi interface, When the authentication request is transmitted to the second communication device, the process of receiving an authentication response from the second communication device via the Wi-Fi interface, When the authentication response is received from the second communication device, a process is performed to communicate first connection information with the second communication device via the Wi-Fi interface, wherein the first connection information is information for establishing a Wi-Fi connection between the first or second communication device and an external device via the Wi-Fi interface, and the process is described above. The first DPP processing execution unit includes, A second acquisition unit that acquires a second bootstrapping key of a second communication device different from the first bootstrapping key in the first case where the Wi-Fi connection is not established and the one-time information indicates that the first bootstrapping key is the one-time key, and in the second case where the Wi-Fi connection is not established and the one-time information indicates that the first bootstrapping key is not the one-time key, the second acquisition unit does not acquire the second bootstrapping key. In the first case, if the second bootstrapping key is obtained, a second DPP processing execution unit executes the DPP processing using the second bootstrapping key instead of the first bootstrapping key, In the second case, a third DPP processing execution unit re-executes the DPP processing using the acquired first bootstrapping key, A computer program that functions as such. (Item 2) The first acquisition unit further acquires transition information indicating whether or not the user needs to perform a transition operation on the second communication device in order to transition the state of the second communication device from an unresponsive state to a responsive state. The non-response state is a state in which the second communication device is unable to transmit the authentication response. The response state is a state in which the second communication device is capable of transmitting the authentication response. The aforementioned computer program further uses the computer, A computer program according to item 1, which causes a first display control unit to display a notification screen prompting the user to perform the migration operation on the display unit of the first communication device when the Wi-Fi connection is not established and the migration information indicates that the user needs to perform the migration operation on the second communication device, and which functions as the first display control unit in which the notification screen is not displayed when the Wi-Fi connection is not established and the migration information indicates that the user does not need to perform the migration operation on the second communication device. (Item 3) The aforementioned computer program further uses the computer, A computer program according to item 1 or 2, which functions as a second display control unit that, when the Wi-Fi connection is not established, causes the display unit of the first communication device to display a method screen indicating one method determined based on the means for obtaining the bootstrapping key, from among a plurality of methods for causing the first communication device to re-execute the DPP process. (Item 4) The computer program described in item 3, wherein the acquisition means is one of the following: capturing a code image, a first communication including Bluetooth® communication, or a second communication including NFC (Near Field Communication) communication. (Item 5) The first acquisition unit further acquires means information indicating the acquisition means, The computer program according to item 3 or 4, wherein the second display control unit causes the display unit to display a method screen showing one of the plurality of methods, which is determined based on the acquisition means indicated by the acquired means information. (Item 6) A second communication device, A first output control unit causes an output unit to output first output information obtained using the first bootstrapping key of the second communication device and one-time information indicating that the first bootstrapping key is a one-time key. A first DPP processing execution unit executes DPP processing in accordance with the Wi-Fi standard DPP (Device Provisioning Protocol) when the first bootstrapping key and the one-time information are acquired by the first communication device in response to the output of the first output information by the output unit, The aforementioned DPP processing is The process of receiving an authentication request using the first bootstrapping key from the first communication device via the Wi-Fi interface of the second communication device, When the authentication request is received from the first communication device, the process includes sending an authentication response to the first communication device via the Wi-Fi interface, When the authentication response is transmitted to the first communication device, the process involves communicating first connection information with the first communication device via the Wi-Fi interface, wherein the first connection information is information for establishing a Wi-Fi connection between the first communication device or the second communication device and an external device via the Wi-Fi interface. The first DPP processing execution unit includes, If the Wi-Fi connection is not established, a second output control unit causes the output unit to output second output information obtained using a second bootstrapping key of the second communication device, which is different from the first bootstrapping key. A second DPP processing execution unit executes the DPP processing in which the second bootstrapping key is used instead of the first bootstrapping key when the second bootstrapping key is acquired by the first communication device in response to the output of the second output information by the output unit, A second communication device equipped with the following: (Item 7) The second communication device further includes, The second communication device according to item 6, comprising a first generation unit that generates the first bootstrapping key when the power of the second communication device is turned on while the second connection information is not stored in the memory of the second communication device, wherein the second connection information is information for establishing a Wi-Fi connection between the second communication device and the external device via the Wi-Fi interface, and the first bootstrapping key is not generated when the power of the second communication device is turned on while the second connection information is stored in the memory. (Item 8) The second communication device further includes, The second communication device according to item 7, further comprising a second generation unit that generates the first bootstrapping key when a predetermined instruction is given by the user after the power of the second communication device has been turned on while the second connection information is stored in the memory. (Item 9) The second communication device further includes, The second communication device according to any one of items 6 to 8, comprising a third generation unit that generates a second bootstrapping key when the Wi-Fi connection is not established while the second connection information is not stored in the memory of the second communication device, wherein the second connection information is information for establishing a Wi-Fi connection between the second communication device and the external device via the Wi-Fi interface, and the second bootstrapping key is not generated when the Wi-Fi connection is not established while the second connection information is stored in the memory. (Item 10) The second communication device further includes, The second communication device according to item 9, further comprising a fourth generation unit that generates the second bootstrapping key when a predetermined instruction is given by the user after the Wi-Fi connection has not been established while the second connection information is stored in the memory. (Item 11) A second communication device, An output control unit causes an output unit to output output information obtained using the bootstrapping key of the second communication device and one-time information indicating that the bootstrapping key is not a one-time key, In response to the output information being output by the output unit, the bootstrapping key and the one-time information are acquired by the first communication device, and the first DPP processing execution unit performs DPP processing in accordance with the Wi-Fi standard DPP (abbreviation for Device Provisioning Protocol), The aforementioned DPP processing is The process of receiving an authentication request using the bootstrapping key from the first communication device via the Wi-Fi interface of the second communication device, When the authentication request is received from the first communication device, the process includes sending an authentication response to the first communication device via the Wi-Fi interface, When the authentication response is transmitted to the first communication device, the process involves communicating connection information with the first communication device via the Wi-Fi interface, wherein the connection information is information for establishing a Wi-Fi connection between the first or second communication device and an external device via the Wi-Fi interface. The first DPP processing execution unit includes, A third DPP processing execution unit re-executes the DPP processing using the bootstrapping key if the Wi-Fi connection is not established, A second communication device equipped with the following: (Item 12) A second communication device, A housing on which a code image obtained by encoding the bootstrapping key of the second communication device and one-time information indicating that the bootstrapping key is not a one-time key is attached, A first DPP processing execution unit that performs DPP processing in accordance with the Wi-Fi standard DPP (Device Provisioning Protocol) when the bootstrapping key and the one-time information are acquired by the first communication device in response to the code image being captured by the first communication device, The aforementioned DPP processing is The process of receiving an authentication request using the bootstrapping key from the first communication device via the Wi-Fi interface of the second communication device, When the authentication request is received from the first communication device, the process includes sending an authentication response to the first communication device via the Wi-Fi interface, When the authentication response is transmitted to the first communication device, the process involves communicating connection information with the first communication device via the Wi-Fi interface, wherein the connection information is information for establishing a Wi-Fi connection between the first or second communication device and an external device via the Wi-Fi interface. The first DPP processing execution unit includes, A third DPP processing execution unit re-executes the DPP processing using the bootstrapping key if the Wi-Fi connection is not established, A second communication device equipped with the following: [Explanation of symbols]
[0209] 2: Communication system, 6: AP, 10, 10A~10K: Printer, 12, 112: Operation unit, 14, 114: Display unit, 16, 116: Wi-Fi I / F, 18: Print execution unit, 20, 120: BTI / F, 22, 122: NFCI / F, 30, 130: Control unit, 32, 132: CPU, 34, 134: Memory, 36: Program, 100: Terminal, 118: Camera, 136: OS program, 138: Application
Claims
1. A computer program for a first communication device, The first communication device is A Wi-Fi interface for performing Wi-Fi communication in accordance with the Wi-Fi standard, Computers and, Equipped with, The aforementioned computer program comprises the following components of the computer, namely: A first acquisition unit that, when a predetermined operation is performed, acquires a first bootstrapping key of a second communication device and one-time information indicating whether or not the first bootstrapping key is a one-time key, A first DPP processing execution unit that, when the first bootstrapping key and the one-time information are acquired, executes DPP processing in accordance with the Wi-Fi standard's DPP (abbreviation for Device Provisioning Protocol), ◆DPP processing is, The process involves transmitting an authentication request using the first bootstrapping key to the second communication device via the Wi-Fi interface, When the authentication request is transmitted to the second communication device, the process of receiving an authentication response from the second communication device via the Wi-Fi interface, When the authentication response is received from the second communication device, the process of communicating first connection information with the second communication device via the Wi-Fi interface, wherein the first connection information is information for establishing a Wi-Fi connection between the first or second communication device and an external device via the Wi-Fi interface, and the process, The first DPP processing execution unit includes, A second acquisition unit that acquires a second bootstrapping key of a second communication device different from the first bootstrapping key in the first case where the Wi-Fi connection is not established and the one-time information indicates that the first bootstrapping key is the one-time key, and in the second case where the Wi-Fi connection is not established and the one-time information indicates that the first bootstrapping key is not the one-time key, the second acquisition unit does not acquire the second bootstrapping key. In the first case, if the second bootstrapping key is obtained, a second DPP processing execution unit executes the DPP processing using the second bootstrapping key instead of the first bootstrapping key, In the second case, a third DPP processing execution unit re-executes the DPP processing using the acquired first bootstrapping key, A computer program that functions as such.
2. The first acquisition unit further acquires transition information indicating whether or not the user needs to perform a transition operation on the second communication device in order to transition the state of the second communication device from an unresponsive state to a responsive state. The non-response state is a state in which the second communication device is unable to transmit the authentication response. The response state is a state in which the second communication device is capable of transmitting the authentication response. The aforementioned computer program further uses the computer, A computer program according to claim 1, which functions as the first display control unit, which displays a notification screen prompting the user to perform the migration operation when the Wi-Fi connection is not established and the migration information indicates that the user needs to perform the migration operation on the second communication device, and which does not display the notification screen when the Wi-Fi connection is not established and the migration information indicates that the user does not need to perform the migration operation on the second communication device.
3. The aforementioned computer program further uses the computer, The computer program according to claim 1, which functions as a second display control unit that, when the Wi-Fi connection is not established, causes the display unit of the first communication device to display a method screen indicating one method, which is determined based on the means for obtaining the bootstrapping key, from among a plurality of methods for causing the first communication device to re-execute the DPP process.
4. The computer program according to claim 3, wherein the acquisition means is one of the following means: capturing a code image, a first communication including Bluetooth® communication, and a second communication including NFC (Near Field Communication) communication.
5. The first acquisition unit further acquires means information indicating the acquisition means, The computer program according to claim 3, wherein the second display control unit causes the display unit to display a method screen showing one of the plurality of methods, which is determined based on the acquisition means indicated by the acquired means information.
6. A second communication device, A first output control unit causes an output unit to output first output information obtained using the first bootstrapping key of the second communication device and one-time information indicating that the first bootstrapping key is a one-time key. A first DPP processing execution unit executes DPP processing in accordance with the Wi-Fi standard DPP (abbreviation for Device Provisioning Protocol) when the first bootstrapping key and the one-time information are acquired by the first communication device in response to the output of the first output information by the output unit, ◆DPP processing is, The process of receiving an authentication request using the first bootstrapping key from the first communication device via the Wi-Fi interface of the second communication device, When the authentication request is received from the first communication device, the process includes sending an authentication response to the first communication device via the Wi-Fi interface, When the authentication response is transmitted to the first communication device, the process of communicating first connection information with the first communication device via the Wi-Fi interface, wherein the first connection information is information for establishing a Wi-Fi connection between the first communication device or the second communication device and an external device via the Wi-Fi interface, is described above. The first DPP processing execution unit includes, If the Wi-Fi connection is not established, a second output control unit causes the output unit to output second output information obtained using a second bootstrapping key of the second communication device, which is different from the first bootstrapping key. When the second output information is output by the output unit and the second bootstrapping key is acquired by the first communication device, a second DPP processing execution unit executes the DPP processing using the second bootstrapping key instead of the first bootstrapping key, A second communication device equipped with the following:
7. The second communication device further includes: The second communication device according to claim 6, comprising a first generation unit that generates the first bootstrapping key when the power of the second communication device is turned on while the second connection information is not stored in the memory of the second communication device, wherein the second connection information is information for establishing a Wi-Fi connection between the second communication device and the external device via the Wi-Fi interface, and the first bootstrapping key is not generated when the power of the second communication device is turned on while the second connection information is stored in the memory.
8. The second communication device further includes: The second communication device according to claim 7, further comprising a second generation unit that generates the first bootstrapping key when a predetermined instruction is given by a user after the power of the second communication device has been turned on while the second connection information is stored in the memory.
9. The second communication device further includes: The second communication device according to claim 6, comprising a third generation unit that generates the second bootstrapping key when the Wi-Fi connection is not established while the second connection information is not stored in the memory of the second communication device, wherein the second connection information is information for establishing a Wi-Fi connection between the second communication device and the external device via the Wi-Fi interface, and the second bootstrapping key is not generated when the Wi-Fi connection is not established while the second connection information is stored in the memory.
10. The second communication device further includes: The second communication device according to claim 9, further comprising a fourth generation unit that generates the second bootstrapping key when a predetermined instruction is given by the user after the Wi-Fi connection has not been established while the second connection information is stored in the memory.
11. A second communication device, An output control unit causes an output unit to output output information obtained using the bootstrapping key of the second communication device and one-time information indicating that the bootstrapping key is not a one-time key, In response to the output information being output by the output unit, the bootstrapping key and the one-time information are acquired by the first communication device, and the first DPP processing execution unit performs DPP processing in accordance with the Wi-Fi standard DPP (abbreviation for Device Provisioning Protocol), ◆DPP processing is, The process of receiving an authentication request using the bootstrapping key from the first communication device via the Wi-Fi interface of the second communication device, When the authentication request is received from the first communication device, the process includes sending an authentication response to the first communication device via the Wi-Fi interface, When the authentication response is transmitted to the first communication device, the process of communicating connection information with the first communication device via the Wi-Fi interface, wherein the connection information is information for establishing a Wi-Fi connection between the first or second communication device and an external device via the Wi-Fi interface, is performed. The first DPP processing execution unit includes, If the Wi-Fi connection is not established, a third DPP processing execution unit re-executes the DPP processing using the bootstrapping key, A second communication device equipped with the following:
12. A second communication device, A housing on which a code image obtained by encoding the bootstrapping key of the second communication device and one-time information indicating that the bootstrapping key is not a one-time key is attached, A first DPP processing execution unit executes DPP processing in accordance with the Wi-Fi standard DPP (abbreviation for Device Provisioning Protocol) when the bootstrapping key and the one-time information are acquired by the first communication device in response to the code image being captured by the first communication device, ◆DPP processing is, The process of receiving an authentication request using the bootstrapping key from the first communication device via the Wi-Fi interface of the second communication device, When the authentication request is received from the first communication device, the process includes sending an authentication response to the first communication device via the Wi-Fi interface, When the authentication response is transmitted to the first communication device, the process of communicating connection information with the first communication device via the Wi-Fi interface, wherein the connection information is information for establishing a Wi-Fi connection between the first or second communication device and an external device via the Wi-Fi interface, is performed. The first DPP processing execution unit includes, If the Wi-Fi connection is not established, a third DPP processing execution unit re-executes the DPP processing using the bootstrapping key, A second communication device equipped with the following: