Information processing device, communication device, control method thereof, and program

The described communication device and information processing device use multiple protocols to enhance the convenience and security of network setup by ensuring successful connection establishment through protocol switching and retry mechanisms.

JP7790904B2Active Publication Date: 2025-12-23CANON KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021152129
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-17
Publication Date
2025-12-23
Estimated Expiration
2041-09-17

AI Technical Summary

Technical Problem

The convenience of connecting communication devices to access points needs improvement, particularly in network setup processes.

Method used

A communication device and information processing device utilize multiple protocols to facilitate network setup, including a first protocol for initial communication and a second protocol for secure connection establishment, with controls for retrying connection attempts if initial attempts fail, ensuring secure and convenient network setup.

Benefits of technology

Enables a highly convenient and secure network setup process by ensuring successful connection establishment through protocol switching and retry mechanisms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007790904000001
    Figure 0007790904000001
  • Figure 0007790904000002
    Figure 0007790904000002
  • Figure 0007790904000003
    Figure 0007790904000003
Patent Text Reader

Abstract

To improve the convenience of a function to connect a communication device and an access point to each other.SOLUTION: A communication device communicating with an information processing apparatus has: first control means that, based on receiving, from the information processing apparatus, a request to start a state in which the communication with the information processing apparatus can be executed through communication with the information processing apparatus according to a first protocol, executes first control of starting a first state in which the communication with the information processing apparatus according to a second protocol different from the first protocol can be executed; and first connection means that, when connection information for the communication device to connect to an access point is acquired from the information processing apparatus through the communication between the communication device and the information processing apparatus according to the second protocol in the first state, establishes the connection between the communication device and the access point by using the connection information.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, a communication device, a control method thereof, and a program. [Background technology]

[0002] BACKGROUND ART There is known a technique in which an information processing device such as a PC (personal computer) transmits information about an access point to a communication device such as a printer, thereby connecting the communication device to the external device. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2016-127545 Summary of the Invention [Problem to be solved by the invention]

[0004] However, as the function of transmitting connection information for connecting a communication device to an access point and connecting the communication device to the access point becomes more widespread, there is a demand for improving the convenience of this function.

[0005] The present invention has been made in view of the above-mentioned problems, and has an object to improve the convenience of the function of connecting a communication device to an access point. [Means for solving the problem]

[0006] In order to solve the above-mentioned problems, a communication device according to the present disclosure includes: A communication device that communicates with an information processing device, via communication with the information processing device using a first protocol, According to a second protocol different from the first protocol capable of communicating with the information processing device 1sta first control means for executing a first control to start the first state based on a request to start the first state received from the information processing device; the information processing device according to the second protocol; Between the communication device Used for communication of communication Transmitting information via communication with the information processing device using the first protocol. No. 1 A transmitting means; The said transmitted by the first protocol communication a communication means for executing communication with the information processing device according to the second protocol based on the information; The connection information for the communication device to connect to the access point is transmitted by the first protocol. communication a second control means for executing a second control to establish a connection between the communication device and the access point using the connection information when the connection information is acquired from the information processing device through communication with the information processing device using the second protocol based on the information; a second transmitting means for transmitting, to the information processing device via communication with the information processing device according to the first protocol, predetermined information indicating whether or not a connection between the communication device and the access point has been successfully established by the second control executed using the connection information acquired from the information processing device via communication with the information processing device according to the second protocol; an acquisition means for acquiring, when information indicating that the establishment of a connection between the communication device and the access point was not successful due to the second control executed using the connection information acquired from the information processing device via communication with the information processing device using the second protocol, as the predetermined information to the information processing device via communication with the information processing device using the first protocol; a third control means for executing a third control to establish a connection between the communication device and the access point using the connection information when the connection information is acquired from the information processing device through communication with the information processing device using the first protocol; The present invention is characterized by having the following.

[0007] In order to solve the above-mentioned problems, the program according to the present disclosure includes: A computer of an information processing device that communicates with the communication device, The first protocol communication equipment a first control step of executing a first control to cause the communication device to transmit a start request to start a first state in which communication with the information processing device can be performed using a second protocol different from the first protocol, via communication with the information processing device; the information processing device according to the second protocol; Between the communication device Used for communication of communication The information is transmitted to the communication equipment Receive via communication with No. 1 Reception Steps and, The received signal according to the first protocol communicationa communication step of performing communication with the communication device according to the second protocol based on the information; The communication device receives connection information for connecting to an access point according to the first protocol. communication and transmitting the information to the communication device via communication with the communication device according to the second protocol. Second control for executing second control Steps and a second receiving step of receiving, from the communication device via communication with the communication device according to the first protocol, predetermined information indicating whether or not a connection between the communication device and the access point has been successfully established based on the connection information transmitted to the communication device via communication with the communication device according to the second protocol as a result of the second control being executed; a third control step of executing a third control to transmit the connection information to the communication device via communication with the communication device according to the first protocol when information indicating that establishment of a connection between the communication device and the access point was not successful is received from the communication device as the predetermined information due to the execution of the second control and the connection information transmitted to the communication device via communication with the communication device according to the second protocol; The present invention is characterized in that the following is executed. [Effects of the Invention]

[0008] According to the present invention, it is possible to perform a highly convenient network setting operation while ensuring security. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 2 is a diagram illustrating the configuration of an information processing device, a communication device, and an access point. [Figure 2] FIG. 10 is a diagram illustrating an example of a GATT database of a communication device. [Figure 3] 10 is a flowchart showing a flow of processes executed by an information processing device in a network setup process. [Figure 4] 10 is an example of a screen for capturing a QR code (registered trademark) displayed by a setting application. [Figure 5] FIG. 10 is a sequence diagram illustrating processing executed by an information processing device and a communication device. [Figure 6] This is an example of the WEC start screen. [Figure 7] FIG. 10 is a sequence diagram illustrating processing executed by an information processing device and a communication device. [Figure 8] 10 is a flowchart showing the flow of a setup process executed by a communication device in a network setup process. [Figure 9]10 is a flowchart showing the flow of a setup process executed by a communication device in a network setup process. [Figure 10] FIG. 10 is a flowchart showing a DPP standby mode start process. [Figure 11] FIG. 10 is a flowchart illustrating a WEC process executed by a communication device. DETAILED DESCRIPTION OF THE INVENTION

[0010] Preferred embodiments of the present invention will be described below by way of example with reference to the drawings. However, it should be understood that the scope of the present invention also includes appropriate modifications and improvements to the embodiments described below based on the ordinary knowledge of those skilled in the art, provided that the modifications and improvements do not deviate from the spirit of the present invention.

[0011] (First embodiment) An information processing device and a communication device included in the communication system of this embodiment will be described. In this embodiment, a smartphone is used as an example of the information processing device, but this is not a limitation. For example, various devices, such as a mobile terminal, a personal computer (PC), a tablet terminal, a personal digital assistant (PDA), and a digital camera, can be used as the information processing device. In this embodiment, a printer is used as an example of the communication device, but this is not a limitation. Various devices capable of wireless communication with the information processing device can be used. For example, printers can be inkjet printers, full-color laser beam printers, monochrome printers, and the like. Furthermore, the present invention can be applied not only to printers but also to copiers, facsimile machines, mobile terminals, smartphones, laptop PCs, tablet terminals, PDAs, digital cameras, music playback devices, televisions, smart speakers, and the like. It can also be applied to multifunction peripherals equipped with multiple functions, such as copying, faxing, and printing.

[0012] In this embodiment, the information processing device can execute a function called Wi-Fi Easy Connect (hereinafter, WEC) (registered trademark) if it supports this function. WEC is a function that performs network setup of other devices using the Device Provisioning Protocol (hereinafter, DPP) established by the Wi-Fi Alliance. Specifically, network setup of other devices is the process of connecting other devices to access points that form a network. In WEC, communication occurs between a device operating in the role of "Configurator" (hereinafter, Configurator device) and a device operating in the role of "Enrollee" (hereinafter, Enrollee device). The Configurator device acquires bootstrap information from the Enrollee device. The bootstrap information includes, for example, the Enrollee device's identification information (e.g., MAC address) and public key information used for secure communication with the Enrollee device. In this embodiment, the bootstrap information is described as "WEC-related information." Other information may also be treated as WEC-related information. The Configurator device then uses the acquired bootstrap information to perform wireless communication with the Enrollee device. Specifically, for example, the Configurator device encrypts a protocol key using the public key included in the Bootstrapping information and transmits the encrypted protocol key to the Enrollee device. The Configurator device then encrypts a common key based on the encrypted protocol key and transmits information encrypted using the common key to the Enrollee device. The information transmitted here is, for example, connection information for connecting to an access point. The Enrollee device then establishes a wireless connection with the access point using the connection information received from the Configurator device. In the network setup process using WEC in this embodiment, an information processing device compatible with WEC will operate as a Configurator device, and a communication device compatible with WEC will operate as an Enrollee device.

[0013] First, the configuration of an information processing device of this embodiment and a communication device capable of communicating with the information processing device of this embodiment will be described with reference to the block diagram of Fig. 1. In addition, the following configuration will be described as an example in this embodiment, but this embodiment is applicable to devices capable of communicating with the communication device, and the functions are not particularly limited to those shown in this diagram.

[0014] The information processing device 101 is an information processing device of this embodiment. The information processing device 101 includes an input interface 102, a CPU 103, a ROM 104, a RAM 105, an external storage device 106, an output interface 107, a display unit 108, a communication unit 110, a short-range wireless communication unit 111, etc. The CPU 103, the ROM 104, the RAM 105, etc. form a computer of the information processing device 101.

[0015] The input interface 102 is an interface for receiving data input and operational instructions from a user by operating an operation unit such as a keyboard 109. The operation unit may be a physical keyboard, physical buttons, etc., or a soft keyboard, soft buttons, etc. displayed on the display unit 108. In other words, the input interface 102 may receive input from the user via the display unit 108.

[0016] The CPU 103 is a system control unit that controls the entire information processing device 101 .

[0017] The ROM 104 stores fixed data such as control programs and data tables executed by the CPU 103, and embedded operating system (hereinafter referred to as OS) programs. In this embodiment, each control program stored in the ROM 104 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 104.

[0018] The RAM 105 is configured with an SRAM (Static Random Access Memory) or the like that requires a backup power source. Note that the RAM 105 holds data using a primary battery (not shown) for data backup, so that important data such as program control variables can be stored without volatilization. The RAM 105 also has a memory area for storing setting information for the information processing device 101, management data for the information processing device 101, and the like. The RAM 105 is also used as the main memory and work memory for the CPU 103.

[0019] The external storage device 106 stores an application program (hereinafter, a setting application) for executing network setup of the communication device 151, a print information generation program for generating print information that can be interpreted by the communication device 151, and the like. The setting application is an application program for configuring an access point to which the communication device 151 is connected using a WEC or the like. The setting application may have functions other than the network setup function. For example, the setting application may have a function for causing the communication device 151 to execute printing, a function for causing a document placed in the communication device 151 to be scanned, a function for checking the status of the communication device 151, and the like. The setting application is stored in the external storage device 106 by being installed from an external server, for example, via Internet communication via the communication unit 110. The external storage device 106 also stores various programs, such as an information transmission / reception control program, transmitted and received between the communication device 151 connected via the communication unit 110 and the communication device 151, as well as various information used by these programs.

