Program, information processing device, and control method

The program facilitates seamless network setup between communication devices by transmitting network information, simultaneously searching for and confirming connectivity, addressing user convenience issues in network setup.

JP2025180120APending Publication Date: 2025-12-11CANON KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024087248
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-29
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

Existing methods for connecting communication devices to networks are cumbersome and lack user convenience, particularly when devices operate on different frequency bands or networks are isolated, leading to communication failures and inefficient setup processes.

Method used

A program that enables an information processing device to transmit network information to a communication device, simultaneously search for and confirm connection to the same network, and ensure Internet connectivity, thereby facilitating seamless network setup without user intervention.

Benefits of technology

Enhances user convenience by ensuring efficient and reliable network setup between communication devices, even when operating on different frequency bands or isolated networks, by parallel processing of network searches and connectivity checks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025180120000001_ABST
    Figure 2025180120000001_ABST
Patent Text Reader

Abstract

To provide a program that further improves user convenience in processing enabling communication between a communication device and an information processing device via a network.SOLUTION: In the information processing device, searching for a communication device via a second network different from a first network and confirming whether the information processing device is connected to the Internet via the second network are performed in parallel.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] It is known that multiple information processing devices such as personal computers (PCs) share communication devices such as printers via a LAN (Local Area Network) connected to the Internet. In addition, LANs are sometimes constructed as wireless networks, which have the advantage of being able to install devices anywhere, compared to wired networks.

[0003] Patent Document 1 describes a method for easily connecting a printer to an access point (AP) by temporarily connecting the PC and printer via wireless direct connection to easily allow the printer to join an already established LAN. Specifically, it describes a method in which a PC transmits information for connecting the printer to a specific AP to the printer via wireless direct communication. It also describes a method in which a user specifies AP setting information, such as an SSID (Service Set Identifier) ​​and password, for the AP to which the user wants the printer to connect (hereinafter referred to as the user-desired AP) on the PC. Patent Document 2 describes a method in which a PC is automatically connected to the same network as a printer to enable communication between the printer and the PC when the printer is connected to a different local area network (LAN). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 2018-191252 [Patent Document 2] Japanese Patent Application Publication No. 2020-88428 Summary of the Invention [Problem to be solved by the invention]

[0005] There is a demand for further improvement in user convenience in the process for enabling communication between a communication device and an information processing device via a network.

[0006] The present invention aims to provide a program, an information processing device, and a control method that further improve user convenience in processing for enabling communication between a communication device and an information processing device via a network. [Means for solving the problem]

[0007] According to the present invention, a program is provided that causes a computer of an information processing device to function as a transmission means that transmits network information for belonging to a second network different from a first network to a communication device different from the information processing device, a first search means that searches for the communication device via the first network to which the information processing device belongs after the network information has been transmitted, a change means that changes the network to which the information processing device belongs from the first network to the second network based on the fact that the communication device is not found as a result of the search by the first search means, a second search means that searches for the communication device via the second network after the change means has changed the network to which the information processing device belongs to the second network, and a confirmation means that confirms whether the information processing device is connected to the Internet after the change means has changed the network to which the information processing device belongs to the second network, wherein the search for the communication device via the second network by the second search means and the confirmation means that confirm whether the information processing device is connected to the Internet are performed in parallel with each other. [Effects of the Invention]

[0008] According to the present invention, it is possible to further improve user convenience in the process for enabling communication between a communication device and an information processing device via a network. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating a system configuration. [Figure 2] FIG. 2 is a diagram illustrating the hardware configuration of an information processing device and a communication device. [Figure 3] 10 is a flowchart showing a process in the information processing device. [Figure 4] FIG. 10 is a diagram illustrating a user interface screen. [Figure 5] 10 is a flowchart showing a process in the communication device. [Figure 6] 10 is a flowchart showing a process in the information processing device. [Figure 7] FIG. 10 is a diagram illustrating a user interface screen. [Figure 8] FIG. 10 is a diagram illustrating a user interface screen. [Figure 9] 10 is a flowchart showing a process in the information processing device. [Figure 10] FIG. 10 is a diagram illustrating a user interface screen. [Figure 11] 10 is a flowchart showing a process in the information processing device. [Figure 12] FIG. 10 is a diagram illustrating a user interface screen. [Figure 13] 10 is a flowchart showing a process in the information processing device. [Figure 14] FIG. 10 is a diagram illustrating a user interface screen. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.

[0011] [First embodiment] In this embodiment, a system including an information processing device and a communication device will be described. A printer will be described as an example of a communication device, but a PC, tablet terminal, smartphone, camera, smart speaker, scanner, etc. may also be used. Furthermore, a PC will be described as an example of an information processing device, but a smartphone or tablet terminal may also be used. In this embodiment, a configuration is assumed in which the PC executes a process to connect the printer to an already established LAN. Such a process is called network setup and includes the following operations.

[0012] To establish a wireless infrastructure connection between a PC and a printer (hereafter referred to as a wireless infrastructure connection) and communicate, the PC sends a network setup instruction to the printer. A wireless infrastructure connection is a connection via an AP, such as when the PC and printer connect to the same AP and communicate through that AP. The AP is typically included in a wireless LAN router. For printers without a separate display, it is difficult for the user to correctly enter the SSID and password required for the printer to connect to the AP. Therefore, the PC temporarily connects to the printer in network setup mode (described below) and sends the printer information about the AP to which the printer should connect (hereafter referred to as AP configuration information), thereby connecting the printer to that AP. For example, the PC obtains from the printer a list of APs to which the printer can connect, and if the AP to which the PC was connected is included in that list, it sends the printer the configuration information for the AP to which the PC was connected. The printer then connects to that AP using the AP configuration information received from the PC. This process does not require the user to operate the printer or AP, making it easier for users to perform network setup for the printer.

[0013] As described above, the AP configuration information includes AP-specific information such as the SSID and authentication information such as a password used in the AP authentication process. In other words, the AP configuration information is the AP's network information. When the AP and PC are connected via a wireless LAN interface, the PC's operating system (OS) stores the AP configuration information as a wireless profile. Here, the wireless profile is information that includes the SSID of the AP connected via the wireless LAN interface and authentication information (such as a password) used in the authentication process. The wireless profile is stored and managed by the OS. Therefore, the AP configuration information sent from the PC to the printer can be obtained from the wireless profile stored in the OS.

[0014] For example, consider a case where a PC connects to an AP using a 5 GHz SSID, while a printer only supports wireless LAN communication in the 2.4 GHz frequency band. In this case, suppose a network setup is performed to connect the printer to the AP's network of the user's choice. The wireless profile for the AP with the 5 GHz SSID is stored in the PC's operating system. However, the wireless profile for the AP with the 2.4 GHz SSID to which the printer can connect is not stored in the operating system. Therefore, the user must specify AP configuration information, such as the SSID and password, for the AP with the 2.4 GHz SSID on the PC. Then, during network setup, the AP configuration information specified by the user is sent to the printer. Thus, the AP configuration information sent to the printer during network setup is not necessarily the same as the AP configuration information to which the PC was connected.

[0015] When a wireless LAN router supports multiple frequency bands, it may activate multiple APs, each supporting a different frequency band and each with a different SSID. Some wireless LAN routers have security features that block communication between devices connected to the same wireless LAN router using different SSIDs. For example, if a wireless LAN router activates a 2.4 GHz AP and a 5 GHz AP, enabling the security feature will prevent communication between devices connected to the 2.4 GHz AP and those connected to the 5 GHz AP. This feature is called SSID isolation. For example, if a wireless LAN router has multiple SSIDs (SSID 1 and SSID 2) and the SSID isolation feature is enabled, a PC connected to the AP using the first SSID will be unable to communicate with a printer connected to the AP using the second SSID. Furthermore, as shown in Figure 1(b) below, if the SSID used by the PC to connect and the SSID used by the printer to connect are different, both devices will not necessarily be connected to the same wireless LAN router. In a configuration where the PC and printer are connected to different wireless LAN routers, the PC may not be able to communicate with the printer. If the PC and printer cannot communicate as described above, the PC will not be able to find the printer even if it searches for it on the network. As a result, the PC will not be able to register printer information in the application program (hereinafter simply referred to as the app) on the PC, and the app will not be able to execute the printer's functions over the network.

[0016] In the case where the PC and printer cannot communicate with each other, the PC may be able to communicate with the printer by, for example, changing the PC's connection to the same AP as the printer. However, the settings of the AP to which the PC was originally connected are not necessarily the same as those of the AP to which the printer is connected. For example, the AP to which the printer is connected may have limited Internet access. Therefore, the PC changes its connection to the same AP as the printer and searches for the printer through the AP's network. Furthermore, network setup may require an Internet connection, such as the process of obtaining a printer driver from an external server, as described below. Therefore, when changing the PC's connection to the same AP as the printer to establish communication between the PC and the printer, the PC must check whether it can connect to the Internet via the same AP as the printer. Specifically, for example, after changing the PC's connection to the same AP as the printer, it must check whether the PC is connected to the Internet. One method for checking whether a PC is connected to the Internet is to use a standardized Application Programming Interface (API) provided by the PC's operating system (OS) (hereinafter referred to as the OS standard API). An example of an OS standard API is an API for obtaining the PC's Internet connection status. Then, by referencing the results obtained by executing the API, it is possible to determine whether the PC is connected to the Internet. However, depending on the PC's OS, such an OS standard API for determining whether the PC is connected to the Internet may not be provided. In such cases, for example, the PC must use an OS API that attempts to download a specific file, and perform a process to confirm whether the PC is connected to the Internet based on the results of the attempt. Note that this process may have a timeout period, which may be set to one minute by default, for example.In the above process with a set timeout period, for example, if the PC is connected to a network but does not have an Internet connection, the download will be attempted until the download timeout period expires. This means that the process to check whether the PC is connected to the Internet takes time. Furthermore, if the process to check whether the PC is connected to the Internet and the process to search for the printer described above are performed in sequence, each process takes time.

[0017] Therefore, in this embodiment, the PC transmits AP configuration information to the printer, thereby executing appropriate control in cases where the PC cannot communicate with the printer even though the printer and AP are connected. Specifically, in this embodiment, if the PC cannot find the printer through the network of the AP to which the PC was originally connected, the PC temporarily changes its connection to the network of the AP to which the printer is connected. Next, the PC simultaneously searches for the printer through the network of the AP to which the printer is connected and checks whether it is connected to the Internet. Next, if the PC successfully searches for the printer and is connected to the Internet, it displays a confirmation screen for the user. Then, based on the user's instructions on the confirmation screen, the PC controls the network to which the PC is connected to be the same network as the printer. This controls the network to which the PC is connected to be the network to which the printer is connected only if the user determines that it is okay to change the network to which the PC is connected. In other words, it is possible to prevent a situation where the network to which the PC is connected is automatically switched without the user's intention, resulting in an inability to communicate with the printer. In other words, the PC controls the network to which the PC is connected to be prevented from automatically switching without the user's intention. This improves convenience for users, as it eliminates the need to disconnect communications with other devices that were previously connected due to the PC's connection being automatically switched, and the need to return the PC to its original network. Furthermore, by performing printer searches and checking whether the PC is connected to the Internet in parallel, processing can be done more efficiently.

