Communication device, its control method, and program
The communication device improves user interaction and security in network configuration by using DPP for secure wireless setup, addressing the limitations of existing connection methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2026-03-17
- Publication Date
- 2026-05-19
AI Technical Summary
The convenience of connecting communication devices to access points is limited by the need for improved user interaction and secure network configuration processes.
A communication device that outputs notifications for user confirmation of wireless settings based on specific conditions and executes settings upon permission, utilizing the Device Provisioning Protocol (DPP) for secure network setup.
Enables secure and convenient network configuration operations by enhancing user interaction and ensuring secure wireless connections.
Smart Images

Figure 2026083430000001_ABST
Abstract
Description
Technical Field
[0006] , , , ,
[0001] The present invention relates to a communication device, a control method thereof, and a program.
Background Art
[0002] There is known a technique in which an information processing device such as a PC (personal computer) transmits information regarding an access point (external device) to a communication device such as a printer and connects the communication device and the external device.
Prior Art Document
Patent Document
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] By the way, as the function of transmitting connection information for connecting to an access point to a communication device and connecting the communication device and the access point becomes widespread, it is required to improve the convenience of the function.
[0005] The present invention has been made in view of the above problems, and an object thereof is to improve the convenience of the function of connecting a communication device and an access point.
Means for Solving the Problems
[0006] A communication device that communicates with an information processing device, comprising: a first output means that outputs a notification to the user to confirm whether or not to allow the execution of a predetermined wireless setting, which is a setting based on information received from the information processing device and is a setting related to the wireless connection of the communication device, based on the condition that the start condition for a predetermined state in which wireless communication with the information processing device is possible is a first condition, and does not output the notification based on the condition that the start condition for the predetermined state is a second condition different from the first condition; and a setting means that executes the predetermined wireless setting based on the input indicating permission to execute the predetermined wireless setting in response to the notification. [Effects of the Invention]
[0007] According to the present invention, it becomes possible to perform secure and convenient network configuration operations. [Brief explanation of the drawing]
[0008] [Figure 1] This diagram shows the configuration of an information processing device, a communication device, and an access point. [Figure 2] This flowchart shows the processing flow executed by the information processing device during network setup. [Figure 3] This is an example of a screen for scanning QR codes (registered trademark) displayed in the settings app. [Figure 4] This is a sequence diagram showing the processes performed by the information processing device and the communication device. [Figure 5] This is an example of the WEC start screen. [Figure 6] This is a sequence diagram showing the processes performed by the information processing device and the communication device. [Figure 7] This flowchart shows the flow of the first setup process performed by the communication device during the network setup process. [Figure 8] This flowchart shows the flow of the second setup process performed by the communication device during the network setup process. [Figure 9] This is a flowchart illustrating the process for initiating DPP waiting mode. [Figure 10] This is a flowchart illustrating the execution process of WEC. [Figure 11] This is a flowchart illustrating the execution process of WEC. [Figure 12] This figure shows an example of a connection selection screen. [Figure 13] This is a flowchart illustrating the execution process of WEC. [Modes for carrying out the invention]
[0009] Preferred embodiments of the present invention will be described below with reference to the drawings. However, it should be understood that the present invention also includes modifications and improvements made to the embodiments described below, without departing from the spirit of the invention, based on the ordinary knowledge of those skilled in the art.
[0010] (First Embodiment) This section describes the information processing device and communication device included in the communication system of this embodiment. While a smartphone is used as an example of the information processing device in this embodiment, it is not limited to this. For example, various devices such as mobile terminals, PCs (personal computers), tablet terminals, PDAs (personal digital assistants), and digital cameras can be used as information processing devices. Similarly, while a printer is used as an example of the communication device in this embodiment, it is not limited to this; various devices capable of wireless communication with the information processing device can be used. For example, inkjet printers, full-color laser beam printers, monochrome printers, etc., can be used. Furthermore, it can be applied not only to printers but also to copiers, facsimile machines, mobile terminals, smartphones, notebook PCs, tablet terminals, PDAs, digital cameras, music playback devices, televisions, smart speakers, etc. It can also be applied to multifunction devices equipped with multiple functions such as copying, faxing, and printing.
[0011] Furthermore, in this embodiment, if the information processing device supports a function called Wi-Fi Easy Connect (hereinafter referred to as WEC) (registered trademark), it can execute that function. WEC is a function that uses the Device Provisioning Protocol (hereinafter referred to as DPP), which was established by the Wi-Fi Alliance, to perform network setup for other devices. Specifically, network setup for other devices refers to the process of connecting other devices to access points that form a network. In WEC, communication takes place between a device operating in the role of "Configurator" (hereinafter referred to as the Configurator device) and a device operating in the role of "Enrollee" (hereinafter referred to as the Enrollee device). In this embodiment, the Configurator device is the Initiator in DPP, and the Enrollee device is the Responder in DPP. The Configurator device obtains Bootstrapping information from the Enrollee device. Bootstrapping information includes, for example, the identification information of the Enrollee device (MAC address, etc.) and public key information used to perform secure communication with the Enrollee device. In this embodiment, Bootstrapping information is described as "WEC-related information". Other information may also be treated as WEC-related information. The Configurator device then uses the acquired Bootstrapping information to perform wireless communication with the Enrollee device. Specifically, for example, the Configurator device communicates with the Enrollee device using the public key included in the Bootstrapping information. Furthermore, it generates a shared key based on the information obtained from that communication and sends the encrypted information using that shared key to the Enrollee device. The information sent here is specifically, for example, connection information for connecting to an access point. The Enrollee device then uses the connection information received from the Configurator device to establish a wireless connection with the access point.In the network setup process by the WEC in this embodiment, the information processing device corresponding to the WEC operates as a Configurator device, and the communication device corresponding to the WEC operates as an Enrollee device, which will be described as such.
[0012] First, the configuration of the information processing device of this embodiment and the 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. Also, in this embodiment, the following configuration is described as an example, but this embodiment is applicable to devices capable of communicating with a communication device, and the functions are not particularly limited as shown in this figure.
[0013] The information processing device 101 is the 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, and the like. The computer of the information processing device 101 is formed by the CPU 103, the ROM 104, the RAM 105, and the like.
[0014] The input interface 102 is an interface for receiving data input and operation instructions from the user when an operation unit such as a keyboard 109 is operated. The operation unit may be a physical keyboard or physical buttons, etc., or may be a soft keyboard or soft buttons displayed on the display unit 108. That is, the input interface 102 may receive input (operation) from the user via the display unit 108.
[0015] The CPU 103 is a system control unit that controls the entire information processing device 101.
[0016] The ROM 104 stores fixed data such as control programs executed by the CPU 103, data tables, and embedded operating system (hereinafter referred to as OS) programs. In the present 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.
[0017] The RAM 105 is composed of an SRAM (Static Random Access Memory) or the like that requires a backup power source. Since the data in the RAM 105 is retained by a primary battery for data backup (not shown), important data such as program control variables can be stored without being volatile. Also, a memory area for storing the setting information of the information processing apparatus 101, the management data of the information processing apparatus 101, and the like is provided in the RAM 105. Further, the RAM 105 is also used as the main memory and work memory of the CPU 103.
[0018] The external storage device 106 stores an application program (hereinafter referred to as a setting app) for executing network setup of the communication device 151, a print information generation program for generating print information interpretable by the communication device 151, and the like. The setting app is an application program for setting the access point of the connection destination of the communication device 151 using a WEC or the like. Note that the setting app may have other functions than the network setup function. For example, the setting app may have a function to cause the communication device 151 to execute printing, a function to scan the original document set in the communication device 151, a function to check the state of the communication device 151, and the like. The setting app is stored in the external storage device 106 by being installed from an external server via Internet communication through the communication unit 110, for example. Also, the external storage device 106 stores various programs such as an information transmission / reception control program for transmitting and receiving information between the communication device 151 connected via the communication unit 110, and various information used by these programs.
[0019] 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.
[0020] The display unit 108 consists of LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and is used to display data and notify the status of the information processing device 101.
[0021] 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 it may communicate via an external device located outside the information processing device 101 and the communication device 151. External devices include external access points (such as access point 131) located outside the information processing device 101 and the communication device 151, as well as devices other than access points that can relay communication. In this embodiment, the wireless communication method used by the communication unit 110 is assumed to be Wi-Fi (WirelessFidelity) (registered trademark), a communication standard compliant with the IEEE 802.11 series. The aforementioned WEC is performed by communication via the communication unit 110. Furthermore, the access point 131 can be, for example, a wireless LAN router or other device. In this embodiment, the method by which the information processing device 101 and the communication device 151 are directly connected without going through an external access point is called the direct connection method. The method by which the information processing device 101 and the communication device 151 are connected via an external access point is called the infrastructure connection method.
[0022] The short-range wireless communication unit 111 is configured to wirelessly connect to devices such as the communication device 151 at short range and perform data communication, and communicates using a different communication method than the communication unit 110. The short-range wireless communication unit 111 can connect to, for example, the short-range wireless communication unit 157 within the communication device 151. Examples of communication methods include Near Field Communication (NFC), Bluetooth® Classic, Bluetooth Low Energy (BLE), and Wi-Fi Aware.
[0023] In this embodiment, the information processing device 101 executes WEC using its OS based on an instruction to execute network setup processing by the configuration application.
[0024] The communication device 151 is the communication device of this embodiment. The communication device 151 includes a ROM 152, RAM 153, CPU 154, print engine 155, communication unit 156, short-range wireless communication unit 157, etc. The computer of the communication device 151 is formed by the ROM 152, RAM 153, CPU 154, etc.
[0025] The communication unit 156 has an access point within the communication device 151 for connecting to devices such as the information processing device 101. This access point can be connected to the communication unit 110 of the information processing device 101. When the communication unit 156 activates this access point, the communication device 151 operates as an access point. The communication unit 156 may connect wirelessly to the information processing device 101 directly, or it may connect wirelessly via the access point 131. In this embodiment, the wireless communication method used by the communication unit 156 is a communication standard compliant with the IEEE 802.11 series. In the following description, Wi-Fi (WirelessFidelity) (registered trademark) (Wi-Fi communication) refers to a communication standard compliant with the IEEE 802.11 series. Furthermore, if the communication device 151 supports WEC, the aforementioned WEC will be executed by communication via the communication unit 156. Furthermore, the communication unit 156 may be equipped with hardware that functions as an access point, or it may operate as an access point through software that enables it to function as an access point.
[0026] The communication device 151 of this embodiment can operate in infrastructure mode and P2P (Peer to Peer) mode as modes for performing communication using the communication unit 156.
[0027] Infrastructure mode is a configuration in which the communication device 151 communicates with other devices such as the information processing device 101 via external devices that form a network (for example, the access point 131). The connection with the external access point established by the communication device 151 operating in infrastructure mode is called an infrastructure connection (hereinafter referred to as an infrastructure connection). In this embodiment, in an 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 the communication channel used in the network to which the master station belongs, and the slave station is a device that does not determine the communication channel used in the network to which the slave station belongs, but uses the communication channel determined by the master station.
[0028] P2P mode is a configuration in which the communication device 151 communicates directly with other devices such as the information processing device 101 without going through external devices that form a network. In this embodiment, P2P mode includes AP mode in which the communication device 151 operates as an access point. The access point connection information (SSID and password) enabled within the communication device 151 in AP mode can be arbitrarily set by the user. P2P mode may also include, for example, a WFD mode for the communication device 151 to communicate using Wi-Fi Direct (WFD). Which of the multiple WFD-compatible devices will operate as the master station is determined according to a sequence such as Group Owner Negotiation. The master station may be determined without performing Group Owner Negotiation. A device that is WFD-compatible and also acts as the master station is specifically called the Group Owner. A direct connection with other devices established by the communication device 151 operating in P2P mode is called a direct connection. In this embodiment, in a direct connection, the communication device 151 operates as the master station, and the other devices operate as slave stations.
[0029] Furthermore, in this embodiment, the communication device 151 can operate in 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 the communication device 151 operates in network setup mode, it operates as a setup access point that is valid during operation in network setup mode by using the communication unit 156. This setup access point is a different access point from the access point that is enabled in AP mode as described above. The SSID of this setup access point shall contain a predetermined string that can be recognized by the setting application of the information processing device 101. Also, this setup access point shall be an access point that does not require a password for connection. Furthermore, the communication device 151 operating in network setup mode shall use a predetermined communication protocol (setup communication protocol) in communication with the information processing device 101 connected to the setup access point. Specifically, the setup communication protocol is, for example, SNMP (Simple Network Management Protocol). After the communication device 151 starts operating in network setup mode, it stops operating in network setup mode and disables the setup access point after a predetermined time has elapsed. This is because, as mentioned above, the setup access point does not require a password, and if it is enabled for an extended period, it increases the likelihood of unauthorized devices requesting a connection. However, the setup access point may require a password. In that case, the password used to connect to the setup access point should be a fixed (user-unchangeable) password that the settings application has already determined.
[0030] Furthermore, in this embodiment, the communication device 151 can also operate in a mode to perform network setup using a communication protocol different from the setup communication protocol, upon receiving a predetermined operation from the user. In this embodiment, the communication protocol different from the setup communication protocol is assumed to be the DPP described above, and this mode is referred to as the DPP waiting mode. When the communication device 151 is operating in the DPP waiting mode and receives a DPP network setup request from the information processing device 101, it performs DPP network setup as described later. Therefore, the DPP waiting mode is, in other words, a mode that waits for a DPP network setup request. The DPP waiting mode will be described later in Figure 9.
[0031] The short-range wireless communication unit 157 is configured to wirelessly connect to devices such as the information processing device 101 at short range, and can, for example, connect to the short-range wireless communication unit 111 within the information processing device 101. Examples of communication methods include NFC, Bluetooth Classic, BLE, and Wi-Fi Aware.
[0032] RAM 153 is composed of SRAM and other components that require a backup power supply. Since RAM 153's data is maintained by a primary battery (not shown) for data backup, important data such as program control variables can be stored without being lost. RAM 153 also includes a memory area for storing setting information and management data for the communication device 151. Furthermore, RAM 153 is used as the main memory and work memory for the CPU 154, storing a receive buffer for temporarily saving print information received from the information processing device 101, and various other information.
[0033] ROM152 stores fixed data such as control programs, data tables, and OS programs executed by the CPU154. In this embodiment, each control program stored in ROM152 performs software execution control such as scheduling, task switching, and interrupt handling under the management of the embedded OS also stored in ROM152.
[0034] The CPU 154 is the system control unit and controls the entire communication device 151.
[0035] The print engine 155 forms an image on a recording medium such as paper by adding a recording agent such as ink to the recording medium based on the information stored in the RAM 153 and the print job received from the information processing device 101, etc., and outputs the print result. Generally, the amount of data for print jobs transmitted from the information processing device 101, etc. is large, so it is necessary to use a communication method that enables high-speed communication for the communication of print jobs. For this reason, the communication device 151 receives print jobs via the communication unit 156, which is capable of high-speed communication than the short-range wireless communication unit 157.
[0036] Furthermore, the communication device 151 may be equipped with an external HDD or SD card as an optional memory device, and the information stored in the communication device 151 may be stored in such memory.
[0037] The input interface 158 is an interface for receiving data input and operation instructions from the user when an operation unit 159, such as a physical button, is operated. The operation unit may also be a soft keyboard or soft buttons displayed on the display unit 161. In other words, the input interface 158 may also receive input from the user via the display unit 161.
[0038] The output interface 160 is an interface that controls the display unit 161 to display data and notify the status of the communication device 151.
[0039] The display unit 161 consists of LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and is used to display data and notify the status of the communication device 151.
[0040] Figure 2 is a flowchart showing the processing flow executed by the information processing device 101 in the network setup process of this embodiment. The flowchart shown in Figure 2 is realized, for example, when the CPU 103 reads a setting application stored in the ROM 104 or external storage device 106 into the RAM 105 and executes it. The flowchart shown in Figure 2 is also started when a predetermined operation (hereinafter referred to as a setting operation) for performing network setup is performed on the screen displayed by the setting application.
[0041] First, in S200, the CPU 103 acquires information about the access point (hereinafter referred to as "connected AP") to which the information processing device 101 was wirelessly connected via Wi-Fi at least when the configuration operation was performed. In this embodiment, since the information processing device 101 has not switched the connected access point after the configuration operation, this access point is also the access point to which the information processing device 101 is currently connected in S200. This information includes information for connecting to the access point to which the information processing device 101 is wirelessly connected via Wi-Fi (SSID, information indicating the encryption method, etc.). The acquired information is stored in a predetermined storage area of the memory of the information processing device 101. If the information processing device 101 is not connected to any access point via Wi-Fi when the configuration operation is performed, this process is omitted.
[0042] Next, in S201, the CPU 103 instructs the OS of the information processing device 101 to search for access points around the information processing device 101, and the search results are obtained by the setting application.
[0043] Next, in S202, the CPU 103 determines whether or not there is an access point in the search results obtained in S201 that is enabled by the communication device 151 operating in network setup mode. As described above, in this embodiment, the SSID of an access point that is enabled by the communication device 151 operating in network setup mode contains a predetermined string that is recognized in advance by the configuration application. Specifically, in this determination, the CPU 103 determines whether or not there is an access point in the search results obtained in S201 that has an SSID containing the predetermined string. If the result is YES, the CPU 103 proceeds to S203, and if it is NO, it proceeds to S219.
[0044] In S203, the CPU 103 attempts to establish a Wi-Fi connection between the information processing device 101 and an access point that has a communication device 151 operating in network setup mode, which was included in the search results. This Wi-Fi connection corresponds to the Wi-Fi connection between the communication device 151 operating in network setup mode and the information processing device 101.
[0045] Next, in S204, the CPU 103 determines whether the Wi-Fi connection was successfully established by S203. If the CPU 103 determines it is YES, it proceeds to S205; otherwise, it proceeds to S219.
[0046] In S205, the CPU 103 obtains capability information for the information processing device 101 from the OS. In this embodiment, the capability information includes information indicating whether or not the information processing device 101 supports WEC. The content of the capability information varies depending on the model and type number of the information processing device 101.
[0047] Next, in S206, the CPU 103 determines whether the information processing device 101 was connected to the access point via Wi-Fi when the configuration operation was performed, and whether the information processing device 101 supports WEC. For example, if the information processing device 101 was not connected to the access point via Wi-Fi when the configuration operation was performed, the result is NO. Also, for example, if the information processing device 101 was connected to the access point via Wi-Fi when the configuration operation was performed, but the information processing device 101 does not support WEC, the result is NO. Whether the information processing device 101 was connected to the access point via Wi-Fi when the configuration operation was performed is determined based on whether information about connected APs is stored in the predetermined memory area mentioned above. Furthermore, whether the information processing device 101 supports WEC is determined based on the content of the capability information obtained in S205. If the CPU 103 determines YES, it proceeds to S207; if it determines NO, it proceeds to S224.
[0048] In S207, the CPU 103 attempts to obtain various information from the communication device 151 via a Wi-Fi connection between the access point and the information processing device 101, where the communication device 151 is enabled and operating in network setup mode. As mentioned above, the setup communication protocol is used for communication via the Wi-Fi connection between the access point and the information processing device 101 where the communication device 151 is enabled and operating in network setup mode. The information obtained through this includes, for example, the WEC-related information mentioned above and information indicating whether the communication device 151 supports WEC. The information indicating whether or not it supports WEC is information indicating whether or not the communication device 151 supports DPP. If the communication device 151 does not support WEC, information indicating that the communication device 151 does not support WEC is obtained, and WEC-related information is not obtained. Also, if the communication device 151 does not support WEC, both WEC-related information and information indicating whether or not the communication device 151 supports WEC may not be obtained. Generally, WEC-related information can be acquired by having the communication device 151 display a QR code corresponding to the WEC-related information on its display unit, and then having the information processing device 101 read that QR code with a camera unit or the like. However, in this embodiment, the WEC-related information is acquired via a Wi-Fi connection between the access point enabled by the communication device 151, which is operating in network setup mode, and the information processing device 101. This configuration allows the information processing device 101 to acquire WEC-related information even if the communication device 151 does not have a display unit for displaying QR codes, or if the information processing device 101 does not have a camera unit for reading QR codes.
[0049] Next, in S208, the CPU 103 determines whether the communication device 151 supports WEC based on the information obtained in S207. WEC support for the communication device 151 means that it supports DPP as described above. If information indicating that the communication device 151 supports WEC is obtained, the determination is YES; if no such information is obtained, the determination is NO. If the determination is YES, the CPU 103 proceeds to S209; otherwise, it proceeds to S224. If information could not be obtained in S207, the result of this determination is NO.
[0050] Next, in S209, the CPU 103 determines whether or not it was able to obtain WEC-related information from the communication device 151 in S207. If the CPU 103 determines it is YES, it proceeds to S210; otherwise, it proceeds to S222. A case where the CPU 103 determines it is NO is, for example, when information indicating that the communication device 151 supports WEC was obtained, but WEC-related information was not obtained due to a communication error or the like.
[0051] In S210, the CPU 103 obtains capability information of the communication device 151 via a Wi-Fi connection between the access point enabled by the communication device 151, which is operating in network setup mode, and the information processing device 101. In this embodiment, the capability information of the communication device 151 includes at least one piece of information indicating the encryption method supported by the communication device 151 and the frequency band supported by the communication device 151. Examples of encryption methods supported by the communication device 151 are WPA (Wi-Fi Protected Access), WPA2, and WPA3. The information indicating the frequency band supported by the communication device 151 may also be information indicating the communication channel corresponding to the frequency band supported by the communication device 151 (channel information). Note that this process may be omitted in configurations where the determination regarding the encryption method supported by the communication device 151 or the determination regarding the frequency band supported by the communication device 151, as described later, is not performed. The capability information may be pre-included in the settings application. In other words, the CPU 103 may identify the capability information corresponding to the communication device 151 from among the multiple capability information sets provided for each type and model number of communication device that are pre-installed in the settings application, and obtain the identified capability information from the settings application.
[0052] Next, in S211, the CPU 103 determines, based on the capability information obtained in S210, whether the encryption method used to connect with 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 CPU 103 determines YES, it proceeds to S212; otherwise, it proceeds to S224. This determination may be performed at other times. Specifically, for example, this determination may be performed after S204-YES, and if the determination is YES, it proceeds to S205; otherwise, it proceeds to S224.
[0053] Next, in S212, the CPU 103 determines whether the encryption method used to connect with the connected AP is a WEC-compatible (DPP-compatible) encryption method. WEC-compatible encryption methods include, for example, WPA2 and WPA3, while non-WEC-compatible encryption methods include, for example, WPA and WEP. The CPU 103 may determine which encryption method is WEC-compatible based on information pre-stored by the configuration application, or based on information obtained from the communication device 151. If the CPU 103 determines YES, it proceeds to S213; otherwise, it proceeds to S224.
[0054] Next, in S213, the CPU 103 determines, based on the capability information obtained in S210, whether the frequency band used for connecting with the connected AP is a frequency band supported by the communication device 151. In this embodiment, it is assumed that there are two types of communication devices 151: one that supports both the 2.4GHz and 5GHz frequency bands, and another that supports the 2.4GHz frequency band but not the 5GHz frequency band. The communication device 151 cannot connect to an access point if it does not support a particular frequency band. For example, if the frequency band used for connecting with the connected AP is the 5GHz frequency band, and the communication device 151 does not support the 5GHz frequency band, the result of this determination will be NO. If the CPU 103 determines YES, it proceeds to S214; otherwise, it proceeds to S224.
[0055] In S214, the CPU 103 instructs the communication device 151, which is operating in network setup mode, to disconnect the Wi-Fi connection between the enabled access point and the information processing device 101.
[0056] Next, in S215, the CPU 103 re-establishes the connection between the information processing device 101 and the access point to which the information processing device 101 was connected via Wi-Fi when the configuration operation was performed. Note that during WEC execution, information regarding the access point to which the information processing device 101 is connected is transmitted. Therefore, this process is performed in preparation for the execution of WEC in S216.
[0057] Next, in S216, the CPU 103 executes a process to run WEC using the acquired WEC-related information. In this embodiment, the configuration application does not directly run WEC, but rather launches the OS standard WEC application program (hereinafter referred to as the WEC application) as a process to run WEC. The WEC application then executes the WEC API and sends a WEC execution request to the OS, causing the OS to run WEC. Alternatively, the configuration application may execute the WEC API and send a WEC execution request to the OS, and the process to run WEC may be this execution request. Details of this process will be described later.
[0058] In S217, the CPU 103 determines whether the WEC execution was successful in establishing a connection between the access point and the communication device 151. This determination is made based on information regarding whether the WEC execution was canceled and information obtained from the communication device 151 indicating the success or failure of the connection with the access point. If the CPU 103 determines it is YES, it terminates processing; otherwise, it proceeds to S218.
[0059] In S218, the CPU 103 determines whether the reason for the failure to establish a connection between the access point and the communication device 151 is a specific cause, based on the executed WEC. In this embodiment, information regarding the reason for the failure to establish a connection between the access point and the communication device 151 is obtained from the communication device 151 by the executed WEC, and this determination is performed based on that information. In this embodiment, specific causes include, for example, a communication error in the WEC (cause 1), or the encryption method used for the connection between the information processing device 101 and the access point being an encryption method not supported by the communication device 151 (cause 2). Another example is the encryption method used for the connection between the information processing device 101 and the access point being an encryption method not supported by the WEC (cause 3). Note that connection failures due to causes 2 and 3 may occur if the WEC is executed after S221-YES. This is because, unlike when WEC is executed after S215, when WEC is executed after S221-YES, capability information for the communication device 151 has not been acquired, and therefore, judgments like those in S211 and S212 have not been performed. The CPU 103 proceeds to S224 if the judgment is YES, and terminates processing if the judgment is NO.
[0060] Note that the processing in S217 and S218 may be omitted. Specifically, for example, after S216, the process may terminate without executing S217 or S218. Also, in the case of S217-NO, the process may terminate without executing S218.
[0061] Next, we will explain S219, which is executed in the cases of S202-NO and S204-NO. In S219, the CPU 103 determines whether the information processing device 101 was connected to the 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 predetermined memory area mentioned above. If the determination is YES, the CPU 103 proceeds to S220, and if the determination is NO, it terminates the process.
[0062] In S220, an attempt is made to acquire WEC-related information using a different method than that used in S207. Specifically, for example, an attempt is made to acquire WEC-related information by reading a QR code, as described above. Figure 3 is an example of a screen for capturing a QR code displayed by the settings application. The screen 300 for capturing a QR code displays a frame 301, and the screen 300 also displays an image captured by the camera unit of the information processing device 101. 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 WEC-related information. Note that the acquisition of WEC-related information is not limited to this form; for example, WEC-related information may also be acquired from the communication device 151 via NFC or BLE. Note that if the communication device 151 does not support WEC, it cannot display a QR code or transmit WEC-related information via NFC or BLE. In that case, CPU 103 terminates the process by accepting a cancellation operation from the user via the settings app. Note that the screen 300 for scanning the QR code may be displayed by an application program other than the settings app (for example, the WEC app or another scanning application program).
[0063] Next, in S221, it is determined whether or not WEC-related information was obtained in S220. If the CPU 103 determines it is YES, it proceeds to S216; otherwise, it terminates processing. For example, if the QR code read in S220 is not a QR code for obtaining WEC-related information, or if the QR code reading fails, it will be determined to be NO. In the case of a NO determination, the CPU 103 may proceed to S224 without terminating processing. Also, if S221 is YES, the CPU 103 may determine whether or not the encryption method used to connect with the connected AP is an encryption method that supports WEC (supports DPP). If the CPU 103 determines it is YES, it proceeds to S216; otherwise, it may terminate processing or proceed to S224. In this case, it is assumed that the CPU 103 knows which encryption method supports WEC based on information previously held by the configuration application.
[0064] Next, we will describe S222, which is executed in the case of S209-NO. In S222, the CPU 103 disconnects the Wi-Fi connection between the access point enabled by the communication device 151, which is operating in network setup mode, and the information processing device 101.
[0065] Next, in S223, the CPU 103 re-establishes the connection between the information processing device 101 and the access point to which the information processing device 101 was connected via Wi-Fi when the configuration operation was performed. After that, the CPU 103 proceeds to S220 as described above.
[0066] In this embodiment, if WEC-related information cannot be obtained through the Wi-Fi connection between the communication device 151 and the information processing device 101 operating in network setup mode, an attempt is made to obtain the WEC-related information by other means. Specifically, for example, an attempt is made to obtain the WEC-related information by reading a QR code. This ensures that WEC can be executed even if WEC-related information cannot be obtained through the Wi-Fi connection between the communication device 151 and the information processing device 101 operating in network setup mode.
[0067] Next, we will explain S224, which is executed in the cases of S206-NO, S208-NO, S211~213-NO, and S218-YES. In S224, the CPU 103 performs network setup of the communication device 151 in a way different from WEC. In this embodiment, the method different from WEC is a method of performing network setup of the communication device 151 using a setup communication protocol, which is a different protocol from the WEC protocol (DPP). Details of this process will be described later in Figure 6. The CPU 103 then terminates the process.
[0068] The processing described in the flowchart above is not limited to what is described above. For example, if the CPU 103 cannot obtain WEC-related information via the Wi-Fi connection between the communication device 151 operating in network setup mode and the information processing device 101, it may terminate the process without attempting to obtain the WEC-related information by other means. Specifically, cases where WEC-related information cannot be obtained via the Wi-Fi connection between the communication device 151 operating in network setup mode and the information processing device 101 include, for example, S202-NO, S204-NO, and S209-NO. In other words, in the cases of S202-NO, S204-NO, and S209-NO, the process may terminate without executing the subsequent processes (S220-S221).
[0069] Furthermore, as mentioned above, two decisions, S208 and S209, were made after S207, but the process is not limited to this form. For example, after S207, instead of the two decisions in S208 and S209, a decision may be made to determine whether or not WEC-related information has been acquired. Then, if the result of the decision is YES, the process proceeds to S210, and if the result is NO, it proceeds to S224, and the processing of S220 to S223 may not be executed.
[0070] In this embodiment, the encryption method supported by the communication device 151 includes an encryption method that supports WEC. Therefore, the determination in S211 may not be performed. Specifically, for example, after S210, the determination in S211 may not be performed, and the determination in S212 may be performed instead.
[0071] Furthermore, for example, the encryption method supported by the communication device 151 may be WPA3 only, while the encryption methods supported by WEC are WPA2 and WPA3. In such cases, the encryption method supported by WEC may be included in the encryption methods supported by WEC. In this case, the determination in S212 may not be performed. Specifically, for example, after S211-YES, the determination in S212 may not be performed, and the process in S213 may be executed.
[0072] Using Figure 4, the processing performed by the information processing device 101 and the communication device 151 in S216 will be explained. The sequence shown in Figure 4 is realized, for example, by the CPU of each device reading programs stored in the ROM or external storage device of each device into the RAM of each device and executing them.
[0073] First, in S400, the information processing unit 101 starts WEC using DPP through the functions of the OS. Specifically, the information processing unit 101 starts the WEC application by instructing the OS to start the WEC application from the configuration application. As a result, the WEC application runs in the foreground and the configuration application runs in the background. For example, the execution of this instruction corresponds to the instruction to start WEC. As a result, the information processing unit 101 displays the WEC start screen by the WEC application. The WEC application is a program that is pre-installed on the information processing unit 101 and is provided by the OS vendor of the information processing unit 101. When the WEC application is started, WEC-related information acquired by the configuration application is provided to the WEC application. Figure 5 is an example of the WEC start screen displayed by the WEC application. The WEC start screen 500 displays areas 501, 502, and 503. Area 501 is an area for changing the access point that is set as the target of WEC configuration. Before area 501 is operated, the access point set as the target for WEC configuration 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 target for WEC configuration. The list of access points includes, for example, access points discovered by the information processing device 101 through AP search and access points to which the information processing device 101 has previously connected. Area 502 is for canceling the execution of WEC, and area 503 is for instructing the execution of WEC. When area 502 is operated, the information processing device 101 terminates the processing in this sequence diagram and proceeds to S217. In this case, WEC is considered to have failed. Also, when area 503 is pressed, the information processing device 101 proceeds to S401.
[0074] In S401, the WEC application executes a WEC API using WEC-related information and information about access points configured as targets for WEC configuration, thereby instructing the OS to execute WEC. Then, the OS performs a process called DPP Authentication between the information processing device 101 and the communication device 151. In DPP Authentication, authentication information and information used for information encryption are communicated between the information processing device 101 and the communication device 151 to authenticate communication between the devices. In DPP Authentication, various information transmitted from the information processing device 101 is encrypted based on the WEC-related information acquired by the information processing device 101 in the process shown in Figure 2. Specifically, in DPP Authentication, the information processing device 101 first sends an Authentication Request as a DPP network setup request. Next, the communication device 151, which is operating in DPP waiting mode, receives the Request sent from the information processing device 101 because it is operating in DPP waiting mode, which is a mode that waits for the Authentication Request. Upon receiving an Authentication Request, the communication device 151 attempts to decrypt the received Request using the decryption key it currently possesses. If the decryption is successful, the communication device 151 sends an Authentication response to the information processing device 101, thereby authenticating communication with the information processing device 101. However, if the information processing device 101 has not been able to obtain accurate WEC-related information and has not been able to encrypt the information accurately, the decryption by the communication device 151 will fail, authentication will fail, and no Authentication response will be sent. DPP Authentication is completed when the information processing device 101 receives the Authentication response. Furthermore, DPP is used to execute communication during DPP Authentication.
[0075] Next, in S402, the OS performs a process called DPP Configuration between the information processing device 101 and the communication device 151. In DPP Configuration, the information processing device 101 sends connection information to the communication device 151 via WEC to connect to the access point that has been configured as a target for WEC configuration. The connection information includes at least one piece of information such as the SSID, password, and encryption method of the access point that has been configured as a target for WEC configuration. The password sent at this time is information entered by the user on the screen displayed by the OS-compatible application when the connection between the information processing device 101 and the access point is established. It is also information that the OS has retained when the connection between the information processing device 101 and the access point is established. Furthermore, the password is information that the configuration application does not retain. Moreover, since the password sent at this time is information that the OS already retains, and DPP Configuration is a process executed by the OS, it does not need to be newly entered by the user on the screen displayed by the configuration application. As in this embodiment, by transmitting connection information via WEC, the password can be sent to the communication device 151 via secure communication without requiring the user to enter a password again on the screen displayed by the configuration application. In DPP Configuration, DPP is also used for communication.
[0076] In S403, the communication device 151 exits network setup mode and transitions to infrastructure mode. The communication device 151 then attempts to connect to the access point corresponding to the connection information obtained by WEC. If the connection is successful, the communication device 151 can then perform communication via the network formed by the connected access point. Communication via the network formed by the connected access point is performed using a protocol different from DPP (specifically, for example, Port9100, SNMP, or a vendor-specific protocol of the communication device 151). The communication device 151 may also send information to the information processing device 101 indicating whether the connection to the access point corresponding to the connection information obtained by WEC was successful or not. Furthermore, if the connection to the access point corresponding to the connection information obtained by WEC fails, the communication device 151 may also send information indicating the cause of the failure to the information processing device 101. These information transmissions may be performed using DPP. The reasons why the connection to the access point corresponding to the connection information obtained by WEC fails include communication errors in WEC, the access point not being found, or the WEC-related information obtained from the communication device 151 not being appropriate. For example, the encryption method used for connecting to the access point set as a target for WEC configuration may be an encryption method not supported by the communication device 151. The information processing device 101 may also display information on the display unit 108 indicating whether the connection between the access point corresponding to the connection information obtained by WEC and the communication device 151 has been successful or not. Furthermore, if the connection between the access point corresponding to the connection information obtained by WEC and the communication device 151 fails, the display unit 108 may also display information indicating the reason for the failure.In this invention, before attempting to connect to an access point using the connection information acquired by WEC in S403, the output of the notification regarding the connection to the access point is switched based on the start conditions for operation in network setup mode. This will be described later in Figure 10.
[0077] In S404, the information processing unit 101 switches the application running in the foreground from the WEC application to the configuration application based on the completion of WEC execution. The information processing unit 101 then searches for the communication device 151 on the network to which it belongs. This process is carried out by the configuration application, which has received notification from the OS that WEC execution has finished. When the information processing unit 101 finds the communication device 151, it requests capability information from the communication device 151, and the communication device 151 sends the capability information to the information processing unit 101. As a result, the information of the communication device 151 is registered in the configuration application, and thereafter, the configuration application can perform communication with the communication device 151. Specifically, for example, the configuration application can send print jobs to the communication device 151. At this time, if the information processing unit 101 belongs to the network formed by the access point to which the communication device 151 is connected via WEC, communication with the communication device 151 can be performed via that access point. Furthermore, if communication between the information processing device 101 and the communication device 151 is not possible, for example, if the access point to which the communication device 151 is connected is not the same access point to which the information processing device 101 is connected, the request and acquisition of capability information are omitted. Note that the communication in S404 is performed using a communication protocol different from, for example, DPP or the setup communication protocol. After that, the information processing device 101 completes the processing in this sequence diagram and proceeds to S217.
[0078] The above description assumes that a WEC application displays the WEC start screen and instructs the OS to run WEC by executing a WEC API. However, the system is not limited to this configuration. For example, a configuration application may display the WEC start screen. Alternatively, a configuration application may execute a WEC API to instruct the OS to run WEC.
[0079] Next, using Figure 6, the processing performed by the information processing device 101 and the communication device 151 in S224 will be explained. The sequence shown in Figure 6 is realized, for example, by the CPU of each device reading programs stored in the ROM or external storage device of each device into the RAM of each device and executing them. As mentioned above, a setup communication protocol is used for communication between the communication device 151 and the information processing device 101 via a Wi-Fi connection, when the communication device is operating in network setup mode.
[0080] In the S600, the information processing device 101 requests a list of access points from the communication device 151 via a Wi-Fi connection between the information processing device 101 and the communication device 151, which is operating in network setup mode, using a configuration application.
[0081] Next, in S601, the communication device 151 transmits a list of access points to the information processing device 101 via a Wi-Fi connection between the communication device 151, which is operating in network setup mode, and the information processing device 101. The list transmitted here is a list of one or more access points that the communication device 151 can connect to, which were discovered by the communication device 151 performing an AP search.
[0082] Next, in S602, the information processing device 101 transmits connection information for one of the access points included in the received list to the communication device 151 via a Wi-Fi connection between the information processing device 101 and the communication device 151, which is operating in network setup mode. This process is realized by the settings application controlling the information processing device 101 to transmit connection information for one 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 for the connected AP. In this embodiment, since the list only includes access points that the communication device 151 can connect to, if the received list includes a connected AP, that is, if the communication device 151 can connect to the connected AP. If the received list does not include a connected AP, the information processing device 101 displays the received list on the display unit 108 and accepts the user's selection of an access point from the list. The information processing device 101 then transmits the connection information for the selected access point. In this embodiment, the list only includes access points that the communication device 151 can connect to. Therefore, if a connected AP is not included in the received list, it means that the communication device 151 cannot connect to the connected AP. In addition, access points that can be connected using encryption methods not supported by the communication device 151 are not included in the list because the communication device 151 cannot connect to them. Similarly, access points that can be connected using frequency bands not supported by the communication device 151 are not included in the list because the communication device 151 cannot connect to them. As a result, in the case of S211-NO and S224, which is executed in the case of S213-NO, connection information for an access point different from the connected AP will be sent to the communication device 151. In the case of S212-NO, it is possible that the connected AP and the communication device 151 can connect to each other, so it is possible that connection information for the connected AP or connection information for an access point different from the connected AP will be sent. This embodiment is not limited to this form, and the user may always be asked to select an access point by displaying a list.Before the connection information is transmitted, the information processing device 101 accepts a password for connecting to the access point from the user on a screen displayed by the setup application. The received password is then included in the connection information, and the connection information is transmitted.
[0083] In S603, the communication device 151 notifies the information processing device 101 that it has received connection information via a Wi-Fi connection between the communication device 151, which is operating in network setup mode, and the information processing device 101.
[0084] In S604, the communication device 151 exits network setup mode and switches to infrastructure mode. The communication device 151 then 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 perform communication via the network formed by the connected access point.
[0085] In S605, the information processing device 101 uses the connection information stored by the setting application to reconnect with the access point to which the information processing device 101 was connected when the setting operation was performed. However, it is not limited to this configuration. For example, if the information processing device 101 has sent connection information for a different access point to the communication device 151 at the time the setting operation was performed, it may connect to that other access point.
[0086] In S606, the information processing device 101 searches for the communication device 151 on the network to which it belongs using a configuration application. When the information processing device 101 finds the communication device 151, it requests capability information from the communication device 151, and the communication device 151 sends the capability information to the information processing device 101. This registers the information of the communication device 151 in the configuration application, and thereafter, the configuration application can perform communication with the communication device 151. Specifically, for example, the configuration application can send print jobs to the communication device 151. At this time, if the information processing device 101 belongs to a network formed by the access point to which the communication device 151 is connected via network setup, communication with the communication device 151 can be performed via that access point. However, if the access point to which the communication device 151 is connected is not the same access point to which the information processing device 101 is connected, or if communication between the information processing device 101 and the communication device 151 cannot be performed, the request and acquisition of capability information are omitted. The communication in S606 is performed using a communication protocol different from both DPP and the setup communication protocol (specifically, CHMP, for example). After that, the information processing device 101 terminates the processing shown in this sequence diagram.
[0087] In S602, the information processing device 101 may send a connection request to the communication device 151 for a direct connection via a Wi-Fi connection between the information processing device 101 and the communication device 151, which is operating in network setup mode. In this case, instead of the processing in S603 to S605 above, the communication device 151 sends connection information of the access points enabled within the communication device 151 in P2P mode to the information processing device 101, and terminates network setup mode to switch to P2P mode. The information processing device 101 then establishes a P2P connection with the communication device 151 using the received connection information. After that, the processing in S606 is executed. At this time, the network to which the information processing device 101 belongs is the network formed by the access points enabled within the communication device 151.
[0088] The processing described in the sequence diagram above is not limited to what is 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 configuration operation was performed, the information processing device 101 does not need to send the access point connection information. In other words, the information processing device 101 does not need to attempt to establish a connection between the communication device 151 and the access point. Instead, the information processing device 101 may receive the access point connection information that is enabled within the communication device 151 when in P2P mode, and attempt to establish a connection between the communication device 151 operating in P2P mode and the information processing device 101. In that configuration, after sending the access point connection information that is enabled within the communication device 151 when in P2P mode, the communication device 151 terminates the network setup mode and transitions to P2P mode. The P2P mode transitioned to at this time may be AP mode or WFD mode.
[0089] Figures 7 and 8 are flowcharts showing the processing flow executed by the communication device 151 during the network setup process of this embodiment. In this embodiment, the conditions for the communication device 151 to start operating in setup mode and the conditions for it to start operating in DPP standby mode include a first condition, a second condition, and a third condition. The first condition is that "the power ON operation is performed on the communication device 151, which is in a state where initial setup is not yet complete, and power is supplied to the communication device 151." The second condition is that "a predetermined operation for network setup is performed on the communication device 151, which is in a power ON state." The third condition is that "the user performs an operation to initialize multiple settings of the communication device 151 at once on the display unit 161 of the communication device 151, thereby changing the connection mode of the communication device 151 from a state where it is set to a state where it is not set." The multiple settings of the communication device 151 include communication settings, print settings, power saving settings, etc. Furthermore, the power-on operation here refers to the operation performed on the power button located on the casing of the communication device 151 to change the state from one in which power is supplied only to a part of the communication device 151 (for example, the CPU 154) to one in which power is supplied to the entire communication device 151. Note that at least one of the first and third conditions must be present. In other words, both the first and third conditions may coexist, or either the first or third condition may be present. Note that the content of the first condition is not limited to the above-described form, and could be, for example, "the power-on operation is performed on the communication device 151 in an initial network state where all values in the network settings are at their initial values, and power is supplied to the communication device 151." Note that the initial network state is a state in which no connection mode is set.
[0090] The setup mode process initiated based on the first condition and the setup mode process initiated based on the third condition will be explained using Figure 7, and the setup mode process initiated based on the second condition will be explained using Figure 8.
[0091] First, we will explain the processing in setup mode, which is initiated based on the first and third conditions. The communication device 151 performs initial setup based on the fact that the user has performed the power-on operation for the first time in the factory default state (arrival state) (i.e., the first condition). The factory default state corresponds to, for example, a state in which the communication device 151 has not completed initial setup. For example, the communication device 151 is shipped from the factory without ink tanks, print heads, etc. installed. Therefore, as initial setup, the communication device 151 performs processing to make the communication device 151 usable, such as prompting the user to install the included ink tanks, print heads, etc. into the communication device 151, register adjustment, and print head cleaning. Whether or not the communication device 151 is in the factory default state is controlled using a flag (initial startup flag) stored in ROM 152 or memory. The communication device 151 changes the state of the initial startup flag according to the completion of initial setup, and is configured so that initial setup is not executed even if the power of the communication device 151 is turned on after the completion of initial setup. In order to use the communication device 151, it is preferable that the network setup of the communication device 151 be performed; therefore, in this embodiment, the network setup process is performed during initial setup. Furthermore, if the user performs an operation to initialize multiple settings, including the communication settings and print settings of the communication device 151, on the display unit 161 of the communication device 151, the connection mode of the communication device 151 is changed to the initial value. Here, the initial value is assumed to be a value indicating that the connection mode is not set. That is, the state in which the connection mode of the communication device 151 is set is changed to a state in which the connection mode is not set (network initial state) (i.e., the third condition) is satisfied. In order to use the communication device 151, it is preferable that the network setup of the communication device 151 be performed; therefore, in this embodiment, the network setup process is performed during initialization.
[0092] Figure 7 is a flowchart showing the processes executed by the communication device 151 when a power-on operation is performed on the communication device 151, or when an operation is performed to initialize the settings of the communication device 151 all at once. The flowchart shown in Figure 7 is realized, for example, by the CPU 154 reading a setting application stored in ROM 152 or memory into RAM 153 and executing it. Furthermore, the flowchart shown in Figure 7 is started based on the fact that the power-on operation described above has been performed, or that an operation to initialize the settings of the communication device 151 all at once has been performed.
[0093] If this flowchart is started by performing a power-on operation on the communication device 151, in S700, the CPU 154 refers to the initial startup flag stored in ROM 152 or memory, etc., and determines whether the communication device 151 is in the initial startup state. For example, the initial startup flag is set to a specific value that indicates the communication device 151 is in the initial startup state when it is shipped from the factory. If the first condition is "a power-on operation has been performed on the communication device 151 in the initial network state, and power has been supplied to the communication device 151", then in S700, the CPU 154 may also determine whether the communication device 151 is in the initial network state. If the CPU 154 determines NO in S700, it proceeds to S701, and if the CPU 154 determines YES in S700, it proceeds to S703. A YES determination in S700 corresponds to the first condition being met. A NO determination in S700 means that the initial setup of the communication device 151 has already been completed and the power to the communication device 151 has been turned ON. Furthermore, if this flowchart is started based on the execution of an operation to initialize the settings of the communication device 151 all at once, the process of S700 in this flowchart will not be executed, and the process will start from S703.
[0094] In S701, the CPU 154 executes processing according to the configured connection mode stored in ROM 152 or memory. 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, then it connects to that access point.
[0095] In S702, CPU154 displays the standby screen (home screen) and terminates the processing of this flowchart. Note that the display of the home screen may be omitted.
[0096] In S703, which is executed when S700-YES is selected, the CPU 154 initiates operation of the communication device 151 in network setup mode. Specifically, the CPU 154 activates the setup access point. Furthermore, the CPU 154 starts a timeout timer for network setup mode and counts the elapsed time since operation in network setup mode began, in order to terminate network setup mode after a predetermined time has elapsed.
[0097] In S704, the CPU 154 initiates the communication device 151 into DPP standby mode. The DPP standby mode will be described later in Figure 9. It also starts a timeout timer for the DPP standby mode and counts the elapsed time since the start of operation in DPP standby mode.
[0098] In S705, the CPU 154 receives a connection request to the setup access point from the information processing device 101.
[0099] In S706, the CPU 154 attempts to establish a Wi-Fi connection with the information processing device 101. This Wi-Fi connection corresponds to the Wi-Fi connection between the communication device 151, which is operating in network setup mode, and the information processing device 101.
[0100] In S707, the CPU 154 receives requests for various WEC-related information from the information processing device 101 via the Wi-Fi connection established in S706. As mentioned above, the setup communication protocol is used for communication via the Wi-Fi connection between the access point, which is enabled by the communication device 151 operating in network setup mode, and the information processing device 101.
[0101] In S708, the CPU 154 transmits various information regarding WEC of the communication device 151 to the information processing device 101. For example, the various information regarding WEC of the communication device 151 includes the WEC-related information mentioned above and information indicating whether or not the communication device 151 supports WEC. The information indicating whether or not WEC is supported is information indicating whether or not the communication device 151 supports DPP. 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 or not the communication device 151 supports WEC.
[0102] In S709, CPU 154 determines whether it has received a request to execute network setup using the setup protocol. Specifically, CPU 154 determines whether it has received a request for a list of access points from the information processing device. If CPU 154 determines YES in S709, it proceeds to S710; if it determines NO in S709, it proceeds to S712.
[0103] In S710, the CPU 154 performs network setup using the setup protocol. Specifically, it performs the process described in Figure 6 as the process performed by the communication device 151. Note that in S604 of Figure 6, the CPU 154 terminates operation in network setup mode and disables the setup access point.
[0104] In S711, CPU 154 terminates the DPP waiting mode and exits this flowchart. Note that the termination of operation in network setup mode and the termination of DPP waiting mode may occur in any order, as long as network setup has been performed. In other words, CPU 154 may terminate operation in network setup mode after terminating operation in DPP waiting mode. Alternatively, the termination of operation in network setup mode and the termination of DPP waiting mode may occur simultaneously. Furthermore, operation in DPP waiting mode or network setup mode may be terminated based on the communication device 151 connecting to the access point.
[0105] In S712, which is executed when S709-NO, the CPU 154 determines whether it has received a request to execute Network Setup using DPP (WEC). Specifically, the CPU 154 determines whether it has received an Authentication Request from the information processing device 101 as a Network Setup request by DPP in the DPP Authentication described above. If the CPU 154 determines YES in S712, it proceeds to S713; if the CPU 154 determines NO in S712, it proceeds to S717. The CPU 154 may also start a timer for waiting for a Network Setup request by DPP to occur. In this case, if the count value of the timer for waiting for a WEC execution request to occur exceeds a threshold, the CPU 154 may change the channel used for DPP communication. Furthermore, if the CPU 154 has not received a Network Setup request by DPP even after changing the channel used for DPP communication a predetermined number of times or more, it may proceed to S718 and terminate the DPP waiting mode. The CPU 154 may then wait for a request to execute the Network Setup mode.
[0106] In S713, CPU 154 performs network setup using DPP. Specifically, it performs the process described in Figure 4 as the process to be performed by communication device 151, and then terminates this flowchart. Network setup using DPP (WEC) will be described later using Figure 10.
[0107] In S714, the CPU 154 determines whether the WEC executed successfully established a connection between the access point to which the information processing device 101 is connected and the communication device 151. This determination is considered successful if the connection between the communication device 151 and the information processing device 101 is successful, that is, if the communication device 151 connects to the access point to which the information processing device 101 is connected. Furthermore, if any of the determinations in Figure 10 in S713 is determined to be NO, and the process of ending the DPP waiting mode in S1003 is executed without connecting to the access point to which the information processing device 101 is connected is considered a failure. In addition, even if the communication device 151 connects to an access point in S1013, if the connected access point is a different access point from the access point to which the information processing device 101 is connected, it is also considered a failure. However, if the communication device 151 is connected to an access point, it may be considered a success even if that access point is not the access point to which the information processing device 101 is connected. If CPU 154 determines that the result in S714 is YES, it terminates the processing of this flowchart. If the result in S714 is NO, it proceeds to S715. CPU 154 determines that WEC was successful if it determines that the result in each of the checks in Figure 10 in S713 is YES, and it may terminate the DPP waiting mode or network setup mode after connecting to the access point; the order of processing does not matter. Then CPU 154 re-establishes the connection between the communication device 151 and the information processing device 101, and in S720, it executes network setup using the network setup protocol. In other words, if the WEC that was executed fails to establish a connection between the access point and the communication device 151, network setup using the setup protocol is executed. This ensures that the establishment of a connection between the access point and the communication device 151 is performed more reliably. Even if the result in S713 is not NO in any of the checks in Figure 10, if the communication device 151 fails to connect to the access point in S1013, it will be determined to be NO in S714.Therefore, in this case, since the network setup mode has been terminated in S1010, the network setup mode is restarted in order to perform network setup using the setup protocol. Note that if the establishment of a connection between the access point and the communication device 151 in WEC fails, the network setup mode will be terminated and network setup may not be performed.
[0108] Since S715 and S716 perform the same processing as S705 and S706 respectively, their explanations are omitted.
[0109] In S717, CPU154 determines whether the DPP waiting mode timeout timer has exceeded a threshold value and whether the DPP waiting mode has timed out. If the CPU154 determines YES in S717, it proceeds to S718; if the CPU154 determines NO in S717, it returns to S709.
[0110] In S718, CPU154 exits DPP waiting mode and proceeds to S719.
[0111] S719 and S720 perform the same processing as S709 and S710 respectively, so their explanations are omitted. CPU 154 proceeds to S720 if S719 is determined to be YES, and to S721 if S719 is determined to be NO.
[0112] In S721, CPU 154 determines whether the network setup mode has timed out because the value counted by the network setup mode timeout timer exceeds a threshold. If CPU 154 determines YES in S721, it proceeds to S722; if NO in S721, it returns to S719.
[0113] In S722, CPU154 terminates operation in network setup mode and disables the setup access point. This is because, as mentioned above, the setup access point does not require a password, and if it is enabled for a long time, the likelihood of unauthorized devices requesting a connection increases. The setup access point may be an access point that requires a password. In that case, the password used to connect to the setup access point shall be a fixed (user-unchangeable) password that the configuration application has known in advance. Then CPU154 terminates this flowchart.
[0114] After the initial setup is complete, the CPU 154 changes the value of the initial startup flag stored in the ROM 152 or memory from a value indicating the initial startup state to a value indicating the non-initial startup state. The non-initial startup state corresponds to the state in which the initial setup is complete. As a result, once the initial setup is complete, the flowchart in Figure 7 will not be executed when the communication device 151 is powered on by the user in the future.
[0115] Next, we will describe the setup process in the setup mode operation that is initiated based on the second condition described above.
[0116] Figure 8 is a flowchart showing the setup process performed by the communication device 151. The flowchart shown in Figure 8 is realized, for example, when the CPU 154 reads a setting application stored in ROM 152 or memory into RAM 153 and executes it. The flowchart in Figure 8 is executed based on the fulfillment of the second condition.
[0117] In S800, the communication device 151 determines whether a connection mode is set for the communication device 151 at least when the setting operation is performed. If the result in S800 is YES, the communication device 151 proceeds to S801; if the result in S800 is NO, it proceeds to S802.
[0118] In S801, the communication device 151 disables the connection mode that was set at least when the configuration operation was performed. For example, if the infrastructure connection mode was set on the communication device 151 at least when the configuration operation was performed, and the communication device 151 was wirelessly connected to an access point via Wi-Fi, the infrastructure connection mode is disabled and the connection to the access point is disconnected. The communication device 151 also obtains information about the connection mode that was set on the communication device 151 at least when the configuration operation was performed and saves it in ROM 152 or memory. This is because this information is necessary when reconnecting to the connection mode that was set on the communication device 151 at least when the configuration operation was performed, as described in S822. For example, the communication device 151 obtains information about the access point that was wirelessly connected to via Wi-Fi at least when the configuration operation was performed and saves it in ROM 152 or memory. This information includes information for the communication device 151 to connect to the access point that is wirelessly connected via Wi-Fi (SSID, information indicating the encryption method, etc.). If no connection mode is set at least when the configuration operation was performed, the acquisition of information about the connection mode is omitted.
[0119] Since steps S802 to S821 are the same as steps S703 to S722, their explanation will be omitted. The execution of WEC in S812 will be explained in Figure 11.
[0120] In S822, the communication device 151 reconnects to the connection mode that was set at least when the configuration operation was performed, based on the information obtained in S801 regarding the connection mode that the communication device 151 was set to at least when the configuration operation was performed. For example, it reconnects to the access point that the communication device 151 was wirelessly connected to via Wi-Fi at least when the configuration operation was performed. The communication device 151 may also reconnect to the connection mode that was set at the time of the configuration operation if WEC is successful in S812 or if the DPP waiting mode or network setup mode is terminated in S810.
[0121] Here, the processes in S704 in Figure 7 and S803 in Figure 8 will be explained using Figure 9.
[0122] Figure 9 is a flowchart showing the process for starting the DPP waiting mode. The flowchart shown in Figure 9 is implemented, for example, by the CPU 154 reading a configuration application stored in ROM 152 or memory into RAM 153 and executing it. The flowchart shown in Figure 9 is also started, for example, when the communication device 151 starts network setup mode. As mentioned above, network setup mode is started when the first, second, and third conditions are met, so this flowchart can also be considered to be started when the first, second, and third conditions are met.
[0123] In S901, the CPU 154 determines the listening channel for DPP communication. The listening channel for DPP communication is the channel that listens for network setup requests via DPP transmitted from the information processing device 101. The same channel is also used for DPP configuration processing. Note that the channel used for DPP communication listening may be set by the user, for example, from the operation unit 159 of the communication device 151.
[0124] In S902, the CPU 154 generates public key information used to perform secure communication with the information processing device 101 as described above.
[0125] In S903, the CPU 154 generates the Bootstrapping information described above. The Bootstrapping information includes, for example, the identification information of the communication device 151 (such as its MAC address), information about the listening channel for DPP communication, and the public key information generated in S902.
[0126] In S904, the CPU 154 starts DPP waiting mode. Once DPP waiting mode is started, communication for DPP Authentication becomes possible between the communication device 151 and the information processing device 101.
[0127] In S905, CPU 154 starts the DPP waiting mode timeout timer. After a predetermined time has elapsed since starting operation in DPP waiting mode, CPU 154 terminates operation in DPP waiting mode. This is because terminating operation in DPP waiting mode allows the system to transition to network setup processing using the network setup protocol. Specifically, in S717 or S816, if the value counted by the DPP waiting mode timeout timer exceeds a threshold and a DPP waiting mode timeout occurs, CPU 154 terminates DPP waiting mode.
[0128] The CPU 154 may determine whether the communication device 151 has started network setup mode before executing S901 in Figure 9. If the communication device 151 has started network setup mode, the CPU 154 proceeds to S901. If the communication device 151 has not started network setup mode, the CPU 154 may terminate this flowchart without starting DPP waiting mode.
[0129] Then, CPU 154 proceeds to process S705 in Figure 7 or S804 in Figure 8.
[0130] Here, the processes in S713 in Figure 7 and S812 in Figure 8 will be explained using Figures 10 and 11, respectively.
[0131] Figure 10 is a flowchart showing the execution process of WEC in Figure 7 (i.e., the process in S713 of Figure 7) which is initiated based on the first and third conditions, and corresponds to the operation of the communication device 151 in the sequence of Figure 4. The flowchart shown in Figure 10 is realized, for example, by the CPU 154 reading a configuration application stored in ROM 152 or memory into RAM 153 and executing it. Furthermore, the flowchart in Figure 10 is initiated based on the communication device 151 receiving a WEC execution request in the DPP Authentication process from the information processing device 101.
[0132] In S1001, the CPU 154 executes DPP Authentication processing. As described above, in DPP Authentication processing, authentication information and information used for information encryption are communicated between the information processing device 101 and the communication device 151, thereby authenticating communication between the devices. In DPP Authentication, DPP is used to perform the communication.
[0133] In S1002, the CPU 154 determines whether the DPP Authentication process with the information processing device 101 was successful. As described above, the various information transmitted from the information processing device 101 during DPP Authentication communication is encrypted based on the WEC-related information acquired by the information processing device 101 in the process shown in Figure 2. If the CPU 154 successfully decrypts the information received from the information processing device 101 using a pre-held decryption key, it authenticates the communication with the information processing device 101. If the information processing device 101 has not acquired accurate WEC-related information and has not accurately encrypted the information, decryption in the communication device 151 will fail, and authentication will fail. Therefore, if the authentication of communication with the information processing device 101 is successful, the CPU 154 determines that the DPP Authentication process was successful, and if it fails, it determines that the DPP Authentication process was failed. If the CPU 154 determines NO in S1002, it terminates the DPP waiting mode (S1003) and ends this flowchart. On the other hand, if the communication device 151 determines that S1002 is YES, it proceeds to S1004.
[0134] In S1004, CPU 154 performs DPP Configuration processing. During DPP Configuration processing, CPU 154 receives connection information via WEC from the information processing device 101 to connect to the access point configured as a WEC target. The connection information includes the SSID, password, and encryption method of the access point configured as a WEC target.
[0135] In S1005, the CPU 154 determines whether the DPP Configuration process with the information processing device 101 was successful. Specifically, the CPU 154 determines that the process was successful if it receives connection information via WEC from the information processing device 101 to connect to the access point that has been set as the target for WEC configuration, and that it failed if it does not receive the information. If the CPU 154 determines NO in S1005, it terminates the DPP waiting mode (S1003) and exits this flowchart. On the other hand, if the CPU 154 determines YES in S1005, it proceeds to S1006. If the DPP Configuration process is successful, the communication device 151 obtains the SSID, encryption method, and password of the access point.
[0136] In S1006, the CPU 154 determines whether the SSID is included in the access point information received from the information processing device 101 that is configured as a target for WEC configuration. If the CPU 154 determines NO in S1006, it terminates the DPP waiting mode (S1003) and exits this flowchart. On the other hand, if the CPU 154 determines YES in S1006, it proceeds to S1007.
[0137] In S1007, the CPU 154 determines whether the access point information received from the information processing device 101, which is set as a target for WEC configuration, includes an encryption method. If the CPU 154 determines NO in S1007, it terminates the DPP waiting mode (S1003) and exits this flowchart. On the other hand, if the CPU 154 determines YES in S1007, it proceeds to S1008.
[0138] In S1008, the CPU 154 determines whether the information of the access point configured as a target for WEC, received from the information processing device 101, contains a password. Note that if the CPU 154 connects to the access point using DPP communication, it may determine whether it contains public key information instead of a password. Also, if the security setting of the access point configured as a target is disabled, the password does not need to be included. If the CPU 154 determines NO in S1008, it exits the DPP waiting mode (S1003) and terminates this flowchart. On the other hand, if the CPU 154 determines YES in S1008, it proceeds to S1009 and exits the DPP waiting mode. Note that once the CPU 154 exits the DPP waiting mode, it cannot respond to DPP Authentication processing requests from the information processing device 101.
[0139] In S1010, CPU 154 terminates network setup mode and disables the setup access point. Note that the termination of operation in network setup mode in S1010 and the termination of operation in DPP waiting mode in S1009 may occur in any order. That is, CPU 154 may terminate operation in network setup mode first and then terminate operation in DPP waiting mode. Furthermore, the termination of operation in network setup mode and the termination of operation in DPP waiting mode may occur simultaneously. In addition, the order of the termination process of operation in network setup mode or operation in DPP waiting mode and the connection process with the access point does not matter.
[0140] In S1011, the CPU 154 outputs a notification to the user asking whether or not to allow the execution of the wireless connection settings (wireless settings) of the communication device 151. The wireless connection settings of the communication device 151 are settings to establish a connection with an access point corresponding to the information received from the information processing device 101. That is, the CPU 154 displays a screen (hereinafter referred to as the connection selection screen) on the display unit 161 that allows the user to select whether or not to establish a connection with an access point that is set as a target for WEC configuration, corresponding to the information received from the information processing device 101. Figure 12 shows an example of the connection selection screen. The connection selection screen 1200 displays areas 1201 and 1202. Area 1201 is an area for input to allow the execution of the wireless connection settings of the communication device 151. Area 1202 is an area for input to deny the execution of the wireless connection settings of the communication device 151. For example, area 1201 is an area for input to allow a connection with an access point that is set as a target for WEC configuration. Area 1202 is an area for inputting information to prevent connections to access points that are configured as targets for WEC (Web Access Control) settings.
[0141] In S1012, the CPU 154 determines whether an input has been made to permit the execution of settings related to the wireless connection of the communication device 151. For example, it determines whether a connection to an access point set as a target for WEC configuration has been permitted. Specifically, if area 1201 is operated by the user, it determines that a connection to an access point set as a target for WEC configuration has been permitted, and if area 1202 is operated by the user, it determines that a connection to the said access point has not been permitted. If the CPU 154 determines YES in S1012, it proceeds to S1013, and if the CPU 154 determines NO in S1012, it terminates the processing of this flowchart. The CPU 154 may also start a timeout timer for the connection selection screen in S1012. The CPU 154 may then terminate this flowchart if the count value of the timeout timer for the connection selection screen exceeds a threshold but no user operation is performed. The determination in S1012 may be repeated until a user operation is performed on the connection selection screen.
[0142] In S1013, the CPU 154 connects to the access point based on the various information (SSID, password, encryption method) of the access point that has been set as a target for WEC configuration, received from the information processing device 101. Then the CPU 154 terminates this flowchart.
[0143] Figure 11 is a flowchart showing the execution process of WEC in Figure 8 (i.e., the process in S812 of Figure 8) which is initiated based on the second condition, and corresponds to the operation of the communication device 151 in the sequence of Figure 4. The flowchart shown in Figure 11 is realized, for example, by the CPU 154 reading a configuration application stored in ROM 152 or memory into RAM 153 and executing it. Furthermore, the flowchart in Figure 11 is initiated based on the communication device 151 receiving a WEC execution request in the DPP Authentication process from the information processing device 101.
[0144] Steps S1101 to S1110 are the same as steps S1001 to S1010, so their explanation is omitted. Similarly, step S1111 is the same as step S1013, so its explanation is omitted. Note that in this flowchart, there is no step between S1110 and S1111 to display a connection selection screen, and the process of S1111 is executed after the DPP Configuration process without the communication device 151 accepting any user input.
[0145] As described above, in this embodiment, if the start condition for operation of the communication device 151 in network setup mode or DPP waiting mode is the first or third condition, a notification is output to the user to confirm whether or not to allow the communication device 151 to perform wireless connection settings. Specifically, a screen is displayed on the display unit 161 that allows the user to select whether or not to establish a connection with the access point that has been set as a setting target by WEC received from the information processing device 101. Then, if the user inputs permission to connect to the access point that has been set as a setting target by WEC, a connection with that access point is established. This prevents a third party from performing network setup on the communication device 151 if the user was unaware that the communication device 151 was in a state where network setup was possible. Furthermore, if the start condition for operation of the communication device 151 in network setup mode or DPP waiting mode is the second condition, no notification is output to allow or not to allow a connection with the access point that has been set as a setting target by WEC. The communication device 151 then establishes a connection with the access point without displaying a connection selection screen. This is because, if the initiation condition is the second condition described above, the user is likely to be aware that the communication device 151 is performing network setup. This reduces the user's steps and improves usability. As a result, a secure and convenient network setup is performed.
[0146] This allows for a simple setup process that eliminates the need for user password entry, etc., by performing the setup using WEC when the connection between the designated access point and the communication device 151 can be established by WEC. Furthermore, if the connection between the designated access point and the communication device 151 cannot be established by WEC, the connection between the access point and the communication device 151 can be more reliably established by performing the setup using a different function than WEC.
[0147] In addition, in this embodiment, if the communication device 151 can connect to the predetermined access point to be configured, the information processing device 101 is controlled to transmit connection information for the predetermined access point to the communication device 151 via WEC. If the communication device 151 cannot connect to the predetermined access point to be configured, the information processing device 101 is controlled to transmit connection information for an access point different from the predetermined access point to the communication device 151 via network setup using a setup protocol. The case in which the communication device 151 can connect to the predetermined access point is, for example, when the communication device 151 supports the encryption method used for connecting to the predetermined access point, or when the communication device 151 supports the frequency band used for connecting to the predetermined access point. The case in which the communication device 151 cannot connect to the predetermined access point is, for example, when the communication device 151 does not support the encryption method used for connecting to the predetermined access point, or when the communication device 151 does not support the frequency band used for connecting to the predetermined access point. In this embodiment, even if the communication device 151 can be connected to a predetermined access point, if WEC does not support the encryption method used for connecting to the predetermined access point, the information processing device 101 is controlled to transmit connection information for an access point different from the predetermined access point to the communication device 151 through network setup using a setup protocol.
[0148] Furthermore, the input to authorize the execution of the wireless connection settings for the communication device 151 may be provided via a physical button or the like, located outside the screen. Alternatively, the input to authorize the execution of the wireless connection settings for the communication device 151 may be provided via voice through an audio output unit (not shown) instead of a screen display. In addition, only areas 1201 and 1202 of the connection selection screen shown in Figure 12 may be displayed on the display unit 161, and the user may input whether or not to authorize the execution of the wireless connection settings for the communication device 151 through user operation. The input to authorize the execution of the wireless connection settings for the communication device 151 may also be provided via voice by the user. Furthermore, there may be cases where the connection selection screen cannot be displayed, such as when the display unit 161 is not present on the communication device 151. In this case, the display unit 108 of the information processing device 101 may be notified of the wireless connection settings for the communication device 151 and the input method for authorizing the execution of those settings. For example, the display unit 108 of the information processing device 101 may be notified that it is necessary to select whether or not to authorize the connection to the access point, or how to prompt the user to select whether or not to authorize the connection to the access point. Furthermore, the user may choose whether or not to allow a connection to the access point by selecting whether or not to allow a connection to the access point displayed on the display unit 108 of the information processing device 101. In this case, the input method for allowing the communication device 151 to perform the wireless connection settings is some operation on the communication device 151, and may be, for example, a predetermined operation on the operation unit 159 (physical button, etc.).
[0149] In the above embodiment, the settings for the wireless connection of the communication device 151 may be settings to initiate communication between the information processing device 101 and the communication device 151 in order to connect the communication device 151 to an access point. That is, the CPU 154 may output a notification to allow the user to choose whether or not to initiate communication with the information processing device 101 in order to connect the communication device 151 to the network. Specifically, when the CPU 154 receives a WEC execution request in S712, it may execute a notification to allow the user to choose whether or not to start the WEC execution based on whether the start conditions for operation in network setup mode or DPP waiting mode are the first or third condition, before the WEC execution between the information processing device 101 and the communication device 151 is started. Then, if the user inputs an instruction to start the WEC execution between the information processing device 101 and the communication device 151, the CPU 154 may start the WEC execution. In this form, the CPU 154 may consider that the establishment of a connection with an access point set as the target of WEC configuration has been permitted, and may connect to the access point without executing a notification to allow the user to choose whether or not to permit the connection to the access point. In addition to the notification to allow the user to choose whether or not to start WEC execution, a notification may also be issued to allow the user to choose whether or not to allow a connection to the access point. Furthermore, based on the fact that the start condition for operation in network setup mode or DPP waiting mode is the second condition, WEC execution may be started without issuing a notification to allow the user to choose whether or not to start WEC execution. In this case, CPU 154 may connect to the access point configured as a target for WEC configuration without issuing a notification to allow the user to choose whether or not to allow a connection to the access point.
[0150] Furthermore, in this embodiment, the DPP waiting mode is started after the network setup mode is started when the first, second, or third conditions are met, but the embodiment is not limited to this. For example, the network setup mode may be started after the DPP waiting mode is started when the first, second, or third conditions are met. That is, if the start conditions for the network setup mode and the DPP waiting mode are the same, the start order does not matter, and both modes may be started simultaneously. Also, the other mode may be started on the condition that one of the two modes, the network setup mode or the DPP waiting mode, has been started. Moreover, the DPP waiting mode of the communication device 151 may be started based on the information processing device 101 receiving a request to start operation in DPP waiting mode after the network setup mode is started when the first, second, or third conditions are met and the connection between the information processing device 101 and the communication device 151 has been established.
[0151] Furthermore, in this embodiment, the communication device 151 terminates the DPP waiting mode if the execution of WEC fails, but it may also be configured not to terminate. This makes it possible to perform network setup again in response to a network setup execution request or WEC execution request from the information processing device.
[0152] Furthermore, in this embodiment, when the communication device 151 receives either a network setup execution request or a WEC execution request, it maintains the activation of the mode related to the other execution request. In other words, even when a network setup execution request is received, the DPP waiting mode is kept active. However, when the communication device 151 receives either a network setup execution request or a WEC execution request, it may disable the mode related to the other execution request. For example, when a WEC execution request is received, the network setup mode may be terminated. This prevents unintended network setup from being executed by disabling the mode related to the other execution request when either a network setup execution request or a WEC execution request is received. If the WEC execution fails after the network setup mode is terminated following a WEC execution request, the network setup mode is restarted based on the WEC execution failure. This makes it possible to execute the network setup again in response to a network setup execution request from the information processing device.
[0153] (Other embodiments) The above-described embodiment may also apply when network setup is performed using a network setup protocol. Specifically, in S710 (S720) in Figure 7 and S809 (S819) in Figure 8, when network setup is performed using the network setup protocol shown in Figure 6, the CPU 154 may output a notification in S604 before connecting to the access point, based on the fact that the start conditions for operation in network setup mode or DPP waiting mode are the first or third conditions. Then, when permission to connect to the access point is entered by the user, the connection to the access point is established. Alternatively, in S710 (S720) in Figure 7 and S809 (S819) in Figure 8, when network setup is performed using the network setup protocol shown in Figure 6, the CPU 154 does not need to output a notification in S604 before connecting to the access point, based on the fact that the start conditions for network setup mode or DPP waiting mode are the second condition. Furthermore, the settings for the wireless connection of the communication device 151 may be settings that establish a connection between the information processing device 101 and the communication device 151 in order to connect the communication device to the access point. That is, if the start conditions for operation in network setup mode or DPP waiting mode are the first or third conditions, the CPU 154 may output a notification to allow the user to choose whether or not to establish a connection with the information processing device 101 in order to connect the communication device 151 to the access point. Specifically, before the network setup using the network setup protocol is started, the CPU 154 may output a notification to allow the user to choose whether or not to start the execution of the network setup using the network setup protocol. Then, the CPU 154 may start the execution of the network setup when the user inputs an instruction to start the execution of the network setup between the information processing device 101 and the communication device 151.In this configuration, the CPU 154 may consider that the establishment of a connection with the access point has been permitted and may connect to the access point without issuing a notification to allow or deny the connection. In addition, the CPU 154 may issue a notification to allow or deny the connection with the access point, in addition to the notification to allow or deny the start of the network setup. Furthermore, based on the fact that the start condition for operation in network setup mode or DPP waiting mode is the second condition, the CPU 154 may start the network setup without issuing a notification to allow or deny the start of the network setup. In this case, the CPU 154 may connect to the information processing device 101 or the access point without issuing a notification to allow or deny the connection with the access point.
[0154] Furthermore, as described above, the CPU 154 may make a connection request to the communication device 151 in S602 of Figure 6 to establish a direct connection. In this case, the communication device 151 exits network setup mode and switches the connection mode to P2P mode. Therefore, when the CPU 154 receives a connection request to establish a direct connection, the setting for the wireless connection of the communication device 151 is to establish a direct connection between the information processing device 101 and the communication device 151 based on the connection request received from the information processing device 101. In other words, the CPU 154 may output a notification allowing the user to choose whether or not to allow the establishment of a direct connection with the information processing device 101.
[0155] The above-described embodiment may apply only to network setup using either the setup protocol or DPP. For example, when network setup using DPP is performed, a notification is output to allow the user to choose whether or not to allow connection to the access point based on whether the start conditions for operation in network setup mode or DPP listening mode are the first or third conditions. However, when network setup using the network setup protocol is performed, even if the start conditions for operation in network setup mode or DPP listening mode are the first or third conditions, a notification to allow the user to choose whether or not to allow connection to the access point does not need to be output.
[0156] In the above-described embodiment, if the start condition for operation in network setup mode or DPP waiting mode is the first or third condition, the flowchart in Figure 10 is executed. If the start condition for operation in network setup mode or DPP waiting mode is the second condition, the flowchart in Figure 11 is executed. However, it is also possible that a common flowchart (common flowchart) is started regardless of whether the start condition is the first condition or the third and second conditions. In this case, the CPU 154 of the communication device 151 stores information (start condition information) in memory or elsewhere indicating whether the operation of the communication device 151 in network setup mode was started based on the first condition or the third and second conditions. Then, in the execution of WEC in the common flowchart, the CPU 154 may execute a flowchart such as the one shown in Figure 13. Since S1301 to S1310 are the same processes as S1001 to S1010 in Figure 10, their explanation is omitted. In S1311, the CPU 154 refers to the start condition information stored in memory, etc., and determines whether the start process of the communication device 151's operation in network setup mode or DPP waiting mode was started based on the first condition, or on the third condition or the second condition. If the CPU 154 determines in S1311 that the start condition is the first condition or the third condition, it proceeds to S1313; if it determines that the start condition is the second condition, it proceeds to S1312. S1312 is the same process as S1013, and S1313 to S1315 are the same processes as S1011 to S1013, so their explanation is omitted.
[0157] In the above embodiment, WEC transmits connection information for connected APs, and various determinations such as S211 to S213 are performed on connected APs, but the system is not limited to this configuration. Connection information for APs other than connected APs may be transmitted, or determinations may be made on APs other than connected APs. Specifically, an AP other than a connected AP may be, for example, an access point to which the information processing device 101 was not connected at the time the configuration operation was performed, but which the information processing device 101 had connected at some point before the configuration operation was performed. Alternatively, it may be an access point selected by the user from a list of access points to which the information processing device 101 has connected. This is because any connection information for an access point to which the information processing device 101 has connected at some point, and which is stored in the OS, can be transmitted by WEC.
[0158] Furthermore, in the above-described embodiment, setup can be performed using WEC, thereby achieving a simple setup that omits the user's password input, etc. However, the setup performed by WEC in the above-described embodiment may instead be performed by other functions using other protocols. For example, the setup performed by WEC may instead be performed by a function using the Hyper Text Transfer Protocol. A function using the Hyper Text Transfer Protocol can also achieve a simple setup that omits the user's password input, etc., similar to WEC. Moreover, in the above-described embodiment, setup was performed using a setup communication protocol (e.g., SNMP (Simple Network Management Protocol)). However, the setup performed by the setup communication protocol in the above-described embodiment may instead be performed by other functions using other protocols. For example, the setup performed by the setup communication protocol may instead be performed by a function using the Hyper Text Transfer Protocol. In addition to setup by WEC and setup by the setup communication protocol, it may also be possible to perform setup using a third protocol. The third protocol is, for example, the Hyper Text Transfer Protocol. In the setup using the third protocol, a notification may be output to allow the user to choose whether or not to allow a connection to the access point, based on whether the conditions for starting operation in network setup mode or DPP listening mode are the first or third conditions. Alternatively, in the setup using the third protocol, even if the conditions for starting operation in network setup mode or DPP listening mode are the first or third conditions, a notification to allow the user to choose whether or not to allow a connection to the access point may not be output.
[0159] Furthermore, in the above-described embodiment, the network setup in S224 was described in a form in which connection information is transmitted via a Wi-Fi connection between the information processing device 101 and the communication device 151, but the embodiment is not limited to this form. For example, the network setup may also involve transmitting connection information via a connection between the information processing device 101 and the communication device 151 using a communication method other than Wi-Fi, such as BLE. In this embodiment, the information processing device 101 can connect with the communication device 151 via BLE while maintaining a Wi-Fi connection with the connected AP. That is, it can transmit the connection information of the currently connected access point as connection information for the connected AP. In this embodiment as well, a communication protocol different from DPP is used.
[0160] In addition, in the above-described embodiment, S207 described a configuration in which various information is acquired via a Wi-Fi connection between the access point, which is enabled by the communication device 151 operating in network setup mode, and the information processing device 101. However, the configuration is not limited to this. The information may also be acquired by reading a QR code as in S220, or via communication using other communication methods such as NFC or BLE.
[0161] Furthermore, the above-described embodiment can also be realized by performing the following process: sharing software (programs) that realize the functions of the above-described embodiment with a system or device via a network or various storage media, and having the computer (CPU, MPU, etc.) of that system or device read and execute the program. The program may be executed on a single computer or by coordinating execution across multiple computers. Moreover, it is not necessary to implement all of the above-described processes in software; some or all of the processes may be implemented in hardware such as an ASIC. Furthermore, the CPU is not limited to a single CPU that performs all the processing; multiple CPUs may perform the processing in coordination as appropriate. [Explanation of symbols]
[0162] 101 Information Processing Device 151 Communication equipment 154 CPU
Claims
[Claim 1] A communication device that communicates with an information processing device, Based on the condition that the start condition for a predetermined state in which wireless communication with the information processing device is possible is a first condition, a first output means outputs a notification to the user asking whether or not to allow the execution of a predetermined wireless setting, which is a setting based on information received from the information processing device and is a setting related to the wireless connection of the communication device, and based on the condition that the start condition for the predetermined state is a second condition different from the first condition, the first output means does not output the notification, A setting means for executing the predetermined wireless settings based on an input indicating permission to execute the predetermined wireless settings in response to the notification, A communication device characterized by having the following features.