[0020] The output interface 107 is an interface that controls the display unit 108 to display data and notify the status of the information processing device 101 .

[0021] The display unit 108 is configured with an LED (light emitting diode) and an LCD (liquid crystal display), and displays data and notifies the status of the information processing device 101.

[0022] The communication unit 110 is configured to connect to devices such as the communication device 151 and the access point 131 to perform data communication. For example, the communication unit 110 can connect to an access point (not shown) within the communication device 151. By connecting the communication unit 110 to the access point within the communication device 151, the information processing device 101 and the communication device 151 can communicate with each other. The communication unit 110 may communicate directly with the communication device 151 via wireless communication, or may communicate via an external device located outside the information processing device 101 or the communication device 151. The external device includes an external access point (such as the access point 131) located outside the information processing device 101 and the communication device 151, and a device other than an access point that can relay communication. In this embodiment, the wireless communication method used by the communication unit 110 is Wi-Fi (Wireless Fidelity) (registered trademark), which is a communication standard conforming to the IEEE 802.11 series. The above-mentioned WEC is performed through communication by the communication unit 110. The access point 131 may be, for example, a device such as a wireless LAN router. In this embodiment, a method in which the information processing device 101 and the communication device 151 are directly connected without going through an external access point is called a direct connection method. A method in which the information processing device 101 and the communication device 151 are connected through an external access point is called an infrastructure connection method.

[0023] The short-range wireless communication unit 111 is configured to perform data communication by wirelessly connecting to a device such as the communication device 151 at a short distance, and performs communication using a communication method different from that of the communication unit 110. The short-range wireless communication unit 111 can be connected to, for example, a short-range wireless communication unit 157 in the communication device 151. Examples of communication methods include Near Field Communication (NFC), Bluetooth (registered trademark) Classic, Bluetooth Low Energy (BLE), and Wi-Fi Aware. In this embodiment, the wireless communication method used by the short-range wireless communication unit 111 will be described as Bluetooth Low Energy (hereinafter, referred to as BLE). In this embodiment, the information processing device 101 operates as a scanner in accordance with the BLE standard, and after connecting to the information processing device 101 via BLE, operates as a master in accordance with the BLE standard.

[0024] In this embodiment, the information processing apparatus 101 executes the WEC using the OS of the information processing apparatus 101 based on an instruction to execute a network setup process by the setting application.

[0025] The communication device 151 is the communication device of this embodiment. The communication device 151 includes a ROM 152, a RAM 153, a CPU 154, a print engine 155, a communication unit 156, a short-range wireless communication unit 157, etc. The ROM 152, the RAM 153, the CPU 154, etc. form a computer of the communication device 151.

[0026] The communication unit 156 has an access point for connecting to devices such as the information processing device 101 as an access point within the communication device 151. The access point can be connected to the communication unit 110 of the information processing device 101. When the communication unit 156 enables the access point, the communication device 151 operates as an access point. The communication unit 156 may wirelessly connect to the information processing device 101 directly or via the access point 131. In this embodiment, the wireless communication method used by the communication unit 156 is a communication standard conforming to the IEEE 802.11 series. In the following description, Wi-Fi (Wireless Fidelity) (registered trademark) is a communication standard conforming to the IEEE 802.11 series. If the communication device 151 supports WEC, the WEC described above is executed through communication by the communication unit 156. The communication unit 156 may be provided with hardware that functions as an access point, or may operate as an access point using software that causes it to function as an access point.

[0027] The communication device 151 of this embodiment is operable in infrastructure mode and P2P (Peer to Peer) mode as modes for performing communication using the communication unit 156.

[0028] The infrastructure mode is a mode in which the communication device 151 communicates with other devices, such as the information processing device 101, via an external device (e.g., the access point 131) that forms a network. A connection with an external access point established by the communication device 151 operating in the infrastructure mode is called an infrastructure connection (hereinafter, referred to as an infrastructure connection). In this embodiment, in the infrastructure connection, the communication device 151 operates as a slave station, and the external access point operates as a master station. In this embodiment, the master station is a device that determines a communication channel to be used in the network to which the master station belongs, and the slave station is a device that does not determine a communication channel to be used in the network to which the slave station belongs, but uses the communication channel determined by the master station.

[0029] The P2P mode is a mode in which the communication device 151 communicates directly with other devices, such as the information processing device 101, without going through an external device that forms a network. In this embodiment, the P2P mode includes an AP mode in which the communication device 151 operates as an access point. The connection information (SSID and password) of the access point enabled in the communication device 151 in the AP mode can be arbitrarily set by the user. The P2P mode may also include, for example, a WFD mode in which the communication device 151 communicates via Wi-Fi Direct (WFD). Which of multiple WFD-compatible devices operates as a master station is determined, for example, according to a sequence called Group Owner Negotiation. The master station may also be determined without executing Group Owner Negotiation. A WFD-compatible device that also serves as a master station is particularly referred to as a Group Owner. A direct connection with another device established by the communication device 151 operating in P2P mode is referred to as a direct connection. In this embodiment, in a direct connection, the communication device 151 operates as a master station, and the other devices operate as slave stations.

[0030] In addition, in this embodiment, the communication device 151 can operate in a network setup mode, which is a mode for performing network setup of the communication device 151, by receiving a predetermined operation from the user. The network setup mode is a mode for performing either network setup using BLE communication or network setup using Wi-Fi communication. When operating in the network setup mode, the communication device 151 operates as a setup access point that is valid while operating in the network setup mode, by using the communication unit 156. The setup access point is an access point that is different from the access point that is enabled in the AP mode described above. The SSID of the setup access point includes a predetermined character string that can be recognized by a setting application of the information processing device 101. The setup access point is an access point that does not require a password for connection. The communication device 151 operating in the network setup mode uses a predetermined communication protocol (setup communication protocol) to communicate with the information processing device 101 connected to the setup access point. Specifically, the setup communication protocol is, for example, Simple Network Management Protocol (SNMP). After starting operation in the network setup mode, the communication device 151 stops operation in the network setup mode and disables the setup access point after a predetermined time has elapsed. This is because, as described above, the setup access point is an access point that does not require a password, and if it is enabled for a long period of time, there is a high possibility that an inappropriate device will request connection. Note that the setup access point may be an access point that requires a password. In this case, the password used to connect to the setup access point is a fixed password (that cannot be changed by the user) that is known in advance by the setting application.

[0031] Furthermore, in this embodiment, communication device 151 can operate in a DPP standby mode, which is a mode for executing network setup of communication device 151 using DPP. The DPP standby mode will be described later with reference to FIG.

[0032] The short-range wireless communication unit 157 is configured to establish a short-range wireless connection with a device such as the information processing device 101, and can be connected to, for example, the short-range wireless communication unit 111 in the information processing device 101. Examples of communication methods include NFC, Bluetooth Classic, BLE, and Wi-Fi Aware.

[0033] As described above, in this embodiment, the communication device 151 can operate in a network setup mode, which is a mode for performing network setup of the communication device 151, by receiving a predetermined operation from the user. When operating in the network setup mode, the communication device 151 can further operate in a BLE setup mode in which setup using BLE communication can be performed and BLE communication can be performed. Specifically, when operating in a mode in which BLE communication can be performed, the communication device 151 beacons BLE advertising information at specific intervals. Note that the communication device 151 can also operate in a non-BLE setup mode in which setup using BLE communication is not performed but other functions using BLE communication can be performed and BLE communication can be performed. When in the non-BLE setup mode, the communication device 151 transmits advertising information indicating that the mode is the non-BLE setup mode, and when in the BLE setup mode, the communication device 151 transmits advertising information indicating that the mode is the BLE setup mode. This notifies the information processing device 101 that the communication device 151 is in the BLE setup mode. Note that the communication device 151 may transmit advertising information with the same content when in the non-BLE setup mode and when in the BLE setup mode. When the communication device 151 receives a probe request transmitted from the information processing device 101 that has received the advertising information with the same content, the communication device 151 may transmit advertising information with different content depending on whether the communication device 151 is in the BLE setup mode or the non-BLE setup mode. That is, in this embodiment, the communication device 151 operates as an advisor in the BLE standard, and after establishing a BLE connection with the information processing device 101, operates as a slave in the BLE standard.BLE advertising information is composed of, for example, a preamble, which is data for clock synchronization between devices that transmit and receive the advertising information; an access address, which is data for frame synchronization related to the advertising information; a protocol data unit (PDU), which is the actual data portion of the advertising information; a CRC, which is a data error detection code value for the PDU 1303; and a constant tone extension (CTE), which is data used to enable devices that transmit and receive the advertising information to detect each other's direction. Furthermore, the PDU is composed of a header and a payload, and the header stores information such as the type of advertising information and the size of the payload. The payload is composed of a device name, connection information, TxPower, and identification information. The device name stores a user-friendly name of the information processing device 101. The connection information stores connection information for connecting the communication device 151 to BLE. The TxPower stores the transmission power of the advertising information. A terminal that receives the advertising information can measure the distance from the information processing device 101 by measuring TxPower and received signal strength RSSI (Received Signal Strength Indication). The identification information stores device-specific ID information of the communication device 151 and connection support information related to WEC, and indicates that the communication device 151 can be set up using WEC.

[0034] The communication device 151 reduces the execution of setup unintended by the user by outputting BLE advertising information only when the power is turned on by the user for the first time or when the device is put into a mode in which BLE communication can be performed by user operation.Furthermore, the execution of setup unintended by the user is reduced by ending the BLE setup mode after a specific time has elapsed.

[0035] Note that BLE advertising information has a Connectable mode that allows BLE connections, which will be described later, and a Non-Connectable mode that does not allow BLE connections. Changing these modes can also reduce the risk of setups being executed unintentionally by the user.

[0036] The communication unit 156 and the short-range wireless communication unit 157 may be one wireless unit, which is one communication module that uses at least one antenna.

[0037] The RAM 153 is composed of an SRAM or the like that requires a backup power source. Since the RAM 153 holds data using a primary battery (not shown) for data backup, it can store important data such as program control variables without volatilizing it. The RAM 153 also has a memory area for storing setting information for the communication device 151, management data for the communication device 151, and the like. The RAM 153 is also used as the main memory and work memory for the CPU 154, and stores a receive buffer for temporarily storing print information received from the information processing device 101, etc., as well as various other information.

[0038] The ROM 152 stores fixed data such as control programs, data tables, and OS programs executed by the CPU 154. In this embodiment, each control program stored in the ROM 152 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 152.

[0039] The CPU 154 is a system control unit that controls the entire communication device 151 .

[0040] The print engine 155 forms an image on a recording medium such as paper by applying a recording agent such as ink to the recording medium based on information stored in the RAM 153 and a print job received from the information processing device 101 or the like, and outputs the print result. Generally, the amount of data in a print job transmitted from the information processing device 101 or the like is large, so a communication method capable of high-speed communication is required for communicating the print job. Therefore, the communication device 151 receives the print job via the communication unit 156, which is capable of communication at higher speeds than the short-range wireless communication unit 157.