[0018] FIG. 1 is a diagram illustrating a system configuration in this embodiment. FIG. 1(a) illustrates a state in which a PC 101 and an AP 102 are connected via a wireless LAN. A printer 103 is also connected to the AP 102 via the wireless LAN. That is, the PC 101 is able to communicate with the printer 103 via the AP 102, and a wireless infrastructure connection is established. A wireless infrastructure connection can be configured to create a network environment in which the PC 101 can communicate with two or more devices. Note that if the printer 103 and the AP 102 are connected via a wireless LAN and are able to communicate with the PC 101 via the AP 102, it can be said that the printer 103 has established a wireless infrastructure connection. That is, in FIG. 1(a), the PC 101 may be connected to the AP 102 via a wired LAN. An external server 171 is a server that can provide services via the Internet to devices connected to the AP 102. For example, the external server 171 is a server from which the PC 101 can download a printer driver for the printer 103. 1A, the LAN formed by the AP 102 includes the AP 102, a printer 103, and a PC 101. On the other hand, the Wide Area Network (WAN) includes the AP 102 and an external server 171.

[0019] FIG. 1(b) shows a configuration in which AP 104 is connected to AP 102 via a WAN. Generally, it is desirable for AP 104 to be connected to AP 102 via a LAN, but a user may unintentionally connect the LAN of AP 102 to the WAN of AP 104 to construct a network. In this case, LAN 2 formed by AP 104 becomes a different network from LAN 1, and the PC 101 connected via LAN 1 and the printer 103 connected via LAN 2 may not be able to communicate with each other. Note that, because AP 104 is connected to AP 102 via a WAN, it can access an external server 171. In other words, the printer 103 connected to LAN 2 formed by AP 104 can access the external server 171.

[0020] There is a connection method called wireless direct connection, which allows communication only between two devices. The PC 101 and the printer 103 can also establish a peer-to-peer connection (hereinafter referred to as a P2P connection) via the wireless direct connection. However, during the P2P connection, both the PC 101 and the printer 103 use their internal wireless LAN interfaces for the P2P connection, and therefore cannot communicate with any devices other than each other. For this reason, the P2P connection is often used as a temporary connection. In this embodiment, the PC 101 performs a network setup process (P2P wireless setting process) to connect the printer 103 to the AP 102 or AP 104 via a wireless LAN connection. Specifically, the PC 101 connects the printer 103 to the AP 102 (or AP 104) by transmitting setting information for the AP 102 (or AP 104) to the printer 103 via the P2P connection. In the network setup process, the PC 101 transmits setting information for the AP 102 (or AP 104) to the printer 103 using the P2P connection. In this embodiment, the state in which the printer 103 is able to receive a network setup instruction including AP setting information is defined as a “network setup mode.” Figure 1(c) will be described later.

[0021] 2 is a diagram showing the hardware configuration of a communication system including a PC 101 and a printer 103 in this embodiment. The PC 101 has a CPU 201, a ROM 202, a RAM 206, an external storage device 207, a display device 208, and an input interface 209. The CPU 201, the ROM 202, the RAM 206, etc. form a computer, PC 101, that executes a program. The PC 101 also has a USB (Universal Serial Bus) interface 205, a wired LAN interface 210, and a wireless LAN interface 211. The PC 101 is not limited to the configuration shown in FIG. 2, and may have appropriate functional blocks that can be executed by a device applied as the PC 101.

[0022] The CPU 201 is a processor that reads and executes a control program stored in the ROM 202. The control program controls the entire PC 101 and executes the processes shown in the flowcharts described below. As a result of the control program being executed, various functions of the PC 101 are realized, such as controlling communication with external devices such as the printer 103, generating print jobs to be output to the printer 103, and issuing instructions for network setup.

[0023] The RAM 206 is configured with a DRAM or SRAM that requires a backup power supply, and is used as a memory area for storing temporary setting information, management data, etc. when the PC 101 is operating. The RAM 206 is also used as a temporary storage area such as the main memory and work area of ​​the CPU 201, and is also used as a transmission buffer for temporarily storing print jobs that are generated to be sent to the printer 103.

[0024] The ROM 202 stores programs 203 corresponding to various processes, including a network setup process program for transmitting AP setting information to the printer 103, and a wireless profile 204 (described later). The network setup process will be described in detail later.

[0025] The external storage device 207 also stores an operating system (OS), a printer driver, and various other data. In this embodiment, the OS stored in the external storage device 207 and running on the PC 101 is assumed to be mac OS (registered trademark) provided by Apple Inc. The OS running on the PC 101 is not limited to this, and may be an OS other than mac OS. The OS may be, for example, Windows (registered trademark) provided by Microsoft Corporation. The display device 208 is configured with an LED (light-emitting diode), an LCD (liquid crystal display), and the like, and displays various user interface screens for the OS and program 203 and notifies the status of the PC 101.

[0026] The input interface 209 is an interface for accepting data input from the user and user instruction operations by operating an operation unit such as a keyboard. The operation unit may be a physical keyboard, physical buttons, etc., or a soft keyboard, soft buttons, etc. displayed on the display device 208. In other words, the input interface 209 may accept input from the user via the display device 208.

[0027] The network setup processing program is an application program for performing connection settings with the AP 102 to which the printer 103 is connected, and may have functions other than the network setup function. The network setup processing program is also referred to as a setup application hereinafter. For example, the setup application may have a function for causing the printer 103 to print, a function for causing the printer 103 to scan a document placed on the printer 103, a function for checking the status of the printer 103, and the like. The setup application may also have a function for transmitting information acquired from the printer 103, personal user information acquired by the PC 101, and the like to a service management server (not shown). The external server 171 can serve as such a service management server. The setup application is stored in the ROM 202 by, for example, being downloaded from the external server 171 via Internet communication via the wireless LAN interface 211 and installed.

[0028] ROM 202 also stores network information. The network information stores IP addresses assigned to the wireless LAN interface 211 and wired LAN interface 210 of PC 101, and the IP address and subnet mask of the AP to which PC 101 is currently connected. The network information also stores wireless profiles of APs to which PC 101 has previously connected. In other words, ROM 202 stores history information of APs to which PC 101 has previously connected. The wireless profile information includes the SSID, security settings, and password of the AP to which PC 101 has connected.

[0029] The wired LAN interface 210 and the wireless LAN interface 211 are configured to connect to external devices such as the printer 103 and the AP 102 to perform data communication. For example, the wireless LAN interface 211 can be connected to an AP (not shown) in the printer 103. The AP in the printer 103 will be described later.

[0030] The wireless LAN interface 211 controls the transmission and reception of data in accordance with the communication standard defined by IEEE802.11 in accordance with instructions from the CPU 201. The wireless communication method used in this case is, for example, the wireless Fidelity (Wi-Fi) (registered trademark) defined by the industry group Wi-Fi Alliance, which is defined as the standard for wireless LANs. The wireless LAN interface 211 also has an AP as an internal AP of the PC 101 for connecting to devices such as the printer 103. The AP internal to the PC 101 is generally called tethering. Furthermore, when the wireless LAN interface 211 of the PC 101 is connected to the Internet, the printer 103 can also be connected to the Internet via the wireless LAN interface 211.

[0031] The PC 101 can establish a P2P connection (direct connection) with the printer 103 via a USB cable 221 or via a wireless direct connection 223 using the wireless LAN interface 211. The PC 101 can also connect to the LAN 222 from the wired LAN interface 210 via an Ethernet cable 224. In this case, if the printer 103 can also connect to the LAN 222 via the AP 102 or the like, the PC 101 and the printer 103 can communicate with each other in the same LAN 222 environment. Furthermore, the PC 101 can connect to the AP 102 via the wireless LAN interface 211, and the AP 102 can connect to the LAN 222 via an Ethernet cable 225, thereby enabling the PC 101 to connect to the LAN 222. If the printer 103 can also connect to the AP 102, the PC 101 and the printer 103 can communicate with each other via the AP 102.

[0032] The printer 103 has a CPU 252, a ROM 253, a RAM 258, a display device 259, an input interface 260, a USB interface 251, a wireless LAN interface 256, and a wired LAN interface 257. The CPU 252, the ROM 253, the RAM 258, etc. form a computer of the printer 103 that executes programs. The printer 103 is not limited to the configuration shown in Fig. 2, and may have appropriate functional blocks that can be executed by a device (for example, a multi-function printer) that is used as the printer 103.

[0033] The CPU 252 is a processor that reads and executes a control program stored in the ROM 253. The control program controls the entire printer 103 and executes the processes shown in the flowcharts described below. As a result of the execution of the control program, various functions of the printer 103, such as communication control with external devices such as the PC 101, are realized.

[0034] The RAM 258 is configured with a DRAM or SRAM that requires a backup power supply, and is used as a memory area for storing temporary setting information, management data, etc. when the printer 103 is operating. The RAM 258 is also used as a temporary storage area such as the main memory or work area of ​​the CPU 252, and may operate as a receive buffer for temporarily holding print information received from the PC 101, etc.

[0035] The ROM 253 is a non-volatile flash memory that stores fixed data such as control programs executed by the CPU 252, data tables, and an embedded OS. In this embodiment, each control program stored in the ROM 253 performs software execution control, such as scheduling, task switching, and interrupt processing, under the management of the embedded OS stored in the ROM 253. The ROM 253 stores a program 254 and a wireless profile 255. The wireless profile 255 is information including the SSID and authentication information (e.g., password) of the AP connected to the wireless LAN interface 256. The wireless profile 255 is stored and managed in the ROM 253 when the CPU 252 executes the program 254 stored in the ROM 253. For example, when the printer 103 is turned on, the printer 103 can reconnect to a network to which it was previously connected by using the wireless profile 255. Furthermore, for example, the printer 103 may be configured to manage multiple wireless profiles, like the OS of the PC 101.

[0036] The ROM 253 also stores a unique SSID that is uniquely set for the printer 103. Here, the unique SSID is uniquely determined for the printer manufacturer and printer model, and the wireless LAN interface 256 of the printer 103 can operate as an AP corresponding to this unique SSID. Therefore, the PC 101 can connect to the printer 103 operating as an AP corresponding to the unique SSID via the wireless direct connection 223, just like when connecting to the AP 102.

[0037] The display device 259 is configured with an LED (light emitting diode), an LCD (liquid crystal display), etc., and displays various menus and notifies the status of the printer 103. The input interface 260 is an interface for accepting data input from the user and user instruction operations by operating an operation unit such as a keyboard. The operation unit may be a physical keyboard, physical buttons, etc., or a soft keyboard, soft buttons, etc. displayed on the display device 259. In other words, the input interface 260 may accept input from the user via the display device 259.

[0038] The printing unit 261 forms an image on a recording medium, such as cut paper, by ejecting a recording agent such as ink onto the recording medium based on image data, and outputs the print result. Furthermore, if the printing unit 261 determines that the power-on is due to arrival, it is configured to perform initial setup processing, including cleaning the recording head and adjusting the registration to adjust the ink ejection position. The printing unit 261 may be configured to use not only inkjet recording technology, but also other recording technology, such as electrophotography.

[0039] The printer 103 is capable of P2P communication with the PC 101 via a USB cable 221 or via a wireless direct connection 223. The printer 103 is also connected to the AP 102 via a wireless LAN interface 256, and the AP 102 is connected to the LAN 222 via an Ethernet cable 225, thereby enabling the printer 103 to connect to the LAN 222. In the explanation of FIG. 2, the processing load between the PC 101 and the printer 103 is as described above as an example, but other processing loads may also be configured.

