Storage medium, information processing apparatus, control method thereof, and computer program product
By displaying a selection and confirmation screen on the information processing device, users can select and confirm the wireless LAN connection method, which solves the problem of insufficient convenience in connecting information processing devices and communication devices, and realizes a faster and more accurate connection process.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-30
- Publication Date
- 2026-04-10
AI Technical Summary
In the existing technology, the connection between information processing devices and communication devices is not convenient enough, and users find it difficult to quickly select and confirm a suitable connection method.
A computer-readable storage medium and an information processing device are provided, which help users select and confirm a wireless local area network connection method by displaying a selection screen and a confirmation screen, and perform connection setting processing when an access point device is confirmed to exist, otherwise do not perform the process.
It improves the convenience of connecting information processing devices and communication devices, ensuring that users can quickly and accurately select the appropriate connection method and simplify the connection process.
Smart Images

Figure CN121842328A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a computer-readable storage medium for storing application programs, an information processing apparatus, a method for controlling an information processing apparatus, and a computer program product. Background Technology
[0002] A technique is known for connecting a communication device, such as a printer, to another device via an information processing device, such as a smartphone. Japanese Patent Application Publication No. 2016-127545 describes an information processing device sending information to a communication device, thereby setting the communication device in a connection mode for determining the form of connection between the information processing device and the communication device. Summary of the Invention
[0003] This disclosure provides a technique to improve the convenience of connecting a communication device to another device in an information processing apparatus.
[0004] This disclosure provides, in its first aspect, a computer-readable storage medium storing an application program configured to cause a computer of an information processing device to act as: a first display unit configured to display a selection screen for selecting any connection method to connect a communication device to another device; a second display unit configured to display a confirmation screen, provided that, upon making a selection on the selection screen corresponding to connecting the communication device to another device using a first connection method via a wireless local area network (LAN), the confirmation screen prompts the user to confirm whether there is a device operating as an access point in the vicinity of the communication device; and an execution unit configured to, upon making an operation on the confirmation screen corresponding to confirming the presence of a device operating as an access point in the vicinity of the communication device, perform connection setting processing for connecting the communication device to another device via the first connection method, and not perform the connection setting processing if, upon making an operation on the confirmation screen corresponding to confirming the absence of a device operating as an access point in the vicinity of the communication device.
[0005] The present disclosure provides, in a second aspect thereof, an information processing apparatus that holds an application, the information processing apparatus including: a first display unit configured to display, by the application, a selection screen for selecting an arbitrary connection method of connecting a communication apparatus to another apparatus; a second display unit configured to display, by the application, a confirmation screen for prompting a user to confirm whether or not there is a device operating as an access point around a communication apparatus, in a case where a selection corresponding to connecting the communication apparatus to the another apparatus by a first connection method using a wireless local area network (LAN) is made on the selection screen; and an execution unit configured to execute, by the application, a connection setting process for connecting the communication apparatus to the another apparatus by the first connection method, in a case where an operation corresponding to confirming that there is the device operating as the access point around the communication apparatus is made on the confirmation screen, and not to execute the connection setting process by the application, in a case where an operation corresponding to confirming that there is not the device operating as the access point around the communication apparatus is made on the confirmation screen.
[0006] The present disclosure provides, in a third aspect thereof, a control method of an information processing apparatus that holds an application, the control method including: displaying, by the application, a selection screen for selecting an arbitrary connection method of connecting a communication apparatus to another apparatus; displaying, by the application, a confirmation screen for prompting a user to confirm whether or not there is a device operating as an access point around a communication apparatus, in a case where a selection corresponding to connecting the communication apparatus to the another apparatus by a first connection method using a wireless local area network (LAN) is made on the selection screen; and executing, by the application, a connection setting process for connecting the communication apparatus to the another apparatus by the first connection method, in a case where an operation corresponding to confirming that there is the device operating as the access point around the communication apparatus is made on the confirmation screen, and not to execute the connection setting process by the application, in a case where an operation corresponding to confirming that there is not the device operating as the access point around the communication apparatus is made on the confirmation screen.
[0007] The present disclosure provides, in a fourth aspect thereof, a computer-readable storage medium storing an application program configured to cause a computer of an information processing apparatus to function as: a first display unit configured to display a selection screen for selecting an arbitrary connection method of connecting a communication apparatus to another apparatus; a determination unit configured to determine, in a case where a selection corresponding to connecting the communication apparatus to the other apparatus by a first connection method using a wireless local area network (LAN) is made on the selection screen, whether a device operating as an access point exists around the communication apparatus based on information about a network connected to the information processing apparatus; and an execution unit configured to execute a connection setting process for connecting the communication apparatus to the other apparatus by the first connection method in a case where it is determined that the device operating as the access point exists around the communication apparatus, and not to execute the connection setting process in a case where it is determined that the device operating as the access point does not exist around the communication apparatus.
[0008] The present disclosure provides, in a fifth aspect thereof, an information processing apparatus storing an application program, the information processing apparatus including: a first display unit configured to display a selection screen for selecting an arbitrary connection method of connecting a communication apparatus to another apparatus; a determination unit configured to determine, in a case where a selection corresponding to connecting the communication apparatus to the other apparatus by a first connection method using a wireless local area network (LAN) is made on the selection screen, whether a device operating as an access point exists around the communication apparatus based on information about a network connected to the information processing apparatus; and an execution unit configured to execute a connection setting process for connecting the communication apparatus to the other apparatus by the first connection method in a case where it is determined that the device operating as the access point exists around the communication apparatus, and not to execute the connection setting process in a case where it is determined that the device operating as the access point does not exist around the communication apparatus.
[0009] The present disclosure provides, in a sixth aspect thereof, a control method of an information processing apparatus storing an application program, the control method including: displaying a selection screen for selecting an arbitrary connection method of connecting a communication apparatus to another apparatus; determining, in a case where a selection corresponding to connecting the communication apparatus to the other apparatus by a first connection method using a wireless local area network (LAN) is made on the selection screen, whether a device operating as an access point exists around the communication apparatus based on information about a network connected to the information processing apparatus; and executing a connection setting process for connecting the communication apparatus to the other apparatus by the first connection method in a case where it is determined that the device operating as the access point exists around the communication apparatus, and not to execute the connection setting process in a case where it is determined that the device operating as the access point does not exist around the communication apparatus.
[0010] The present disclosure provides, in a seventh aspect thereof, a computer program product to cause a computer of an information processing apparatus to function as: a first display unit configured to display a selection screen for selecting an arbitrary connection method of connecting a communication apparatus to another apparatus; a second display unit configured to display, in a case where a selection corresponding to connecting the communication apparatus to the other apparatus by a first connection method using a wireless local area network (LAN) is made on the selection screen, a confirmation screen for prompting a user to confirm whether or not a device operating as an access point exists around the communication apparatus; and an execution unit configured to execute a connection setting process for connecting the communication apparatus to the other apparatus by the first connection method in a case where an operation corresponding to confirming that the device operating as the access point exists around the communication apparatus is made on the confirmation screen, and not to execute the connection setting process in a case where an operation corresponding to confirming that the device operating as the access point does not exist around the communication apparatus is made on the confirmation screen.
[0011] The present disclosure provides, in an eighth aspect thereof, a computer program product to cause a computer of an information processing apparatus to function as: a first display unit configured to display a selection screen for selecting an arbitrary connection method of connecting a communication apparatus to another apparatus; a determination unit configured to determine, in a case where a selection corresponding to connecting the communication apparatus to the other apparatus by a first connection method using a wireless local area network (LAN) is made on the selection screen, whether or not a device operating as an access point exists around the communication apparatus based on information about a network connected to the information processing apparatus; and an execution unit configured to execute a connection setting process for connecting the communication apparatus to the other apparatus by the first connection method in a case where it is determined that the device operating as the access point exists around the communication apparatus, and not to execute the connection setting process in a case where it is determined that the device operating as the access point does not exist around the communication apparatus.
[0012] The features of the present disclosure will become apparent from the following description of the embodiments with reference to the accompanying drawings. The following description of embodiments is made by way of example in order to provide a comprehensive understanding of the present disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0013] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the embodiments.
[0014] Figure 1 is a diagram showing an example of a configuration of a communication system;
[0015] Figure 2 is a block diagram for explaining an example of a hardware configuration;
[0016] Figure 3 is a flowchart showing an example of a process executed by a terminal apparatus;
[0017] Figure 4 is a flowchart showing an example of the processing performed by the terminal device;
[0018] Figure 5 is a flowchart showing an example of the processing performed by the terminal device;
[0019] Figures 6A to 6C is a diagram each showing an example of a screen displayed on a display unit of the terminal device;
[0020] Figure 7 is a flowchart showing an example of the processing performed by the terminal device;
[0021] Figure 8 is a flowchart showing an example of the processing performed by the communication device;
[0022] Figures 9A to 9C is a diagram each showing an example of a screen displayed on a display unit of the terminal device;
[0023] Figures 10A to 10C is a diagram each showing an example of a screen displayed on a display unit of the terminal device;
[0024] Figure 11A and Figure 11B is a diagram each showing an example of a screen displayed on a display unit of the terminal device;
[0025] Figure 12 is a diagram showing an example of a screen displayed on a display unit of the terminal device;
[0026] Figure 13 is a flowchart showing an example of the processing performed by the terminal device;
[0027] Figure 14 is a flowchart showing an example of the processing performed by the terminal device;
[0028] Figure 15 is a flowchart showing an example of the processing performed by the terminal device;
[0029] Figure 16A and Figure 16B is a flowchart showing an example of the processing performed by the terminal device;
[0030] Figure 17A and Figure 17B is a diagram each showing an example of a screen displayed on a display unit of the terminal device;
[0031] Figure 18 is a flowchart showing an example of the processing performed by the terminal device; and
[0032] Figure 19is a flowchart showing an example of processing performed by the communication apparatus. DETAILED DESCRIPTION
[0033] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments are not intended to limit the scope of the claims. Various features will be described in the embodiments, but not all of them are necessarily required in order to practice this disclosure. A plurality of such features can be combined as desirable. In addition, the same or similar constituent is given the same reference numeral in the drawings, and repetitive description thereof is omitted.
[0034] As the technology in which the information processing apparatus causes the communication apparatus to connect to another apparatus becomes more and more popular, there is a demand to improve the convenience when the information processing apparatus causes the communication apparatus to connect to another apparatus.
[0035] <First Embodiment>
[0036] Reference Figure 1 The system configuration in the present embodiment will be described. The communication system in the present embodiment includes an information processing apparatus and a communication apparatus. In the present embodiment, the information processing apparatus is exemplified by a smartphone, but the information processing apparatus is not limited thereto, and various apparatuses such as a terminal apparatus, a notebook PC, a tablet terminal, a personal digital assistant (PDA), and a digital camera are applicable. In the present embodiment, the communication apparatus is exemplified by a printer, but the communication apparatus is not limited thereto, and various apparatuses are applicable as long as they are capable of wireless communication with the information processing apparatus. For example, with respect to the printer, an inkjet printer, a full-color laser printer, a monochrome printer, and the like are applicable. In addition, not only the printer is applicable, but also a copier, a facsimile apparatus, a terminal apparatus, a smartphone, a notebook PC, a tablet terminal, a PDA, a digital camera, a music playback device, a television, a smart speaker, and the like are applicable. In addition, a multifunction peripheral having a plurality of functions such as a copying function, a facsimile function, and a printing function is also applicable. In the present embodiment, it is assumed as an example that the communication apparatus is a multifunction printer having a printing function and a scanning function.
[0037] The terminal device 101 is an information processing device according to the present embodiment. The communication device 151 is a communication device according to the present embodiment. The access point 131 is an external device existing outside the terminal device 101 and outside the communication device 151. Note that, in the following description, the access point will be referred to as an AP. The AP 131 indicates a device operating as an AP, more specifically, for example, a device such as a wireless LAN router. Note that the AP 131 is not limited to a wireless LAN router, and can be a device capable of relaying wireless communication. For example, the AP 131 can be a device having an AP function operating as an AP but not having a router function. A local area network (LAN) formed by the AP 131 includes the AP 131, the communication device 151, and the terminal device 101. On the other hand, a wide area network (WAN) includes the AP 131 and an external server 171.
[0038] The external server 171 is a server capable of providing a service to a device connected to the AP 131 via the Internet. The modem 180 is a device that converts an analog signal received via the Internet into a digital signal. Depending on the type of signal, for example, an optical fiber network unit (OPU) is used when a signal is received via a fiber connection.
[0039] The router 181 is an external device existing outside the terminal device 101 and outside the communication device 151. The router 181 has a function of relaying a plurality of terminal devices 101 on a network, and allocates an Internet Protocol address (IP address) to the terminal devices 101 connected to the network in order to exchange data packets between networks. The network hub 182 is an external device for connecting a plurality of terminal devices 101 to the Internet, that is, connecting a plurality of terminal devices 101 to the router 181.
[0040] In the present embodiment, the terminal device 101 is capable of communicating with the communication device 151 via the AP 131 when an infrastructure connection (to be described later) is established. Further, the terminal device 101 is capable of directly communicating with the communication device 151 without the intervention of the AP 131 when a direct connection (to be described later) is established. Note that, in the following description, a connection with an AP corresponds to a connection with a network formed by the AP. Note that the AP can be capable of forming a plurality of networks at the same time. In this case, a connection with the AP can be a connection with any one of a plurality of networks formed by the AP.
[0041] In this embodiment, the connections 141 between the terminal device 101 and the AP 131, and 142 between the communication device 151 and the AP 131, are all connections using communication methods based on the IEEE 802.11 series standards. More specifically, the communication method based on the IEEE 802.11 series standards is Wi-Fi. The connection 143 between the terminal device 101 and the communication device 151 is Wi-Fi or Low Energy. (BLE). Please note that the communication method used for each connection is not limited to this form; for example, it can be Bluetooth Classic, Wi-Fi Sensing, Near Field Communication (NFC), etc. AP 131 and external server 171 can communicate via the Internet. Although AP 131 is connected to the Internet, the devices connected to AP 131 (terminal device 101 and communication device 151) can also use the Internet. Please note that each of the connections in connection 141 between terminal device 101 and AP 131 and connection 142 between communication device 151 and AP 131 can be a wired LAN connection.
[0042] Next, we will refer to Figure 2 The block diagram is used to describe the structure of the terminal device 101 according to this embodiment, and the structure of the communication device 151 capable of communicating with the terminal device 101 according to this embodiment. The following structures will be illustrated by example in this embodiment, but this embodiment is applicable to devices capable of communicating with the communication device 151, and in particular, the functions are not limited to... Figure 2 Those shown.
[0043] Terminal device 101 includes an input interface 102, a CPU 103, a ROM 104, a RAM 105, an external storage device 106, an output interface 107, a display unit 108, a wireless communication unit 109, a short-range wireless communication unit 110, a camera device 111, a wired communication unit 112, etc. The CPU 103, ROM 104, RAM 105, etc., form a computer for terminal device 101. Terminal device 101 is assumed to be a device such as a smartphone, but is not limited to smartphones.
[0044] Input interface 102 is an interface for accepting data input and operation commands from the user, and is formed by a physical keyboard, buttons, touch panel, etc. Note that output interface 107 (described later) and input interface 102 can have the same construction, and can output to the screen and accept operations from the user through the same construction.
[0045] CPU 103 is the system control unit and controls the entire terminal device 101.
[0046] The ROM 104 stores permanent data such as a control program executed by the CPU 103, a data table, and an operating system (hereinafter referred to as an OS) program. In the present embodiment, the control program stored in the ROM 104 is controlled by the management of an embedded OS stored in the ROM 104, in software execution control such as scheduling, task switching, and interrupt processing. In the present embodiment, the ROM 104 stores a setting application (hereinafter referred to as a setting app). The setting app is installed in the terminal device 101 from the outside by, for example, a store app. The setting app is an application provided by a vendor of the communication device 151. Details of the setting app will be described later.
[0047] The RAM 105 is formed of a static random access memory (SRAM) or the like that requires a backup power source. Note that the RAM 105 can store important data such as program control variables without loss, because these data are saved by a primary battery (not shown) for data backup. In addition, a storage area for storing setting information of the terminal device 101, management data of the terminal device 101, and the like is also provided in the RAM 105. Further, the RAM 105 also functions as a main memory and a work memory of the CPU 103.
[0048] The external storage 106 has various programs such as a print information generation program for generating print information that the communication device 151 can interpret, and an information transmission / reception control program for transmitting / receiving to / from the communication device 151 connected via the wireless communication unit 109. The external storage 106 also holds various information to be used by these programs, and image data obtained from another information processing device or the Internet.
[0049] The output interface 107 is an interface that controls the display unit 108 to perform display of data and notification of the state of the terminal device 101.
[0050] The display unit 108 is formed of a light emitting diode (LED), a liquid crystal display (LCD), or the like, and performs display of data and notification of the state of the terminal device 101. Note that a software keyboard including keys such as a numeral input key, a mode setting key, an OK key, a cancel key, and a power key can be provided on the display unit 108 so that input from a user is accepted via the display unit 108.
[0051] The wireless communication unit 109 is configured to wirelessly connect to a device such as the communication device 151 or the AP 131 to perform data communication. For example, the wireless communication unit 109 can communicate with the communication device 151 directly through wireless communication, or can communicate with the communication device 151 via the AP 131 present outside the terminal device 101 and the communication device 151. In the present embodiment, as a wireless communication method of the wireless communication unit 109, Wi-Fi, which is a communication method based on the IEEE 802.11 standard, is used, but Classic Bluetooth or the like can be used. In the present embodiment, the wireless LAN (LAN) is a Wi-Fi network. The AP 131 is, for example, a device such as a wireless LAN router. Note that, in the present embodiment, a method of directly connecting the terminal device 101 and the communication device 151 without intervention of an external AP is referred to as a direct connection method. A method of connecting the terminal device 101 and the communication device 151 via an external AP is referred to as an infrastructure connection method.
[0052] The short-range wireless communication unit 110 is configured to perform data communication with a device such as the communication device 151 through a short-range wireless communication method, and communicates through a communication method different from that of the wireless communication unit 109. The short-range wireless communication unit 110 is capable of connecting to the short-range wireless communication unit 157 in the communication device 151. Note that, examples of the communication method of the short-range wireless communication unit 110 are BLE, Classic Bluetooth, Wi-Fi Aware, NFC, and the like.
[0053] The imaging device 111 is a device that converts an image captured by an image sensor into digital data. The digital data is temporarily stored in the RAM 105. Then, the digital data is converted into a predetermined image format by a program executed by the CPU 103, and saved as image data in the external storage device 106.
[0054] The wired communication unit 112 is configured to connect to a device such as the communication device 151 or the AP 131 via a wire to perform data communication. For example, the wired communication unit 112 communicates via a wired LAN. In the present embodiment, the communication in the wired LAN uses the Ethernet standard. Note that the wired communication unit 112 is not limited to this form, and can communicate via, for example, a Universal Serial Bus (USB) cable.
[0055] The communication device 151 includes a ROM 152, a RAM 153, a CPU 154, a print engine 155, a wireless communication unit 156, a short-range wireless communication unit 157, an input interface 158, an output interface 159, a function control unit 160, a display unit 161, a wired communication unit 162, and the like. The ROM 152, the RAM 153, the CPU 154, and the like form a computer of the communication device 151.
[0056] The wireless communication unit 156 is configured to be wirelessly connected to a device such as the terminal device 101 or the AP 131 to perform data communication. In the present embodiment, as a wireless communication method of the wireless communication unit 156, Wi-Fi is used, but classic Bluetooth or the like can be used. Note that the wireless communication unit 156 includes an AP 156-a for connecting to a device such as the terminal device 101, as an internal AP of the communication device 151. Note that the AP is capable of connecting to the wireless communication unit 109 of the terminal device 101. Note that the wireless communication unit 156 can communicate with the terminal device 101 directly via the AP 156-a, or can communicate with the terminal device 101 via the AP 131. The AP 156-a can be hardware that functions as an AP, or the wireless communication unit 156 can operate as the AP 156-a by software for causing it to function as an AP. The internal AP of the communication device 151 can be formed of a plurality of APs having different SSIDs (Service Set Identifiers) or passwords. In the present embodiment, the internal AP of the communication device 151 includes at least one connection setting AP that will be described later.
[0057] The RAM 153 is formed of a DRAM or the like that requires a backup power source. Note that the RAM 153 can store important data such as program control variables without loss, as data is saved by supplying power (not shown) for data backup. Further, the RAM 153 functions as a main memory and a work memory of the CPU 154, and operates as a reception buffer for temporarily saving print information received from the terminal device 101 or the like, to save various information.
[0058] The ROM 152 stores permanent data such as control programs executed by the CPU 154, data tables, and an OS program. In the present embodiment, each control program stored in the ROM 152 is controlled in software execution such as scheduling, task switching, and interrupt processing under the management of an embedded OS stored in the ROM 152. In addition, the ROM 152 is also equipped with a storage area that stores data that needs to be saved even when power is not supplied, such as setting information of the communication device 151 and management data of the communication device 151.
[0059] The CPU 154 is a system control unit and controls the entire communication device 151.
[0060] The print engine 155 forms an image on a print medium such as paper using a print material such as ink based on information held in the RAM 153 or a print job received from the terminal device 101 or the like and outputs a print result. At this time, the print job transmitted from the terminal device 101 or the like has a large amount of transmission data and requires high-speed communication. Therefore, the print engine 155 receives the print job via the wireless communication unit 156 capable of performing communication at a higher speed than the short-range wireless communication unit 157.
[0061] The short-range wireless communication unit 157 is configured to perform communication with a device such as the terminal device 101 by a short-range wireless communication method. Note that an example of the communication method of the short-range wireless communication unit 157 is BLE, Bluetooth Classic, Wi-Fi Aware, or the like.
[0062] The input interface 158 is an interface for accepting data input and operation instructions from a user and is formed of a physical keyboard, a button, a touch panel, or the like. Note that the output interface 159 (to be described later) and the input interface 158 can have the same configuration, and the output of a screen and the acceptance of a user's operation can be done by the same configuration. The output interface 159 is an interface that performs control for causing the display unit 161 to perform display of data and notification of the state of the communication device 151.
[0063] The function control unit 160 manages whether or not to simultaneously operate functions of the communication device 151.
[0064] The display unit 161 is formed of a light-emitting diode (LED), a liquid crystal display (LCD), or the like and performs display of data and notification of the state of the communication device 151. Note that a software keyboard including keys such as a numeric input key, a mode setting key, an OK key, a cancel key, and a power key can be provided on the display unit 161 so that input from a user is accepted via the display unit 161.
[0065] The wired communication unit 162 is configured to be connected to a device such as the terminal device 101 or the AP 131 via a wire to perform data communication. For example, the wired communication unit 162 performs communication via a wired LAN. Note that the wired communication unit 162 is not limited to this form and can perform communication via, for example, a USB cable.
[0066] <Direct connection method>
[0067] The direct connection indication device is in a form of directly wirelessly connecting (i.e., point-to-point connection) without intervention of an external device such as the AP 131. The direct connection is also referred to as a point-to-point connection (P2P connection). As a connection mode, the communication device 151 is capable of operating in a mode for communication by direct connection (direct connection mode). In Wi-Fi communication, modes of communication by direct connection include a variety of modes such as a software AP mode and a Wi-Fi Direct (WFD) mode.
[0068] The mode of performing direct connection by WFD is referred to as a WFD mode. WFD is a standard developed by the Wi-Fi Alliance, and is a standard included in the IEEE 802.11 series of communication standards. In the WFD mode, a device that serves as a communication partner is searched for by a device search command, and then roles of a P2P group owner (GO) and a P2P client are decided, and remaining wireless connection processing is performed. The group owner corresponds to a Wi-Fi master station (master unit), and the client corresponds to a Wi-Fi slave station (slave unit). This role setting corresponds to, for example, GO negotiation in P2P. Note that in the WFD mode in a state before the role setting is performed, the communication device 151 is neither a master station nor a slave station. More specifically, first, one of the devices that communicate with each other issues a device search command, and searches for a device to be connected in the WFD mode. After searching for the other device that serves as a communication partner, the devices confirm service and function information that each device is capable of supplying. Note that the device supply information confirmation is optional, and is not necessary. The device supply information confirmation stage corresponds to, for example, P2P Provision Discovery. Then, the devices confirm the device supply information, and as roles, decide which device serves as a P2P client, and which device serves as a P2P group owner. After the client and the group owner are decided, the devices exchange parameters for performing WFD communication. Based on the exchanged parameters, the P2P client and the P2P group owner perform remaining wireless connection processing and IP connection processing. Note that in the WFD mode, the communication device 151 can always operate as a GO without performing the above-described GO negotiation. That is, the communication device 151 can operate in the WFD mode as an autonomous GO mode. The state in which the communication device 151 operates in the WFD mode is, for example, a state in which a WFD connection is not established but the communication device 151 operates as a GO, or a state in which a WFD connection is established and the communication device 151 operates as a GO.
[0069] In the software AP mode, one of the devices (for example, the terminal device 101) that communicate with each other (for example, the terminal device 101 and the communication device 151) functions as a client that plays a role of requesting various services. The other device functions as an AP by software settings. The software AP corresponds to a Wi-Fi master station, and the client corresponds to a Wi-Fi slave station. In the software AP mode, the client searches for a device that functions as a software AP by a device search command. After searching for the software AP, the client and the software AP perform a remaining wireless connection process (establishment of a wireless connection and the like), and then perform an IP connection process (allocation of an IP address and the like). Note that commands and parameters that are transmitted / received when implementing a wireless connection between the client and the software AP can be those defined in the Wi-Fi standard, and a description thereof is omitted here.
[0070] In the present embodiment, in a case where the communication device 151 establishes and maintains a direct connection, it operates as a master station in a network to which the communication device 151 belongs. Note that the master station is a device that creates a wireless network, and is a device that provides a slave station with parameters used when connecting to a wireless network. The parameters used when connecting to a wireless network are, for example, parameters on a channel used by the master station. The slave station receives the parameters, and then connects to the wireless network created by the master station using the channel used by the master station. In the direct connection mode, the communication device 151 operates as a master station, so that the communication device 151 can thus decide a specific frequency band and a channel used for communication in the direct connection mode. In the present embodiment, the communication device 151 can use a channel corresponding to a 2.4 GHz band and a channel corresponding to a 5 GHz band for communication in the direct connection mode. However, in the present embodiment, the communication device 151 does not use a channel corresponding to a dynamic frequency selection (DFS) band in the 5 GHz band for communication in the direct connection mode. In other words, the communication device 151 uses only a channel corresponding to a band other than the DFS band in the 5 GHz band for communication in the direct connection mode. Note that if a radar wave of a band corresponding to a channel used in a state where the channel corresponding to the DFS band is used is detected, it is necessary to change the currently used channel. The band of the channel that can be changed by detecting a radar wave is called a DFS band. Note that, for example, if a radio chip corresponding to a DFS function is used, it is possible to use a channel corresponding to a DFS band in the 5 GHz band for communication in the direct connection mode. Note that a channel decided to be used in the direct connection mode is used in communication via the direct connection. Furthermore, the channel is also used for transmitting a beacon signal and a response to a received command as a master station. That is, the channel is used not only for communication processing in the direct connection mode in a state where the direct connection is established, but also for communication processing in the direct connection mode in a state where the direct connection is not established.
[0071] Note that the user can be able to set whether to use a channel corresponding to the 2.4 GHz band or a channel corresponding to the 5 GHz band in the direct connection mode. Further, by accepting designation of a channel number from the user, the user can be able to set the channel number to be used in the direct connection mode. Alternatively, the channel to be used in the direct connection mode can be set in advance in the communication device 151, instead of being arbitrarily set by the user.
[0072] Note that, although a form in which the communication device 151 is able to use the 2.4 GHz band and the 5 GHz band has been described, the present disclosure is not limited to this form. The communication device 151 can be able to use another band, and in the present embodiment, the other band can be used in the process of using the 2.4 GHz band or the 5 GHz band. For example, since the 60 GHz band is available in the IEEE 802.11ad standard, the 60 GHz band can be used as the above-described other band.
[0073] <Infrastructure connection method>
[0074] The infrastructure connection is a form of connection in which devices (for example, the terminal device 101 and the communication device 151) for communicating with each other are connected to an AP (for example, the AP 131) of a network that controls these devices, and the devices communicate with each other via the AP. As one connection mode, the communication device 151 is also able to operate in a mode for communicating by the infrastructure connection (infrastructure connection mode).
[0075] In the infrastructure connection, each device searches for an AP by a device search command. After searching for an AP, the device and the AP perform a remaining wireless connection process (establishing a wireless connection, etc.), and then perform an IP connection process (allocating an IP address, etc.). Note that commands and parameters transmitted / received when wireless connection is achieved between the device and the AP can be commands and parameters defined in the Wi-Fi standard, and the description thereof is omitted here.
[0076] In the present embodiment, when the communication apparatus 151 operates in the infrastructure connection, the AP 131 operates as a master station, and the communication apparatus 151 operates as a slave unit. That is, in the present embodiment, the infrastructure connection refers to a connection between the communication apparatus 151 operating as a slave unit and an apparatus operating as a master unit. In a case where the communication apparatus 151 establishes the infrastructure connection and the terminal apparatus 101 also establishes the infrastructure connection with the AP 131, the communication apparatus 151 and the terminal apparatus 101 are able to communicate with each other via the AP 131. Since the AP 131 decides a channel used for communication in the infrastructure connection, the communication apparatus 151 performs communication in the infrastructure connection using the channel decided by the AP 131. In the present embodiment, the communication apparatus 151 is able to use a channel corresponding to the 2.4 GHz band and a channel corresponding to the 5 GHz band for the infrastructure connection communication. Note that the communication apparatus 151 is also able to use a channel corresponding to a DFS band in the 5 GHz band for communication in the infrastructure connection. Note also that, in order to communicate with the communication apparatus 151 via the AP 131, the terminal apparatus 101 needs to recognize that the communication apparatus 151 belongs to a network formed by the AP 131 and to which the terminal apparatus 101 belongs.
[0077] <Simultaneous operation>
[0078] The communication apparatus 151 according to the present embodiment is able to simultaneously (in parallel) perform operation through the infrastructure mode and operation through the direct connection mode. Therefore, the communication apparatus 151 is able to simultaneously (in parallel) maintain a connection for communication through the infrastructure mode and a connection for communication through the direct connection mode. In other words, the communication apparatus 151 is able to establish, in parallel, a Wi-Fi connection in which the apparatus serves as a slave unit and a Wi-Fi connection in which the apparatus serves as a master unit. Hereinafter, operation in which an infrastructure connection and a direct connection are established simultaneously (in parallel) so that communication via the infrastructure connection and communication via the direct connection are able to be performed simultaneously (in parallel) is referred to as simultaneous operation. In other words, the simultaneous operation is operation in which the communication apparatus 151 performs operation as a master unit (group owner or AP) and operation as a slave unit in parallel.
[0079] Each of the communication through the infrastructure mode and the communication through the direct connection mode is performed using a specific frequency band (a specific channel). Therefore, in each of the communication through the infrastructure mode and the communication through the direct connection mode, it is first necessary to decide a channel for inter-device communication / connection before starting the communication. Note that in a form in which a plurality of channels are simultaneously allocated to one radio IC chip for communication, the configuration of a device that performs the communication and the processing operation performed by the device become complicated. Therefore, for example, when the communication device 151 performs simultaneous operation, it is desirable to use a common channel in the communication in each mode. That is, even when the communication device 151 performs simultaneous operation, it is desirable to use only one channel. Therefore, in the present embodiment, the wireless communication unit 156 includes only a single radio IC chip that realizes communication through a predetermined channel, and the communication device 151 does not simultaneously use a plurality of channels to perform communication.
[0080] <Connection setting mode>
[0081] The communication device 151 is capable of operating in a connection setting mode. The trigger for the communication device 151 to start operation in the connection setting mode can be, for example, the user pressing a connection setting mode button or the first activation (turning on) of the communication device 151 after being carried. The connection setting mode button can be a hardware button of the communication device 151 or a software button displayed on the display unit 161 by the communication device 151.
[0082] When the communication device 151 starts operation in the connection setting mode, it enables Wi-Fi communication and BLE communication. More specifically, as a Wi-Fi communication enabling process, the communication device 151 enables an internal AP (connection setting AP) of the communication device 151 that is dedicated to the connection setting mode. Then, the communication device 151 is capable of establishing a direct connection with the terminal device 101 through Wi-Fi. The connection information (SSID and password) for connecting to the connection setting AP is pre-stored in a setting application installed in the terminal device 101, so that the terminal device 101 pre-recognizes the connection information for connecting to the connection setting AP. Note that a form in which no encryption method is set for the connection setting AP can be adopted, so that no password is necessary for connecting to the AP. Therefore, unlike the connection information of the AP enabled in the direct connection mode, the connection information for connecting to the connection setting AP cannot be arbitrarily changed by the user. Note that in the connection setting mode, the communication device 151 can connect to the terminal device 101 not through ordinary Wi-Fi but through WFD. That is, the communication device 151 can operate as a group owner and receive a setting command from the terminal device 101 through WFD communication.
[0083] Note that when the terminal device 101 performs communication via wireless connection between the terminal device 101 and the communication device 151 operating in the connection setting mode, the terminal device 101 can use Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6) as a protocol for communication. For example, if IPv6 is set in the terminal device 101, but the communication device 151 can perform communication using only IPv4, communication can not be performed. That is, before starting communication, predetermined processing can be performed to determine whether the communication device 151 can use a protocol for communication through the terminal device 101. Note that a case where IPv4 is set in the terminal device 101 as a protocol used in communication through the terminal device 101 is a case where communication using IPv4 through the wireless communication unit 109 is enabled in the terminal device 101. Similarly, a case where IPv6 is set in the terminal device 101 as a protocol used in communication through the terminal device 101 is a case where communication using IPv6 through the wireless communication unit 109 is enabled in the terminal device 101.
[0084] <Connection setting processing>
[0085] In the present embodiment, the terminal device 101 performs setting (wireless setting) so that the communication device 151 operates in the infrastructure connection mode by using wireless communication with the communication device 151. The connection setting processing according to the present embodiment is performed by wireless communication, and is thus called wireless setting (CLS). The connection setting processing will sometimes be referred to as first setting, which will be described later. Note that the connection setting processing can be performed using wired communication. The communication device 151 performs the connection setting processing while the communication device 151 operates in a wireless setting mode, which is a mode in which the connection setting processing is performed. The terminal device 101 performs the connection setting processing while a setting application is running. The setting application is an application program for setting an AP to be connected to the communication device 151, and for causing the communication device 151 to print image data, document data, or the like in the terminal device 101.
[0086] Note that the setting application can have another function in addition to the function for performing the connection setting processing (i.e., the processing of setting the AP to be connected to the communication device 151 by transmitting a setting command to the communication device 151) and the function of causing the communication device 151 to perform printing. For example, the setting application can have a function of causing the communication device 151 to scan a document set therein if the communication device 151 has a scanning function, a function of making another setting to the communication device 151, a function of checking a state (condition) of the communication device 151, and the like. The setting application can have the function of performing the connection setting processing without having other functions such as the function of causing the communication device 151 to perform printing. More specifically, the function of causing the communication device 151 to perform printing is a function of transmitting a print job for causing the communication device 151 to perform printing to the communication device 151. More specifically, the function of causing the communication device 151 to scan a document set therein is a function of transmitting a scan job for causing the communication device 151 to perform scanning to the communication device 151. More specifically, the function of checking the state of the communication device 151 is a function of acquiring and displaying information indicating the state of the communication device 151 from the communication device 151. The setting application is assumed to be an application program.
[0087] In the following description, actually, when the CPU 103 reads out the setting application stored in the ROM 104 into the RAM 105 and executes the setting application, the processing performed by the setting application is implemented. When the AP 131 and the communication device 151 are connected to each other and the communication device 151 is caused to operate in the infrastructure connection mode, the terminal device 101 wirelessly transmits an infrastructure setting command (connection setting instruction) for causing the communication device 151 to operate in the infrastructure connection mode to the communication device 151. The infrastructure setting command includes, for example, information related to the AP 131. The information related to the AP 131 is, for example, a service set identifier (SSID) of the AP 131, a password for connecting to the AP 131, information on a frequency band used by the AP 131, and the like. After the infrastructure connection by Wi-Fi is established between the terminal device 101 and the communication device 151 by the connection setting processing, the terminal device 101 and the communication device 151 are able to communicate with each other via the established connection. More specifically, for example, the terminal device 101 is able to transmit a print job for causing the communication device 151 to perform printing or a scan job for causing the communication device 151 to perform scanning to the communication device 151 via the established connection. In addition, after the infrastructure connection is established, the communication device 151 is able to communicate with the Internet via the AP 131. As an example, the communication device 151 is able to receive a device update notification from a specific server, download print data, or upload information of the communication device 151.
[0088] <Wireless Profile>
[0089] The wireless profile is information stored and managed by the OS of the terminal device 101 and includes connection information of the AP connected to the terminal device 101. For example, the wireless profile is used for a reconnection function, which is a function in which the OS automatically reestablishes a connection when a connection between the terminal device 101 and the AP is disconnected.
[0090] Figure 9A A connection screen 900 is illustrated, which is a screen displayed by the OS and used to connect the terminal device 101 to the AP. Assume that the connection screen 900 is a screen used to connect to the AP 131 having the SSID displayed on the screen 900. The connection screen 900 includes a region 901 for setting whether to enable the reconnection function with respect to the connection to the AP 131, a region 902 for accepting input of a password for connecting to the AP 131, and a region 903 for attempting to establish a connection between the AP 131 and the terminal device 101 by using the input password. In a case where the reconnection function is set to be enabled by the region 901, if the connection between the terminal device 101 and the AP 131 is disconnected, the OS automatically reestablishes the connection. On the other hand, in a case where the reconnection function is set to be disabled by the region 901, even if the connection between the terminal device 101 and the AP 131 is disconnected, the OS does not automatically reestablish the connection. If the region 903 is pressed and the connection between the AP 131 and the terminal device 101 is successfully established, the OS saves the connection information (SSID and password) of the AP 131 as a wireless profile. However, for a certain type of OS or a certain version of OS, in a case where the reconnection function is set to be disabled, even if the connection between the AP 131 and the terminal device 101 is successfully established, the OS does not save the connection information of the AP 131 as a wireless profile.
[0091] Figure 9B The wireless profile screen 910 is a screen displayed by the OS and used to show the stored wireless profiles. The wireless profile screen 910 is an example of a screen when two wireless profiles are stored by the OS. In the wireless profile screen 910, a wireless profile having a high priority is displayed in a high-order bit. The wireless profile having a high priority is a wireless profile that is preferentially used in a state where a connection between the terminal device 101 and the AP is not established. The region 911 is a region in which the SSID indicates the first wireless profile having a high priority, and the region 912 is a region in which the SSID indicates the second wireless profile having a low priority. Note that by performing a predetermined operation on the region 911 or the region 912, the wireless profile corresponding to the region on which the predetermined operation is performed can be deleted from the terminal device 101.
[0092] <MAC address>
[0093] A media access control address (MAC address) is information for uniquely identifying a device on a network, and is used to specify a destination of network communication. The MAC address is address information of 48 bits (6 bytes) in length. Generally, the MAC address is written in hexadecimal notation, with hyphens (-) or colons (:) separating the bytes.
[0094] The three most significant bytes of the MAC address represent a vendor ID managed by the IEEE (Institute of Electrical and Electronics Engineers). Hereinafter, the three most significant bytes of the MAC address will be referred to as the organization unique identifier (OUI) portion. The three least significant bytes of the MAC address represent an address managed by each vendor. Hereinafter, the three least significant bytes of the MAC address will be referred to as the vendor managed portion. The vendor managed portion is assigned an address by each vendor for each product, in order to prevent duplication. By combining the OUI portion and the vendor managed portion, the MAC address can be used as a unique identifier assigned to each product.
[0095] The least significant bit in the first byte of the MAC address is called the individual / group bit (I / G bit), which indicates a network communication mode. More specifically, the state in which the I / G bit of the MAC address is set indicates that data is simultaneously sent to a plurality of communication partners. This communication mode is called multicast communication (a mode of sending data to a specific group) or broadcast communication (a mode of sending data to all terminals within a LAN). On the other hand, the state in which the I / G bit of the MAC address is not set indicates that the communication partner is only a single individual terminal. This communication mode is called unicast communication.
[0096] The second least significant bit in the first byte of the MAC address is called the global / local bit (G / L bit), which indicates the range of use of the network device. Generally, for a device on a network, the G / L bit of the MAC address is not set, while for a device used in a local network, the G / L bit is generally set.
[0097] For example, in the case of a wireless communication device, the SSID of the AP is assigned a unique MAC address to specify the destination of network communication. As described above, as a region of the MAC address uniquely assigned to each device, each vendor sets a value in the range of the 24-bit vendor managed portion. At this time, an AP capable of using a plurality of SSIDs requires a large number of addresses in order to assign a unique MAC address to each SSID. Therefore, for the SSIDs of the same device, each vendor can conserve bits of the vendor managed portion by setting the G / L bit in the OUI portion of the MAC address.
[0098] <Wireless configuration file>
[0099] The wired profile is information stored and managed by the OS of the terminal device 101 and includes an identifier of a network to which the terminal device 101 has been connected via a wired LAN. The wired profile includes, for example, a MAC address and a network name as specific information of a connection destination device. When the terminal device 101 is connected to a network via a wired LAN, the OS refers to the wired profile to see whether the currently connected network is the same as a previously connected network. For example, the OS acquires a MAC address of a device connected to the terminal device 101 via a wired LAN and determines whether information including the same MAC address is present in the wired profile. If it is determined that they are the same network, the OS displays a wired LAN connection target network name (hereinafter referred to as a wired profile name) acquired during a previous connection on a predetermined screen of the OS.
[0100] Note that if the terminal device 101 has been connected to a network by a wireless LAN, an SSID as a wireless LAN network name is displayed as the wired profile name. This is achieved by the OS storing and managing an SSID acquired from the wireless profile as a network name in the wired profile when a wireless LAN connection destination device and a wired LAN connection destination device are specified as the same device.
[0101] As a method of specifying a wireless LAN connection destination device and a wired LAN connection destination device as the same device, for example, the OS acquires and determines a MAC address of a connection destination device. When the terminal device 101 is connected to a device via a wireless LAN, the OS can acquire the MAC address as specific information of a wireless LAN connection destination device. That is, the MAC address is acquired via a wireless LAN as specific information of a network device connected to the terminal device 101. In this case, if the MAC address acquired via a wireless LAN and a MAC address included in the wired profile are information indicating the same device, the network device connected to the terminal device 101 can be specified as the same device. During connection to a network via a wireless LAN, the OS acquires the MAC address and stores and manages it in a location different from the wireless profile. If it is determined that the MAC address acquired via a wireless LAN and a MAC address acquired via a wired LAN are information of the same device, the OS stores and manages an SSID acquired from the wireless profile as a network name in the wired profile.
[0102] The process in which the OS determines whether devices are the same device based on a MAC address has been described, but the present disclosure is not limited thereto. For example, the OS can acquire an IP address of a wireless LAN connection destination and an IP address of a wired LAN connection destination and confirm whether the IP addresses match, thereby determining whether the devices are the same device.
[0103] Figure 9C A wired profile screen 920 is shown, which is a screen displayed by the OS and used to show stored wired profiles. The wired profile screen 920 is an example of a screen when the OS stores two wired profiles. Note that the wired profile screen 920 can be configured to display only information of the wired profile of the currently connected network. A region 921 is a region of the first wired profile indicating a network that is not connected by a network name, and a region 922 is a region of the second wired profile indicating a network that is connected by a network name. In the case of connection using only a wired LAN, the OS can assign a generic name as the network name. For example, the wired profile screen 920 displays the generic name "Ethernet" in the region 921. For a network device connected via a wireless LAN, the OS can assign the name of the wireless network as the network name. For example, the wired profile screen 920 displays the network name acquired from the wired profile in the region 922. This can be achieved by the OS storing the SSID acquired from the wireless profile as the network name in the wired profile.
[0104] <Process performed by terminal device 101 and communication device 151>
[0105] In the present embodiment, the setting application is able to perform network setting of the communication device 151 (hereinafter referred to as first setting) via wireless connection between the terminal device 101 and the communication device 151 operating in the connection setting mode. In other words, the first setting is a setting method of connecting the communication device 151 and the AP by the setting application transmitting setting information from the terminal device 101 to the communication device 151 via wireless communication. Note that the setting information includes a password and an SSID for connection to the AP. That is, the first setting (connection setting process) is a process of transmitting setting information for connection to the AP, which is a wireless LAN router, to the communication device 151. Note that if the wireless profile corresponding to the predetermined AP as a connection partner of the communication device 151 is pre-stored in the terminal device 101 before the setting application accepts a predetermined operation (predetermined instruction) for network setting from the user, the setting application is able to perform the first setting without accepting password input from the user.
[0106] In the present embodiment, the communication device 151 is able to connect to the AP using a method other than the first setting. Each of the second setting and the third setting, which are the methods other than the first setting, is a network setting made without the setting application sending setting information from the terminal device 101 to the communication device 151 via wireless communication. More specifically, for example, the second setting is a network setting made by push-button Wi-Fi Protected Setup (WPS). The second setting can be a network setting made by PIN code WPS. Alternatively, the second setting can be a network setting made by AOSS, Easy Wireless Start, or the like other than WPS. The second setting can be a network setting made by using a wireless LAN to establish a connection between the communication device 151 and an AP selected by the user from among the APs searched by the communication device 151 by the user operating the communication device 151.
[0107] The third setting, which is the method other than the first setting, is a network setting made by using a wired LAN to establish a connection between the AP and the communication device 151. Note that the third setting can be a network setting realized when the setting application sends setting information from the terminal device 101 to the communication device 151 via USB communication. Each of the second setting and the third setting is a network setting method that can be executed without the user inputting a password for connecting to the AP to the setting application. If a wireless profile corresponding to a predetermined AP is not pre-stored in the terminal device 101 before the setting application accepts a predetermined instruction from the user, the setting application preferably executes a predetermined process of a setting other than the first setting. This is because many users find the second setting and the third setting more convenient than the first setting, which requires a password operation to be input. More specifically, the predetermined process is, for example, a process of displaying a selection screen that will be described later, or a process of displaying a guide screen that will be described later.
[0108] The fourth setting is a setting method other than the first setting, the second setting, and the third setting, and is a setting method made by using a USB to establish communication between the terminal device 101 and the communication device 151. The fourth setting can be executed when there is no network to be connected to the communication device 151 in the vicinity. Note that the fourth setting can be a setting made by using Bluetooth connection to establish a connection between the terminal device 101 and the communication device 151.
[0109] There can be a case where the user does not have a wireless LAN router, and there is no AP 131 in the vicinity of the communication device 151. As an example, assume a case where Figure 1As shown, the terminal device 101 is connected to the network hub 182, but the communication device 151 is not surrounded by the AP 131. In this case, the communication device 151 cannot connect to the AP 131. That is, the infrastructure connection cannot be established between the terminal device 101 and the communication device 151 via the AP 131. In this case, the user needs to understand that, in order to perform one of the first to third settings by the terminal device 101, the AP 131 needs to exist around the AP 131. Then, the user needs to select to establish the connection between the terminal device 101 and the communication device 151 by the fourth setting.
[0110] However, in an environment in which the AP 131 does not exist around the terminal device 101 or the communication device 151, if the infrastructure connection cannot be established, the user can be stuck in the operation of the terminal device 101 or the communication device 151. Or, for example, the user can interrupt the setting of the communication device 151 without realizing the necessity of performing the fourth setting. That is, the terminal device 101 and the communication device 151 cannot communicate with each other. In this case, the user cannot complete the setting by himself or herself, and, for example, the communication device 151 can eventually need to be returned to the manufacturer. In order to prevent such a situation from occurring, it is necessary to improve the user convenience when establishing the connection between the terminal device 101 and the communication device 151.
[0111] Therefore, in the present embodiment, when the setting of the communication device 151 is performed from the terminal device 101, the setting application causes the CPU 103 of the terminal device 101 to operate as follows. The CPU 103 displays a selection screen for selecting a connection method of connecting the communication device 151 to another device. Then, if a selection corresponding to the connection of the communication device 151 to the AP 131 by the wireless LAN connection method is made on the selection screen, the CPU 103 performs predetermined processing for confirming whether the AP 131 exists in the vicinity. In the present embodiment, as the predetermined processing, the CPU 103 displays a confirmation screen for prompting the user to confirm whether the AP 131 exists around the communication device 151. If an operation corresponding to the confirmation that the AP 131 exists around the communication device 151 is made on the confirmation screen, the CPU 103 performs the first setting for connecting the communication device to the AP 131 by the wireless LAN connection method. On the other hand, if an operation corresponding to the confirmation that the AP 131 does not exist around the communication device 151 is made on the confirmation screen, the CPU 103 does not perform the first setting.
[0112] In this way, in the present embodiment, before the first setting, the CPU 103 uses the confirmation screen to prompt the user to confirm whether or not there is the AP 131 around the communication device 151. The CPU 103 controls whether or not to perform the first setting based on the user selection on the confirmation screen. This can prevent the CPU 103 from performing the first setting and failing in an environment in which there is no AP 131 around the communication device 151.
[0113] Figure 3 is a flowchart showing an example of network setting of the communication device 151 performed by the terminal device 101. The flowchart is realized when the CPU 103 reads out a program stored in the ROM 104 into the RAM 105 and executes the program. Note that, in the present embodiment, the terminal device 101 performs the processing using the setting application. The flowchart is started based on the user making the above-described predetermined instruction on a screen displayed by the setting application.
[0114] In step S301, the CPU 103 searches for the communication device 151 operating in the connection setting mode (as a connection setting AP). More specifically, the CPU 103 searches for a beacon including an SSID corresponding to the connection setting mode, generated by the communication device 151 operating in the connection setting mode.
[0115] In step S302, the CPU 103 determines whether or not the communication device 151 operating in the connection setting mode is found by the search in step S301. More specifically, the CPU 103 determines whether or not a beacon including an SSID corresponding to the connection setting mode is included in the beacon detected in step S301. The SSID corresponding to the connection setting mode is the same SSID as the connection information for connecting to the connection setting AP, which is pre-stored in the setting application. Therefore, the CPU 103 determines whether or not a beacon including the same SSID as the connection information for connecting to the connection setting AP, which is pre-stored in the setting application, is included in the beacon generated by the device around the terminal device 101. If determined to be "Yes", the CPU 103 proceeds to step S303. If determined to be "No", the CPU 103 proceeds to step S308. In addition, if determined to be "Yes", the CPU 103 specifies the found communication device 151 as a network setting target device (hereinafter simply referred to as "target device"). Note that, if a plurality of communication devices 151 are found, the first found communication device 151 can be specified as the target device, or the communication device 151 selected by the user from the plurality of found communication devices 151 can be specified as the target device. In the following description, the network setting processing will be performed with respect to the communication device 151 specified as the target device.
[0116] In step S303, the CPU 103 executes first determination processing for determining whether or not to execute the first setting without executing predetermined processing for accepting input of a password from the user. Details of the first determination processing will be described later with reference to Figure 4 Details of the first determination processing will be described later with reference to
[0117] In step S304, the CPU 103 determines whether or not it is determined in the first determination processing to execute the first setting without executing the predetermined processing. If it is determined "Yes", the CPU 103 proceeds to step S305. If it is determined "No", the CPU 103 proceeds to step S308. If it is determined "Yes", the CPU 103 executes the first setting without executing processing related to settings other than the first setting, such as displaying a selection screen or displaying a guide screen (to be described later). On the other hand, if it is determined "No", the CPU 103 executes processing related to settings other than the first setting, such as displaying a selection screen or displaying a guide screen (to be described later).
[0118] In step S305, the CPU 103 displays a confirmation screen for confirming whether or not to execute the first setting on the display unit 108. Here, for example, the confirmation screen 600 illustrated in FIG. 6 is displayed. The confirmation screen 600 includes, for example, a button 601 for selecting to execute the first setting and a button 602 for selecting not to execute the first setting. The confirmation screen 600 further includes a region 603 showing the name of the communication device 151 and a region 604 showing the SSID of the network currently connected to the terminal device 101. The name of the communication device 151 is included in step S301 by searching for the beacon acquired from the communication device 151. The SSID of the network currently connected to the terminal device 101 is acquired in the first determination processing. Figure 6A
[0119] In step S306, the CPU 103 determines whether or not to execute the first setting is selected on the confirmation screen 600. Specifically, in this determination, if the button 601 is selected, the CPU 103 determines "Yes", and if the button 602 is selected, the CPU 103 determines "No". If it is determined "Yes", the CPU 103 proceeds to step S307. If it is determined "No", the CPU 103 proceeds to step S308.
[0120] Note that the processing of step S305 and step S306 can be omitted. That is, after it is determined "Yes" in step S304, the CPU 103 can proceed to step S307 without executing the processing of step S305 and step S306.
[0121] In step S307, the CPU 103 executes the first setting. Details will be described later with reference to Figure 7 The details of this processing are described later. Then, the CPU 103 proceeds to step S314.
[0122] As described above, if the determination in step S302 is "No", or the determination in step S304 is "No", or the determination in step S306 is "No", the processing in step S308 is executed. In step S308, the CPU 103 accepts the user's selection of the connection method between the terminal device 101 and the communication device 151. Here, for example, the selection screen 1010 shown in Fig. 10 is displayed on the display unit 108. The selection screen 1010 is a screen for selecting the connection method of connecting the communication device 151 to another device. For example, the selection screen 1010 includes a region 1011 for selecting the wireless LAN connection method (connection method), a region 1012 for selecting the wired LAN connection method, a region 1013 for selecting the USB connection method, and a button 1014 for displaying the next screen. That is, the selection screen 1010 is an acceptance screen that can accept the user's selection corresponding to the connection of the communication device 151 to the AP or the terminal device 101 by one of these connection methods. Figure 10A
[0123] Note that the network settings for establishing the connection between the terminal device 101 and the communication device 151 by the wireless LAN connection method include the first settings and the second settings. Therefore, in the present embodiment, the settings that can be executed if the region 1011 is selected include the first settings and the second settings. In other words, the region 1011 is an option corresponding to at least the second settings. The network settings for establishing the connection between the terminal device 101 and the communication device 151 by the wired LAN connection method include the third settings. Therefore, in the present embodiment, the settings that can be executed if the region 1012 is selected include the third settings. In other words, the region 1012 is an option corresponding to at least the third settings. The network settings for establishing the connection between the terminal device 101 and the communication device 151 using the USB connection method include the fourth settings. Therefore, in the present embodiment, the settings that can be executed if the region 1013 is selected include the fourth settings. In other words, the region 1013 is an option corresponding to at least the fourth settings. The selection screen 1010 can further include a region for selecting the Bluetooth connection method. If the region for selecting the USB connection method is selected, the USB connection settings as the fourth settings are executed. If the region for selecting the Bluetooth connection method is selected, the Bluetooth connection settings as the fourth settings are executed.
[0124] If any of the selection methods is selected by the user selecting one of the regions 1011 to 1013, and then the user presses the button 1014, the CPU 103 proceeds to step S309.
[0125] In step S309, the CPU 103 determines whether or not the wireless LAN connection method is selected on the selection screen 1010. If it is determined "Yes", the CPU 103 proceeds to step S310. If it is determined "No", the CPU 103 proceeds to step S319.
[0126] In step S310, the CPU 103 executes second determination processing for determining whether or not to perform the first setting. Details of the second determination processing will be described later with reference to Figure 5
[0127] In step S311, the CPU 103 determines whether or not it is determined to perform the first setting in the second determination processing. If it is determined "Yes", the CPU 103 proceeds to step S312. If it is determined "No", the CPU 103 proceeds to step S308. That is, in the present embodiment, if the first setting is not performed (No in step S311), the CPU 103 displays the selection screen 1010 again in step S308. By displaying the selection screen 1010 again in this way, the user can select another setting method.
[0128] In step S312, the CPU 103 executes first determination processing for determining whether or not to perform the first setting. Details of the first determination processing will be described later with reference to Figure 4 As the first determination processing in step S312 and the first determination processing in step S303, the CPU 103 executes the same processing.
[0129] In step S313, the CPU 103 determines whether or not it is determined to perform the first setting in the first determination processing. If it is determined "Yes", the CPU 103 proceeds to step S307. If it is determined "No", the CPU 103 proceeds to step S318.
[0130] In step S318, the CPU 103 displays a first guide screen for the second setting on the display unit 108. Here, for example, Figure 11A the guide screen 1100 shown in FIG. 11 is displayed on the display unit 108 as the first guide screen. The guide screen 1100 includes, for example, a button 1102 for displaying a guide on a WEB browser of the terminal device 101, which shows the user an operation method of performing the second setting, and a button 1101 for displaying the next screen. If the area (button) 1102 is selected, the CPU 103 starts the WEB browser of the terminal device 101, and displays the above-mentioned guide on the WEB browser. Note that the processing is not limited to this, and the above-mentioned guide can also be displayed not on the WEB browser but directly on the setting application. If the user presses the button 1101, the CPU 103 proceeds to step S314.
[0131] In step S319, the CPU 103 displays a second guidance screen for the third setting or the fourth setting on the display unit 108. Here, for example, Figure 11B The guidance screen 1110 illustrated is displayed on the display unit 108 as the second guidance screen. The guidance screen 1110 includes, for example, a button 1112 for displaying a guide on the WEB browser of the terminal device 101, which shows the user the operation method of performing the third setting or the fourth setting, and a button 1111 for displaying the next screen. Alternatively, the method that allows the user to perform the third setting or the fourth setting can be included in the guidance screen 1110. More specifically, for example, a region that prompts the user to connect the AP 131 and the communication device 151 via a wired LAN (LAN cable) can be included in the guidance screen 1110. In the case where the third setting or the fourth setting is the USB connection setting, the guidance screen 1110 can be a screen that prompts the user to connect the terminal device 101 and the communication device 151 using a USB cable. In the case where the fourth setting is the Bluetooth connection setting, the guidance screen 1110 can be a screen that prompts the user to connect the terminal device 101 and the communication device 151 using Bluetooth.
[0132] In step S314, the CPU 103 searches for the communication device 151 according to the method performed in the first setting to the fourth setting. For example, if one of the first setting, the second setting, or the third setting is performed, the CPU 103 searches for the communication device 151 on the network formed by the AP 131 and to which the terminal device 101 belongs. The communication device 151 is found through the search if one of the first setting, the second setting, or the third setting is performed so that the communication device 151 and the terminal device 101 are connected to the same AP 131. For example, in the case where the fourth setting is performed, the CPU 103 searches for the communication device 151 connected to the terminal device 101 via USB. More specifically, the CPU 103 acquires information of devices around the terminal device 101 by using an application program interface (API) of the OS of the terminal device 101. More specifically, the CPU 103 acquires information of the communication device 151 connected to the wired communication unit 112 via USB.
[0133] In step S315, the CPU 103 determines whether the communication device 151 has been found through the search in step S314. If the determination is "Yes", the CPU 103 proceeds to step S316. If the determination is "No", the CPU 103 proceeds to step S317. Note that in the case where this processing is performed after the first setting, the CPU 103 determines whether the communication device 151 that has transmitted the setting information through the first setting is included in the one or more devices found through the search in step S314. If the determination is that the communication device 151 is included, the determination is "Yes" in this determination. That is, if no device is found through the search in step S314, or if the communication device 151 to which the setting information has been transmitted through the first setting is not included in the one or more devices found, the determination is "No" in this determination. In the case where this processing is performed after the second setting or the third setting, the CPU 103 displays the one or more devices found through the search in step S314, and accepts a selection from the user. If the selection from the user is accepted, the determination is "Yes" in this determination. That is, if no device is found through the search in step S314, and the selection from the user is not accepted, the determination is "No" in this determination. In the case where this processing is performed after the fourth setting, if one or more devices are found through the search in step S314, the CPU 103 determines "Yes" in this determination. That is, if no device is found through the search in step S314, the determination is "No" in this determination.
[0134] In step S316, the CPU 103 displays a success screen on the display unit 108, the success screen being a screen corresponding to the fact that the communication device 151 has been found through the search in step S314. Here, for example, the success screen 1020 as shown in FIG. 10 is displayed on the display unit 108. The success screen 1020 includes, for example, a message indicating that the communication device 151 has been found, or a message indicating that the connection with the communication device 151 has been successful. If the end button 1021 included in the success screen 1020 is pressed, the processing of the present flowchart ends. Figure 10B
[0135] Note that in the case where the communication device 151 is found through the search in step S314, the CPU 103 can acquire, from the communication device 151, capability information on the capability of the communication device 151. The capability information can be used in print setting processing of setting a print job transmitted to the communication device 151, or in scan setting processing of setting a scan job transmitted to the communication device 151. The capability information is, for example, information indicating a sheet type available for printing, information indicating whether a scan operation can be performed, or the like.
[0136] For example, in a case where the communication device 151 is found through the search in step S314, the CPU 103 can execute processing for installing a printer driver corresponding to the communication device 151. More specifically, for example, the CPU 103 can install an installer for installing a printer driver corresponding to the communication device 151, and install the printer driver using the installer.
[0137] In step S317, the CPU 103 displays a failure screen on the display unit 108. The failure screen is a screen corresponding to the fact that the communication device 151 is not found through the search in step S314. Here, for example, the failure screen 1030 illustrated in FIG. 10 is displayed on the display unit 108. For example, the failure screen 1030 includes a message indicating that the communication device 151 is not found, or a message indicating that connection with the communication device 151 has failed. If the end button 1031 included in the failure screen 1030 is pressed, the processing of the present flowchart ends. Figure 10C
[0138] Figure 4 is a flowchart illustrating first determination processing executed by the terminal device 101. The flowchart is realized when the CPU 103 reads out a program stored in the ROM 104 into the RAM 105 and executes the program. Note that in the present embodiment, the terminal device 101 executes the processing using the setting application. The flowchart corresponds to the processing in step S303 and the processing in step S312.
[0139] In step S401, the CPU 103 acquires information indicating a connection state of the terminal device 101 from an OS of the terminal device 101 by using an API of the OS. More specifically, in step S401, as the information indicating the connection state of the terminal device 101, the CPU 103 acquires information indicating a connection state of the wireless communication unit 109 from the OS. In other words, the connection state of the wireless communication unit 109 is a Wi-Fi connection state of the terminal device 101. In other words, the connection state of the wireless communication unit 109 is information indicating whether the terminal device 101 is connected to another device via a wireless LAN.
[0140] In step S402, the CPU 103 determines whether the terminal device 101 is connected to another device via a wireless LAN, on the basis of the information indicating the connection state of the terminal device 101 acquired in step S401. If the determination is "Yes", the CPU 103 proceeds to step S403. If the determination is "No", the CPU 103 proceeds to step S409.
[0141] In step S403, the CPU 103 specifies the SSID of the AP connected to the terminal device 101 and the encryption method used by the AP connected to the terminal device 101.
[0142] In step S404, the CPU 103 acquires, from the OS of the terminal device 101, a list of the wireless profiles saved by the terminal device 101. The wireless profile saved by the terminal device 101 is information related to the AP that has been connected to the terminal device 101. More specifically, the wireless profile saved by the terminal device 101 is the SSID of the AP that has been connected to the terminal device 101 and the password for connecting to the AP that the terminal device 101 has been connected to.
[0143] In step S405, the CPU 103 determines whether the wireless profile corresponding to the AP connected to the terminal device 101 is included in the list acquired in step S404. If the determination is YES, the CPU 103 proceeds to step S407. If the determination is NO, the CPU proceeds to step S406. The case where the determination is YES corresponds to a case where the wireless profile corresponding to the AP connected to the terminal device 101 has been saved in the terminal device 101 in advance before the setting application accepts a predetermined instruction from the user. As described above, according to the type or version of the OS of the terminal device 101, in a state where the setting of disabling the reconnection function has been made, even if a new AP is connected, the OS does not save the wireless profile related to the AP. Therefore, the case where the wireless profile corresponding to the AP connected to the terminal device 101 is not included in the list acquired in step S404 is a case where no wireless profile has been saved since the setting was enabled.
[0144] In step S406, the CPU 103 determines whether the password for connecting to the AP connected to the terminal device 101 is required based on the encryption method specified in step S403. The case where the password for connecting to the AP connected to the terminal device 101 is required is a case where an encryption method such as Wired Equivalent Privacy (WEP), Wi-Fi Protected Access (WPA), WPA2, or WPA3 is specified in step S403 as the encryption method set in the AP connected to the terminal device 101. On the other hand, the case where the password for connecting to the AP connected to the terminal device is not required is a case where no encryption method is set in the AP connected to the terminal device 101, and thus no encryption method is specified in step S403. This also includes a case where the network formed by the AP connected to the terminal device 101 is an open network. If the determination is YES, the CPU 103 proceeds to step S409. If the determination is NO, the CPU 103 proceeds to step S407.
[0145] In step S407, the CPU 103 determines whether or not to set the communication of the wireless communication unit 109 using IPv4 to enabled in the terminal device 101, on the basis of the information acquired in step S401. If it is determined "Yes", the CPU 103 proceeds to step S408. If it is determined "No", the CPU 103 proceeds to step S409.
[0146] In step S408, the CPU 103 determines to perform the first setting without performing predetermined processing. The determination result is referred to in each of steps S304 and S313. After step S408, the CPU 103 terminates the processing of the present flowchart.
[0147] In step S409, the CPU 103 determines not to perform the first setting without performing predetermined processing. The determination result is referred to in each of steps S304 and S313. After step S409, the CPU 103 terminates the processing of the present flowchart.
[0148] Figure 5 is a flowchart showing second determination processing performed by the terminal device 101. The flowchart is realized when the CPU 103 reads out a program stored in the ROM 104 into the RAM 105 and executes the program. Note that in the present embodiment, the terminal device 101 performs the processing using the setting application. The flowchart corresponds to the processing in step S310.
[0149] In step S501, the CPU 103 acquires information indicating the connection state of the terminal device 101 from an OS of the terminal device 101 by using an API of the OS. More specifically, in step S501, as the information indicating the connection state of the terminal device 101, the CPU 103 acquires information indicating the connection state of the wireless communication unit 109 and information indicating the connection state of the wired communication unit 112 from the OS. In other words, the information indicating the connection state of the wireless communication unit 109 is information indicating whether or not the terminal device 101 is connected to another device via a wireless LAN. In other words, the information indicating the connection state of the wired communication unit 112 is information indicating whether or not the terminal device 101 is connected to another device via a wired LAN. In the present embodiment, the information acquired in step S501 is information that cannot specify the specific type of another device connected to the terminal device 101. That is, the information acquired in step S501 does not include identification information for identifying another device connected to the terminal device 101.
[0150] In step S502, the CPU 103 determines whether the terminal device 101 is connected to another device via a wireless LAN, based on the information indicating the connection state of the wireless communication unit 109 acquired in step S501. If it is determined "Yes", the CPU 103 proceeds to step S503. If it is determined "No", the CPU 103 proceeds to step S504.
[0151] In step S503, the CPU 103 determines to perform the first setting. The determination result is referred to in step S311. After step S503, the CPU 103 terminates the processing of the present flowchart.
[0152] If the CPU 103 determines in step S502 that the terminal device 101 is connected to another device via a wireless LAN, an AP 131 can exist around the communication device 151. Therefore, in the present embodiment, if it is determined "Yes" in step S502, the CPU 103 proceeds to step S503 and determines to perform the first setting, without displaying the confirmation screen 610 which will be described later.
[0153] In step S504, the CPU 103 determines whether the terminal device 101 is connected to another device via a wired LAN, based on the information indicating the connection state of the wired communication unit 112 acquired in step S501. If it is determined "Yes", the CPU 103 proceeds to step S505. If it is determined "No", the CPU 103 proceeds to step S508.
[0154] In step S505, the CPU 103 displays on the display unit 108 a confirmation screen that prompts the user to confirm whether or not an AP 131 is present around the communication device 151. Here, the terminal device 101 is not connected to another device via a wireless LAN. In addition, the terminal device 101 is connected to another device via a wired LAN. As an example of the terminal device 101 being in such a state, the terminal device 101 can be connected to the network hub 182 via a wired LAN, or can be connected to the AP 131 via a wired LAN. As described above, in the present embodiment, the CPU 103 cannot specify the specific type of another device connected to the terminal device 101 from the information acquired in step S501. That is, the CPU 103 cannot determine whether the current situation of the terminal device 101 is the former case or the latter case. In the former case, the AP 131 can not be present around the communication device 151 and the terminal device 101. If the AP 131 is not present around the communication device 151, even if the user selects the wireless LAN (region 1011) on the selection screen 1010, the infrastructure connection via the AP 131 cannot be established between the terminal device 101 and the communication device 151. To prevent such a case, in the present embodiment, if the selection corresponding to the connection of the communication device 151 to another device by the wireless LAN connection method is made on the selection screen 1010 (selection of the wireless LAN (region 1011)), the CPU 103 displays the following confirmation screen.
[0155] More specifically, in step S505, the CPU 103 displays on the display unit 108 the confirmation screen 610 illustrated in FIG. 6. For example, the confirmation screen 610 includes a button 611 that can accept a user selection to continue the process, and a button 612 that can accept a user selection to select another connection method. Figure 6B
[0156] The confirmation screen 610 displays a message for prompting the user to confirm whether or not an AP 131 is present around the terminal device 101. This message can allow the user to confirm whether or not an AP 131 is present around the terminal device 101. The confirmation screen 610 also displays a message indicating that the infrastructure connection of the communication device 151 requires an AP 131. This message can allow the user to recognize that, for example, in the case where the user selects the wireless LAN 1011 on the selection screen 1010 although no AP 131 is present nearby, an AP 131 is required.
[0157] If the AP 131 exists around the terminal device 101, the confirmation screen 610 also displays a message prompting the user to press the button 611. If the AP 131 does not exist around the terminal device 101, the confirmation screen 610 also displays a message prompting the user to press the button 612. These messages enable the user to appropriately press the button 611 or the button 612 depending on whether the AP 131 exists around the terminal device 101. Note that the confirmation screen 610 can display information for the user by using another method such as an icon or a moving image corresponding to these messages.
[0158] In step S506, the CPU 103 determines whether the AP 131 existing nearby is selected on the confirmation screen 610. Specifically, in this determination, the CPU 103 determines "Yes" if the button 611 is selected, and determines "No" if the button 612 is selected. If the determination is "Yes", the CPU 103 proceeds to step S503. If the determination is "No", the CPU 103 proceeds to step S507.
[0159] In step S507, the CPU 103 determines not to perform the first setting. The determination result is referred to in step S311. After step S507, the CPU 103 terminates the processing of the present flowchart.
[0160] Thus, in the present embodiment, if the operation corresponding to the AP 131 existing around the communication device 151 is performed on the confirmation screen 610, the CPU 103 determines to perform the first setting in step S503. On the other hand, if the operation corresponding to the AP 131 not existing around the communication device 151 is performed on the confirmation screen 610, the CPU 103 determines not to perform the first setting in step S507. That is, before the first setting, the CPU 103 uses the confirmation screen 610 to let the user confirm whether the AP 131 exists around the communication device 151. Then, the CPU 103 controls whether to perform the first setting based on the user selection on the confirmation screen 610. Thereby, it is possible to prevent the CPU 103 from performing the first setting and failing in an environment where the AP 131 does not exist around the communication device 151.
[0161] In step S508, the CPU 103 notifies the terminal device 101 of not being connected to the external network. More specifically, the CPU 103 displays an error screen on the display unit 108. Here, for example, the error screen 620 illustrated in FIG. 6B is displayed. The error screen 620 includes, for example, a button 621 that can accept a user instruction for closing the error screen 620. Figure 6C
[0162] The error screen 620 also displays a message indicating that the terminal device 101 is not connected to an external network. Here, the CPU 103 accepted the user's selection of the wireless LAN 1011 on the selection screen 1010 in the process of step S308. However, the CPU 103 determined in the processes of step S502 and step S504 that the terminal device 101 is not connected to another device via the wireless LAN and the wired LAN. Therefore, in step S508, the CPU 103 can make the user recognize that the terminal device 101 is not in a state in which an infrastructure connection can be established, by notifying that the terminal device 101 is not connected to an external network.
[0163] The error screen 620 also displays a message prompting the user to confirm whether to enable the network settings of the terminal device 101. The error screen 620 also displays a message prompting the user to confirm the connection state of the AP 131. By displaying these pieces of information on the error screen 620, it is possible to improve the convenience when the user operates the terminal device 101 to connect the terminal device 101 to the AP 131. Note that the error screen 620 can display a message prompting the user to confirm whether the AP 131 is present around the terminal device 101.
[0164] In this way, if it is determined in step S504 that the terminal device 101 is not connected to another device via the wired LAN, the CPU 103 proceeds to step S508 and displays the error screen 620. Thereafter, the CPU 103 determines not to perform the first setting in step S507. If the terminal device 101 is not connected to an external network, the AP 131 can not be present around the communication device 151. Therefore, if it is determined as "No" in step S504, the CPU 103 does not perform the first setting and does not display the confirmation screen 610 in step S505. Thus, in the case where the AP 131 is not present around the communication device 151, it is possible to prevent the first setting from being performed.
[0165] Note that in the present embodiment, in the second determination process, if it is determined as "Yes" in step S504, the CPU 103 proceeds to step S505. However, the process is not limited to this. In the second determination process, the CPU 103 can perform the following process.
[0166] For example, in the second determination process, the CPU 103 can skip the processes of step S501 to step S504 and perform the process of step S505. That is, if the user selects the wireless LAN 1011 on the selection screen 1010 displayed in step S308, the CPU 103 can display the confirmation screen 610 regardless of the connection state of the terminal device 101.
[0167] Alternatively, for example, in the second determination processing, if "No" is determined in step S502, the CPU 103 can skip the processing in step S504 and execute the processing in step S505. That is, if the user selects the wireless LAN 1011 on the selection screen 1010 displayed in step S308 and the terminal device 101 is not connected to another device via the wireless LAN, the CPU 103 can display the confirmation screen 610.
[0168] Even in these forms, the CPU 103 can cause the user to confirm whether the AP 131 exists in the vicinity on the confirmation screen 610. Also, even in these forms, the CPU 103 can appropriately determine whether to execute the first setting based on the user operation on the confirmation screen 610.
[0169] Figure 7 is a flowchart showing the first setting executed by the terminal device 101. The flowchart is realized when the CPU 103 reads out the program stored in the ROM 104 into the RAM 105 and executes the program. Note that in the present embodiment, the terminal device 101 executes the processing using the setting application. The flowchart corresponds to the processing in step S307.
[0170] In step S701, the CPU 103 searches for the communication device 151 operating in the connection setting mode. Then, it is determined whether the communication device 151 operating in the connection setting mode is found. The processing is performed similarly to the processing in steps S301 and S302, and thus detailed description will be omitted. If "Yes" is determined, the CPU 103 proceeds to step S702. If "No" is determined, the CPU 103 returns to step S701 and repeats the search. Note that if the communication device 151 operating in the connection setting mode is already found in step S302, the processing can be omitted.
[0171] In step S702, if the terminal device 101 is connected to the AP using the wireless communication unit 109, the CPU 103 disconnects the connection between the terminal device 101 and the AP. At this time, the CPU 103 stores the connection information for connecting to the AP in a storage such as the ROM 104. Note that the AP can be regarded as the AP connected to the terminal device 101 at the time of performing the predetermined operation of setting the network of the communication device 151. The AP can also be regarded as the AP connected to the terminal device 101 just before the wireless connection between the communication device 151 and the terminal device 101 is established in step S703.
[0172] In step S703, the CPU 103 establishes a wireless connection between the terminal device 101 and the communication device 151 operating in connection setting mode. That is, in step S703, a direct wireless connection is established between the terminal device 101 and the communication device operating in connection setting mode.
[0173] In step S704, CPU 103 sends an information acquisition request to communication device 151 to obtain a list of access points (APs) discovered by communication device 151 through a search. In other words, the list of APs discovered by communication device 151 through a search is a list of networks discovered by communication device 151 through a search. This list includes the SSIDs, etc., of the APs discovered by communication device 151 through a search.
[0174] In step S705, CPU 103 determines whether the list obtained in step S704 includes the SSID of the AP corresponding to the connection information stored in step S702. If the determination is "yes", CPU 103 proceeds to step S707. If the determination is "no", CPU 103 proceeds to step S706. If the determination is "yes", CPU 103 designates the AP corresponding to the connection information stored in step S702 as the AP to be connected to communication device 151.
[0175] In step S706, CPU 103 displays the list obtained in step S704 and accepts a user selection for an AP in the list. In other words, the selection of an AP is a selection of the network formed by that AP. CPU 103 designates the user-selected AP as the AP to connect to communication device 151. In this process, for example, as... Figure 12 The screen shown is an input screen 1200 for accepting AP selections from the user. Input screen 1200 includes an area 1202 for accepting AP selections from the user, an area 1203 for accepting input of a password for connecting to the user-selected AP, an area 1204 indicating the encryption method used by the user-selected AP, and an area 1201 for designating the AP corresponding to the input information as the AP to be connected to communication device 151. When area 1202 is selected, the list obtained in step S704 is displayed in a drop-down format.
[0176] Note that if the OS of the terminal device 101 has saved a password for connecting to the AP selected by the user as a wireless profile, the CPU 103 can not accept the password input from the user. If the AP selected by the user is not set to an encryption method, and can be connected to without a password, the CPU 103 can not accept the password input from the user. Instead of accepting the AP selected from the list acquired in step S704, the CPU 103 can accept input of an arbitrary SSID or password from the user, thereby designating the AP corresponding to the input information as the AP to be connected to the communication device 151. When the area 1201 is selected, the CPU 103 saves the information selected or input on the input screen 1200 as setting information, so as to transmit the setting information. Note that at this time, the CPU 103 can perform processing of verifying whether the information selected or input on the input screen 1200 is correct. More specifically, the CPU 103 can verify whether the input password matches the format of the encryption method used by the selected AP.
[0177] In step S707, the CPU 103 transmits the setting information related to the AP designated as the AP to be connected to the communication device 151 to the communication device 151. That is, the setting information is transmitted from the terminal device 101 to the communication device 151 via the wireless LAN. In this way, by transmitting the setting information to the communication device 151 via the wireless LAN, user operations such as input of the setting information on the communication device 151 are not required, and convenience can be improved. The setting information includes connection information (SSID and password) for connecting to the AP designated as the AP to be connected to the communication device 151.
[0178] In step S708, the CPU 103 disconnects the wireless connection between the terminal device 101 and the communication device 151 operating in the connection setting mode. Then, the CPU 103 establishes a connection between the terminal device 101 and the AP corresponding to the connection information stored in step S702, by using the connection information stored in step S702. Note that at this time, the CPU 103 can establish a connection between the terminal device 101 and the AP corresponding to the connection information transmitted in step S707, by using the connection information transmitted in step S707.
[0179] In step S709, if the connection information for connecting to the communication device 151 operating in the connection setting mode has been saved as a wireless profile by the OS, the CPU 103 deletes the wireless profile. This suppresses reestablishment of the wireless connection between the terminal device 101 and the communication device 151 operating in the connection setting mode at a timing unintended by the user. Thereafter, the processing of the present flowchart ends.
[0180] Figure 8 is a flowchart showing the first setting performed by the communication device 151. The flowchart is realized when the CPU 154 reads out a program stored in the ROM 152 into the RAM 153 and executes the program. The flowchart is started based on the communication device 151 accepting a user operation so as to operate in the connection setting mode.
[0181] In step S801, the CPU 154 searches for APs existing around the communication device 151, and generates a list of the discovered APs.
[0182] In step S802, the CPU 154 determines whether or not an information acquisition request is received from the terminal device 101. If determined as "Yes", the CPU 154 proceeds to step S803. If determined as "No", the CPU 154 proceeds to step S804.
[0183] Note that, instead of performing step S801 before step S802, step S801 can be performed after step S802 is determined as "Yes".
[0184] In step S803, the CPU 154 transmits the list generated in step S801 to the terminal device 101.
[0185] In step S804, the CPU 154 determines whether or not setting information is received from the terminal device 101. If determined as "Yes", the CPU 154 proceeds to step S805. If determined as "No", the CPU 154 returns to step S802.
[0186] In step S805, the CPU 154 performs network setting based on the received setting information. More specifically, the CPU 154 establishes a connection between the communication device 151 and an AP corresponding to connection information included in the received setting information, by using the connection information included in the received setting information. Thereafter, the processing of the present flowchart ends.
[0187] According to the present embodiment, the setting application causes the CPU 103 of the terminal device 101 to operate as follows. The CPU 103 causes the user to confirm whether or not there is the AP 131 around the communication device 151 using the confirmation screen 610. Then, based on the user operation on the confirmation screen 610, the CPU 103 switches whether or not to perform the first setting. This configuration can prevent the first setting from being performed and failing in a case where there is no AP 131 around the communication device 151. On the other hand, in a case where there is the AP 131 around the communication device 151, the first setting is performed. This can improve convenience when the terminal device 101 causes the communication device 151 to connect to the AP 131.
[0188] <Second Embodiment>
[0189] The difference between the second embodiment and the first embodiment will be described below. In the first embodiment, if the determination is "No" as a result of the second determination processing, the CPU 103 displays the selection screen 1010 again. In the present embodiment, if the determination is "No" as a result of the second determination processing, the CPU 103 confirms whether a direct connection is established between the terminal device 101 and the communication device 151. If it is confirmed that the direct connection is established, the CPU 103 will perform a fifth setting for establishing the direct connection (to be described later). That is, in the present embodiment, if there is no AP 131 around the communication device 151, the setting application is set to cause the terminal device 101 to perform the fifth setting instead of the first setting, thereby establishing a connection via wireless LAN communication. Thereby, in a case where the user selects the wireless LAN connection method as the connection method between the terminal device 101 and the communication device 151, the setting application can guide the user to an appropriate setting method depending on whether there is an AP 131 around the communication device 151.
[0190] In the present embodiment, the CPU 103 can perform the fifth setting that sets the communication device 151 to the direct connection mode via the wireless connection between the terminal device 101 and the communication device 151 operating in the connection setting mode. The fifth setting is a setting method in which the communication device 151 is caused to operate in the direct connection mode by transmitting an instruction to set the direct connection mode from the terminal device 101 to the communication device 151 via wireless communication, thereby directly connecting the terminal device 101 and the communication device 151 operating in the direct connection mode.
[0191] Figure 13 is a flowchart illustrating the network setting of the communication device 151 performed by the terminal device 101. The flowchart is realized when the CPU 103 reads out the program stored in the ROM 104 into the RAM 105 and executes the program. Note that in the present embodiment, the terminal device 101 performs the processing using the setting application. The flowchart is started based on the user making the above-described predetermined instruction on a screen displayed by the setting application.
[0192] Steps S1301 to S1310 are similar to steps S301 to S310, and thus the description thereof will be omitted.
[0193] In step S1311, the CPU 103 determines whether the determination to perform the first setting is made in the second determination processing. If the determination is "Yes", the CPU 103 proceeds to step S1312. If the determination is "No", the CPU 103 proceeds to step S1320.
[0194] In the first embodiment, if "No" is determined in step S311, the CPU 103 proceeds to step S308, and displays the selection screen 1010 again on the display unit 108. In the present embodiment, if the first setting is not performed (if "No" is determined in step S1311), the CPU 103 proceeds to step S1320, and performs processing of directly connecting the terminal device 101 and the communication device 151 via the wireless LAN. Here, the processing to be performed when the CPU 103 determines "No" in step S1311 will be described.
[0195] In step S1320, the CPU 103 displays a direct confirmation screen for confirming whether or not to perform the direct connection on the display unit 108. Here, for example, the direct confirmation screen 1700 as shown in FIG. 17 is displayed. The direct confirmation screen 1700 includes, for example, a button 1701 for selecting to perform the direct connection and a button 1702 for selecting not to perform the direct connection. That is, the direct confirmation screen 1700 can also be regarded as an acceptance screen that can accept a user's selection regarding whether or not to perform the direct connection. Figure 17A
[0196] The direct confirmation screen 1700 displays a message indicating that there is no AP 131 that the communication device 151 can connect via the wireless LAN in the vicinity. The direct confirmation screen 1700 also displays a message prompting the user to confirm whether or not to establish the direct connection between the communication device 151 and the terminal device 101.
[0197] In step S1321, the CPU 103 determines whether or not an operation corresponding to performing the direct connection is performed on the direct confirmation screen 1700. Specifically, in this determination, if the button 1701 is selected, the CPU 103 determines "Yes", and if the button 1702 is selected, the CPU 103 determines "No". If "Yes" is determined, the CPU 103 proceeds to step S1322. If "No" is determined, the CPU 103 returns to step S1309.
[0198] In step S1322, the CPU 103 performs the fifth setting. Details of this processing will be described later with reference to Figure 18 In step S1312, the CPU 103 determines whether or not the first setting is performed. Specifically, in this determination, if the first setting is performed (if "Yes" is determined in step S1311), the CPU 103 determines "Yes", and if the first setting is not performed (if "No" is determined in step S1311), the CPU 103 determines "No". If "Yes" is determined, the CPU 103 proceeds to step S1313. If "No" is determined, the CPU 103 proceeds to step S1314.
[0199] Note that the processing in steps S1312 to S1314 is similar to that in steps S312 to S314, and steps S1316 to S1319 are similar to steps S316 to S319, and thus the description thereof will be omitted.
[0200] In step S1315, the CPU 103 determines whether the communication device 151 has been found through the search in step S1314. If the determination is "Yes", the CPU 103 proceeds to step S1316. If the determination is "No", the CPU 103 proceeds to step S1317. Note that in the case where this processing is performed after the fifth setting, the CPU 103 specifies whether the communication device 151 with which the connection has been established through the fifth setting includes one or more devices found through the search in step S1314. If it is specified that the communication device 151 is included, the CPU 103 determines "Yes" in this determination. That is, if no device is found through the search in step S1314, or if the communication device 151 with which the connection has been established through the fifth setting is not included in the one or more found devices, the CPU 103 determines "No" in this determination. Note that the CPU 103 can make the determination based on whether the connection between the communication device 151 and the terminal device 101 has been successfully established through the fifth setting. More specifically, if the connection between the communication device 151 and the terminal device 101 has been successfully established through the fifth setting, "Yes" is determined in this determination. Further, if the connection between the communication device 151 and the terminal device 101 has failed through the fifth setting, "No" is determined in this determination. The state in which the connection between the communication device 151 and the terminal device 101 has been successfully established is the state in which the terminal device 101 is connected to the direct connection SSID issued by the communication device 151.
[0201] Figure 18 is a flowchart showing the fifth setting performed by the terminal device 101. This flowchart is realized when the CPU 103 reads out the program stored in the ROM 104 into the RAM 105 and executes the program. Note that in the present embodiment, the terminal device 101 performs this processing using the setting application. This flowchart corresponds to the processing in step S1322.
[0202] In step S1801, the CPU 103 searches for the communication device 151 operating in the connection setting mode. Then, it is determined whether the communication device 151 operating in the connection setting mode has been found. This processing is performed similarly to the processing in steps S301 and S302, and thus detailed description will be omitted. If the determination is "Yes", the CPU 103 proceeds to step S1802. If the determination is "No", the CPU 103 returns to step S1801 and repeats the search. Note that if the communication device 151 operating in the connection setting mode has already been found in step S1302, this processing can be omitted.
[0203] In step S1802, the CPU 103 establishes a wireless connection between the terminal device 101 and the communication device 151 operating in the connection setting mode. That is, in step S1802, a direct wireless connection is established between the terminal device 101 and the communication device operating in the connection setting mode.
[0204] In step S1803, the CPU 103 transmits a request for acquisition of direct connection information to the communication device 151. Then, the CPU 103 receives direct connection information from the communication device 151 in response to the request for acquisition, thereby acquiring the direct connection information. The direct connection information is connection information (including an SSID and a password) for directly connecting to the communication device 151 in the case where the communication device 151 operates in the direct connection mode.
[0205] In step S1804, the CPU 103 transmits a direct setting instruction to the communication device 151 to set the communication device 151 in the direct connection mode. That is, the CPU 103 instructs the communication device 151 to operate in the direct connection mode.
[0206] In step S1805, the CPU 103 connects to the SSID included in the direct connection information acquired in step S1803, thereby establishing a direct connection with the communication device 151 operating in the direct connection mode. Thereafter, the processing of the present flowchart is terminated.
[0207] Figure 19 is a flowchart showing the fifth setting performed by the communication device 151. The flowchart is realized when the CPU 154 reads out a program stored in the ROM 152 into the RAM 153 and executes the program. The flowchart is started on the basis of the communication device 151 accepting a user operation so as to operate in the connection setting mode.
[0208] In step S1901, the CPU 154 determines whether a request for acquisition of direct connection information is received from the terminal device 101. If it is determined "Yes", the CPU 154 proceeds to step S1903. If it is determined "No", the CPU 154 proceeds to step S1902.
[0209] In step S1903, the CPU 154 transmits direct connection information (SSID and password) to the terminal device 101.
[0210] In step S1902, the CPU 154 determines whether a direct setting instruction is received from the terminal device 101. If it is determined "Yes", the CPU 154 proceeds to step S1904. If it is determined "No", the CPU 154 returns to step S1901.
[0211] In step S1904, the CPU 154 sets the direct connection mode based on the received direct setting instruction. More specifically, the communication device 151 changes from the connection setting mode to the direct connection mode, and terminates the fifth setting processing. More specifically, the communication device 151 terminates the connection setting mode, thereby disabling the AP 156-a having the SSID corresponding to the connection setting mode. Thereafter, the communication device 151 activates the direct connection mode, thereby enabling the AP 156-a having the direct connection SSID. Thereby, the terminal device 101 can connect to the direct connection SSID issued by the communication device 151. Thereafter, the processing of the present flowchart ends.
[0212] According to the present embodiment, the setting application causes the CPU 103 to operate as follows. If there is no AP 131 around the communication device 151, the CPU 103 causes the terminal device 101 to perform the fifth setting instead of the first setting. With the fifth setting, the direct connection is established between the terminal device 101 and the communication device 151 via the wireless LAN communication. With this configuration, in the case where the user selects the wireless LAN connection method as the connection method between the terminal device 101 and the communication device 151, the user can be guided to the appropriate setting method depending on whether there is an AP 131 around the communication device 151.
[0213] <Third Embodiment>
[0214] Hereinafter, the difference between the third embodiment and the first and second embodiments will be described. In the above embodiments, the setting application causes the CPU 103 to operate as follows. In the second determination processing, as the predetermined processing for confirming (specifying) whether there is an AP 131 around, the CPU 103 displays the confirmation screen 610. The CPU 103 accepts the user's selection operation on the confirmation screen 610 as to whether there is a wireless LAN router around the terminal device 101, thereby confirming whether there is an AP 131 around. In the present embodiment, in the second determination processing, as the predetermined processing for confirming whether there is an AP 131 around, the CPU 103 performs the processing of automatically determining based on the information related to the network connected to the terminal device 101, without accepting the above selection operation by the user on the confirmation screen 610. This configuration can reduce the case where the user needs to determine whether there is an AP 131 around, and can further improve the convenience of the setting of the communication device 151.
[0215] Figure 14is a flowchart showing a second determination process performed by the terminal device 101 according to the present embodiment. The flowchart is realized when the CPU 103 reads out a program stored in the ROM 104 into the RAM 105 and executes the program. Note that in the present embodiment, the terminal device 101 performs the process using the setting application. In the present embodiment, the setting application performs the second determination process of Figure 14 in step S310. Note that the setting application can perform the second determination process of Figure 14 in step S1310.
[0216] Steps S1401 to S1403 are similar to steps S501 to S503, and thus detailed description thereof will be omitted.
[0217] In step S1404, the CPU 103 determines whether or not the terminal device 101 is connected to another device via a wired LAN based on the information indicating the connection state of the wired communication unit 112 acquired in step S1401. If it is determined "Yes", the CPU 103 proceeds to step S1405. If it is determined "No", the CPU 103 proceeds to step S1408.
[0218] In the first embodiment, if it is determined in step S504 that the terminal device 101 is connected to another device via a wired LAN, the CPU 103 proceeds to step S505 and displays the confirmation screen 610. In the second embodiment, a process similar to that in the first embodiment is performed. On the other hand, in the present embodiment, if it is determined "Yes", the CPU 103 proceeds to step S1405 and performs a third determination process which will be described later.
[0219] In step S1405, the CPU 103 performs the third determination process for determining whether or not there is an AP 131 in the vicinity. Details of the third determination process will be described later with reference to Figure 15 .
[0220] In step S1406, the CPU 103 determines whether or not it is determined in the third determination process that there is an AP 131. If it is determined "Yes", the CPU 103 proceeds to step S1403. If it is determined "No", the CPU 103 proceeds to step S1407.
[0221] The processes in steps S1407 and S1408 are similar to those in steps S507 and S508, and thus description thereof will be omitted.
[0222] Figure 15This is a flowchart illustrating the third determining process performed by the terminal device 101. This flowchart is implemented when the CPU 103 reads a program stored in ROM 104 into RAM 105 and executes the program. Note that in this embodiment, the terminal device 101 uses a settings application to perform this process. This flowchart corresponds to the process in step S1405.
[0223] In step S1501, the CPU 103 obtains information indicating the connection status of the terminal device 101 from the OS using the API of the OS. More specifically, in step S1501, the CPU 103 obtains information indicating the connection status of the wireless communication unit 109 from the OS, as information indicating the connection status of the terminal device 101.
[0224] In step S1502, the CPU 103 determines whether the wireless communication unit 109 of the terminal device 101 is enabled based on the information indicating the connection status of the wireless communication unit 109 obtained in step S1501. In other words, the enabled state of the wireless communication unit 109 is the state in which the wireless communication unit 109 of the terminal device 101 can communicate. That is, the CPU 103 determines whether the wireless communication function of the terminal device 101 for communicating with another device via a wireless LAN is enabled. If it is determined to be "yes", the CPU 103 proceeds to step S1503. If it is determined to be "no", the CPU 103 proceeds to step S1509.
[0225] In step S1503, CPU 103 performs a fourth determination process to determine whether another device connected to terminal device 101 is AP 131. Details of the fourth determination process will be provided later. Figure 16A and Figure 16B The following description will be provided. In the following description, another device connected to terminal device 101 may be referred to as a network device.
[0226] In step S1504, the CPU 103 determines in the fourth determination process whether the network device connected to the terminal device 101 is an AP 131. That is, if in Figure 16B In step S1614 of the fourth determination process (described later), if it is determined that the connected device is AP 131, then CPU 103 determines "Yes". If it is determined to be "Yes", then CPU 103 proceeds to step S1505. If it is determined to be "No", then CPU 103 proceeds to step S1506.
[0227] In step S1505, the CPU 103 determines that the environment in which the AP 131 is present in the vicinity. The determination result is referred to in step S1406. After step S1505, the CPU 103 terminates the processing of the present flowchart.
[0228] In step S1506, the CPU 103 determines whether the network device connected to the terminal apparatus 101 via the wired LAN can be the AP 131. That is, if the network device connected to the terminal apparatus 101 via the wired LAN is determined to be the AP 131 in step S1505, the CPU 103 determines "Yes". If the determination is "Yes", the CPU 103 proceeds to step S1507. If the determination is "No", the CPU 103 proceeds to step S1509. Figure 16B
[0229] In step S1507, the CPU 103 performs processing of prompting the user to confirm whether the network device connected to the terminal apparatus 101 via the wired LAN is the AP 131 to be set in the communication apparatus 151. In step S1507, for example, the CPU 103 displays the confirmation screen 1710 shown in Fig. 17 on the display unit 108. Figure 17B
[0230] On the confirmation screen 1710, a region 2003 showing the SSID of the network device connected to the terminal apparatus 101 determined to be possibly the AP 131 in the fourth determination processing is displayed. The confirmation screen 1710 also displays a button 1711 capable of accepting a user selection corresponding to the continuation of the connection processing with the AP displayed in the region 2003 and a button 1712 capable of accepting a user operation corresponding to the non-continuation of the connection processing with the AP displayed in the region 2003. The confirmation screen 1710 also displays a message prompting the user to confirm whether the communication apparatus 151 is connected to the AP. The confirmation screen 1710 also displays a message prompting the user to select whether the communication apparatus 151 is connected to the wireless network estimated to be the same as the wireless network connected to the terminal apparatus 101. By displaying the screen 1710 as described above, the user can be prompted to confirm whether the network device connected to the terminal apparatus 101 via the wired LAN is the AP 131 to be set in the communication apparatus 151.
[0231] In step S1508, CPU 103 determines whether continuing the connection with the AP has been selected on the confirmation screen 1710. Specifically, in this determination, if button 1711 is selected, CPU 103 determines "yes"; if button 1712 is selected, CPU 103 determines "no". If the determination is "yes", CPU 103 proceeds to step S1505. If the determination is "no", CPU 103 proceeds to step S1509.
[0232] In step S1509, the CPU 103 displays a confirmation screen on the display unit 108 to confirm the presence of the AP 131 nearby. For example, it displays... Figure 6B The confirmation screen 610 is shown. That is, in this embodiment, processing is performed automatically based on information related to the network connected to the terminal device 101, without requiring the user to make a selection on the confirmation screen 610. However, if the process proceeds to step S1509, processing can be performed that accepts the user's selection on the confirmation screen 610.
[0233] In step S1510, CPU 103 determines whether AP 131 is selected on the confirmation screen 610. More specifically, in this determination, if button 611 is selected, CPU 103 determines "yes"; if button 612 is selected, CPU 103 determines "no". If determined to be "yes", CPU 103 proceeds to step S1505. If determined to be "no", CPU 103 proceeds to step S1511.
[0234] In step S1511, CPU 103 determines that there is no AP 131 in the surrounding environment. This determination is referenced in step S1406. After step S1511, CPU 103 terminates the processing of this flowchart.
[0235] Figure 16A and Figure 16B This is a flowchart illustrating the fourth determination process performed by the terminal device 101. The flowchart is implemented when the CPU 103 reads the program stored in the ROM 104 into the RAM 105 and executes the program. Note that in this embodiment, the terminal device 101 uses a settings application to perform this process. This flowchart corresponds to the process in step S1503.
[0236] In step S1601, the CPU 103 acquires information of a connection destination of the wired communication unit 112 from the OS of the terminal device 101 by using an API of the OS. The information of the connection destination of the wired communication unit 112 corresponds to information of a network to which the terminal device 101 is connected. More specifically, the information of the connection destination of the wired communication unit 112 includes a MAC address (hereinafter referred to as a first MAC address) of a device connected to the wired communication unit 112 and an IP address (hereinafter referred to as a first IP address) thereof. That is, the CPU 103 acquires information (the first MAC address and the first IP address) related to a network device connected to the terminal device 101 via a wired LAN.
[0237] In step S1602, the CPU 103 acquires a list of wireless profiles held by the terminal device 101 from the OS of the terminal device 101.
[0238] In step S1603, the CPU 103 determines whether one or more wireless profiles are included in the list of wireless profiles acquired in step S1602. That is, the CPU 103 determines whether one or more wireless profiles can be acquired in step S1602. If it is determined as "Yes", the CPU 103 proceeds to step S1604. If it is determined as "No", the CPU 103 proceeds to step S1607.
[0239] In step S1604, the CPU 103 establishes a connection between the terminal device 101 and an AP corresponding to a wireless profile acquired in step S1602 using a wireless profile held by the OS.
[0240] In step S1605, the CPU 103 compares an IP address of the connected AP utilized to establish the connection in step S1604 with the first IP address acquired in step S1601, and determines whether these IP addresses match. If it is determined as "Yes", the CPU 103 proceeds to step S1614. If it is determined as "No", the CPU 103 proceeds to step S1606.
[0241] Note that if a plurality of wireless profiles are acquired in step S1602, the CPU 103 can perform the processing in steps S1604 and S1605 for each wireless profile. If it is determined as "No" in step S1605, the CPU 103 performs step S1604 for another wireless profile included in the list of wireless profiles. If it is determined as "Yes" in step S1605, the CPU 103 can proceed to step S1614 even if another wireless profile is included in the list of wireless profiles.
[0242] In step S1606, the CPU 103 disconnects the connection between the AP 131 and the terminal device 101 established in step S1604.
[0243] In step S1607, the CPU 103 acquires information of the connection destination of the wired communication unit 112 from the OS of the terminal device 101. More specifically, the CPU 103 acquires the wired profile name saved by the OS as the connection information of the wired communication unit 112. As described above, the wired profile name is the network name saved by the OS in the wired profile file. For example, if the terminal device 101 has been connected to the AP 131 by the wireless LAN, the OS saves the SSID of the AP serving as the network name of the wireless LAN as the wired profile name. Therefore, if the terminal device 101 has been connected to the AP by the wireless LAN, the CPU 103 acquires the wired profile name matching the SSID of the AP 131.
[0244] In step S1608, the CPU 103 searches for the APs present around the terminal device 101 and generates a list of the discovered APs. The list of the discovered APs includes information (MAC address) capable of uniquely identifying each AP and the network name (SSID) of the AP.
[0245] In step S1609, the CPU 103 determines whether the wired profile name acquired in step S1607 is included in the list of the APs acquired in step S1608. If the determination is "Yes", the CPU 103 proceeds to step S1614. If the determination is "No", the CPU 103 proceeds to step S1610.
[0246] If there is an AP matching the wired profile name, it can be presumed that the network device connected to the terminal device 101 via the wired LAN is the AP 131. Therefore, if the determination in step S1609 is "Yes", the CPU 103 causes the process to proceed to step S1614.
[0247] On the other hand, if there is no AP matching the wired profile name, it is not possible to determine whether the network device connected to the terminal apparatus 101 via the wired LAN is the AP 131. Therefore, if there is no AP matching the wired profile name, the CPU 103 determines whether the network device connected to the terminal apparatus 101 via the wired LAN is likely to be the AP 131 based on the MAC address of the AP discovered in step S1608. Different MAC addresses are assigned to the wireless LAN and the wired LAN, respectively. For example, the vendor of each network device can use a method of changing the vendor management portion of the MAC address or setting the G / L bit in the OUI portion to assign different MAC addresses. In the present embodiment, if a MAC address having the same OUI portion and a similar vendor management portion is included in the AP list, the network device connected to the terminal apparatus 101 via the wired LAN is considered to be likely to be the AP 131.
[0248] In step S1610, the CPU 103 compares the MAC address included in the AP list acquired in step S1608 with the first MAC address acquired in step S1601. Then, the CPU 103 determines whether a MAC address having three least significant bytes similar to the three least significant bytes of the first MAC address is included in the AP list acquired in step S1608. More specifically, the CPU 103 compares the vendor management portion of the MAC address of the AP acquired in step S1608 with the vendor management portion of the first MAC address. Then, the CPU 103 determines whether the MAC address included in the AP list acquired in step S1608 matches the first MAC address in at least two or more bytes. If the MAC address matches the first MAC address in at least two or more bytes, the CPU 103 considers that a similar MAC address is included. If the determination is YES, the CPU 103 proceeds to step S1611. If the determination is NO, the CPU 103 proceeds to step S1615.
[0249] In step S1611, the CPU 103 compares the OUI part of the first MAC address acquired in step S1601 with the OUI part of the MAC address of the AP included in the AP list acquired in step S1608 and determined to be similar in step S1610. The MAC address of the AP included in the AP list acquired in step S1608 and determined to be similar in step S1610 can be referred to as a second MAC address. Then, the CPU 103 determines whether these OUI parts match. In this way, the CPU 103 determines whether the OUI part of the first MAC address and the OUI part of the second MAC address match, thereby confirming whether the network device connected to the terminal apparatus 101 via the wired LAN is likely to be the AP 131. If the determination is "Yes", the CPU 103 proceeds to step S1616. If the determination is "No", the CPU 103 proceeds to step S1612.
[0250] In step S1612, the CPU 103 determines whether the G / L bit is set in at least one of the OUI part of the first MAC address and the OUI part of the second MAC address. If the G / L bit is set in either OUI part, the CPU 103 determines "Yes". If the G / L bit is not set in both OUI parts, the CPU 103 determines "No". If the determination is "Yes", the CPU 103 proceeds to step S1613. If the determination is No, the CPU 103 proceeds to step S1615.
[0251] In step S1613, the CPU 103 clears the setting of the G / L bit of the MAC address determined to have the G / L bit set in step S1612, and determines whether the OUI part of the first MAC address matches the OUI part of the second MAC address. If the determination is "Yes", the CPU 103 proceeds to step S1616. If the determination is "No", the CPU 103 proceeds to step S1615.
[0252] In step S1614, the CPU 103 determines that the other device connected to the terminal apparatus 101 via the wired LAN is the AP 131. The determination result is referred to in step S1504. After step S1614, the CPU 103 terminates the processing of the present flowchart.
[0253] In step S1615, the CPU 103 determines that the other device connected to the terminal apparatus 101 via the wired LAN is not the AP 131. The determination result is referred to in step S1504 and step S1506. After step S1615, the CPU 103 terminates the processing of the present flowchart.
[0254] In step S1616, the CPU 103 determines that the network device connected to the terminal apparatus 101 can be the AP 131. The determination result is referred to in step S1504 and step S1506. After step S1616, the CPU 103 terminates the processing of the present flowchart.
[0255] According to the present embodiment, the application causes the CPU 103 to operate as follows. Based on the information of the network device connected to the terminal apparatus 101 via the wired LAN, the CPU 103 determines whether there is an AP 131 that is desired to be connected to the communication apparatus 151 in the vicinity. This configuration can omit the process of prompting the user to confirm whether there is an AP 131 in the vicinity. Thus, compared to the second determination processing in the first embodiment and the second embodiment, it is possible to further improve the user convenience.
[0256] <Modification Example>
[0257] In the above description, if the area 1011 is selected, the first setting or the guide screen of the second setting is displayed in accordance with the results of the second determination processing and the first determination processing. However, the present disclosure is not limited to this form. If the area 1011 is selected, the guide screen of the second setting can be displayed without performing the first determination processing. That is, if it is determined as "Yes" in step S309 and it is determined as "Yes" in step S311, step S318 can be executed without performing step S312 and step S313.
[0258] In the above description, the first determination processing includes both the determination in step S406 and the determination in step S407, but can include only one of them. That is, for example, in the case of including only the determination in step S406, if it is determined as "Yes" in step S405 or it is determined as "No" in step S406, step S408 can be executed without performing step S407. In the case of including only the determination in step S407, if it is determined as "No" in step S405, step S409 can be executed without performing step S406.
[0259] The form has been described above in which the processing performed in the case where it is determined in the second determination processing that the first setting is not performed is the processing of displaying the selection screen 1010 including the option corresponding to the third setting. However, the present disclosure is not limited to this form. If it is determined in the second determination processing that the first setting is not performed, a guide screen of the third setting can be displayed without displaying the selection screen 1010. Or, the options other than the option corresponding to the third setting in the selection screen 1010 can be hidden, or the options other than the option corresponding to the third setting in the selection screen 1010 can be set to an unselectable state.
[0260] In the above description, in the first setting, the terminal device 101 transmits the setting information to the communication device 151 using the wireless communication unit 109. However, the present disclosure is not limited to this form. The terminal device 101 can transmit the setting information to the communication device 151 using the short-range wireless communication unit 110. That is, the setting information can be transmitted via short-range wireless communication such as BLE or Bluetooth between the terminal device 101 and the communication device 151. In this form, it is not necessary to disconnect the wireless LAN connection between the terminal device 101 and the AP 131 in step S702. That is, the terminal device 101 can transmit the setting information to the communication device 151 using the short-range wireless communication unit 110 while maintaining the wireless LAN connection between the terminal device 101 and the AP 131.
[0261] In the above description, a form in which, if it is determined as "No" in step S315, the failure screen 1030 is displayed, and the processing is terminated when the end button 1031 is pressed, is described. However, the present disclosure is not limited to this form. A button (not shown) for restarting the flowchart from the beginning Figure 3 may be arranged in the failure screen 1030. Alternatively, a connection method reselection button (not shown) that transitions to step S308 can also be arranged in the failure screen 1030. For example, by pressing the connection method reselection button (not shown) on the failure screen 1030, the user can immediately select the fourth setting in the case where the first setting, the second setting, and the third setting have failed.
[0262] The above describes the form in which the CPU 103 displays the selection screen 1010 in step S308, taking the display of the selection screen 1010 in step S308 as an example. If the communication device 151 is not found (determined as "No" in step S302), the CPU 103 displays the selection screen 1010. If the communication device 151 is found (determined as "Yes" in step S302), and if it is determined that the first setting is not performed (determined as "No" in step S309), the CPU 103 displays the selection screen 1010. Further, if it is determined that the first setting is not selected in the confirmation screen 600 (determined as "No" in step S306), the CPU 103 displays the selection screen 1010. However, the present disclosure is not limited to these forms, and the CPU 103 can display the selection screen 1010 as follows. For example, if it is determined in step S302 that the communication device 151 has been found, the CPU 103 can proceed to step S308 and display the selection screen 1010. In this form, for example, if it is determined in step S302 that the communication device 151 has not been found, the CPU 103 can repeat the processing in step S302. Alternatively, for example, if it is determined in step S302 that the communication device 151 has not been found, a notification is issued to prompt the user to operate the communication device 151 so that the communication device 151 operates in the connection setting mode. Thereafter, the CPU 103 can perform the processing in step S302 again.
[0263] According to the present disclosure, convenience when the information processing apparatus causes the communication device to connect to another device can be improved.
[0264] It is needless to say that the present disclosure is realized by supplying a storage medium in which a software program code for realizing the functions of the above-described embodiments is stored to a system or an apparatus, and a computer (CPU or MPU) of the system or the apparatus reads out and executes the program code stored in the storage medium. In this case, the program code read out from the storage medium itself realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the embodiments.
[0265] As the storage medium that supplies the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatile memory card, a ROM, a DVD, and the like can be used.
[0266] It is needless to say that the functions of the above-described embodiments are realized not only when the computer executes the read-out program code, but also when an operating system (OS) running on the computer performs part or all of the actual processing based on the instructions of the program code.
[0267] Other Embodiments
[0268] Various embodiments of the present disclosure can also be implemented by a computer of a system or an apparatus that reads out and executes on a computer-readable storage medium (e.g., one or more programs) the computer-executable instructions (e.g., one or more programs) of the above-described embodiments, and / or that includes circuitry (e.g., an application-specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiments, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing on the computer-readable storage medium (e.g., the computer-executable instructions) the computer-executable instructions of the above-described embodiments, and / or controlling the one or more circuits to perform the functions of one or more of the above-described embodiments. The computer can comprise one or more processors (e.g., a central processing unit (CPU), a micro processing unit (MPU)) and can include a network of separate computers or separate processors to read out and execute the computer-executable instructions. The computer-executable instructions can be provided to the computer, for example, from a network or the storage medium. The storage medium can include, for example, one or more of a hard disk, a random access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (e.g., a compact disc (CD), a digital versatile disc (DVD), or a Blu-ray Disc (BD)®), a flash memory device, a memory card, and the like. TM
[0269] Embodiments of the present application can also be implemented by a method that provides the software (computer program product including a computer program) for performing the functions of the above-described embodiments to a system or an apparatus via a network or various storage media, and a computer (central processing unit (CPU), micro processing unit (MPU)) of the system or apparatus reads out and executes the computer program.
[0270] While the present disclosure has been described with respect to the embodiments, it will be understood that the present disclosure is not limited to the disclosed embodiments. The scope of the claims should be construed to include all possible embodiments and equivalents thereof.
Claims
1. A computer-readable storage medium storing an application program configured to cause the computer of an information processing device to function as: The first display unit is configured to display a selection screen for selecting any connection method to connect the communication device to another device; The second display unit is configured to display a confirmation screen when a selection corresponding to connecting the communication device to another device using a first connection method via wireless LAN is made on the selection screen. The confirmation screen is used to prompt the user to confirm whether there are any devices operating as access points around the communication device. as well as The execution unit is configured to perform connection setting processing for connecting the communication device to another device via a first connection method when an operation corresponding to confirming the existence of a device operating as an access point around the communication device is performed on the confirmation screen, and not to perform the connection setting processing when an operation corresponding to confirming the existence of a device operating as an access point around the communication device is performed on the confirmation screen.
2. The medium according to claim 1, wherein, The computer also serves as: The first determining unit is configured to, when a selection corresponding to connecting a communication device to another device via a first connection method is made on the selection screen, determine whether the information processing device is connected to the other device via a wireless LAN. If the first determining unit determines that the information processing device is connected to another device via a wireless LAN, the execution unit performs the connection setting process without causing the second display unit to display a confirmation screen.
3. The medium according to claim 2, wherein, The computer also serves as: The second determining unit is configured to determine whether the information processing device is connected to another device via a wired LAN, if the first determining unit determines that the information processing device is not connected to another device via a wireless LAN. If the second determining unit determines that the information processing device is connected to another device via a wired LAN, the execution unit causes the second display unit to display a confirmation screen, and If the second determining unit determines that the information processing device is not connected to another device via a wired LAN, the execution unit does not perform the connection setting process and does not cause the second display unit to display a confirmation screen.
4. The medium according to claim 3, wherein, The computer also serves as: The notification unit is configured to notify the information processing device that it is not connected to an external network when the second determining unit determines that the information processing device is not connected to another device via a wired LAN.
5. The medium according to claim 1, wherein, If the connection setting process is not performed, the execution unit causes the first display unit to display the selection screen again.
6. The medium according to claim 1, wherein, If the connection setup process is not performed, the execution unit performs the process for directly connecting the information processing device and the communication device via a wireless LAN.
7. The medium according to claim 1, wherein, The connection setup process is a process used to send information to the communication device for connecting to a device operating as an access point.
8. The medium according to claim 7, wherein, The information includes the SSID and password of the device operating as an access point.
9. The medium according to claim 7, wherein, The information is transmitted from the information processing device to the communication device using a wireless LAN.
10. The medium according to claim 7, wherein, The information is transmitted from the information processing device to the communication device using short-range wireless communication.
11. The medium according to claim 1, wherein, The computer also serves as: The search unit is configured to search for communication devices operating as predetermined access points, and When the search unit discovers a communication device operating as a predetermined access point, the first display unit displays the selection screen.
12. The medium according to claim 1, wherein, The selection screen is a screen that allows users to accept one of two options: one corresponding to connecting the communication device to another device via a first connection method, and the other corresponding to connecting the communication device to another device via a second connection method using a wired LAN.
13. The medium according to claim 1, wherein, The selection screen is a screen that allows users to accept one of the following: a selection corresponding to connecting the communication device to another device via a first connection method, and a selection corresponding to connecting the communication device to an information processing device via a third connection method using USB.
14. The medium according to claim 1, wherein, The confirmation screen prompts the user to confirm whether there are any devices operating as access points in the vicinity of the communication device.
15. The medium according to claim 1, wherein, If there are no devices operating as access points around the communication device, the confirmation screen displays information prompting the user to select a connection method different from the first connection method.
16. The medium according to claim 1, wherein, The device that operates as an access point is a wireless LAN router.
17. An information processing apparatus for storing an application program, comprising: The first display unit is configured to display a selection screen via the application for selecting any connection method to connect the communication device to another device; The second display unit is configured to display a confirmation screen via the application when a selection is made on the selection screen corresponding to connecting the communication device to another device using a first connection method via a wireless LAN. The confirmation screen is used to prompt the user to confirm whether there are any devices operating as access points around the communication device. as well as The execution unit is configured to, when performing an operation on the confirmation screen corresponding to the confirmation of the existence of a device operating as an access point around the communication device, execute a connection setting process for connecting the communication device to another device via the application through the application, and when performing an operation on the confirmation screen corresponding to the confirmation of the existence of a device operating as an access point around the communication device, not execute the connection setting process through the application.
18. A control method for an information processing device for storing applications, comprising: The application displays a selection screen for choosing any connection method to connect the communication device to another device. When a selection is made on the selection screen corresponding to connecting the communication device to another device using the first connection method via wireless LAN, a confirmation screen is displayed through the application. The confirmation screen is used to prompt the user to confirm whether there are any devices operating as access points around the communication device. as well as When an operation corresponding to the confirmation screen that a device operating as an access point exists around the communication device is performed, the application executes a connection setting process to connect the communication device to another device via a first connection method. When an operation corresponding to the confirmation screen that a device operating as an access point does not exist around the communication device is performed, the connection setting process is not executed via the application.
19. A computer-readable storage medium storing an application program configured to cause the computer of an information processing device to function as: The first display unit is configured to display a selection screen for selecting any connection method to connect the communication device to another device; The determining unit is configured to, when a selection is made on the selection screen corresponding to connecting the communication device to another device using a first connection method via a wireless LAN, determine, based on information about the network connected to the information processing device, whether there are devices operating as access points around the communication device. as well as An execution unit is configured to perform connection setup processing for connecting the communication device to another device via a first connection method when it is determined that a device operating as an access point exists around the communication device, and not to perform the connection setup processing when it is determined that no device operating as an access point exists around the communication device.
20. An information processing apparatus for storing an application program, comprising: The first display unit is configured to display a selection screen for selecting any connection method to connect the communication device to another device; The determining unit is configured to, when a selection is made on the selection screen corresponding to connecting the communication device to another device using a first connection method via a wireless LAN, determine, based on information about the network connected to the information processing device, whether there are devices operating as access points around the communication device. as well as An execution unit is configured to perform connection setup processing for connecting the communication device to another device via a first connection method when it is determined that a device operating as an access point exists around the communication device, and not to perform the connection setup processing when it is determined that no device operating as an access point exists around the communication device.
21. A control method for an information processing device for storing applications, comprising: Displays a selection screen for choosing any connection method to connect the communication device to another device; When a selection is made on the selection screen corresponding to connecting a communication device to another device using a first connection method via a wireless LAN (LAN), it is determined whether there are devices operating as access points around the communication device based on information about the network connected to the information processing device. as well as If it is determined that there is a device operating as an access point around the communication device, a connection setup process for connecting the communication device to another device via a first connection method is performed; if it is determined that there is no device operating as an access point around the communication device, the connection setup process is not performed.
22. A computer program product that enables a computer of an information processing device to function as: The first display unit is configured to display a selection screen for selecting any connection method to connect the communication device to another device; The second display unit is configured to display a confirmation screen when a selection corresponding to connecting the communication device to another device using a first connection method via wireless LAN is made on the selection screen. The confirmation screen is used to prompt the user to confirm whether there are any devices operating as access points around the communication device. as well as The execution unit is configured to perform connection setting processing for connecting the communication device to another device via a first connection method when an operation corresponding to confirming the existence of a device operating as an access point around the communication device is performed on the confirmation screen, and not to perform the connection setting processing when an operation corresponding to confirming the existence of a device operating as an access point around the communication device is performed on the confirmation screen.
23. A computer program product that enables a computer of an information processing device to function as: The first display unit is configured to display a selection screen for selecting any connection method to connect the communication device to another device; The determining unit is configured to, when a selection is made on the selection screen corresponding to connecting the communication device to another device using a first connection method via a wireless LAN, determine, based on information about the network connected to the information processing device, whether there are devices operating as access points around the communication device. as well as An execution unit is configured to perform connection setup processing for connecting the communication device to another device via a first connection method when it is determined that a device operating as an access point exists around the communication device, and not to perform the connection setup processing when it is determined that no device operating as an access point exists around the communication device.
Citation Information
Patent Citations
Information processing device, control method, and program
JP2016127545A