[0041] Note that the communication device 151 may be equipped with an optional memory such as an external HDD or SD card, and the information stored in the communication device 151 may be stored in the memory.

[0042] In this embodiment, BLE communication includes communication using advertisement information and Generic Attribute Profile (GATT) communication. Here, an overview of GATT communication in the BLE standard will be described. GATT communication is communication realized by the GATT protocol. In this embodiment, communication via a BLE connection is assumed to be GATT communication. In GATT communication, two roles, a GATT client and a GATT server, are defined based on the source and destination of data transfer. The GATT client transmits a write or read request to a GATT database 1500 provided by the GATT server and receives a response from the GATT server. In this embodiment, the communication device 151 serves as the GATT server, and the information processing device 101 serves as the GATT client.

[0043] Next, we will explain the GATT data format. GATT data consists of three elements called services, characteristics, and descriptors. Note that the descriptor does not necessarily have to be included.

[0044] Services, characteristics, and descriptors can be identified by a 32-digit Universally Unique Identifier (UUID). However, information defined by the Bluetooth SIG is expressed in four digits. UUIDs are used as identifiers to uniquely identify objects in software. UUIDs are 128-bit numbers, but are usually expressed in hexadecimal, such as "550e8400-e29b-41d4-a716-446655440000."

[0045] A characteristic has a single value for each characteristic. A descriptor has attribute values ​​that are used when additional information is required for a characteristic. Services, characteristics, and descriptors can each set read / write attributes and security attributes for the GATT client.

[0046] A GATT client can read or write the values ​​of each characteristic by specifying the UUID of each service or characteristic. However, whether or not reading or writing can be performed depends on the read attribute or write attribute set for each service or characteristic.

[0047] 2 is a table showing an example of a database configuration provided as a GATT server in the short-range wireless communication unit 157 of the communication device 151 in this embodiment. Five characteristics are provided for the vendor's unique service name "Original" (Service UUID: 00000000-0000-1000-1000-00405f9b34fb). For each characteristic, a read attribute or write attribute and an attribute indicating whether or not to encrypt the data to be saved are defined.

[0048] Bootstrapping information 1501 is the aforementioned WEC-related information that is stored with a read attribute and in an encrypted state. STA status 1502 stores, with a read attribute, whether the communication device 151 has started DPP standby mode, making it possible to obtain information about the STA of the communication device 151. Start Listen Mode 1503 is a database with a write attribute, into which the information processing device 101 can start DPP standby mode. Connect status 1504 information stores information about whether the communication device 151 has successfully established a connection with an access point via WEC, and information about whether the communication device 151 has failed to establish a connection with an access point via WEC. Information about the cause of the failure is also included. Note that the Connect status 1504 information also includes information about the idle state before connection, information about the DPP connection state while WEC is being executed via a DPP connection, and information about an infrastructure connection state indicating an infrastructure connection. Information about an error state is also included. Error states include failures in each phase of DPP authentication, DPP configuration, connection to the destination access point, authentication, etc. Device state 1505 holds the operating state, communication status, error state, etc. of communication device 151 as read attributes.

[0049] Fig. 3 is a flowchart showing the flow of processing executed by the information processing device 101 in the network setup processing of this embodiment. The flowchart shown in Fig. 2 is realized, for example, by the CPU 103 reading out a setting application stored in the ROM 104, the external storage device 106, etc. into the RAM 105 and executing it. The flowchart shown in Fig. 2 is started in response to a predetermined operation for network setup (hereinafter referred to as a setting operation) being performed on a screen displayed by the setting application.

[0050] First, in S200, the CPU 103 acquires information about the access point to which the information processing device 101 was wirelessly connected via Wi-Fi when at least the setting operation was performed (hereinafter, referred to as the connected AP). Note that in this embodiment, the information processing device 101 does not switch the access point to which it is connected after the setting operation is performed, and therefore the access point is also the access point to which the information processing device 101 is currently connected in S200. The information includes information (such as the SSID and information indicating the encryption method) for connecting to the access point to which the information processing device 101 is wirelessly connected via Wi-Fi. Note that the acquired information is saved in a predetermined storage area of ​​the memory of the information processing device 101. Note that if the information processing device 101 is not connected to any access point via Wi-Fi when the setting operation is performed, this process is omitted.

[0051] Next, in step S201, the CPU 103 instructs the OS of the information processing device 101 to search for devices that are compatible with BLE in the vicinity of the information processing device 101, and acquires the search results using the setting application.

[0052] Next, in S202, the CPU 103 determines whether or not there is a communication device 151 that supports BLE among the search results acquired in S201. As described above, in this embodiment, the communication device 151 operating in a mode in which BLE communication can be performed outputs advertising information. The CPU 103 determines whether or not the communication device 151 supports BLE by reading the above-described device name, connection information, identification information, and the like included in the advertising information. If the determination is YES, the CPU 103 proceeds to S203, and if the determination is NO, the CPU 103 proceeds to S219. Note that the CPU 103 may display the searched communication devices 151 that support BLE on the display unit 108 and allow the user to select a communication device 151 for which network setup is to be performed. Then, in S203, an attempt may be made to establish a BLE connection between the selected BLE-compatible communication device 151 and the information processing device 101.

[0053] In S203, the CPU 103 attempts to establish a BLE connection between the information processing device 101 and the BLE-compatible communication device 151 included in the search result.

[0054] Next, in S204, the CPU 103 determines whether or not the BLE connection has been successfully established in S203. If the determination is YES, the CPU 103 proceeds to S205, and if the determination is NO, the CPU 103 proceeds to S219.

[0055] In S205, the CPU 103 acquires capability information of the information processing device 101 from the OS. In this embodiment, the capability information includes information indicating whether the information processing device 101 supports WEC. Note that the content of the capability information differs depending on the model, model number, etc. of the information processing device 101.

[0056] Next, in S206, the CPU 103 determines whether the information processing device 101 was connected to an access point via Wi-Fi when the setting operation was performed and whether the information processing device 101 supports WEC. In this embodiment, the communication device 151 can maintain a BLE connection and a Wi-Fi connection in parallel. That is, if the information processing device 101 was connected to an access point via Wi-Fi when the setting operation was performed, it is still connected to the access point at the time of the determination in S206. Therefore, in this embodiment, the access point to which the information processing device 101 was connected via Wi-Fi when the setting operation was performed is also the access point to which the information processing device 101 is currently connected via Wi-Fi. Here, for example, if the information processing device 101 was not connected to an access point via Wi-Fi when the setting operation was performed, the determination is NO. Furthermore, for example, if the information processing device 101 was connected to an access point via Wi-Fi when the setting operation was performed but the information processing device 101 does not support WEC, the determination is NO. Whether the information processing device 101 was connected to an access point via Wi-Fi when the setting operation was performed is determined based on whether information about the connected AP is stored in the predetermined storage area. Whether the information processing device 101 supports WEC is determined based on the content of the capability information acquired in S205. If the determination is YES, the CPU 103 proceeds to S207, and if the determination is NO, the CPU 103 proceeds to S223.

[0057] In S207, the CPU 103 attempts to acquire various information from the communication device 151 via the BLE connection between the communication device 151 operating in the BLE setup mode and the information processing device 101. Specifically, the CPU 103 reads various information from the GATT database 1500 of the communication device 151. The acquired information includes, for example, the WEC-related information and information indicating whether the communication device 151 supports WEC. If the communication device 151 does not support WEC, information indicating that the communication device 151 does not support WEC is acquired, and the WEC-related information is not acquired. If the communication device 151 does not support WEC, both the WEC-related information and the information indicating whether the communication device 151 supports WEC may not be acquired. Generally, the WEC-related information can be acquired by the communication device 151 displaying a QR code corresponding to the WEC-related information on a display unit and the information processing device 101 reading the QR code with a camera unit or the like. However, in this embodiment, the WEC-related information is acquired via a BLE connection between the communication device 151 operating in BLE setup mode and the information processing device 101. With this configuration, even if the communication device 151 does not have a display unit for displaying a QR code or the information processing device 101 does not have a camera unit for reading a QR code, the information processing device 101 can acquire the WEC-related information.

[0058] Next, in S208, CPU 103 determines whether communication device 151 supports WEC based on the information acquired in S207. If information indicating that communication device 151 supports WEC is acquired, the determination is YES, and if information indicating that communication device 151 supports WEC is not acquired, the determination is NO. If the determination is YES, CPU 103 proceeds to S209, and if the determination is NO, proceeds to S223. Note that if information could not be acquired in S207, the result of this determination is NO.

[0059] Next, in S209, CPU 103 determines whether or not WEC-related information was acquired from communication device 151 in S207. If the determination is YES, CPU 103 proceeds to S210, and if the determination is NO, CPU 103 proceeds to S221. Note that a NO determination case would be, for example, a case where information indicating that communication device 151 supports WEC was acquired, but the WEC-related information was not acquired due to a communication error or the like.

[0060] In S210, the CPU 103 acquires capability information of the communication device 151 by GATT communication via the BLE connection between the communication device 151 operating in the BLE setup mode and the information processing device 101. In this embodiment, the capability information of the communication device 151 includes information indicating an encryption method supported by the communication device 151 and information indicating a frequency band supported by the communication device 151. Examples of encryption methods supported by the communication device 151 include WPA (Wi-Fi Protected Access), WPA2, and WPA3. The information indicating the frequency band supported by the communication device 151 may be information indicating a communication channel corresponding to the frequency band supported by the communication device 151. Note that this process may be omitted in a configuration in which determination of the encryption method supported by the communication device 151 and determination of the frequency band supported by the communication device 151, which will be described later, are not performed. Note that the capability information may be included in advance in the setting app. That is, the CPU 103 may identify capability information corresponding to the communication device 151 from among multiple pieces of capability information prepared for each type and model number of each communication device that are pre-included in the setting application, and obtain the identified capability information from the setting application.

[0061] Next, in S211, the CPU 103 determines, based on the capability information acquired in S210, whether the encryption method used for connecting to the connected AP is an encryption method supported by the communication device 151. In this embodiment, the encryption methods supported by the communication device 151 are WPA, WPA2, and WPA3, and the encryption method not supported by the communication device 151 is WEP (Wired Equivalent Privacy). If the determination is YES, the CPU 103 proceeds to S212, and if the determination is NO, the CPU 103 proceeds to S223. This determination may be made at another timing. Specifically, for example, this determination may be made after S204-YES, and if the determination is YES, the CPU 103 proceeds to S205, and if the determination is NO, the CPU 103 proceeds to S223.

[0062] Next, in S212, CPU 103 determines whether the encryption method used for connection with the connected AP is compatible with WEC (compatible with DPP). Examples of encryption methods compatible with WEC include WPA2 and WPA3, and examples of encryption methods incompatible with WEC include WPA and WEP. CPU 103 may determine which encryption method is compatible with WEC from information previously stored in the setting application, or from information acquired from communication device 151. If the determination is YES, CPU 103 proceeds to S213, and if the determination is NO, proceeds to S223.