[0040] The following describes the modes and connection methods for performing wireless communication using a wireless LAN interface.

[0041] <Direct connection method> A direct connection refers to a form in which devices are directly and wirelessly connected to each other without going through an external device such as the AP 102. A direct connection is also called a peer-to-peer connection (P2P connection). The printer 103 can operate in a mode for communication via a direct connection (direct connection mode) as one of the connection modes. In Wi-Fi communication, there are multiple modes for communication via a direct connection, such as software AP mode and Wi-Fi Direct (WFD) mode.

[0042] The mode in which a direct connection is established using WFD is called WFD mode. WFD is a standard established by the Wi-Fi Alliance and is included in the IEEE 802.11 series of communication standards. In WFD mode, after a device discovery command is used to search for communication partners, the roles of P2P group owner (GO) and P2P client are determined, and the remaining wireless connection processing is carried out. The group owner corresponds to a Wi-Fi parent station (parent device), and the client corresponds to a Wi-Fi child station (child device). Note that a parent station is a device that builds a wireless network and provides child stations with parameters used to connect to the wireless network. Examples of parameters used to connect to the wireless network include parameters related to the channel used by the parent station. By receiving these parameters, the child station connects to the wireless network built by the parent station using the channel used by the parent station. This role determination is called GO Negotiation. Note that in WFD mode, before role determination is performed, the printer 103 is neither a parent station nor a child station. Specifically, one device first issues a device discovery command to search for a device to connect to in WFD mode. Once the other device to communicate with has been discovered, the two devices confirm information about the services and functions that can be provided by each other. Note that this confirmation of device provisioning information is optional and not required. This device provisioning information confirmation phase corresponds to, for example, P2P Provision Discovery. Next, by mutually confirming this device provisioning information, it is determined which will be the P2P client and which will be the P2P group owner. Once the client and group owner are determined, they exchange parameters for WFD communication. Based on the exchanged parameters, the remaining wireless connection processing and IP connection processing are performed between the client and group owner. Note that in WFD mode, the printer 103 may always operate as a GO without performing the above-mentioned GO negotiation. In other words, the printer 103 may operate in WFD mode, which is an autonomous GO mode.Furthermore, the state in which the printer 103 is operating in WFD mode refers to, for example, a state in which a WFD connection is not established but the printer 103 is operating as a GO, or a state in which a WFD connection is established and the printer 103 is operating as a GO.

[0043] In software AP mode, between devices communicating with each other (for example, PC 101 and printer 103), one device (for example, PC 101) acts as a client that requests various services. The other device then implements the functions of a Wi-Fi AP through software settings. A software AP corresponds to a Wi-Fi parent station, and a client corresponds to a Wi-Fi child station. In software AP mode, a client searches for a device that will become a software AP using a device search command. Once a software AP is found, the remaining wireless connection processing (establishing a wireless connection, etc.) between the client and software AP is carried out, and then IP connection processing (assigning an IP address, etc.) is carried out. Note that commands and parameters sent and received when establishing a wireless connection between a client and software AP may be those specified in the Wi-Fi standard, and therefore a description thereof will be omitted here.

[0044] In this embodiment, when the printer 103 establishes and maintains a direct connection, it operates as a master station within the network to which the printer 103 belongs. Therefore, the printer 103 can determine which frequency band and which channel to use for communication in the direct connection mode. In this embodiment, the printer 103 can use a channel corresponding to the 2.4 GHz frequency band and a channel corresponding to the 5 GHz frequency band for communication in the direct connection mode.

[0045] <About infrastructure connection methods> An infrastructure connection is a connection mode in which devices (for example, PC 101 and printer 103) are connected to an AP (for example, AP 102) that manages a network of devices that communicate with each other, and the devices communicate with each other via the AP. The printer 103 can also operate in a mode for communicating via an infrastructure connection (infrastructure connection mode) as one of the connection modes. In an infrastructure connection, each device searches for an AP using a device discovery command. Once an AP is discovered, the remaining wireless connection processing (establishing a wireless connection, etc.) is carried out between the device and the AP, and then the IP connection processing (assigning an IP address, etc.) is carried out. Note that the commands and parameters sent and received when establishing a wireless connection between a device and an AP can be those specified in the Wi-Fi standard, and so a description of them will be omitted here.

[0046] In this embodiment, when the printer 103 operates via an infrastructure connection, the AP 102 serves as a master station, and the printer 103 serves as a slave station. In other words, in this embodiment, the infrastructure connection refers to a connection between the printer 103 operating as a slave station and the AP 102 operating as a master station. When the printer 103 has established an infrastructure connection and the PC 101 has also established an infrastructure connection with the AP 102, communication between the printer 103 and the PC 101 is possible via the AP 102. The channel used for communication in the infrastructure connection is determined by the AP 102, and the printer 103 performs communication in the infrastructure connection using the channel determined by the AP 102. In this embodiment, the printer 103 is capable of using a channel corresponding to the 2.4 GHz frequency band and a channel corresponding to the 5 GHz frequency band for communication in the infrastructure connection. Note that the printer 103 can also use a channel corresponding to the DFS (Dynamic Frequency Selection) band within the 5 GHz frequency band for communication in the infrastructure connection. In order for the PC 101 to communicate with the printer 103 via the AP 102, the PC 101 must recognize (search and discover) that the printer 103 belongs to the network formed by the AP 102 and to which the PC 101 belongs.

[0047] <About Network Setup Mode> The printer 103 can operate in network setup mode. The trigger for the printer 103 to start operating in network setup mode may be, for example, a user pressing a network setup mode button, or the printer 103 starting up (powering on) for the first time after arrival. The network setup mode button may be a hardware (physical) button provided on the printer 103, or may be a software button that the printer 103 displays on the display device 259. When the printer 103 starts operating in the network setup mode, it enables Wi-Fi communication. Specifically, as part of the Wi-Fi communication enablement process, the printer 103 enables an internal AP (setup AP) of the printer 103 that is dedicated to the network setup mode. The SSID of the setup AP corresponds to the unique SSID described above. This enables the printer 103 to establish a direct Wi-Fi connection with the PC 101. The connection information (SSID) for connecting to the setup AP is stored in advance in a setup application (program 203) installed on the PC 101, and the PC 101 is assumed to recognize the connection information for connecting to the setup AP in advance. Therefore, unlike the connection information of the AP that is enabled in the direct connection mode, the connection information for connecting to the setup AP cannot be arbitrarily changed by the user. Note that in the network setup mode, the printer 103 may connect to the terminal device 101 via Wi-Fi Direct (WFD) instead of regular Wi-Fi. That is, the printer 103 may operate as a group owner and receive network information from the PC 101 through WFD communication. Also, in the network setup mode, the printer 103 may connect to the PC 101 through Bluetooth. Here, Bluetooth includes Bluetooth Classic and Bluetooth Low Energy (BLE). That is, for example, the printer 103 may operate as a BLE slave device in the network setup mode and receive network information from the PC 101 through BLE communication. Also, in the network setup mode, the printer 103 may be capable of performing both network setup via Wi-Fi and network setup via BLE. That is, when the printer 103 starts operating in the network setup mode, it may enable both Wi-Fi communication and BLE communication.Specifically, when the printer 103 starts operation in the network setup mode, it may execute both the activation of the setup AP and the activation of the advertising state in which advertising information is transmitted via BLE and BLE connection is possible. The printer 103 may also receive network information from the PC 101 via a wired LAN or USB.

[0048] As described above, the printer 103 operates in a network setup mode for executing network setup of the printer 103 in response to certain conditions, including when the user presses a button or during initial installation. When operating in the network setup mode, the printer 103 controls the wireless LAN interface 256 to operate as a setup AP that is valid only while operating in the network setup mode. This setup AP is an AP different from the AP that is enabled in the software AP mode described above. The SSID of this setup AP includes a predetermined character string that can be recognized by the setup application (program 203) of the PC 101.

[0049] Furthermore, the printer 103 operating in the network setup mode uses a predetermined communication protocol (setup communication protocol) in communication with the PC 101 connected to the setup AP. Specifically, the setup communication protocol is, for example, the Simple Network Management Protocol (SNMP).

[0050] After starting operation in network setup mode, the printer 103 stops operation in network setup mode and disables the setup AP when a predetermined time has elapsed. Also, if the printer 103 receives connection information for connecting to an external AP and an instruction to change the wireless communication operation mode from the PC 101 while in network setup mode, the printer 103 disables the setup AP.

[0051] The operation of this embodiment will be described in detail below with reference to Figs. 3 to 9. Fig. 3 is a flowchart showing processing (network setup processing) in which the PC 101 connects the printer 103 to an external AP network. Fig. 4 is a diagram showing an example of a screen displayed on the display device 208 of the PC 101 in the network setup processing. Fig. 5 is a flowchart showing P2P wireless setting processing of the printer 103. Fig. 6 is a flowchart showing the printer communication confirmation processing executed in S313 of Fig. 3. Figs. 7 and 8 are diagrams showing examples of screens displayed on the display device 208 of the PC 101 in the printer communication confirmation processing of Fig. 6. Fig. 9 is a flowchart showing the Internet connection confirmation processing executed in S608 of Fig. 6.

[0052] 3 is a flowchart showing the network setup process for the printer 103 executed by the PC 101. This flowchart is realized by the CPU 201 reading the program 203 stored in the ROM 202 into the RAM 206 and executing it. In this embodiment, it is assumed that the PC 101 executes the process using a setup application. This flowchart is started, for example, when a predetermined instruction is given by the user on a screen displayed by the setup application. It is assumed that when the PC 101 is connected to the AP 102 via the wired LAN interface 210, the SSID and password of the AP 102 are not stored in the wireless profile 204. When the PC 101 is connected to the AP 102 via the wireless LAN interface 211, the SSID and password of the AP 102 are stored in the wireless profile 204.

[0053] When a user executes the program 203 and performs a predetermined operation in the program 203, the CPU 201 starts the network setup process. It is assumed here that the PC 101 is already connected to the external AP 102 and the printer 103 is in network setup mode. FIG. 1C shows the system configuration at this time. The network formed by the AP 102 to which the PC 101 is already connected is hereinafter referred to as the "first network." The connection to the AP is equivalent to the connection to the network formed by the AP. Similarly, the SSID, which is the identifier of the first network, is hereinafter referred to as the "first SSID." Specifically, for example, the first SSID is the SSID of the AP 102 to which the PC 101 is already connected. The first network is, in other words, the network to which the PC 101 was connected at least at the time the predetermined operation was accepted.

[0054] In S301, the CPU 201 searches for the printer 103 in network setup mode. Specifically, for example, the CPU 201 searches for APs around the PC 101 and acquires the SSID of the discovered AP. Then, in S302, the CPU 201 determines whether the discovered SSIDs include a unique SSID known to the setup application. The unique SSID is the SSID emitted by the AP of the printer 103 in network setup mode. The processes of S301 and S302 are repeated until it is determined that a unique SSID is included. If it is determined that a unique SSID is included, the process proceeds to S303.

[0055] In S303, the CPU 201 saves in the RAM 206 the setting information of the AP 102 to which the wireless LAN interface 211 is connected. Then, the CPU 201 disconnects the wireless connection between the wireless LAN interface 211 and the AP 102, and in S304 establishes a P2P connection with the printer 103. Specifically, the CPU 201 connects the wireless LAN interface 211 to an AP with a unique SSID. Note that if the PC 101 is wiredly connected to the AP 102 via the wired LAN interface 210, that is, if the PC 101 is not wirelessly connected to the AP 102, the processing of S303 may be skipped. Furthermore, in a configuration in which the PC 101 performs various communications with the printer 103 using a communication method other than Wi-Fi (Bluetooth, wired LAN, USB, etc.), it is not necessary to disconnect the wireless connection between the wireless LAN interface 211 and the AP 102.

[0056] In S305, the CPU 201 requests the printer 103 for an SSID list of APs near the printer 103, and receives the SSID list from the printer 103 as a response to the request. The received SSID list is a list of SSIDs of nearby APs detected (discovered) by the printer 103. In other words, the SSID list can also be considered a list of APs detected (discovered) by the printer 103. In further words, it can also be considered a list of networks detected (discovered) by the printer 103. Note that the request for the SSID list and the reception of the SSID list are communicated via a P2P connection, but communication may also be performed using a communication method other than Wi-Fi (Bluetooth, wired LAN, USB, etc.).

[0057] In S306, the CPU 201 acquires the wireless profile 204 stored in the PC 101. If there are multiple networks to which the PC 101 has previously connected and multiple wireless profiles exist, the CPU 201 acquires the multiple wireless profiles. From the acquired wireless profiles, the CPU 201 identifies and acquires the setting information (including the SSID) of the AP 102 that was connected when the network setup process started and whose wireless connection was terminated in S303.

[0058] In S307, CPU 201 checks the SSID list acquired in S305 based on the SSID (first SSID) of AP 102 acquired in S306. In S308, CPU 201 determines, as a result of the check, whether the first SSID of AP 102 is included in the SSID list acquired in S305. Determining whether the first SSID of AP 102 is included in the SSID list acquired in S305 is, in other words, determining whether information corresponding to the network formed by AP 102 is included in the SSID list acquired in S305.

[0059] If it is determined that the first SSID of AP 102 is included in the SSID list acquired in S305, the process proceeds to S310. The process of S310 will be described later. If it is determined that the first SSID of AP 102 is not included in the SSID list acquired in S305, in S309, CPU 201 displays a screen shown in the example of Fig. 4 to instruct the user to input setting information (including SSID and password) for the desired AP. The screen of Fig. 4 will be described later.

[0060] In S308, it is determined that the first SSID of AP 102 is not included in the SSID list because, for example, the wireless profile does not exist when PC 101 is connected to AP 102 via wired LAN interface 210. In such a case, it is determined in S308 that the first SSID of AP 102 is not included in the SSID list acquired in S305, and the process proceeds to S309.

[0061] Assume also a case where the PC 101 connects to the AP 102 by specifying an SSID (first SSID) for the 5 GHz frequency band, while the printer 103 supports only Wireless LAN communication in the 2.4 GHz frequency band. In other words, in such a case, the printer 103 does not support Wireless LAN communication in the 5 GHz frequency band. Hereinafter, a printer that does not support Wireless LAN communication in the 5 GHz frequency band is referred to as a 5 GHz-incompatible printer. The wireless LAN router that enables the AP 102 may enable multiple APs, each using a different frequency band. In this case, in S305, the non-5 GHz-compatible printer detects only the SSID for the 2.4 GHz frequency band and transmits it to the PC 101 as an SSID list. The PC 101 stores a wireless profile for an SSID for the 5 GHz frequency band, but does not store a wireless profile for an SSID for the 2.4 GHz frequency band. Therefore, in S308, it is determined that the first SSID of the AP 102 is not included in the SSID list acquired in S305, and the process proceeds to S309.

[0062] When proceeding to S309, the user must specify AP configuration information, such as the SSID and password, on the PC 101 for the AP desired by the user, i.e., the AP to which the printer 103 will be connected. In S309, the CPU 201 displays a network information input screen 400, as shown in FIG. 4, on the display device 208. The network information input screen 400 includes a "Next" button 401, a drop-down list 402 for accepting the selection of an "SSID name," an input area 403 for entering a "password," and an encryption method display area 404 for displaying the encryption method of the selected SSID. The drop-down list 402 lists information from the SSID list acquired from the printer 103 in S305. In other words, the network information input screen 400 can be considered a selection screen that displays the SSID list acquired from the printer 103 and accepts the user's selection from the SSID list. When an SSID is selected from the drop-down list 402, the encryption method display area 404 displays the encryption method information for the SSID acquired from the printer 103 as associated information related to the SSID. Note that the CPU 201 may find a wireless profile corresponding to the SSID selected from the drop-down list 402 among the wireless profiles acquired in S306. In that case, the password included in the wireless profile may be acquired and automatically entered into the input area 403. In addition, although the present embodiment illustrates an example in which an SSID is selected using the drop-down list 402, this is not a limitation. For example, instead of using the drop-down list 402, the user may be able to input an arbitrary SSID name. Furthermore, the encryption method display area 404 may allow the user to select an arbitrary encryption method.

[0063] The password input area 403 is an area for accepting input of a password string for connecting to the selected SSID. The password is a key used for encryption using the encryption method displayed in the encryption method display area 404. For security reasons, the password input area 403 displays the input password on the screen replaced with other characters such as "●" so that it cannot be seen from the outside. However, to allow the user to confirm the input characters, the network information input screen 400 may be configured with a UI (not shown) that switches the display of the password string to the exact characters entered. If the AP encryption method is not set, i.e., if the network is an open authentication network, the password input area 403 may be disabled because no input is required.

[0064] The network information input screen 400 is a screen that guides the user to input network information for connecting the printer 103 to a desired AP and prompts the user to press a “Next” button 401. When the user follows the guidance on the network information input screen 400 and presses the “Next” button 401, the CPU 201 temporarily stores the input network information (SSID, password, encryption method) in the RAM 206 as information corresponding to the AP's wireless profile. At this time, the CPU 201 may perform a process to verify whether the input network information is correct. Specifically, for example, the CPU 201 may verify whether the input password matches the format of a predetermined encryption method. If the verification results in, for example, an error in the password and encryption method combination, the CPU 201 displays the network information input screen 400 again and prompts the user to input correct information. A network that can be connected using the network information acquired by the user's input on the network information input screen 400 and that is formed by an AP corresponding to the network information is hereinafter referred to as a “second network.” Similarly, the SSID of the AP forming the second network, which is an identifier of the second network, is hereinafter referred to as the "second SSID." For example, the second network is a network formed by AP 104, which is an AP different from AP 102, as shown in FIG. 1(b). The second network is also a network different from the first network formed by AP 102.

[0065] In S310, the CPU 201 transmits a network setup instruction to the printer 103. If it is determined in S308 that the first SSID of the AP 102 is included in the SSID list acquired in S305, network information of the AP with the first SSID is transmitted to the printer 103 as a network setup instruction. In other words, the setting information of the AP 102 connected to the PC 101 at the start of the network setup process is automatically selected without user operation, thereby eliminating the need for the user to select or input setting information (including the SSID and password) of the AP to which the printer 103 will be connected. Furthermore, if network information of the second network is acquired by user input in S309, the network information of the AP with the second SSID is transmitted to the printer 103 as a network setup instruction. In other words, in S310, the setting information of the AP 102 identified by the first SSID or the setting information of the AP identified by the second SSID is transmitted to the printer 103. Note that the network setup instruction is transmitted via a P2P connection, but may also be transmitted via a communication method other than Wi-Fi (Bluetooth, wired LAN, USB, etc.). Furthermore, in a configuration in which the network setup instruction is transmitted using a communication method other than Wi-Fi, the network setup instruction may be transmitted while PC 101 remains connected to the first network via Wi-Fi.

[0066] In S311, the CPU 201 disconnects the P2P connection with the printer 103 and reconnects to the AP 102, which was the connection destination of the PC 101 in the wireless connection disconnected in S303. If the wireless profile 204 of the AP 102 is stored in the ROM 202 of the PC 101, the CPU 201 acquires it in S311, thereby enabling reconnection to the AP 102 without the user having to re-enter a password or the like. Alternatively, if an encryption method is not set for the AP 102, the CPU 201 can reconnect to the AP 102 by specifying the SSID of the AP 102, without the user having to re-enter a password or the like. Note that if the PC 101 is connected to the AP 102 via the wired LAN interface 210, the processing of S311 is skipped.

[0067] In S312, if there is a wireless profile remaining in ROM 202 due to a temporary P2P connection, CPU 201 deletes the wireless profile. If the wireless profile remains in ROM 202, CPU 201 may automatically connect to the SSID held by the wireless profile remaining in ROM 202, regardless of the user's intention. Therefore, by performing the processing of S312, it is possible to prevent a wireless profile for a connection unintended by the user from remaining. Note that, depending on the OS, it may not be possible to delete the wireless profile. In such cases, S312 is skipped.

[0068] In S313, the CPU 201 performs a printer communication confirmation process to determine whether communication is possible between the printer 103 and the PC 101 via the network to which the PC 101 is connected. The printer communication confirmation process in S313 will be described later with reference to FIG. 6.

[0069] In S314, the CPU 201 obtains information about the model of the printer 103 from the printer 103 discovered in S313 via the network to which the PC 101 is connected. Specifically, for example, information such as the printer's serial number is obtained from the printer 103. In the following description, the information about the model of the printer 103 may be referred to as model information. In S315, the CPU 201 executes processing for installing a printer driver corresponding to the printer 103 into the PC 101 based on the information. Thereafter, the processing of FIG. 3 ends. The CPU 201 may obtain the printer driver from an external server 171 via the Internet. The printer driver may also be included in a setup application. If the printer 103 is not discovered in S313, the processing of S314 and S315 may be skipped.

[0070] Next, the P2P wireless setting process of the printer 103 will be described in detail with reference to Fig. 5. This flowchart is implemented by the CPU 252 reading out the program 254 stored in the ROM 253 into the RAM 258 and executing it.

[0071] 5 based on the occurrence of an event that triggers a transition to the network setup mode. For example, this event may be a user performing an operation to power on the printer 103 on the input interface 260 of the printer 103. Note that the printer 103 may consider the operation to power on the printer 103 as an event that triggers a transition to the network setup mode only if this is the first time the printer 103 has been powered on since its arrival. For example, this event may be a user performing an operation to transition to the network setup mode on the input interface 260 of the printer 103 that is different from the operation to power on the printer.

[0072] Note that the printer 103 in the network setup mode operates the wireless LAN interface 256 as an AP with the unique SSID described above. For example, the unique SSID includes a character string corresponding to the model name of the printer 103, or a character string such as "printer" that can be used to identify the printer 103. The network setup mode is a mode in which the PC 101 can easily connect to the printer 103 without using authentication information (such as a password). In the network setup mode, the printer 103 operates as an AP with a reduced security level, and therefore the network setup mode is used temporarily when performing network setup of the printer 103.