[0063] Next, in S213, the CPU 103 determines, based on the capability information acquired in S210, whether the frequency band used for connection with the connected AP is a frequency band supported by the communication device 151. In this embodiment, the communication device 151 is assumed to be of a type that supports both the 2.4 GHz frequency band and the 5 GHz frequency band, and of a type that supports the 2.4 GHz frequency band but not the 5 GHz frequency band. The communication device 151 cannot connect to an access point using an incompatible frequency band. Therefore, for example, if the frequency band used for connection with the connected AP is the 5 GHz frequency band and the communication device 151 does not support the 5 GHz frequency band, the result of this determination is NO. If the determination is YES, the CPU 103 proceeds to S214; if the determination is NO, the CPU 103 proceeds to S223.

[0064] In S214, the CPU 103 requests the communication device 151 to start the DPP standby mode via the BLE connection between the communication device 151 operating in the BLE setup mode and the information processing device 101. Specifically, the CPU 103 writes a specific value to Start Listen Mode 1503 in the GATT database 1500 and requests the communication device 151 to start the DPP standby mode.

[0065] In S215, the CPU 103 requests, via the BLE connection between the information processing device 101 and the communication device 151 operating in the BLE setup mode, the communication device 151 for response information as to whether the DPP standby mode has been executed.

[0066] In S216, CPU 103 determines whether communication device 151 has entered DPP standby mode. Specifically, CPU 103 reads STA status 1502 of communication device 151 and determines whether it has been changed to a value indicating DPP standby mode. If the determination is YES, CPU 103 proceeds to S217, and if the determination is NO, CPU 103 repeats this determination. In other words, if the determination is NO in S216, CPU 103 continues to read repeatedly until the value of STA status 1502 that was read is changed to a value indicating DPP standby mode.

[0067] In S217, CPU 103 executes the WEC using the acquired WEC-related information. This process is realized by CPU 103 requesting the OS to execute the WEC via the setting application. That is, the setting application does not directly execute the WEC, but rather issues a WEC execution request to the OS as a control for executing the WEC. Details of this process will be described later.

[0068] In S218, the CPU 103 determines whether the connection between the access point and the communication device 151 has been successfully established by the executed WEC. This determination is made based on information indicating whether the execution of the WEC has been canceled and information indicating whether the connection with the access point has been successful, which is acquired from the communication device 151. Specifically, this determination is made based on the Connect status 1504 information of the communication device 151. The CPU 103 repeatedly reads the Connect status 1504 information of the communication device 151, which is acquired by GATT communication, at specific intervals, and determines whether the connection between the communication device 151 and the access point has been successfully established (not shown). If the determination is YES, the CPU 103 ends the processing, and if the determination is NO, the processing proceeds to S219. The setting app may also notify (display) the status of the communication device 151 to the user.

[0069] In S219, the CPU 103 determines whether the reason why the connection between the access point and the communication device 151 was not successfully established by the executed WEC is due to a specific cause. In this embodiment, it is assumed that information regarding the reason why the connection between the access point and the communication device 151 was not successfully established by the executed WEC is acquired from the communication device 151, and this determination is made based on this information. In this embodiment, the specific cause is, for example, an error in communication in the WEC (Cause 1), or an encryption method used in the connection between the information processing device 101 and the access point that is not supported by the communication device 151 (Cause 2). Another example is an encryption method used in the connection between the information processing device 101 and the access point that is not supported by the WEC (Cause 3). It is noted that a connection failure due to Cause 2 or Cause 3 may occur when the WEC is executed after S222-YES. This is because when WEC is executed after S222-YES, unlike when WEC is executed after S215, capability information of the communication device 151 is not acquired and a determination such as S211 or S212 is not executed. If the determination is YES, the CPU 103 proceeds to S223, and if the determination is NO, the process ends.

[0070] Note that the processes of S218 and S219 may be omitted. Specifically, for example, after S217, the process may end without executing S218 or S219. Furthermore, if S218-NO, the process may end without executing S219.

[0071] Next, S220, which is executed when S202-NO or S204-NO, will be described. In S220, CPU 103 determines whether or not information processing device 101 was connected to an access point via Wi-Fi when the setting operation was performed. This determination is made based on whether or not information about the access point is stored in the above-mentioned predetermined storage area. If the determination is YES, CPU 103 proceeds to S221, and if the determination is NO, CPU 103 ends the process.

[0072] In step S221, an attempt is made to acquire the WEC-related information using a method different from the method used in step S207. Specifically, for example, the WEC-related information may be acquired by reading a QR code, as described above. FIG. 4 illustrates an example of a screen for capturing a QR code displayed by the setting app. A frame 301 is displayed on a screen 300 for capturing a QR code, and an image captured by a camera unit included in the information processing device 101 is also displayed on the screen 300. The user operates the information processing device 101 so that the QR code captured by the camera unit and displayed by the communication device 151 fits within the frame 301. When it is detected that the QR code fits within the frame 301, the CPU 103 analyzes the QR code and acquires the WEC-related information. Note that acquisition of the WEC-related information is not limited to this method. For example, the WEC-related information may be acquired from the communication device 151 using NFC. Furthermore, the WEC-related information may be acquired from the communication device 151 via a Wi-Fi connection between the information processing device 101 and an access point enabled by the communication device 151 operating in network setup mode. If the communication device 151 does not support WEC, the communication device 151 cannot display a QR code or transmit WEC-related information via NFC. In this case, the CPU 103 ends the process by accepting a cancel operation from the user on the setting application.

[0073] Next, in S222, CPU 103 determines whether or not WEC-related information was acquired in S221. If the determination is YES, CPU 103 proceeds to S217; if the determination is NO, CPU 103 terminates the process. Note that, for example, if the QR code read in S221 is not the QR code for acquiring WEC-related information or if reading of the QR code fails, the determination is NO. If the determination is NO, CPU 103 may proceed to S223 without terminating the process. If the determination is YES in S222, CPU 103 may determine whether the encryption method used for connecting to the connected AP is compatible with WEC (compatible with DPP). If the determination is YES, CPU 103 proceeds to S217; if the determination is NO, CPU 103 may terminate the process or proceed to S223. Note that in this case, CPU 103 is assumed to know which encryption method is compatible with WEC from information previously stored in the setting application.

[0074] As described above, in this embodiment, if WEC-related information cannot be acquired through the BLE connection between the communication device 151 operating in a BLE executable mode and the information processing device 101, an attempt is made to acquire the WEC-related information by another method. Specifically, for example, an attempt is made to acquire the WEC-related information by reading a QR code. This makes it possible to execute WEC even if WEC-related information cannot be acquired through the BLE connection between the communication device 151 operating in a BLE setup mode and the information processing device 101.

[0075] Next, S223, which is executed in the case of NO in S206, NO in S208, NO in S211 to S213, or YES in S219, will be described. In S223, CPU 103 executes network setup of communication device 151 using a method different from WEC. In this embodiment, the method different from WEC is a method of executing network setup of communication device 151 using a setup communication protocol that is a protocol different from the protocol for WEC (DPP). Details of this process will be described later. Then, the process ends.

[0076] Note that the content of the processing in the above flowchart is not limited to the above. For example, if the CPU 103 cannot acquire WEC-related information through the BLE connection between the communication device 151 operating in the BLE setup mode and the information processing device 101, the CPU 103 may end the processing without attempting to acquire WEC-related information by another method. Specific examples of cases where the WEC-related information cannot be acquired through the BLE connection between the communication device 151 operating in the BLE setup mode and the information processing device 101 include cases where the result of S202 is NO, where the result of S204 is NO, and where the result of S209 is NO. That is, if the result of S202 is NO, where the result of S204 is NO, or where the result of S209 is NO, the processing may end without executing the subsequent processing (S220 to S222).

[0077] Furthermore, for example, in the above description, two determinations, S208 and S209, are performed after S207, but this is not limiting. For example, after S207, instead of the two determinations, S208 and S209, a determination as to whether WEC-related information has been acquired may be performed. If the determination result is YES, the process proceeds to S210, and if the determination result is NO, the process proceeds to S223, without executing the processes of S221 and S222.

[0078] In this embodiment, the encryption methods supported by the communication device 151 include encryption methods that support WEC. Therefore, the determination in S211 may not be performed. Specifically, for example, after S210, the determination in S212 may be performed without performing the determination in S211.

[0079] Furthermore, for example, the encryption method supported by communication device 151 may be included in the encryption methods supported by WEC, such as when communication device 151 only supports WPA3 and WPA2 and WPA3 are supported by WEC. In this case, the determination in S212 may not be executed. Specifically, for example, after S211-YES, the determination in S212 may not be executed, and the determination in S213 may be executed.

[0080] Next, the processing executed by the information processing device 101 and the communication device 151 in S216 will be described with reference to Fig. 5. The sequence shown in Fig. 5 is realized, for example, by the CPU of each device reading out a program stored in the ROM of each device, an external storage device, or the like, into the RAM of each device and executing the program.

[0081] First, in S400, the information processing device 101 starts WEC using DPP using a function of the OS. Specifically, the information processing device 101 first displays the WEC start screen by instructing the OS to display the WEC start screen from the settings app. FIG. 5 shows an example of the WEC start screen. Areas 501, 502, and 503 are displayed on the WEC start screen 300. Area 501 is an area for changing the access point set as the WEC configuration target. Note that before area 501 is operated, the access point set as the WEC configuration target is the access point to which the information processing device 101 is currently connected. When area 501 is selected, the information processing device 101 displays a list of access points and newly sets the access point selected by the user from the list as the WEC configuration target. Note that the access point list includes, for example, access points discovered by the information processing device 101 through an AP search and access points to which the information processing device 101 has previously connected. Area 502 is an area for canceling the execution of WEC, and area 503 is an area for instructing the execution of WEC. When area 502 is operated, the information processing device 101 ends the processing in this sequence diagram and proceeds to S217. In this case, it is assumed that the WEC has failed. When area 503 is pressed, the information processing device 101 proceeds to S401.

[0082] In S401, the WEC application executes a WEC API using WEC-related information and information about an access point set as a target for WEC configuration, thereby instructing the OS to execute WEC. Then, a process called DPP Authentication is executed between the information processing device 101 and the communication device 151 by a function of the OS. In DPP Authentication, authentication information, information used for encrypting information, and the like are communicated between the information processing device 101 and the communication device 151, thereby authenticating communication between the devices. Note that various information transmitted from the information processing device 101 during communication in DPP Authentication is encrypted based on WEC-related information previously acquired by the information processing device 101 through processing described below. Specifically, in DPP Authentication, the information processing device 101 first transmits an Authentication Request as a network setup request according to DPP. Next, the communication device 151, operating in DPP mode, receives the Authentication Request transmitted from the information processing device 101 because it is operating in a DPP standby mode, which is a mode for waiting for an Authentication Request. Upon receiving the Authentication Request, the communication device 151 attempts to decrypt the received Request using the decryption key that it currently possesses. If the decryption is successful, the communication device 151 transmits an Authentication response to the information processing device 101 and authenticates communication with the information processing device 101. Note that if the information processing device 101 is unable to acquire accurate WEC-related information and is unable to encrypt the information correctly, decryption in the communication device 151 fails, authentication fails, and an Authentication response is not transmitted. DPP Authentication is completed when the information processing device 101 receives the Authentication response. Furthermore, in DPP Authentication, communication is performed using DPP.