[0073] In S501, before transitioning the printer 103 to network setup mode, the CPU 252 searches for APs around the printer 103 and creates an SSID list including the SSIDs of the discovered APs. The APs discovered here are APs to which the printer 103 can connect. In other words, APs to which the printer 103 cannot connect are not discovered by this search. APs to which the printer 103 cannot connect are, for example, APs that use a frequency band that the printer 103 cannot use or APs that use an encryption method that the printer 103 cannot use. In other words, searching for APs is searching for networks formed by APs. Therefore, as described above, the SSID list created here is also a list of networks discovered by the search performed by the printer 103. In S502, the CPU 252 transitions the printer 103 to network setup mode and determines whether a request for an SSID list has been received from the PC 101. This process corresponds to S305 in FIG. 3. If it is determined in S502 that an SSID list acquisition request has been received from PC 101, then in S503 CPU 252 performs processing to transmit the SSID list requested by PC 101. Specifically, CPU 252 transmits the SSID list created in S501 to PC 101. If it is determined in S502 that an SSID list acquisition request has not been received from PC 101, then the process proceeds to S504.

[0074] In S504, the CPU 252 determines whether a network setup instruction has been received from the PC 101. This process corresponds to S310 in FIG. 3. The network setup instruction includes AP configuration information. If it is determined in S504 that a network setup instruction has not been received, the process from S502 is repeated. On the other hand, if it is determined in S504 that a network setup instruction has been received, the CPU 252 performs connection processing with the AP corresponding to the received AP configuration information in S505. Specifically, for example, if the AP configuration information received from the PC 101 includes the wireless profile 204, the CPU 252 performs connection processing with the AP 102 using the SSID and password included in the wireless profile 204. Furthermore, for example, if the AP configuration information received from the PC 101 includes the network information of the second network entered by the PC 101 in S309, the CPU 252 performs connection processing with an external AP forming the second network using the network information. After S505, the P2P wireless configuration process in FIG. 5 ends. The determination of whether a network setup instruction has been received may be performed before the determination of whether a request to obtain an SSID list has been received.

[0075] The printer communication confirmation process in S313 of FIG. 3 will be described with reference to FIG.

[0076] In S601, the CPU 201 searches for the printer 103 on the first network, which is a network to which the PC 101 belongs and which is formed by the AP 102. Specifically, the search for the printer 103 is performed, for example, by sending a broadcast packet or a multicast packet. For example, if the printer 103 and the PC 101 are connected to the same AP 102 and the security function of the AP 102 (such as an SSID separation function) is not enabled, a response to the packet sent in the search is received from the printer 103 via the first network. In other words, the printer 103 is discovered by this search. Hereinafter, the process of searching for the printer 103 on the first network will be referred to as a first search.

[0077] In S602, the CPU 201 determines whether or not the printer 103 was found in the first search in S601. If it is determined that the printer 103 was found, in S603 the CPU 201 displays on the display device 208 a screen indicating that the printer 103 was found in the first search in S601. Here, for example, a screen 810 shown in FIG. 8(a) is displayed on the display device 208. The screen 810 includes a message indicating that the printer 103 was found and a message indicating that connection to the printer 103 was successful. The screen 810 also includes an end button 811 that ends the process. If the end button 811 is pressed, the printer communication confirmation process in FIG. 6 ends.

[0078] On the other hand, if it is determined that the printer 103 was not found in the first search of S601, the CPU 201 determines in S604 whether the first search of S601 has been performed a specified number of times. If it is determined that the first search of S601 has not been performed a specified number of times, the process from S601 is repeated. If it is determined that the first search of S601 has been performed a specified number of times, the process proceeds to S605.

[0079] In S605, the CPU 201 determines whether the network information of the AP with the first SSID or the network information of the AP with the second SSID was transmitted in S310. If the CPU 201 determines in S310 that the network information of the AP with the first SSID was transmitted, the process proceeds to S619, where the CPU 201 displays a screen indicating a failure in the network connection of the printer 103 shown in FIG. 8B on the display device 208. For example, the screen 820 may display a message indicating that the printer 103 could not be found or a message indicating that the connection to the printer 103 has failed. The screen 820 may also include a message indicating that changing the connection destination of the wireless LAN interface 211 has failed. The screen 820 includes an end button 821 that ends the process. If the end button 821 is pressed, the process of FIG. 6 ends. On the other hand, if the CPU 201 determines in S310 that the network information of the AP with the second SSID was transmitted, the process proceeds to S606.

[0080] In S606, the CPU 201 disconnects the connection between the wireless LAN interface 211 and the network with the first SSID and attempts to establish a connection between the wireless LAN interface 211 and the network with the second SSID. That is, the CPU 201 attempts to change the connection destination of the wireless LAN interface 211. Note that the attempt to establish a connection between the wireless LAN interface 211 and the network with the second SSID is executed in response to an instruction from the setup application while the setup application is running. Then, in S607, the CPU 201 determines whether the change of the connection destination of the wireless LAN interface 211 was successful or unsuccessful. Note that a successful change of the connection destination of the wireless LAN interface 211 means that a connection between the wireless LAN interface 211 and the network with the second SSID was successfully established. Furthermore, if the wireless LAN interface 211 is set to automatically obtain an IP address, the CPU 201 may consider the change of the connection destination to be successful when an IP address is assigned after connecting to the AP 102.

[0081] If it is determined that the change in the connection destination of the wireless LAN interface 211 has failed, in S617 the CPU 201 reconnects the wireless LAN interface 211 to the network of the first SSID. Then, in S618, the CPU 201 displays a screen on the display device 208 indicating that the network connection of the printer 103 has failed. Note that in this embodiment, the network connection of the printer 103 is determined to be successful based on the result of the network setup process in which the PC 101 has discovered the printer 103 on the network. Here, for example, a screen 820 shown in FIG. 8C is displayed on the display device 208. For example, the screen 820 may display a message indicating that the printer 103 could not be discovered or a message indicating that the connection to the printer 103 has failed. The screen 820 may also display a message indicating that the connection destination of the wireless LAN interface 211 has been reconnected to the network of the first SSID. The screen 820 may also include a message indicating that the change in the connection destination of the wireless LAN interface 211 has failed. The screen 820 includes an end button 821 for ending the process. If the end button 821 is pressed, the processing of FIG. 6 ends.

[0082] Based on the determination in S607 that the change in the connection destination of the wireless LAN interface 211 has been successful, the CPU 201 starts both the processing of S608 and the processing of S610. That is, when the CPU 201 determines in S607 that the change in the connection destination of the wireless LAN interface 211 has been successful, the processing of S608 and the processing of S610 are executed in parallel. Note that the timing at which the processing of S608 and the processing of S610 are started do not have to be strictly simultaneous. Specifically, for example, the CPU 201 may start the processing of S610 after starting the processing of S608 but before completing the processing of S608, or may start the processing of S608 after starting the processing of S610 but before completing the processing of S610. Furthermore, the timing at which the processing of S608 is completed and the timing at which the processing of S610 to S612 are completed may be simultaneous or may be different. In other words, if the CPU 201 determines in S607 that the change in connection destination of the wireless LAN interface 211 has been successful, it may perform control so that at least a part of the processing in S608 and at least a part of the processing in S610 to S612 are executed in parallel.

[0083] In S608, the CPU 201 checks whether the PC 101 is connected to the Internet. That is, the CPU 201 checks whether the PC 101 can access the external server 171 via the Internet. Note that the state in which the PC 101 can connect to the Internet is in other words a state in which the PC 101 can communicate via the Internet. In this embodiment, the CPU 201 checks whether Internet communication is possible via the second network in S608. Therefore, the processing of S608 is in other words a check whether the PC 101 is connected to the Internet via the second network. The process of S608 for checking whether the PC 101 is connected to the Internet will be described later with reference to FIG. 9. After the CPU 201 has checked whether the PC 101 is connected to the Internet, the process proceeds to S609.

[0084] In parallel with S608, in S610, the CPU 201 searches for the printer 103 on the second network. Specifically, for example, the search for the printer 103 is performed by sending a broadcast packet or a multicast packet. Because the printer 103 and the PC 101 are connected to the same second network, even if the security function of the AP 102 (such as an SSID separation function) is enabled, a response to the packet sent in the search is received from the printer 103 via the second network. In other words, the printer 103 is discovered by this search. Hereinafter, the process of searching for the printer 103 on the second network will be referred to as a second search.

[0085] In S611, the CPU 201 determines whether the printer 103 was found in the second search of S610. If it is determined that the printer 103 was not found in the second search of S610, then in S612 the CPU 201 determines whether the second search of S610 has been performed a specified number of times. If it is determined that the second search of S610 has not been performed a specified number of times, the CPU 201 repeats the processing from S610. If it is determined that the second search of S610 has been performed a specified number of times, the CPU 201 proceeds to S609.

[0086] In S609, CPU 201 determines whether the Internet connection confirmation process of S608 and the second search-related process have been completed. The second search-related process is S611 and S612, and if the determination result of S611 is YES or if the determination result of S612 is YES, the second search-related process is considered to have been completed. If it is determined that either the Internet connection confirmation process or the second search-related process has not been completed, CPU 201 repeats the process of S609 until these processes are completed.

[0087] On the other hand, if the CPU 201 determines that the Internet connection confirmation process and the second search-related process have been completed, the process proceeds to S613. In S613, the CPU 201 determines whether the PC 101 is connected to the Internet and whether the printer 103 was found in the second search of S610. If the determination result of S903 is YES and the determination result of S611 is YES, the CPU 201 determines YES in S613. If the determination result of S903 is NO or if the determination result of S612 is YES, the CPU 201 determines NO in S613. This determination can prevent failure in the process of acquiring a printer driver from the external server 171 in S315 based on the model information of the printer 103 acquired in S314 after the process of FIG. 6 is completed.

[0088] If it is determined that the PC 101 cannot connect to the Internet or that the printer 103 could not be found (the determination result in S613 is NO), in S616 the CPU 201 deletes the wireless profile for the second network stored in the PC 101. As described above, the processing in S616 prevents a wireless profile for a connection unintended by the user from remaining. Note that, depending on the OS, it may not be possible to delete the wireless profile. In that case, S616 is skipped.

[0089] In S617, the CPU 201 disconnects the wireless LAN interface 211 from the second network and reconnects the wireless LAN interface 211 to the first network. The connection between the wireless LAN interface 211 and the first network is established in response to an instruction from the setup application while the setup application is running. Immediately after the connection between the wireless LAN interface 211 and the second network is disconnected, the OS may be unable to search for nearby SSIDs, potentially resulting in an unstable connection, which may result in a failure to reconnect. Therefore, the CPU 201 may attempt to reconnect to the first network a certain amount of time after disconnecting from the second network. Alternatively, if reconnection to the first network fails, the CPU 201 may reduce the chance of connection failure by reattempting connection to the first network. Then, in S618, a screen 820 indicating a network connection failure for the printer 103 (FIG. 8C) is displayed on the display device 208. When the end button 821 on the screen 820 shown in FIG. 8(c) is pressed, the CPU 201 ends the processing of FIG.

[0090] The following describes the processing to be performed when it is determined in S613 that PC 101 is connected to the Internet and that printer 103 was found in the second search (when the determination result in S613 is YES). In S614, CPU 201 displays a confirmation screen on display device 208 to confirm with the user whether or not to maintain the connection between PC 101 and the changed connection destination network (second network). Here, for example, confirmation screen 700 shown in FIG. 7 is displayed on display device 208. For example, confirmation screen 700 includes a message indicating that printer 103 has been found on the second network, a message indicating that wireless LAN interface 211 has been connected to the network of the second SSID, and an area 703 displaying the second SSID. Furthermore, for example, confirmation screen 700 includes a "Manual" button 704 for displaying a manual showing detailed explanations, and a "Yes" button 701 or a "No" button 702 that the user operates depending on the content of the message.

[0091] If PC 101 maintains the connection between the second network, PC 101 may be unable to communicate with other external devices connected to the first network. Therefore, by pressing a “Manual” button 704 included in the confirmation screen 700, a web browser or the like displays a web manual, which is Internet content, explaining precautions to take when maintaining the changed network to which PC 101 is connected. Specifically, for example, the content includes an explanation that maintaining the changed connection of PC 101 to the second network may result in interruption of communication with external devices connected to the first network. While the display upon pressing the “Manual” button 704 is shown as an example, this is not limiting. For example, the content may be embedded and displayed in the confirmation screen 700. Alternatively, a message corresponding to the content may be displayed in the confirmation screen 700. The confirmation screen 700 displays a message confirming whether or not PC 101 should maintain the connection to the second network, prompting the user to press either a “Yes” button 701 or a “No” button 702. In other words, confirmation screen 700 can be said to be a selection screen that can accept a user instruction as to whether to set the connection destination of PC 101 to the first network or the second network. In other words, confirmation screen 700 is a screen that allows the user to confirm whether to switch the connection destination of PC 101 to the network (first network) that was the previous connection destination. In other words, confirmation screen 700 is a reception screen that accepts a user instruction as to whether to maintain the change of the network to which PC 101 belongs from the first network to the second network.

[0092] In S615, the CPU 201 determines whether or not to maintain the connection to the second network. Specifically, for example, when the user presses the "Yes" button 701, the CPU 201 determines to maintain the connection of the wireless LAN interface 211 to the second network, and in S603, displays a screen 810 shown in FIG. 8(a) on the display device 208. When an end button 811 included in the screen 810 is pressed, the processing of FIG. 6 ends. In this case, even if an operation to end the processing of FIG. 6 is accepted, the connection of the wireless LAN interface 211 to the second network is maintained. In other words, even if an operation to end the processing of FIG. 6 is accepted, the wireless LAN interface 211 is not switched from the second network to the first network. On the other hand, when the user presses the "No" button 702, the CPU 201 determines not to maintain the connection of the wireless LAN interface 211 to the second network, and proceeds to S616. Thereafter, the processing of S616 is the same as that described above.

[0093] 6, the determination process of S604 and S612 may be performed based on whether the processing time for executing the first search of S601 and the second search of S610 has reached a specified time (e.g., a predetermined number of seconds), rather than whether the number of times the first search of S601 and the second search of S610 have been executed has reached a specified number of times. In this case, the first search of S601 and the second search of S610 are repeatedly executed in S601 and S610 until a certain time has elapsed. Furthermore, the conditions in S604 and S612 do not have to be the same. In other words, one search may be determined based on whether the number of times has been reached, and the other search may be determined based on whether a specified number of seconds has been reached.

[0094] Furthermore, while the first search in S601 is being performed, the printer 103 may be performing connection processing with the AP based on the AP configuration information sent from the PC 101. Therefore, it is necessary to determine the threshold for the first search in S601 taking into consideration the time required for the printer 103 to perform the processing currently being performed. On the other hand, since the second search in S610 is performed after a sufficient amount of time has passed, it is highly likely that the printer 103 has already completed connection to the second network, and it is not necessary to determine the threshold taking into consideration the time required for the printer 103 to connect to the AP 102. Therefore, the threshold for the second search in S610 is set to be either fewer times than the threshold for the first search in S601, or shorter than the threshold for the first search in S601. This minimizes the processing time shown in FIG. 6.

[0095] The process of checking whether the PC 101 is connected to the Internet in step S608 will be described with reference to FIG.

[0096] In S901, the CPU 201 sets a timeout period for downloading a specific file. Specifically, in processing S902 (described later), the CPU 201 uses an API, which is an OS API, that attempts to download a specific file from the external server 171. The CPU 201 sets a timeout period for the API to be used when no progress is made in downloading the specific file during download execution. This timeout period can be set to any period; for example, it may be set to the time required for the second search in S610 of FIG. 6. In this way, if the download processing in S910 fails and the second search in S610 also fails, the CPU 201 can notify the download failure almost simultaneously with the failure and timeout of the second search in S610, thereby enabling the download to be executed at an optimal time. Furthermore, if the time required for the second search in S610 is the same as the default value of the timeout period for the API that attempts the download in S902, S901 may be skipped.

[0097] Furthermore, the specific file may be any file, and may be the same file as the model information file acquired in S314 of FIG. 3. By using the same file acquired at another timing, such as S314, for the Internet connection confirmation process, external server 171 does not need to prepare a new file for the Internet connection confirmation process. In addition, in S314 of FIG. 3 described above, CPU 201 acquires model information of printer 103. However, if the specific file (the model information file of printer 103) is successfully downloaded in S902, CPU 201 may skip S314. In other words, if the second network is confirmed to be connected to the Internet in S313 (the download is successful), CPU 201 may skip S314. That is, if the specific file is successfully downloaded in the Internet connection confirmation process, CPU 201 does not need to acquire the same file again at a timing other than the confirmation process. If the second network is confirmed to be connected to the Internet in S313, skipping S314 allows the network setup process to proceed more time-efficiently. The specific file may be a file different from the file containing model information about the printer 103. For example, it may be necessary to prepare a new file in the external server 171, but the specific file may be a file that is used only for the Internet connection confirmation process.

[0098] In S902, CPU 201 executes download of a specific file from external server 171 via the second network. Specifically, CPU 201 attempts to download the specific file from external server 171 by executing the API of the OS described in S901. That is, CPU 201 does not use the above-described OS standard API, but executes an API different from the OS standard API. This makes it possible to determine whether PC 101 is connected to the Internet even if the OS of PC 101 does not provide an OS standard API for determining whether PC 101 is connected to the Internet, such as macOS.

[0099] In S903, the CPU 201 determines whether the download of the specific file in S902 was successful. If it is determined that the download of the specific file was successful, it can be assumed that the PC 101 is connected to the Internet. In this case, in S904, the CPU 201 determines that the PC 101 can access the external server 171 (can connect to the Internet), and the processing of FIG. 9 ends. If it is determined that the download of the specific file was not successful, the CPU 201 determines whether the download timeout period has elapsed in S905. If it is determined that the download timeout period has not elapsed, the CPU 201 returns to the processing of S902. On the other hand, if it is determined that the download timeout period has elapsed, it can be assumed that the PC 101 is in a state in which it cannot connect to the Internet. In this case, in S906, the CPU 201 determines that the PC 101 cannot access the external server 171 (cannot connect to the Internet), and the processing of FIG. 9 ends.

[0100] For example, PC 101 may have both a wireless LAN connection to the second network and a wired LAN or other connection to another network different from the second network. In such a case, in S902, CPU 201 may further attempt to download a specific file via the other network. That is, the process executed in S902 may not be a process for determining whether PC 101 is connected to the Internet via a specific network, the second network, but may be a process for determining whether PC 101 is connected to the Internet via any network. If the download of the specific file via the other network is successful, a determination of YES may be made in S903. Specifically, for example, even if the download of the specific file via the second network fails because the second network is not connected to the Internet, the determination of YES may be made in S903 if the download of the specific file via the other network is successful. The download of the specific file via the other network may also be executed by triggering the same API as the API for downloading the specific file via the second network. In addition, if the only connection that PC101 has established with an external network is a wireless LAN connection with the second network, processing is executed in S902 to confirm whether or not the PC101 is connected to the Internet via the second network.

[0101] In this example, the Internet connection confirmation process in S608 uses OSAPI to attempt to download a specific file from the external server 103 via the second network, but the present invention is not limited to this.

[0102] In S608, for example, an API for attempting to upload a specific file to external server 103 via the second network may be used to confirm whether or not PC 101 is connected to the Internet based on the result of the upload attempt. For example, if the upload of the specific file is successful, CPU 201 may confirm that PC 101 is connected to the Internet via the second network. Alternatively, for example, if the upload of the specific file fails, CPU 201 may confirm that PC 101 is unable to connect to the Internet via the second network. That is, in S608, CPU 201 attempts to communicate with external server 103 via the second network and confirms whether or not PC 101 is connected to the Internet based on the communication result. Note that in the case where an upload is attempted in S608, the specific file may be, for example, a file for confirming Internet connection.

[0103] Also, in S608, for example, if the OS of PC 101 provides an OS standard API for acquiring the Internet connection status of PC 101, the OS standard API may be used to check whether or not the PC is connected to the Internet.

[0104] As described above, in this embodiment, the CPU 201 connects the PC 101 to the second network and determines whether communication with the printer 103 is possible. If the CPU 201 determines that communication between the PC 101 and the printer 103 is possible, it asks the user whether to change to the second network. Thus, the CPU 201 changes the connection destination of the PC 101 from the first network to the second network only if the user allows the change to the second network. This prevents a situation in which the network destination of the PC 101 is automatically switched to the second network, resulting in the PC 101 being unable to communicate with a communication device connected to the first network and having to switch back to the original network, thereby improving convenience. Furthermore, the PC 101 can establish a state in which communication with the printer 103 is possible on the second network and end the network setup process. This allows, for example, the user to execute a process, such as issuing a print instruction to the printer 103, successfully without an error after the network setup process is completed. Furthermore, when the connection destination of PC101 is changed from the first network to the second network, the user is notified that the connection with the communication device on the first network may be disconnected. This prevents the user from changing the connection destination without being aware of the possibility of disconnection. Furthermore, after the connection destination of PC101 is changed from the first network to the second network, the Internet connection confirmation process and the second search of S610 are performed in parallel. This allows the process to proceed in a time-efficient manner. This configuration further improves user convenience.

[0105] [Second embodiment] The second embodiment will be described below, focusing on the differences from the first embodiment. In this embodiment, if the printer 103 is not found in the second search of S1013 (S1013 will be described later), the status of the Internet connection confirmation process being executed in parallel is checked. If the Internet connection confirmation process has not been completed, the Internet connection confirmation process is stopped, and the connection destination of the PC 101 is returned to the first network. Then, a message that the wireless setup has failed is displayed on the display device 208. Similarly, if the Internet connection confirmation process is completed, the second search of S1013 is checked to see if it has been completed. If the second search of S1013 has not been completed, the second search of S1013 is stopped, and the connection destination of the PC 101 is returned to the first network. Then, a message that the wireless setup has failed is displayed on the display device 208. In this way, if either the Internet connection confirmation process or the second search of S1013 fails, the wireless setup can be determined to have failed, allowing the process to proceed in a time-efficient manner.

[0106] The printer communication confirmation process of S314 in this embodiment will be described with reference to Figure 10. The process of Figure 10 is realized, for example, by the CPU 201 reading the program 203 stored in the ROM 202 into the RAM 206 and executing it. The process of Figure 10 is realized by a setup application. The process of Figure 10 is started, for example, when a predetermined instruction is given by the user on a screen displayed by the setup application.