[0083] Next, in S402, a process called DPP Configuration is executed between the information processing device 101 and the communication device 151 by a function of the OS. In DPP Configuration, the information processing device 101 transmits connection information for connecting to an access point set as a target for configuration by WEC to the communication device 151 using WEC. The connection information includes the SSID, password, and encryption method of the access point set as a target for configuration by WEC. The password transmitted at this time is information entered by the user on a screen displayed by an application compatible with the OS when a connection between the information processing device 101 and the access point is established. The password is information held by the OS when a connection between the information processing device 101 and the access point is established. The password is information not held by the setting application. The password transmitted at this time is information already held by the OS, and DPP Configuration is a process executed by the OS, so there is no need for the user to newly input the password on a screen displayed by the setting application. By transmitting connection information by WEC as in this embodiment, it is possible to transmit the password to communication device 151 through secure communication without receiving a new password input from the user on the screen displayed by the setting application. Note that DPP is also used to execute communication in DPP Configuration.

[0084] In S403, the communication device 151 ends the BLE setup mode and transitions to infrastructure mode. The communication device 151 also changes the Connect status 1504 information in the GATT database to a DPP connection status, indicating a state in which the communication device 151 is currently connected to the specified access point by the DPP configuration. The BLE setup mode and the BLE connection may be maintained without ending. The communication device 151 then attempts to connect to the access point corresponding to the connection information acquired by the WEC. If the connection is successful, the communication device 151 can then communicate via the network formed by the connected access point. If the connection with the access point is successful, the communication device 151 changes the Connect status 1504 information to information indicating that the connection is successful. If the connection with the access point fails, the communication device 151 changes the Connect status 1504 information to information indicating that the connection failed. The communication device 151 also saves the cause of the failure in the Connect status 1504 information. The communication device 151 then transmits, to the information processing device 101, information indicating whether the connection with the access point was established. Specifically, the information processing device 101 can check the status of the communication device 151 by reading the Connect status 1504 information via, for example, BLE communication. Note that communication via a network formed by the connected access point is performed using a protocol different from DPP (specifically, for example, Port9100, SNMP, or a protocol unique to the vendor of the communication device 151). Note that the communication device 151 may transmit information indicating whether or not the connection with the access point corresponding to the connection information acquired by WEC was successful to the information processing device 101. Furthermore, if the connection with the access point corresponding to the connection information acquired by WEC has failed, the communication device 151 may transmit information indicating the cause of the failure to the information processing device 101. Note that this information transmission may be performed using DPP or may be performed via the maintained BLE connection.Note that causes of failure in connection with the access point corresponding to the connection information acquired by WEC include a communication error in WEC, the access point not being found, or inappropriate WEC-related information acquired from the communication device 151. Another example of the cause is that the encryption method used to connect to the access point set as the setting target by WEC is an encryption method that the communication device 151 does not support. Another example of the cause is that the encryption method used to connect to the access point set as the setting target by WEC is an encryption method that the WEC does not support. Note that the information processing device 101 may display information indicating whether or not the connection with the access point corresponding to the connection information acquired by WEC was successful on the display unit 108. Furthermore, if the connection with the access point corresponding to the connection information acquired by WEC fails, information indicating the cause of the failure may be displayed on the display unit 108.

[0085] In S404, the information processing apparatus 101 searches for the communication device 151 on the network to which the information processing apparatus 101 belongs. This process is realized by the setting application that receives a notification from the OS that the execution of WEC has finished. Note that the state where the execution of WEC has finished means that the DPP configuration has been successful. When the information processing apparatus 101 finds the communication device 151, it requests capability information from the communication device 151, and the communication device 151 transmits the capability information to the information processing apparatus 101. This registers information about the communication device 151 in the setting application, and thereafter, communication with the communication device 151 becomes possible via the setting application. Specifically, for example, a print job can be sent to the communication device 151 via the setting application. Note that at this time, if the information processing apparatus 101 belongs to a network formed by an access point to which the communication device 151 is connected via WEC, communication with the communication device 151 becomes possible via the access point. Furthermore, if communication between the information processing device 101 and the communication device 151 cannot be executed, for example, if the access point to which the communication device 151 is connected is not the access point to which the information processing device 101 is connected, the request for and acquisition of capability information is omitted. Note that the communication in S404 is executed using, for example, a communication protocol different from the DPP and the setup communication protocol (specifically, for example, CHMP). Thereafter, the information processing device 101 ends the processing in this sequence diagram and proceeds to S218.

[0086] Next, the processing executed by the information processing device 101 and the communication device 151 in S223 will be described with reference to Fig. 7. The sequence shown in Fig. 6 is realized, for example, by the CPU of each device reading out a program stored in the ROM of each device, an external storage device, or the like, into the RAM of each device and executing the program.

[0087] In S600, the information processing device 101 requests a list of access points from the communication device 151 via the BLE connection between the information processing device 101 and the communication device 151 operating in the BLE setup mode, using the setting application.

[0088] Next, in S601, the communication device 151 transmits a list of access points to the information processing device 101 via the BLE connection between the communication device 151 operating in the BLE setup mode and the information processing device 101. Note that the list transmitted here is a list indicating one or more access points to which the communication device 151 can connect, which have been discovered by the communication device 151 performing an AP search.

[0089] Next, in step S602, the information processing device 101 transmits connection information of any of the access points included in the received list to the communication device 151 via the BLE connection between the information processing device 101 and the communication device 151 operating in the BLE setup mode. This process is realized by the setting app controlling the information processing device 101 to transmit connection information of any of the access points included in the received list. Specifically, in this process, if the received list includes a connected AP, the information processing device 101 transmits the connection information of the connected AP. In this embodiment, the list includes only access points to which the communication device 151 can connect. Therefore, the case where the connected AP is included in the received list means that the communication device 151 can connect to the connected AP. Furthermore, if the received list does not include a connected AP, the information processing device 101 displays the received list and accepts selection of an access point from the list from the user. Then, the information processing device 101 transmits the connection information of the selected access point. In this embodiment, the list includes only access points to which the communication device 151 can connect. Therefore, the case where the connected AP is not included in the received list means that the communication device 151 cannot connect to the connected AP. Furthermore, access points that can be connected using an encryption method that is not supported by the communication device 151 are not included in the list because the communication device 151 cannot connect to them. Furthermore, access points that can be connected using a frequency band that is not supported by the communication device 151 are not included in the list because the communication device 151 cannot connect to them. Therefore, in S223, which is executed when S211-NO or S213-NO, connection information for an access point other than the connected AP is transmitted. Note that, when S212-NO, the connected AP and the communication device 151 may be connectable, so it is possible that connection information for the connected AP is transmitted, or that connection information for an access point other than the connected AP is transmitted. Note that the present invention is not limited to this configuration, and a list may always be displayed and the user may select an access point each time.Before transmitting the connection information, the information processing device 101 receives from the user a password for connecting to the access point on a screen displayed by the setting application, and then transmits the connection information together with the received password.

[0090] In S603, the communication device 151 notifies the information processing device 101 that connection information has been received via the BLE connection between the communication device 151 operating in the BLE setup mode and the information processing device 101.

[0091] In S604, the communication device 151 ends the BLE setup mode and transitions to infrastructure mode. Note that the BLE setup mode and the BLE connection may be maintained without ending. Then, the communication device 151 attempts to connect to the access point corresponding to the connection information obtained in S602. If the connection is successful, the communication device 151 can then communicate via the network formed by the connected access point.

[0092] In S605, if the information processing device 101 has transmitted to the communication device 151 connection information of an access point other than the access point to which the information processing device 101 was connected via Wi-Fi when the setting operation was performed, the information processing device 101 connects to the other access point. Note that if the information processing device 101 has transmitted to the communication device 151 connection information of the access point to which the information processing device 101 was connected via Wi-Fi when the setting operation was performed, this process is omitted.

[0093] In S606, the information processing device 101 searches for the communication device 151 on the network to which the information processing device 101 belongs, using the setting application. When the information processing device 101 finds the communication device 151, the information processing device 101 requests capability information from the communication device 151, and the communication device 151 transmits the capability information to the information processing device 101. As a result, information about the communication device 151 is registered in the setting application, and communication with the communication device 151 can be performed using the setting application thereafter. Specifically, for example, the setting application can send a print job to the communication device 151. At this time, if the information processing device 101 belongs to a network formed by an access point to which the communication device 151 is connected by network setup, communication with the communication device 151 can be performed via the access point. If communication between the information processing device 101 and the communication device 151 cannot be performed, for example, if the access point to which the communication device 151 is connected is not the access point to which the information processing device 101 is connected, the request for and acquisition of capability information is omitted. The communication in S606 is executed using, for example, a communication protocol different from DPP (specifically, for example, CHMP). After that, the information processing apparatus 101 ends the processing in this sequence diagram.

[0094] Note that the content of the processing in the sequence diagram above is not limited to the content described above. For example, if the received list does not include the access point to which the information processing device 101 was connected via Wi-Fi when the setting operation was performed, the information processing device 101 may not need to transmit connection information for the access point. Then, an attempt to establish a connection between the communication device 151 and the access point may not be made. Then, connection information for an access point that is enabled in the communication device 151 in AP mode may be received from the communication device 151, and an attempt may be made to establish a connection between the communication device 151 operating in AP mode and the information processing device 101. In this case, the communication device 151 transmits connection information for the access point that is enabled in the communication device 151 in AP mode, and then transitions to AP mode.

[0095] 8 and 9 are flowcharts showing the flow of processing executed by communication device 151 in the network setup processing of this embodiment. In this embodiment, the conditions for communication device 151 to start operation in the setup mode include a first condition and a second condition. The first condition is that "a power-on operation is performed on communication device 151 in a state where initial settings have not been completed, and power is applied to communication device 151." The second condition is that "a predetermined operation for network setup is performed on communication device 151 in a power-on state." The processing in the setup mode that is started based on the first condition and the processing in the setup mode that is started based on the second condition will be described using FIGS. 8 and 9, respectively.

[0096] First, the process in the setup mode that is started based on the first condition will be described. The communication device 151 performs initial configuration based on the first power-on operation by the user in the factory default state (shipped state) (i.e., the first condition). The factory default state corresponds to a state in which the communication device 151 has not yet completed initial configuration. For example, the communication device 151 is shipped from the factory without ink tanks, a print head, or the like installed. Therefore, the communication device 151 performs initial configuration, such as prompting the user to install the included ink tanks, print head, and the like into the communication device 151, adjusting registration, cleaning the print head, and other processes to make the communication device 151 usable. Whether the communication device 151 is in the factory default state is controlled using a flag (initial startup flag) stored in the ROM 152, memory, or the like. The communication device 151 changes the state of the initial startup flag when the initial configuration is completed, and is configured so that the initial configuration is not started even if the communication device 151 is powered on after the initial configuration is completed. In order to use the communication device 151, it is preferable to execute network setup of the communication device 151, and therefore in this embodiment, network setup processing is executed during initial setup.