[0107] S1001 to S1008, S1013 to S1015, and S1023 are the same as the explanations for S601 to S608, S610 to S612, and S619 in FIG. 6, and therefore their explanations will be omitted.

[0108] In S1009, the CPU 201 determines whether or not the PC 101 is connected to the Internet as a result of S1008. If it is determined that the PC 101 is connected to the Internet, the CPU 201 proceeds to S1012. If it is determined that the PC 101 cannot connect to the Internet, the CPU 201 determines whether or not the second search in S1013 is completed in S1010. If it is determined that the second search in S1013 is completed, the CPU 201 proceeds to S1012. If it is determined that the second search in S1013 is not completed, the CPU 201 stops execution of the second search in S1013 in S1011. That is, in this embodiment, if it is confirmed during the second search that the PC 101 cannot connect to the Internet, the second search is stopped.

[0109] On the other hand, in S1015, the CPU 201 determines whether the second search of S1013, which is being executed in parallel, has been performed a specified number of times. If the CPU 201 determines that the second search has not been performed a specified number of times, the process returns to S1013. If the CPU 201 determines that the second search has been performed a specified number of times, the CPU 201 determines in S1016 whether the confirmation of the Internet connection has been completed. If the CPU 201 determines that the confirmation of the Internet connection has been completed, the process proceeds to S1012. If the CPU 201 determines that the Internet connection process has not been completed, the CPU 201 stops the Internet connection confirmation process of S1008 in S1017. That is, in this embodiment, if the printer 103 is not found by the second search during the Internet connection confirmation, the Internet connection confirmation process is stopped.

[0110] S1012, and S1018 to S1022 are the same as those in S613, and S614 to S618 in FIG. 6, and therefore their explanation will be omitted.

[0111] As described above, according to this embodiment, by stopping the second search of S1013 in S1011, if it is determined that the PC 101 cannot connect to the Internet, it can be immediately determined that the wireless setup has failed. Similarly, by stopping the Internet connection check in S1017, if the printer 103 cannot be found in the second search of S1013, it can be immediately determined that the wireless setup has failed. This configuration allows for time-efficient processing.

[0112] [Third embodiment] The third embodiment will be described below, focusing on differences from the first and second embodiments. In this embodiment, if the PC 101 cannot connect to the Internet or if the printer 103 is not found in the second search of S1110 (S1110 will be described later), the CPU 201 changes the connection destination of the PC 101 to the first network. The CPU 201 then determines whether the printer 103 was found in the second search of S1110. If the printer 103 was found in the second search of S1110, the CPU 201 changes the connection destination of the PC 101 to the first network. Furthermore, the CPU 201 displays on the display device 208 that the printer 103 successfully connected to the specified SSID and that the wireless setup failed because the connected SSID did not have an Internet connection. This allows the user to know that the printer 103 successfully connected to the SSID itself, but that the printer communication confirmation process failed due to the lack of an Internet connection. In other words, the user can recognize that if they perform wireless setup again, the wireless setup will be successful if they connect to an SSID with an Internet connection.

[0113] The printer communication confirmation process of S314 in this embodiment will be described with reference to Figure 11. The process of Figure 11 is realized, for example, by the CPU 201 reading out program 203 and subsequent programs stored in the ROM 202 into the RAM 206 and executing them. The process of Figure 11 is realized by a setup application. The process of Figure 11 is started, for example, when a predetermined instruction is given by the user on a screen displayed by the setup application.

[0114] S1101 to S1112 and S1124 are the same as the explanations for S601 to S612 and S619 in FIG. 6, so the explanations for these will be omitted.

[0115] In S1113, CPU 201 determines whether PC 101 is connected to the Internet and whether printer 103 was found in the second search. If CPU 201 determines that PC 101 is connected to the Internet and whether printer 103 was found in the second search in S1110, CPU 201 proceeds to S1114. On the other hand, if CPU 201 determines that PC 101 cannot connect to the Internet or whether printer 103 was not found in the second search in S1110, CPU 201 proceeds to S1118.

[0116] S1114 to S1117 and S1123 are the same as the explanations for S614 to S617 and S618 in FIG. 6, so the explanations for these will be omitted.

[0117] In S1118, CPU 201 reconnects wireless LAN interface 211 to the first network. The establishment of a connection between wireless LAN interface 211 and the first network is performed in response to an instruction from the setup application while the setup application is running. Also, immediately after the connection is disconnected, the OS may be unable to search for nearby SSIDs and may be in an unstable state, which may result in a failure to reconnect to the first network. Therefore, CPU 201 may attempt to reconnect to the first network a certain amount of time after disconnecting from the second network. Alternatively, if reconnection to the first network fails, the CPU 201 may reduce the chance of a connection failure by reattempting to connect to the first network.

[0118] In S1119, the CPU 201 deletes the wireless profile for the second network stored in the PC 101. The processing of S1119 can prevent a wireless profile for a connection unintended by the user from remaining. Note that, depending on the OS, it may not be possible to delete the wireless profile. In that case, the CPU 201 skips S1119.

[0119] In S1120, it is determined whether the printer 103 was found in the second search in S1110. If it is determined that the printer 103 was not found, the CPU 201 proceeds to S1123. If it is determined that the printer 103 was found, the CPU 201 proceeds to S1121 to display a notification screen 1200 shown in FIG. 12 on the display device 208. For example, the notification screen 1200 displays a message indicating that the printer 103 has been found on the second network and a message indicating that the wireless LAN interface 211 has been temporarily connected to the second network. The notification screen 1200 also includes a message indicating that the wireless LAN interface 211 has reconnected to the first network because the second network is not connected to the Internet, and an area 1202 displaying the second SSID. For example, the notification screen 1200 also includes a "Next" button 1201 that the user operates after checking the message content. Pressing the "Next" button 1201 causes the CPU 201 to proceed to S1123.

[0120] S1123 is the same as that described in S618 of FIG. 6, and after the process of S1123 is completed, the printer communication confirmation process of FIG. 11 ends.

[0121] As described above, according to this embodiment, if the second search in step S1110 successfully detects the printer 103, but the second network does not have Internet connectivity, the user is notified that the wireless setup failed because the second network did not have Internet connectivity. Therefore, for example, if the second network does not have Internet connectivity, the user can know that the reason the wireless setup failed was because the second network did not have Internet connectivity. Therefore, when performing wireless setup again, the PC 101 and the printer 103 can be connected to the SSID of a network that has Internet connectivity, improving convenience.

[0122] [Fourth embodiment] The fourth embodiment will be described below, focusing on differences from the first, second, and third embodiments. In this embodiment, Internet connection is not possible. However, if the printer 103 is found in the second search in S1310 (S1310 will be described later), a confirmation screen is displayed to confirm whether to maintain the connection to the second network before returning the connection destination of the PC 101 to the first network. The confirmation screen prompts the user to select whether to maintain the connection destination of the PC 101 to the second network. As a result, if the user determines that the Internet connection of the PC 101 is not necessary, the connection destination of the PC 101 is not returned to the first network, and the wireless setup can be considered successful and the process can proceed. Furthermore, if the user determines that the Internet connection of the PC 101 is necessary, the connection destination of the PC 101 can be returned to the first network. Note that in this embodiment, the second network may be maintained even when the Internet connection is not available. Therefore, the printer driver used in S315 of FIG. 3 is packaged with the setup application.

[0123] The printer communication confirmation process of S313 in this embodiment will be described with reference to Figure 13. The process of Figure 13 is realized, for example, by the CPU 201 reading the program 203 stored in the ROM 202 into the RAM 206 and executing it. The process of Figure 13 is realized by a setup application. The process of Figure 13 is started, for example, when a predetermined instruction is given by the user on a screen displayed by the setup application.

[0124] S1301 to S1312 and S1321 are the same as the explanations for S601 to S612 and S619 in FIG. 6, so the explanations for these will be omitted.

[0125] In S1313, CPU 201 determines whether PC 101 is connected to the Internet and whether printer 103 was found in the second search of S1310. If CPU 201 determines that PC 101 is connected to the Internet and whether printer 103 was found in the second search of S1310, CPU 201 proceeds to S1314. If CPU 201 determines that PC 101 cannot connect to the Internet or whether printer 103 was not found in the second search of S1310, CPU 201 proceeds to S1315.

[0126] 6, so the explanation of S1314 will be omitted. In S1315, the CPU 201 determines whether or not the printer 103 was found in the second search of S1310. If the printer 103 was not found in the second search of S1310, the process proceeds to S1318. If it is determined that the printer 103 was found in the second search of S1310, the process proceeds to S1316.

[0127] S1318 to S1320 are the same as those in S616 to S618 in FIG. 6, and therefore their explanation will be omitted.

[0128] In S1316, the CPU 201 displays on the display device 208 a confirmation screen for prompting the user to determine whether or not to maintain the connection between the changed destination network (second network) and the PC 101. Here, for example, a confirmation screen 1400 shown in FIG. 14 is displayed on the display device 208. For example, the confirmation screen 1400 displays a message indicating that the printer 103 has been found on the second network and a message indicating that the wireless LAN interface 211 has been connected to the second network. The confirmation screen 1400 also includes a message indicating that the PC 101 cannot connect to the Internet and an area 1403 displaying the second SSID. For example, the confirmation screen 1400 includes a "Yes" button 1401 or a "No" button 1402 that the user operates depending on the content of the message. The confirmation screen 1400 displays a message indicating that the PC 101 cannot connect to the Internet but asks the user whether or not to maintain the connection to the second network, and prompts the user to press either the "Yes" button 1401 or the "No" button 1402. In other words, confirmation screen 1400 can be said to be a selection screen that can accept a user instruction as to whether to set the connection destination of PC 101 to the first network or the second network. In other words, confirmation screen 1400 is a screen that allows the user to confirm whether to switch the connection destination of PC 101 to the network (first network) that was the previous connection destination. In other words, confirmation screen 1400 is a reception screen that can accept a user instruction as to whether to maintain the change of the network to which PC 101 belongs from the first network to the second network.

[0129] In S1317, CPU 201 determines whether to maintain connection to the second network. Specifically, for example, when the user presses "Yes" button 1401, CPU 201 determines in S1317 to maintain connection of wireless LAN interface 211 to the second network. Then, in S1303, CPU 201 displays screen 810 shown in FIG. 8A on display device 208. Thereafter, if end button 811 included in screen 810 is pressed, the printer communication confirmation process of FIG. 13 ends. In this case, even if an operation to end the printer communication confirmation process of FIG. 13 is accepted, the connection of wireless LAN interface 211 to the second network is maintained. In other words, even if an operation to end the printer communication confirmation process of FIG. 13 is accepted, switching of wireless LAN interface 211 from the second network to the first network is not performed. On the other hand, if the user presses the "No" button 1402, in S1314 the CPU 201 determines not to maintain the connection of the wireless LAN interface 211 to the second network, and proceeds to S1318. The subsequent processing in S1318 is the same as that described above.

[0130] As described above, according to this embodiment, if the second search in S1310 is successful but the second network does not allow Internet connection, the user is prompted to select whether to maintain the second network as the connection destination even though the second network does not allow Internet connection. If the user accepts the lack of Internet connection, the connection destination of PC101 is maintained as the currently connected second network, and wireless setup is completed. On the other hand, if the user does not accept the lack of Internet connection, the connection destination of PC101 is returned to the first network. This allows wireless setup to be completed only when the user accepts the lack of Internet connection, improving convenience.

[0131] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0132] <Other embodiments> Needless to say, the object of the present invention can also be achieved by supplying a recording medium on which program code for software that realizes the functions of the above-described embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of that system or device read and execute the program code stored on the recording medium. In this case, the program code read from the recording medium itself realizes the functions of the above-described embodiments, and the recording medium on which the program code is stored constitutes the present invention.

[0133] Examples of storage media that can be used to supply the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.

[0134] Furthermore, it goes without saying that not only are the functions of the above-mentioned embodiments realized by the computer executing the program code it has read, but also cases are included in which an operating system running on the computer performs some or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized through that processing.

[0135] Furthermore, it goes without saying that this also includes cases where the program code read from the storage medium is written into the memory of a function expansion board inserted into a computer or a function expansion unit connected to the computer, and then the CPU or the like on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized through this processing.

[0136] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program.The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0137] The disclosure of the present embodiment includes the following program, information processing device, and control method for the information processing device. (Item 1) The computer of the information processing device, a transmitting means for transmitting network information for belonging to a second network different from the first network to a communication device different from the information processing device; a first search means for searching for the communication device via the first network to which the information processing device belongs after the network information is transmitted; a change means for changing the network to which the information processing device belongs from the first network to the second network when the communication device is not found as a result of the search by the first search means; a second search means for searching for the communication device via the second network after the change means changes the network to which the information processing device belongs to the second network; after the change means changes the network to which the information processing device belongs to the second network, the change means functions as a confirmation means for confirming whether the information processing device is connected to the Internet; The search for the communication device via the second network by the second search means and the confirmation by the confirmation means as to whether the information processing device is connected to the Internet are performed in parallel. A program characterized by: (Item 2) and further causing the computer to function as a control means that controls the computer to execute a predetermined process to complete a setup for connecting the communication device to a network to which the information processing device belongs, based on at least one of a search result by the second search means and a confirmation result by the confirmation means. 2. The program according to item 1, (Item 3) If the confirmation means confirms that the Internet connection is unavailable during a search by the second search means, the search by the second search means is stopped. 3. The program according to item 1 or 2, (Item 4) If the second search means does not find the communication device during the confirmation by the confirmation means, the confirmation by the confirmation means is stopped. 4. The program according to any one of items 1 to 3, (Item 5) causing the computer to further function as a first notification means for notifying that the communication device has been found on the second network and that the Internet connection is unavailable via the second network; The predetermined processing is a notification by the first notification means when the second search means finds the communication device and when the confirmation means confirms that the Internet connection is not possible; 3. The program according to item 2, (Item 6) causing the computer to further function as a receiving means for receiving a user instruction as to whether or not to maintain the change of the network to which the information processing device belongs from the first network to the second network; The predetermined processing is and receiving the user instruction by the receiving means when the second search means finds the communication device and the confirmation means confirms that the Internet connection is not possible. 6. The program according to item 5, (Item 7) causing the computer to further function as a second notification means for notifying that the setup has failed; The predetermined processing is a notification by the second notification means that is made at least in either the case where the second search means cannot find the communication device or the case where the confirmation means confirms that the Internet connection is not possible; 7. The program according to any one of items 2 to 6, (Item 8) The predetermined processing is and changing the network to which the information processing device belongs from the second network to the first network by the change means, which is carried out at least in either case where the second search means cannot find the communication device or where the confirmation means confirms that the Internet connection is not possible. 8. The program according to any one of items 2 to 7, (Item 9) causing the computer to further function as a receiving means for receiving a user instruction as to whether or not to maintain the change of the network to which the information processing device belongs from the first network to the second network; The predetermined processing is and receiving the user instruction by the receiving means when the second search means finds the communication device and the confirmation means confirms that the communication device is connected to the Internet. 9. The program according to any one of items 2 to 8, (Item 10) The confirmation means Attempting communication with an external server via the second network, and confirming whether or not the device is connected to the Internet based on the result of the attempt; 10. The program according to any one of items 1 to 9, (Item 11) The communication The communication is for downloading a predetermined file from the external server. 11. The program according to item 10. (Item 12) the predetermined file includes model information of the communication device; 12. The program according to item 11, (Item 13) causing the computer to further function as a setting unit that sets a timeout period for the process of attempting communication by the confirmation unit; 13. The program according to any one of items 10 to 12. (Item 14) the communication device is a printer, 14. The program according to any one of items 2 to 13, (Item 15) causing the computer to further function as an acquisition unit that acquires a printer driver from an external server via the second network; The predetermined processing is The acquisition of the printer driver by the acquisition means is performed after the search by the second search means and the confirmation by the confirmation means. 15. The program according to item 14, (Item 16) An information processing device a transmitting means for transmitting network information for belonging to a second network different from the first network to a communication device different from the information processing device; a first search means for searching for the communication device via the first network to which the information processing device belongs after the network information is transmitted; a change means for changing the network to which the information processing device belongs from the first network to the second network when the communication device is not found as a result of the search by the first search means; a second search means for searching for the communication device via the second network after the change means changes the network to which the information processing device belongs to the second network; a confirmation means for confirming whether or not the information processing device is connected to the Internet after the network to which the information processing device belongs is changed to the second network by the change means, The search for the communication device via the second network by the second search means and the confirmation by the confirmation means as to whether the information processing device is connected to the Internet are performed in parallel. 1. An information processing device comprising: (Item 17) A control method for an information processing device a transmitting step of transmitting network information for belonging to a second network different from the first network to a communication device different from the information processing device; a first search step of searching for the communication device via the first network to which the information processing device belongs after the network information is transmitted; a change step of changing the network to which the information processing device belongs from the first network to the second network based on the result of the search by the first search step that the communication device is not found; a second search step of searching for the communication device via the second network after the network to which the information processing device belongs has been changed to the second network by the change step; a confirmation step of confirming whether or not the information processing device is connected to the Internet after the network to which the information processing device belongs is changed to the second network in the change step, the search for the communication device via the second network in the second search step and the confirmation of whether the information processing device is connected to the Internet in the confirmation step are performed in parallel with each other; 2. A method for controlling an information processing apparatus comprising:

[0138] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0139] 101 information processing device: 102 access point: 103 communication device: 201, 252 CPU: 202, 253 ROM: 206, 258 RAM

Claims

1. The computer of the information processing device, a transmitting means for transmitting network information for belonging to a second network different from the first network to a communication device different from the information processing device; a first search means for searching for the communication device via the first network to which the information processing device belongs after the network information is transmitted; a change means for changing the network to which the information processing device belongs from the first network to the second network when the communication device is not found as a result of the search by the first search means; a second search means for searching for the communication device via the second network after the change means changes the network to which the information processing device belongs to the second network; after the change means changes the network to which the information processing device belongs to the second network, the change means functions as a confirmation means for confirming whether the information processing device is connected to the Internet; the search for the communication device via the second network by the second search means and the confirmation by the confirmation means as to whether the information processing device is connected to the Internet are performed in parallel with each other; A program characterized by:

2. and causing the computer to further function as a control means for controlling the computer to execute a predetermined process for completing a setup for connecting the communication device to a network to which the information processing device belongs, based on at least one of a result of the search by the second search means and a result of the confirmation by the confirmation means.

2. The program according to claim 1 .

3. If the confirmation means confirms that the Internet connection is unavailable during a search by the second search means, the search by the second search means is stopped.

2. The program according to claim 1 .

4. If the second search means does not find the communication device during the confirmation by the confirmation means, the confirmation by the confirmation means is stopped.

2. The program according to claim 1 .

5. causing the computer to further function as a first notification means for notifying that the communication device has been found on the second network and that the Internet connection is unavailable via the second network; The predetermined processing is a notification by the first notification means that is made when the second search means finds the communication device and when the confirmation means confirms that the Internet connection is not possible; 3. The program according to claim 2.

6. causing the computer to further function as a receiving unit that receives a user instruction as to whether or not to maintain the change of the network to which the information processing device belongs from the first network to the second network; The predetermined processing is and receiving the user instruction by the receiving means when the second search means finds the communication device and the confirmation means confirms that the Internet connection is not possible.

6. The program according to claim 5.

7. a second notification means for notifying that the setup has failed; The predetermined processing is a notification by the second notification means that is made at least in either the case where the second search means cannot find the communication device or the case where the confirmation means confirms that the Internet connection is not possible; 3. The program according to claim 2.

8. The predetermined processing is and changing the network to which the information processing device belongs from the second network to the first network by the change means, which is carried out at least in either case where the second search means cannot find the communication device or where the confirmation means confirms that the Internet connection is not possible.

3. The program according to claim 2.

9. causing the computer to further function as a receiving unit that receives a user instruction as to whether or not to maintain the change of the network to which the information processing device belongs from the first network to the second network; The predetermined processing is and receiving the user instruction by the receiving means when the communication device is found by the second search means and when the confirmation means confirms that the communication device is connected to the Internet.

3. The program according to claim 2.

10. The confirmation means Attempting communication with an external server via the second network, and confirming whether or not the device is connected to the Internet based on the result of the attempt; 2. The program according to claim 1 .

11. The communication The communication is for downloading a predetermined file from the external server. The program according to claim 10 .

12. the predetermined file includes model information of the communication device; 12. The program according to claim 11 .

13. causing the computer to further function as a setting unit that sets a timeout period for the process of attempting communication by the confirmation unit; The program according to claim 10 .

14. the communication device is a printer, 3. The program according to claim 2.

15. causing the computer to further function as an acquisition unit that acquires a printer driver from an external server via the second network; The predetermined processing is The acquisition of the printer driver by the acquisition means is performed after the search by the second search means and the confirmation by the confirmation means.

15. The program according to claim 14.

16. An information processing device a transmitting means for transmitting network information for belonging to a second network different from the first network to a communication device different from the information processing device; a first search means for searching for the communication device via the first network to which the information processing device belongs after the network information is transmitted; a change means for changing the network to which the information processing device belongs from the first network to the second network when the communication device is not found as a result of the search by the first search means; a second search means for searching for the communication device via the second network after the change means changes the network to which the information processing device belongs to the second network; a confirmation unit that confirms whether the information processing device is connected to the Internet after the change unit changes the network to which the information processing device belongs to the second network, the search for the communication device via the second network by the second search means and the confirmation by the confirmation means as to whether the information processing device is connected to the Internet are performed in parallel with each other; 1. An information processing device comprising:

17. A control method for an information processing device a transmitting step of transmitting network information for belonging to a second network different from the first network to a communication device different from the information processing device; a first search step of searching for the communication device via the first network to which the information processing device belongs after the network information is transmitted; a change step of changing the network to which the information processing device belongs from the first network to the second network based on the result of the search by the first search step that the communication device is not found; a second search step of searching for the communication device via the second network after the network to which the information processing device belongs has been changed to the second network by the change step; a confirmation step of confirming whether or not the information processing device can connect to the Internet via the second network after the network to which the information processing device belongs has been changed to the second network by the change step, the search for the communication device via the second network in the second search step and the confirmation of whether the information processing device is connected to the Internet in the confirmation step are performed in parallel with each other; 2. A method for controlling an information processing apparatus comprising:

Citation Information

Patent Citations

  • Program, communication method, and communication system

    JP2018191252A

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

    JP2020088428A