[0097] Fig. 8 is a flowchart showing processing executed by communication device 151 when a power-on operation is executed on communication device 151. The flowchart shown in Fig. 8 is implemented, for example, by CPU 154 reading a setting application stored in ROM 152, a memory, or the like into RAM 153 and executing it. The flowchart shown in Fig. 8 is started when the above-mentioned power-on operation is executed.

[0098] In S700, CPU 154 refers to an initial startup flag stored in ROM 152, memory, or the like, and determines whether communication device 151 is in an initial startup state. For example, the initial startup flag is set to a specific value indicating that communication device 151 is in an initial startup state when shipped from the factory. If CPU 154 determines NO in S700, it proceeds to S701, and if CPU 154 determines YES in S700, it proceeds to S703. Note that a NO determination in S700 means that communication device 151 has already been initialized and the power to communication device 151 has been turned on.

[0099] In S701, the CPU 154 executes processing according to the set connection mode stored in the ROM 152, memory, etc. For example, if the communication device 151 is wirelessly connected to an access point via Wi-Fi when the user turns off the power and the infrastructure connection mode is set, the CPU 154 connects to the access point.

[0100] In S702, the CPU 154 displays the standby screen (home screen) and ends the processing of this flowchart.

[0101] In S703, the CPU 154 causes the communication device 151 to start operation in the BLE setup mode. Specifically, the CPU 154 transmits the above-described BLE advertising information. Furthermore, the CPU 154 starts a timeout timer for a mode in which BLE communication can be performed in order to end the BLE setup mode after a predetermined time has elapsed, and counts the elapsed time since operation in the BLE setup mode was started.

[0102] In S704, the CPU 154 receives a connection request to the communication device 151 from the information processing device 101.

[0103] In S705, the CPU 154 establishes a BLE connection between the communication device 151 and the information processing device 101.

[0104] In S706, the CPU 154 receives a request for various information related to the WEC from the information processing device 101 via the BLE connection established in S706.

[0105] In S707, the CPU 154 transmits various pieces of information related to WEC of the communication device 151 to the information processing device 101. Specifically, the information processing device 101 reads the STA state 1502 from the GATT database 1500. For example, the various pieces of information related to WEC of the communication device 151 include the above-described WEC-related information and information indicating whether the communication device 151 supports WEC. Note that the information indicating whether WEC is supported is information indicating whether the communication device 151 supports DPP. Note that if the communication device 151 does not support WEC, information indicating that the communication device 151 does not support WEC is transmitted, and the WEC-related information is not transmitted. Furthermore, if the communication device 151 does not support WEC, it is not necessary to transmit both the WEC-related information and the information indicating whether the communication device 151 supports WEC.

[0106] In S708, the CPU 154 receives a request to start the DPP standby mode. Specifically, a specific value is written to the Start Listen Mode 1503 of the GATT database 1500, thereby receiving the request to start the DPP standby mode.

[0107] In S709, CPU 154 causes communication device 151 to start operation in DPP standby mode. Specifically, CPU 154 changes the value of STA state 1502 in GATT database 1500 to a value indicating DPP standby mode. DPP standby mode will be described later with reference to FIG. 10. CPU 154 also starts a timeout timer for DPP standby mode, and counts the elapsed time since operation in DPP standby mode began.

[0108] In S710, the CPU 154 receives a response information request for information regarding whether or not the DPP standby mode has been started.

[0109] In S711, the CPU 154 transmits information regarding whether the DPP standby mode has been started to the information processing device 101. Specifically, the STA state 1502, which has been changed by the information processing device 101 to a value indicating the DPP standby mode, of the GATT database 1500, is read.

[0110] In S712, the CPU 154 determines whether a request to execute network setup using BLE communication has been received. Specifically, the communication device 151 determines whether a request for a list of access points has been received from the information processing device. If the determination in S712 is YES, the communication device 151 proceeds to S713, and if the determination in S712 is NO, the communication device 151 proceeds to S715.

[0111] In S713, the CPU 154 executes network setup using BLE communication. Specifically, the CPU 154 executes the process described as the process executed by the communication device 151 among the processes described in FIG.

[0112] In S714, CPU 154 ends DPP standby mode and ends this flowchart. Note that either the end of operation in BLE setup mode or the end of DPP standby mode may occur first, as long as it is after network setup using BLE communication has been performed. In other words, CPU 154 may end operation in BLE setup mode after ending DPP standby mode. Furthermore, the end of operation in BLE setup mode and the end of DPP standby mode may occur simultaneously.

[0113] In S715, which is executed if the result of S712 is NO, the CPU 154 determines whether a request to execute network setup (WEC) using DPP has been received. Specifically, the CPU 154 determines whether a DPP network setup request has been received from the information processing device 101 in the above-mentioned DPP Authentication. If the determination in S715 is YES, the CPU 154 proceeds to S716, and if the determination in S715 is NO, the CPU 154 proceeds to S718. The CPU 154 may start a timer for waiting for a network setup request using DPP. In this case, the CPU 154 may change the channel used in DPP communication if the count value of the timer for waiting for a WEC execution request exceeds a threshold. Furthermore, if the CPU 154 has not received a DPP network setup request even after changing the channel used in DPP communication a predetermined number of times, the CPU 154 may proceed to S719. Then, the CPU 154 may end the DPP waiting mode and wait for a request to execute network setup using BLE communication.

[0114] In S716, CPU 154 executes network setup using DPP. Specifically, of the processes described in Fig. 5, the process described as the process executed by communication device 151 is executed, and this flowchart ends. Network setup using DPP (WEC) will be described later with reference to Fig. 11. CPU 154 changes the Connect status 1504 information to information indicating an infrastructure connected status.

[0115] In S717, the CPU 154 determines whether the connection between the communication device 151 and the access point to which the information processing device 101 is connected has been successfully established by the executed WEC. This determination is made if the connection between the communication device 151 and the information processing device 101 has been successful, that is, if the communication device 151 has connected to the access point received in the DPP configuration. The CPU 154 then changes the Connect status 1504 information to a status indicating that the infrastructure connection has been successful. Furthermore, if the determination in each determination in S716 of FIG. 11 is NO and processing is executed to end the DPP standby mode without connecting to the access point, a determination is made that the connection has failed. Furthermore, even if the communication device 151 has connected to an access point in S1311 of FIG. 11 , a determination is also made that the connection has failed if the connected access point is an access point other than the access point received in the DPP configuration. In this embodiment, the access point received in the DPP Configuration is the access point to which the information processing device 101 is connected. However, as long as the communication device 151 is connected to the access point, the access point may be determined to be successful even if the access point is not the access point to which the information processing device 101 is connected. If the CPU 154 determines YES in S717, it terminates the processing of this flowchart. If the CPU 154 determines NO in S717, it proceeds to S720. Note that the CPU 154 may determine that WEC was successful if each determination in FIG. 11 in S716 results in YES, and may connect to the access point and then terminate the DPP standby mode; the order of the processing does not matter. Then, if the CPU 154 determines in S720 that it has received a request to execute network setup using BLE communication, it proceeds to S721 and executes network setup using BLE communication. In other words, if the executed WEC fails to establish a connection between the access point and the communication device 151, network setup using BLE communication is executed. This makes it possible to more reliably establish a connection between the access point and the communication device 151.

[0116] In S718, CPU 154 determines whether the value counted by the DPP standby mode timeout timer exceeds the threshold and the DPP standby mode has timed out. If the determination in S718 is YES, CPU 154 proceeds to S719, and if the determination in S718 is NO, CPU 154 returns to S712.

[0117] In S719, the CPU 154 ends the DPP standby mode and proceeds to S720.

[0118] S720 and S721 are the same processes as S712 and S713, respectively, and therefore description thereof will be omitted. If the determination at S720 is YES, the process proceeds to S721, and if the determination at S722 is NO, the process proceeds to S722.

[0119] In S722, the CPU 154 determines whether the value counted by the BLE setup mode timeout timer exceeds the threshold value and the mode in which BLE communication can be performed has timed out. If the determination in S722 is YES, the CPU 154 proceeds to S723, and if the determination in S722 is NO, the CPU 154 returns to S720.

[0120] In step S723, the CPU 154 ends operation in the BLE setup mode and terminates transmission of BLE advertising information. This reduces setup unintended by the user. The CPU 154 then ends this flowchart.

[0121] After the initial settings are complete, CPU 154 changes the value of the initial startup flag stored in ROM 152, memory, etc. from a value indicating an initial startup state to a value indicating a non-initial startup state. The non-initial startup state corresponds to a state in which the initial settings are complete. This completes the initial settings, and the flowchart in FIG. 8 is not executed the next time the user turns on communication device 151.

[0122] Next, the setup process in the operation in the setup mode that is started based on the second condition will be described.

[0123] Fig. 9 is a flowchart showing the setup process executed by communication device 151. The flowchart shown in Fig. 9 is realized, for example, by CPU 154 reading out a setting application stored in ROM 152, a memory, or the like into RAM 153 and executing it. The flowchart in Fig. 9 is executed when the second condition described above is satisfied.

[0124] In S800, the communication device 151 determines whether or not the connection mode is set in the communication device 151 when the setting operation is performed. If the determination in S800 is YES, the communication device 151 proceeds to S801, and if the determination in S800 is NO, the communication device 151 proceeds to S802.

[0125] In S801, the communication device 151 disables the connection mode in which the communication device 151 was set at least when the setting operation was performed. For example, if the infrastructure connection mode was set in the communication device 151 at least when the setting operation was performed and the communication device 151 was wirelessly connected to an access point via Wi-Fi, the communication device 151 disables the infrastructure connection mode and disconnects the connection with the access point. The communication device 151 also acquires information about the connection mode in which the communication device 151 was set at least when the setting operation was performed and stores the information in the ROM 152, memory, etc. This is because the information is necessary for reconnecting to the connection mode in which the communication device 151 was set at least when the setting operation was performed in S822, which will be described later. For example, the communication device 151 acquires information about the access point to which the communication device 151 was wirelessly connected via Wi-Fi at least when the setting operation was performed and stores the information in the ROM 152, memory, etc. The information includes information for connecting to the access point to which the communication device 151 was wirelessly connected via Wi-Fi (such as the SSID and information indicating the encryption method). Note that if the connection mode was not set at least when the setting operation was performed, acquisition of the information about the connection mode is omitted.

[0126] Steps S802 to S822 are the same as steps S703 to S723, and therefore the description thereof will be omitted.

[0127] In S823, the communication device 151 reconnects in the connection mode that was set at least when the setting operation was performed, based on the information regarding the connection mode that the communication device 151 was set to at least when the setting operation was performed, acquired in S801. For example, the communication device 151 reconnects to the access point to which the communication device 151 was wirelessly connected via Wi-Fi at least when the setting operation was performed.

[0128] Here, the processing in S709 in FIG. 8 and S808 in FIG. 9 will be described with reference to FIG.

[0129] Fig. 10 is a flowchart showing the contents of the DPP standby mode start processing. The flowchart shown in Fig. 10 is realized, for example, by CPU 154 reading a setting application stored in ROM 152, a memory, or the like into RAM 153 and executing it. The flowchart shown in Fig. 10 starts when communication device 151 receives a request to start DPP standby mode from information processing device 101.

[0130] In S1001, CPU 154 determines a standby channel for DPP communication. The standby channel for DPP communication is a channel that waits for a DPP network setup request transmitted from information processing device 101. The same channel is also used for DPP authentication and DPP configuration processing. Note that which channel to use as the standby channel for DPP communication may be set by the user from an operation screen of communication device 151, for example.

[0131] In S1002, the CPU 154 generates the public key information used for secure communication with the information processing device 101 described above.

[0132] In S1003, CPU 154 generates the above-mentioned Bootstrapping information. The Bootstrapping information includes, for example, identification information (such as a MAC address) of communication device 151, information related to a standby channel for DPP communication, and the public key information generated in S1002.

[0133] In S1004, the CPU 154 starts the DPP standby mode. When the DPP standby mode starts, a DPP connection is established between the communication device 151 and the information processing device 101, enabling communication according to DPP authentication.

[0134] In S1005, CPU 154 starts a DPP standby mode timeout timer. After starting operation in DPP standby mode, CPU 154 ends operation in DPP standby mode when a predetermined time has elapsed. This is because ending operation in DPP standby mode causes a transition to network setup processing using BLE communication. Specifically, when the value counted by the DPP standby mode timeout timer in S717 or S816 exceeds the threshold value and a timeout occurs in network setup mode, CPU 154 ends DPP standby mode.

[0135] Then, the CPU 154 proceeds to the process of S710 in FIG. 8 or S809 in FIG.

[0136] Here, the processing in S716 in FIG. 8 and S815 in FIG. 9 will be described with reference to FIG.

[0137] Fig. 11 is a flowchart showing the execution process of network setup (WEC) using DPP, and corresponds to the operation of communication device 151 in the sequence of Fig. 5. The flowchart shown in Fig. 11 is realized, for example, by CPU 154 reading a setting application stored in ROM 152, memory, etc. into RAM 153 and executing it. The flowchart in Fig. 11 is started when communication device 151 receives a WEC execution request in DPP Authentication processing from information processing device 101.

[0138] In S1301, the CPU 154 executes DPP authentication processing. As described above, in the DPP authentication processing, authentication information, information used for encrypting information, and the like are communicated between the information processing device 101 and the communication device 151, thereby authenticating communication between the devices. Note that in DPP authentication, communication is executed using DPP.

[0139] In S1302, the CPU 154 determines whether the DPP authentication process with the information processing device 101 was successful. As described above, various pieces of information transmitted from the information processing device 101 during communication in DPP authentication are encrypted based on the WEC-related information acquired by the information processing device 101 in the process shown in FIG. 2. If the CPU 154 successfully decrypts the information received from the information processing device 101 using a decryption key stored in advance, the CPU 154 authenticates communication with the information processing device 101. Note that if the information processing device 101 is unable to acquire accurate WEC-related information and therefore is unable to accurately encrypt the information, decryption in the communication device 151 fails, and authentication therefore fails. Therefore, if authentication of communication with the information processing device 101 is successful, the CPU 154 determines that the DPP authentication process was successful; if it is unsuccessful, the CPU 154 determines that the DPP authentication process was unsuccessful. If the determination in S1302 is NO, the CPU 154 ends the DPP standby mode (S1303) and terminates this flowchart. On the other hand, if the determination in S1302 is YES, the communication device 151 proceeds to S1304.

[0140] In S1304, the CPU 154 executes DPP Configuration processing. In the DPP Configuration processing, the CPU 154 receives, via the WEC, connection information for connecting to an access point that has been set as a configuration target by the WEC from the information processing device 101. The connection information includes the SSID, password, encryption method, and other information for the access point that has been set as a configuration target by the WEC.

[0141] In S1305, the CPU 154 determines whether the DPP Configuration process with the information processing device 101 was successful. Specifically, if the CPU 154 receives, via the WEC, connection information for connecting to an access point set as a configuration target by the WEC from the information processing device 101, the CPU 154 determines that the process was successful; if the CPU 154 cannot receive the connection information via the WEC, the CPU 154 determines that the process was unsuccessful. If the determination in S1305 is NO, the CPU 154 ends the DPP standby mode (S1303) and ends this flowchart. On the other hand, if the determination in S1305 is YES, the CPU 154 proceeds to S1306. If the DPP Configuration process is successful, the communication device 151 acquires the SSID, encryption method, and password of the access point.

[0142] In S1306, the CPU 154 determines whether an SSID is included in the information about the access point set as a setting target by WEC, received from the information processing device 101. If the determination in S1306 is NO, the CPU 154 ends the DPP standby mode (S1303) and ends this flowchart. On the other hand, if the determination in S1306 is YES, the CPU 154 proceeds to S1307.

[0143] In S1307, the CPU 154 determines whether an encryption method is included in the information about the access point that is set as a setting target by WEC and that is received from the information processing device 101. If the determination in S1307 is NO, the CPU 154 ends the DPP standby mode (S1303) and ends this flowchart. On the other hand, if the determination in S1307 is YES, the CPU 154 proceeds to S1308.

[0144] In S1308, the CPU 154 determines whether or not a password is included in the information about the access point that is set as the setting target by WEC, which is received from the information processing device 101. Note that when connecting to an access point using DPP communication, the CPU 154 may determine whether or not public key information is included instead of a password. Also, if the security setting of the access point that is set as the setting target is disabled, a password may not be included. If the determination in S1308 is NO, the CPU 154 ends the DPP standby mode (S1303) and ends this flowchart. On the other hand, if the determination in S1308 is YES, the CPU 154 proceeds to S1309 and ends the DPP standby mode. Once the communication device 151 ends the DPP standby mode, it will be unable to respond to a DPP Authentication processing request from the information processing device 101.

[0145] In S1310, the CPU 154 ends operation in the BLE setup mode. Note that operation may continue in a mode in which BLE is executable, or operation may end in the mode in which BLE is executable and end transmission of BLE advertising information. Note that it does not matter which comes first: the end of operation in the BLE setup mode in S1310 or the end of operation in the DPP standby mode in S1309. That is, the CPU 154 may end operation in the BLE setup mode after ending operation in the DPP standby mode. Furthermore, the end of operation in the BLE setup mode and the end of operation in the DPP standby mode may be performed simultaneously. Furthermore, the order of the end process of operation in the BLE setup mode or the end process of operation in the DPP standby mode and the process for connecting to the access point does not matter.

[0146] In S1311, the CPU 154 connects to the access point set as the setting target by WEC based on various information about the access point set as the setting target by WEC received from the information processing device 101. The various information includes the SSID, password, and encryption method. The communication device 151 then ends this flowchart.

[0147] As described above, in this embodiment, the information processing device 101 requests the communication device 151 to start DPP standby mode via a BLE connection with the communication device 151. Then, the communication device 151 starts DPP standby mode. This makes it possible for the information processing device 101 to execute WEC at the timing when it wants to execute WEC. Furthermore, by starting DPP standby mode only when it wants to execute WEC, it is possible to reduce the execution of network setup unintentionally by the user. This improves the convenience of the network setup function.

[0148] In the above embodiment, the network setup is performed using BLE communication. However, the network setup may be performed using a communication method other than BLE communication. For example, the network setup can be performed using Wi-Fi communication as a communication method other than BLE communication. When the first condition and the second condition are satisfied, the communication device 151 enables the setup access point. Therefore, the information processing device 101 can disconnect the Wi-Fi connection with the connected AP and establish a Wi-Fi connection with the access point enabled by the communication device 151 operating in the network setup mode. Note that the BLE setup mode and the activation of the setup access point may be performed either first, may be performed simultaneously, or may be initiated based on the completion of either one. As a result, the information processing device 101 may transmit information indicating a DPP standby mode start request or acquire various information about the communication device 151 via the connection between the information processing device 101 and the communication device 151 via Wi-Fi communication. Thereafter, the information processing device 101 may re-establish a Wi-Fi connection with the connected AP and transmit connection information of the connected AP to the communication device 151 using DPP. Furthermore, if the DPP connection fails, the information processing device 101 disconnects the Wi-Fi connection with the connected AP and re-establishes a Wi-Fi connection with an access point enabled by the communication device 151 operating in network setup mode. The information processing device 101 may then transmit connection information via a connection between the information processing device 101 and the communication device 151 via Wi-Fi communication. Note that even in this configuration, a communication protocol different from DPP is used. Furthermore, whether BLE communication or Wi-Fi communication is used during network setup is determined by a user operation on the setting app. In other words, network setup is performed using the communication method selected by the user on the screen of the setting app.

[0149] In this embodiment, communication device 151 terminates DPP standby mode if execution of WEC fails, but it may not terminate the DPP standby mode. This makes it possible to execute network setup again in response to a request to execute network setup or a request to execute WEC from the information processing device.

[0150] Furthermore, in this embodiment, when the communication device 151 receives either a request to execute network setup using BLE communication or a request to execute WEC, the communication device 151 also enables the mode related to the other execution request. In other words, even when the communication device 151 receives a request to execute network setup using BLE communication, the DPP standby mode is enabled. However, when the communication device 151 receives either a request to execute network setup using BLE communication or a request to execute WEC, the mode related to the other execution request may be disabled. For example, when the communication device 151 receives a request to execute WEC, the operation in the network setup mode using BLE communication may be terminated. However, if the execution of WEC fails, the network setup mode using BLE communication is restarted based on the failure of the execution of WEC. This makes it possible to execute network setup using BLE communication again in response to the network setup execution request from the information processing device. Furthermore, when the communication device 151 receives either a request to execute network setup using BLE communication or a request to execute WEC, the mode related to the other execution request is disabled, thereby reducing the possibility of a network setup being executed unintended by the user.

[0151] Additionally, in this embodiment, when the communication device 151 can connect to the predetermined access point to be set, the information processing device 101 is controlled to transmit connection information of the predetermined access point to the communication device 151 by WEC. Furthermore, when the communication device 151 cannot connect to the predetermined access point to be set, the information processing device 101 is controlled to transmit connection information of an access point other than the predetermined access point to the communication device 151 by network setup. The case where the communication device 151 can connect to the predetermined access point refers to, for example, when the communication device 151 supports the encryption method used to connect to the predetermined access point or when the communication device 151 supports the frequency band used to connect to the predetermined access point. The case where the communication device 151 cannot connect to the predetermined access point refers to, for example, when the communication device 151 does not support the encryption method used to connect to the predetermined access point or when the communication device 151 does not support the frequency band used to connect to the predetermined access point. In this embodiment, even if the communication device 151 can connect to a specified access point, if the WEC does not support the encryption method used to connect to the specified access point, the information processing device 101 is controlled to send connection information for an access point other than the specified access point to the communication device 151 by network setup.

[0152] By adopting this configuration, if a connection between a predetermined access point and communication device 151 can be established by WEC, setup can be performed by WEC, thereby realizing a simple setup that omits the user from inputting a password, etc. Furthermore, if a connection between a predetermined access point and communication device 151 cannot be established by WEC, setup can be performed by a function other than WEC, thereby more reliably establishing a connection between the access point and communication device 151.

[0153] (Other embodiments) In the above-described embodiment, the WEC transmits connection information of the connected AP, and various determinations such as S211 to S213 are performed on the connected AP. However, this is not limited to this. Connection information of an AP other than the connected AP may be transmitted, or a determination may be performed on an AP other than the connected AP. Specifically, an AP other than the connected AP may be, for example, an access point to which the information processing device 101 was not connected when the setting operation was performed, but to which the information processing device 101 had connected at some point before the setting operation. Alternatively, it may be an access point selected by the user from a list of access points to which the information processing device 101 had connected. This is because the WEC can transmit connection information of an access point to which the information processing device 101 had connected at some point, as long as the connection information is stored by the OS.

[0154] In the above-described embodiment, setup is performed using WEC, thereby realizing a simple setup that omits the user's input of a password, etc. However, setup may also be performed using a function other than WEC. For example, setup may be performed using a function using Hyper Text Transfer Protocol. In this case, similar to WEC, a simple setup that omits the user's input of a password, etc. can be realized. Furthermore, in the above-described embodiment, setup is performed using a setup communication protocol (for example, SNMP (Simple Network Management Protocol)). However, setup may also be performed using a function other than setup using a setup communication protocol. For example, setup may be performed using a function using Hyper Text Transfer Protocol.

[0155] Furthermore, in the above embodiment, in S207, various pieces of information are acquired via a BLE connection between the communication device 151 operating in the BLE setup mode and the information processing device 101. However, this is not limiting. The information may be acquired by reading a QR code as in S221, or may be acquired via communication using another communication method such as NFC or Wi-Fi.

[0156] In addition, the above-described embodiments can also be realized by executing the following processing. That is, software (programs) that realize the functions of the above-described embodiments are shared with a system or device via a network or various storage media, and a computer (CPU, MPU, etc.) of the system or device reads and executes the program. The program may be executed by a single computer, or may be executed by multiple computers in cooperation with each other. Furthermore, it is not necessary to realize all of the above-described processing by software; some or all of the processing may be realized by hardware such as an ASIC. Furthermore, the CPU is not limited to one that performs all processing by a single CPU, and multiple CPUs may perform processing in cooperation as appropriate. [Explanation of symbols]

[0157] 101 Information processing equipment 103 CPU 151 Communication equipment

Claims

1. A communication device that communicates with an information processing device, a first control means for executing a first control to start the first state based on receiving, via communication with the information processing device using a first protocol, a request to start a first state in which communication with the information processing device using a second protocol different from the first protocol can be executed from the information processing device; a first transmitting means for transmitting communication information used for communication between the information processing device and the communication device according to the second protocol via communication with the information processing device according to the first protocol; a communication means for executing communication with the information processing device according to the second protocol based on the communication information transmitted according to the first protocol; a second control means for executing a second control to establish a connection between the communication device and the access point using connection information when connection information for the communication device to connect to an access point is acquired from the information processing device through communication with the information processing device using the second protocol based on the communication information transmitted using the first protocol; a second transmitting means for transmitting, to the information processing device via communication with the information processing device according to the first protocol, predetermined information indicating whether or not a connection between the communication device and the access point has been successfully established by the second control executed using the connection information acquired from the information processing device via communication with the information processing device according to the second protocol; an acquisition means for acquiring, when information indicating that the establishment of a connection between the communication device and the access point was not successful due to the second control executed using the connection information acquired from the information processing device via communication with the information processing device using the second protocol, as the predetermined information to the information processing device via communication with the information processing device using the first protocol; a third control means for executing a third control to establish a connection between the communication device and the access point using the connection information when the connection information is acquired from the information processing device through communication with the information processing device using the first protocol; A communication device comprising:

2. 2. The communication device according to claim 1, further comprising first transmitting means for transmitting response information indicating whether the first state has been started to the information processing device.

3. 3. The communication device according to claim 1, wherein the connection information includes at least one of an SSID of the access point, an encryption method, and a password or public key information.

4. 4. The communication device according to claim 1, further comprising: a generating unit that generates the communication information.

5. The communication device according to claim 4, characterized in that the communication information includes at least one of identification information of the communication device, public key information, and information indicating a channel used for communication with the information processing device using the second protocol.

6. 6. The communication device according to claim 1, further comprising a third transmitting means for transmitting the communication information to the information processing device.

7. 7. The communication device according to claim 1, further comprising a printing unit that causes the communication device to execute printing via the access point to which the communication device is connected.

8. 8. The communication device according to claim 1, wherein the second protocol is a Device Provisioning Protocol.

9. 8. The communication device according to claim 1, wherein the second protocol is Hyper Text Transfer Protocol.

10. 10. The communication device according to claim 1, wherein the first protocol is a Simple Network Management Protocol.

11. 11. The communication device according to claim 1, wherein the communication with the information processing device according to the first protocol and the communication with the information processing device according to the second protocol are based on IEEE 802.

11.

12. 10. The communication device according to claim 1, wherein the first protocol is a Generic Attribute Profile.

13. 13. The communication device according to claim 12, wherein the communication with the information processing device using the first protocol is communication based on Bluetooth.

14. 14. The communication device according to claim 13, wherein the communication with the information processing device using the first protocol is communication based on Bluetooth Low Energy.

15. 15. The communication device according to claim 1, wherein the first state is ended when a predetermined time has elapsed until the first state is ended.

16. A fourth transmitting means for, when information indicating that the establishment of a connection between the communication device and the access point was not successful is transmitted to the information processing device by the second control, transmitting a list of access points found by the search performed by the communication device to the information processing device via communication with the information processing device using the first protocol; and the connection information acquired from the information processing device through communication with the information processing device using the second protocol is connection information for connecting to an access point to which the information processing device is connected or an access point to which the information processing device has previously connected, When information indicating that the establishment of a connection between the communication device and the access point was not successful is transmitted to the information processing device by the second control, the connection information acquired through communication with the information processing device using the first protocol is connection information for connecting to an access point included in the list transmitted to the information processing device.

16. A communication device according to any one of claims 1 to 15.

17. The information processing device has a predetermined application program, the transmission of the start request to the communication device and the transmission of the connection information to the communication device when information indicating that the establishment of the connection between the communication device and the access point has not been successful due to the second control is transmitted to the information processing device are executed by the predetermined application program; When information indicating that the connection between the communication device and the access point was not successfully established is transmitted to the information processing device by the second control, the connection information acquired through communication with the information processing device using the first protocol includes a password entered by a user on a screen displayed by the predetermined application program, the connection information acquired from the information processing device through communication with the information processing device using the second protocol does not include a password held by the predetermined application program; 17. A communication device according to any one of claims 1 to 16.

18. The connection information acquired from the information processing device through communication with the information processing device using the second protocol is connection information for connecting to an access point to which the information processing device is connected or an access point to which the information processing device has previously connected, the connection information acquired from the information processing device through communication with the information processing device using the second protocol includes a password entered by a user on a screen displayed by an application program compatible with an operating system (OS) of the information processing device when a connection between the information processing device and an access point is established; 18. A communication device according to any one of claims 1 to 17.

19. A computer of an information processing device that communicates with the communication device, a first control step of executing a first control to cause the communication device to transmit a start request to start a first state in which communication with the information processing device can be performed using a second protocol different from the first protocol, via communication with the communication device using a first protocol; a first receiving step of receiving communication information used for communication between the information processing device and the communication device according to the second protocol via communication with the communication device according to the first protocol; a communication step of performing communication with the communication device according to the second protocol based on the communication information received according to the first protocol; a second control step of executing second control to transmit connection information for the communication device to connect to an access point to the communication device through communication with the communication device according to the second protocol based on the communication information received according to the first protocol; a second receiving step of receiving, from the communication device via communication with the communication device according to the first protocol, predetermined information indicating whether or not a connection between the communication device and the access point has been successfully established based on the connection information transmitted to the communication device via communication with the communication device according to the second protocol as a result of the second control being executed; a third control step of executing a third control to transmit the connection information to the communication device via communication with the communication device according to the first protocol when information indicating that establishment of a connection between the communication device and the access point was not successful is received from the communication device as the predetermined information due to the execution of the second control and the connection information transmitted to the communication device via communication with the communication device according to the second protocol; A program characterized by executing the following.

20. A control method for a system including an information processing device and a communication device that communicates with the information processing device, The control method for the communication device includes: a first control step of executing a first control to start the first state based on receiving, via communication with the information processing device using a first protocol, a request to start a first state in which communication with the information processing device using a second protocol different from the first protocol can be executed from the information processing device; a first transmission step of transmitting communication information used for communication between the information processing device and the communication device according to the second protocol via communication with the information processing device according to the first protocol; a communication step of executing communication with the information processing device according to the second protocol based on the communication information transmitted according to the first protocol; a second control step of executing a second control to establish a connection between the communication device and the access point using the connection information when connection information for the communication device to connect to the access point is acquired from the information processing device through communication with the information processing device using the second protocol based on the communication information transmitted using the first protocol; a second transmission step of transmitting, to the information processing device via communication with the information processing device according to the first protocol, predetermined information indicating whether or not a connection between the communication device and the access point has been successfully established by the second control executed using the connection information acquired from the information processing device via communication with the information processing device according to the second protocol; an acquisition step of acquiring the connection information from the information processing device via communication with the information processing device using the first protocol when information indicating that the establishment of a connection between the communication device and the access point was not successful due to the second control executed using the connection information acquired from the information processing device via communication with the information processing device using the second protocol is transmitted to the information processing device via communication with the information processing device using the first protocol as the predetermined information; a third control step of executing a third control to establish a connection between the communication device and the access point using the connection information when the connection information is acquired from the information processing device through communication with the information processing device using the first protocol; and The control method for the information processing device includes: a fourth control step of executing fourth control to transmit the start request via communication with the communication device according to the first protocol; a first receiving step of receiving the communication information via communication with the communication device according to the first protocol; a second communication step of performing communication with the communication device according to the second protocol based on the communication information received according to the first protocol; a fifth control step of executing a fifth control for transmitting the connection information to the communication device through communication with the communication device according to the second protocol based on the communication information received according to the first protocol; a second receiving step of receiving the predetermined information from the communication device via communication with the communication device according to the first protocol; a sixth control step of executing sixth control when information indicating that the connection between the communication device and the access point has not been successfully established is received from the communication device as the predetermined information, for transmitting the connection information to the communication device via communication with the communication device using the first protocol; A control method comprising:

Citation Information

Patent Citations

  • Information processing device, control method, and program

    JP2016127545A

  • Communication device, control method of the same, and program

    JP2019029989A

  • Communication system, control method, and program

    JP2019193143A

  • Terminal, radio connection control method and radio connection control program

    JP2020036125A

  • Communication device, communication method, and program

    JP2020043397A