Communication device, its control method, program and storage medium
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-03
- Publication Date
- 2026-08-14
AI Technical Summary
【0010】 本発明によれば、通信装置で無線通信に関するエラーが発生した場合のユーザビリティを向上させることが出来る。
Smart Images

Figure 2026131423000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a communication device capable of using wireless communication compliant with IEEE802.11, a control method thereof, a program, and a storage medium.
Background Art
[0002] Conventionally, a communication device that connects to an access point existing around itself using wireless LAN (Local Area Network) communication compliant with IEEE802.11 is known.
[0003] Patent Document 1 describes a communication device having a wireless unit capable of executing a plurality of communications of a wireless LAN in parallel, and preventing the influence from affecting other communications when an error occurs in any one of the communications.
[0004] Further, Patent Document 2 describes an information processing device that notifies a user of an error situation by starting a program that notifies an error when an error occurs at the time of starting the information processing device.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0006] In a communication device that executes wireless communication by a wireless LAN, it is required to improve user usability regarding wireless communication.
[0007] Errors may occur when communication devices are started up or during wireless communication. For example, errors may occur due to temporary factors such as congestion in the communication environment caused by many devices using wireless resources, or a temporary shortage of memory within the wireless unit. Errors may also occur due to long-term factors such as failure due to aging of the wireless unit or a break in the cable connecting the communication device and the wireless unit. However, displaying each error as it occurs would reduce usability. Therefore, it is necessary to configure the system to resolve errors as little as possible with minimal user intervention, by controlling the system according to the cause of the error and the state of the communication device when an error occurs.
[0008] This invention has been made in view of the above-mentioned problems, and aims to improve usability when an error related to wireless communication occurs in a communication device. [Means for solving the problem]
[0009] To solve the above problems, according to one aspect of the present invention, wireless communication means and Control means for controlling the wireless communication means, It has, The control means is The process for activating the wireless communication means is performed. Determine whether the aforementioned startup process has failed or not. If the startup process is determined to have failed, a process is executed to determine whether the startup process failed due to a first factor or a second factor, based on the identification information obtained from the wireless communication means after the startup process. Based on the determination that the startup process failed due to the first factor, a first process is performed, which includes retrying the startup process up to a first number of times. Based on the determination that the startup process failed due to long-term factors, a second process is performed, which includes retrying the startup process up to a second number of times that is less than the first number of times. A communication device characterized by the above is provided. [Effects of the Invention]
[0010] According to the present invention, it is possible to improve the usability when an error related to wireless communication occurs in a communication device.
Brief Description of the Drawings
[0011] [Figure 1] It is a diagram showing an example of a system configuration. [Figure 2A] It is a diagram showing an example of the configuration of a communication device (MFP). [Figure 2B] It is a diagram showing an example of the configuration of a communication device (MFP). [Figure 3A] It is a diagram showing an example of a display on the operation display unit of a communication device (MFP). [Figure 3B] It is a diagram showing an example of a display on the operation display unit of a communication device (MFP). [Figure 3C] It is a diagram showing an example of a display on the operation display unit of a communication device (MFP). [Figure 4] It is a diagram showing the configuration of a mobile terminal device. [Figure 5A] It is a diagram showing an example of a display on the operation display unit of a mobile terminal device. [Figure 5B] It is a diagram showing an example of a display on the operation display unit of a mobile terminal device. [Figure 6] It is a configuration diagram of an access point (AP). [Figure 7A] It is a diagram showing an example of the data flow and data structure of a communication device (MFP). [Figure 7B] It is a diagram showing an example of the data flow and data structure of a communication device (MFP). [Figure 7C] It is a diagram showing an example of the data flow and data structure of a communication device (MFP). [Figure 8] It is a flowchart for explaining the processing of a communication device (MFP) in Embodiment 1. [Figure 9] It is a flowchart for explaining the processing of a communication device (MFP) in Embodiment 2.
Modes for Carrying Out the Invention
[0012] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiments, not all of these plurality of features are essential to the invention, and the plurality of features may be arbitrarily combined. Further, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals, and redundant descriptions are omitted.
[0013] First, the configurations of the system and each device common to each embodiment will be described.
[0014] (System Configuration) FIG. 1 shows a configuration example of the system according to this embodiment. In one example, this system is a wireless communication system in which a plurality of communication devices can communicate with each other wirelessly. In the example of FIG. 1, as communication devices, it includes MFP100, mobile terminal device 101, access point AP102, and network 103 to which AP102 is connected.
[0015] The mobile terminal device 101 is a device having a wireless communication function such as a wireless LAN. Hereinafter, the wireless LAN may be referred to as WLAN in some cases. The mobile terminal device 101 can be a personal information terminal such as a PDA (Personal Digital Assistant), a mobile phone (smartphone), a digital camera, a personal computer, or the like. The mobile terminal device 101 can function as a slave station (STA) of the wireless LAN.
[0016] The MFP100 is a printing device with printing capabilities, and may also have scanning, fax, and telephone functions. Furthermore, the MFP100 in this embodiment is a communication device with wireless communication capabilities such as WLAN, and can communicate with the mobile terminal device 101 wirelessly, either via AP102 or directly. While this embodiment describes the use of the MFP100 as an example, it is not limited to this. For example, a scanner, projector, mobile terminal, smartphone, notebook PC, tablet, PDA, digital camera, music playback device, television, smart speaker, etc., each with communication capabilities, may be used instead of the MFP100. MFP stands for Multi-Function Peripheral. In the configuration shown in Figure 1, the MFP100 functions as a wireless LAN slave station (STA).
[0017] AP102 is installed separately (externally) from the mobile terminal device 101 and MFP100 and operates as a WLAN base station device. Communication devices with WLAN communication capabilities can communicate in WLAN infrastructure mode via AP102. Access points are sometimes referred to as "APs". Infrastructure mode is sometimes referred to as "wireless infrastructure mode". AP102 communicates wirelessly with communication devices that it has authorized to connect to (authenticated) and relays wireless communication between those communication devices and other communication devices. AP102 can also be connected to a wired communication network, for example, and can relay communication between communication devices connected to that wired communication network and other communication devices wirelessly connected to AP102. AP102 may also be configured to have DHCP server functionality. Network 103 may be the so-called internet, a closed network within a company, or a mobile phone network. In the configuration shown in Figure 1, AP102, communication device 100, and mobile terminal device 101 are connected wirelessly, and the connection between AP102 and network 103 may be wireless or wired.
[0018] (External configuration of the MFP) Figure 2A(a) shows an example of the external configuration of the MFP100. The MFP100 includes, for example, a document tray 201, a document cover 202, a paper input slot 203, a paper output slot 204, and an operation display unit 205. The document tray 201 is a platform on which the document to be scanned is placed. The document cover 202 is a cover that holds down the document placed on the document tray 201 and prevents light from the light source that illuminates the document during scanning from leaking to the outside. The paper input slot 203 is an input slot that can accommodate paper of various sizes. The paper output slot 204 is an output slot for ejecting paper after printing is complete. Paper set in the paper input slot 203 is transported to the printing unit one sheet at a time, and after printing is performed in the printing unit, it is ejected from the paper output slot 204. The operation display unit 205 includes a touch panel display and is configured to accept user operations for activating various functions and settings of the MFP. Furthermore, the operation display unit 205 may be configured to include keys such as character input keys, cursor keys, select keys, and cancel keys, as well as LEDs, LCDs, and the like.
[0019] The MFP100 has a wireless communication function via WLAN and does not necessarily need to be visible from the outside, but it is configured to include a wireless communication antenna 206 for that wireless communication. Like the mobile terminal device 101, the MFP100 can perform wireless communication via WLAN.
[0020] (MFP configuration) Figure 2A(b) shows an example configuration of the MFP100. The MFP100 includes a main board 211 that performs the main control of the device itself, and a wireless unit 250 which is a wireless communication module that performs WLAN communication using at least one common antenna. The MFP100 may also be configured to include, for example, a wired LAN unit for wired LAN communication.
[0021] The main board 211 includes, for example, a CPU 212 (central processing unit), ROM 213, RAM 214, non-volatile memory 215, image memory 216, read control unit 217, data conversion unit 218, read unit 219, and code decoding unit 221. The main board 211 also includes, for example, a printing unit 222, a paper feeding unit 223, a print control unit 224, and an operation display unit 220. These functional units within the main board 211 are interconnected via a system bus 230 managed by the CPU 212. The main board 211 and the wireless unit 250 are connected, for example, via a dedicated bus 225.
[0022] The CPU 212 is a system control unit including at least one processor, and controls the entire MFP 100. In one example, the processing of the MFP 100 described below is realized by the CPU 212 executing a program stored in the ROM 213. Dedicated hardware may be provided for each process. The ROM 213 stores control programs and embedded OS programs that the CPU 212 executes. In this embodiment, the CPU 212 performs software control such as scheduling and task switching by executing each control program stored in the ROM 213 under the management of the embedded OS, which is also stored in the ROM 213.
[0023] RAM214 is composed of SRAM or the like. RAM214 stores data such as programs and program control variables, as well as user-registered settings and MFP100 management data. RAM214 can also be used as a buffer for various work. Non-volatile memory 215 is composed of memory such as flash memory and continues to store data even when the MFP100 is powered off. Image memory 216 is composed of memory such as DRAM. Image memory 216 stores image data received via the wireless unit 250 and image data processed by the code decoding processing unit 221. Note that the memory configuration of MFP100 is not limited to the above configuration. The data conversion unit 218 performs analysis of various data formats and conversion from image data to print data.
[0024] The reading control unit 217 controls the reading unit 219 (for example, a CIS (contact image sensor)) to optically read the document placed on the document table 201. The reading control unit 217 converts the image obtained by optically reading the document into electrical image data (image signal) and outputs it. At this time, the reading control unit 217 may perform various image processing such as binarization and halftone processing before outputting the image data.
[0025] The operation display unit 220 is the same as the operation display unit 205 described with reference to Figure 2A(a), and performs functions such as displaying information on the display based on display control by the CPU 212 and generating signals in response to user operations. In other words, the operation information unit 220 outputs information to the user and also accepts input from the user.
[0026] The encoding and decoding processing unit 221 performs encoding and decoding processing, as well as scaling processing, for image data (JPEG, PNG, etc.) handled by the MFP100.
[0027] The paper feed unit 223 holds paper for printing. The paper feed unit 223 can supply the set paper under the control of the print control unit 224. The paper feed unit 223 may include multiple paper feed units to hold multiple types of paper in one device, and the print control unit 224 can control which paper feed unit to use for feeding.
[0028] The print control unit 224 applies various image processing to the image data to be printed, such as smoothing, print density correction, and color correction, and outputs the processed image data to the print unit 222. The print unit 222 is configured to perform, for example, inkjet printing, and ejects ink supplied from the ink tanks from the print head to record an image on a recording medium such as paper. The print unit 222 may also be configured to perform other printing processes such as electrophotography. Furthermore, the print control unit 224 can periodically read information from the print unit 222 and update status information, including the remaining amount of ink in the ink tanks and the status of the print head, which is stored in the RAM 214.
[0029] The wireless unit 250 is a unit capable of providing WLAN communication functionality, and can provide similar functionality to, for example, the wireless unit 401 of the mobile terminal device 101. That is, the wireless unit 250 converts data into packets according to the WLAN standard and transmits the packets to other devices, and also restores packets from external devices back to their original data and outputs it to the CPU 212.
[0030] The communication control unit 240 is a unit that controls the communication functions of the MFP100 and controls the wireless unit 250, which will be described later. The processing for controlling the wireless unit 250 by the communication control unit 240 is realized by the CPU 212 executing a control program stored in the ROM 213. The communication control unit 240 and the wireless unit 250 are interconnected, for example, via the system bus 230 and a dedicated bus 225.
[0031] Figure 2B(c) shows an example configuration when dedicated hardware is provided for the communication control unit 240. Dedicated hardware, as shown in Figure 2B(c), may be provided for the communication control unit 240 to reduce the control load on the CPU 212. When dedicated hardware is used, the processing of the communication control unit 240 is realized by the CPU 242 of the communication control unit 240 executing a program stored, for example, in the RAM 243. This program may be a copy of a program stored in the ROM of the CPU 242, or it may be received from the CPU 212 via the local bus 241. Each module of the communication control unit 240 (CPU 242, RAM 243) is interconnected via the local bus 241, which is separate from the system bus 230 of the main board 211. By handling network communication-related functions, particularly those at the hardware layer, the communication control unit 240 enables network control with minimal impact on other modules in the main board 211.
[0032] Figure 2B(d) shows an example configuration of the wireless unit 250. The wireless unit 250 is capable of communication as a Station (slave station) or access point compliant with the IEEE 802.11 standard series. Specifically, it is capable of communication compliant with one or more standards including IEEE 802.11a / b / g / n / ac / ax / be. Hereinafter, Station may be referred to as STA. In one example, the communication function of the wireless unit 250 is controlled and realized by the CPU 252 of the wireless unit 250 executing a program stored in the RAM 254 of the wireless unit 250. Each module of the communication control unit 240 (CPU 242, ROM 253, RAM 243, non-volatile memory 255) is interconnected via a local bus 251, which is separate from the system bus 230 of the main board 211.
[0033] The communication control unit 240 and the wireless unit 250 are interconnected, for example, via the system bus 230 and a dedicated bus 225. The control programs that operate in the communication control unit 240 and the wireless unit 250 will be described later.
[0034] Furthermore, the MFP100 and the mobile terminal device 101 are capable of point-to-point (P2P (WLAN)) communication via wireless LAN based on WFD. For this purpose, the MFP100's wireless unit 250 has either a software access point (soft AP) function or a group owner function. That is, the wireless unit 250 can build a P2P communication network and determine the channels available for P2P communication. Operation in these modes will be described later.
[0035] (MFP operation display) Figures 3A-3C schematically show an example of the screen display (or user interface) on the display (touch panel display) included in the operation display unit 220 of the MFP100. These screens are for presenting information to the user and for receiving input from the user.
[0036] Figure 3A(a) is an example of the home screen displayed when the MFP100 is powered on but not performing any operations such as printing or scanning (idle state, standby state). In Figure 3A(a), display items (menu items) corresponding to copy, scan, LAN settings, and other settings are displayed. By selecting any of the menu items through key operations or touch panel operations, the MFP100 can start executing the corresponding settings or functions. The MFP100 can seamlessly display a screen different from Figure 3A(a) by accepting key operations or touch panel operations on the home screen shown in Figure 3A(a).
[0037] Figure 3A(b) shows an example of the communication settings menu screen displayed when "LAN Settings" is selected on the screen shown in Figure 3A(a). The communication settings menu screen displays "Wireless LAN Settings," "Wireless Direct Settings," and "Common Settings" as menu items (options). "Wireless LAN Settings" and "Wireless Direct Settings" are menu items for performing LAN settings, and from these items, users can enable / disable wireless infrastructure mode, and enable / disable P2P modes such as WFD and soft AP mode. If the "Wireless LAN" item is selected and wireless LAN is enabled by the user, wireless infrastructure mode will be enabled. If the "Wireless Direct" item is selected and wireless direct is enabled by the user, P2P (WLAN) mode will be enabled. In addition, a common settings menu for each connection type is also displayed on this screen. Furthermore, from this screen, users can set the wireless LAN frequency band and frequency channel, etc.
[0038] Figure 3A(c) shows an example of the wireless LAN settings menu screen displayed when "Wireless LAN Settings" is selected on the screen shown in Figure 3A(b). The wireless LAN settings menu screen displays the following menu items (options): "Enable / Disable Wireless LAN," "Wireless LAN Setup," "Display Wireless LAN Information," and "Advanced Wireless LAN Settings." From these items, you can enable / disable the wireless infrastructure mode, perform wireless LAN setup, display wireless LAN information, and configure advanced wireless LAN settings. If "Enable / Disable Wireless LAN" is selected, the process shown in Figure 8 below will be executed. Note that even if the correct MAC address is obtained through the process shown in Figure 8 below, an error may occur in the wireless LAN function setting change process that is executed after the process in Figure 8. In that case, the screen shown in Figure 3B(m) will be displayed, indicating that an error has occurred that prevents the wireless LAN function settings from being changed.
[0039] Figure 3A(d) shows an example of the wireless LAN setup menu screen displayed when "Wireless LAN Setup" is selected on the screen shown in Figure 3A(c). The wireless LAN setup menu screen displays the following menu items (options): "Set up with PC / smartphone," "Set up by entering a password," and "Set up using the router buttons." From these items, wireless LAN setup can be performed using the network setup mode described later, the password entry method, or the push-button method. Specifically, if the "Set up with PC / smartphone" option is selected, the MFP100 starts operating in network setup mode and executes the connection setting process. After starting operation in network setup mode, if a connection to the mobile terminal device 101 is not established, or if a connection is established to the mobile terminal device 101 but the setting information is not transmitted, a predetermined amount of time may pass without the MFP100 connecting to the AP. In this case, the screen shown in Figure 3B(n) will be displayed to indicate that a timeout error has occurred. If the "Enter password to set up" option is selected, the MFP100 will use its wireless LAN function to search for access points (APs) in its vicinity, display a list of the APs found, and accept a selection. The MFP100 will then accept a password to connect to the selected AP from the list and attempt to establish a wireless LAN connection with the selected AP using the entered password. If the "Set up using router button" option is selected, the MFP100 will start WPS (Wi-Fi Protected Setup) and attempt to connect to the router that the user has pressed the WPS button on.
[0040] Figures 3A(e) to 3B(j) show examples of screens displayed when "Enter password and set up" is selected on the screen in Figure 3A(d). When "Enter password and set up" is selected on the screen in Figure 3A(d), Figure 3A(e) is displayed and the MFP100 searches for nearby wireless LAN routers (APs). Once the AP search is complete, the AP search results shown in Figure 3A(f) are displayed. When the AP's SSID (Service Set Identifier) is selected in Figure 3A(f), a screen shown in Figure 3A(g) is displayed and prompts the user to enter a password to connect to the AP. Once the password has been entered and "OK" in Figure 3A(g) is selected, the MFP100 attempts to connect to the AP using the AP connection information (SSID, password, etc.). During this time, the display in Figure 3A(h) indicating that the connection is in progress is shown. If the connection to the AP is successful, Figure 3B(i) is displayed to indicate that the connection to the AP was successful; if it fails, Figure 3B(j) is displayed to indicate that the connection to the AP failed. Figure 3B(j) includes a region that shows how to successfully connect to the AP.
[0041] Figures 3B(j) to 3B(n) show examples of screens displayed when an error occurs in the MFP100. Note that the content displayed will differ depending on the type of error that occurred in the MFP100. The error screens in Figures 3B(j) to 3B(n) may display menu items (options) such as "QR Code" (registered trademark, hereinafter the same) as shown. When "QR Code" is selected, a screen is displayed that includes a code image, exemplified by the QR code shown in Figure 3B(o), in which information is encoded using monochrome rectangular or linear segments. The QR code displayed in Figure 3B(o) may contain a URL (Uniform Resource Locator) (or link information) corresponding to the error that occurred. The QR code in Figure 3B(o) is scanned by the mobile terminal device 101, and the web page corresponding to the URL contained in the QR code is displayed by the browser of the mobile terminal device 101. The web page thus displayed displays a method for resolving the error that occurred. The screens shown in Figures 3B(j) to 3B(n) in this embodiment are not limited to a form that includes an area for displaying a QR code (a menu item called "QR Code"). For example, the content included in the above screen described as being displayed by a browser may be included in the screens of Figures 3B(j) to 3B(n) themselves. Also, instead of including an area for displaying a QR code in the screens of Figures 3B(j) to 3B(n), the QR code itself may be included.
[0042] Figure 3C(q) shows the screen displayed when the MFP100 starts up in safe mode, which restricts wireless communication as described later. If "Yes" is selected, the MFP100 starts up in safe mode, which restricts wireless communication; if "Cancel" is selected, it starts up in another startup mode, such as the normal mode described later.
[0043] Figure 3C(r) shows the screen displayed when the MFP100 starts in safe mode, which restricts cloud communication as described later. If "Yes" is selected, the MFP100 starts in safe mode, which restricts cloud communication; if "Cancel" is selected, it starts in another startup mode, such as the normal mode described later.
[0044] Figure 3C(s) shows the screen displayed when the MFP100 starts up. If the MFP100 startup process is successful, an idle screen such as the one shown in Figure 3A(a) will be displayed; if it fails, an error screen such as the ones shown in Figures 3B(k) to (l) will be displayed.
[0045] Figure 3C(t) shows the screen displayed when turning off the MFP100 or switching the startup mode.
[0046] Figure 3C(u) shows the screen for selecting the display language of the MFP100, and is displayed when the MFP100 is started in the initial setup mode described later.
[0047] Figure 3C(v) shows the screen displayed when a user initiates a function to use the wireless LAN on the MFP100 while its wireless LAN usage is restricted. This screen is displayed when the MFP100 is started in safe mode, which restricts wireless communication as described later, and a user initiates a function to use wireless, such as "Enable / Disable Wireless LAN" in Figure 3A(c) or "Use Wireless Functions" in Figure 3A(d). Functions to use wireless include "Setup via PC / Smartphone," "Setup by Entering Password," and "Setup via Router Button."
[0048] (External configuration of a mobile terminal device) Figure 4(a) shows an example of the external configuration of the mobile terminal device 101. In this embodiment, as an example, the case where the mobile terminal device 101 is a general-purpose smartphone is shown. The mobile terminal device 101 is composed of, for example, a display unit 402, an operation unit 403, and a power key 404. The display unit 402 is a display that includes, for example, an organic EL (Electro Luminescence) type or an LCD (Liquid Crystal Display) type display mechanism. The display unit 402 may also display information using, for example, an LED (Light Emitting Diode). In addition to or instead of the display unit 402, the mobile terminal device 101 may also have a function to output information by voice. The operation unit 403 is composed of hard keys such as keys and buttons, a touch panel, etc., for detecting user operations. In this example, since the information display on the display unit 402 and the reception of user operations by the operation unit 403 are performed using a common touch panel display, the display unit 402 and the operation unit 403 are realized by a single device. In this case, for example, button icons or a software keyboard are displayed using the display function of the display unit 402, and the operation reception function of the operation unit 403 detects when the user touches these areas. Alternatively, the display unit 402 and the operation unit 403 may be separated, with separate hardware for display and hardware for operation reception. The power key 404 is a hard key for receiving user input to turn the power of the mobile terminal device 101 on or off.
[0049] The mobile terminal device 101 does not necessarily need to be visible from its external appearance, but it has a wireless unit 401 that provides WLAN communication functionality. The wireless unit 401 is configured to perform data (packet) communication in a WLAN system compliant with, for example, the IEEE 802.11 standard series (IEEE 802.11a / b / g / n / ac / ax / be, etc.). However, it is not limited to this, and the wireless unit 401 may be able to perform communication in a WLAN system compliant with other standards. In this example, the wireless unit 401 is assumed to be able to communicate in both the 2.4GHz band and the 5GHz band. However, it is not limited to this, and the wireless unit 401 may be able to communicate in one or more frequency bands including the 2.4GHz band, the 5GHz band, and the 6GHz band. Furthermore, the wireless unit 401 is assumed to be able to perform WFD-based communication, soft AP mode communication, wireless infrastructure mode communication, etc. The operation of these modes will be described later.
[0050] (Configuration of mobile terminal devices) Figure 4(b) shows an example of the configuration of the mobile terminal device 101. In one example, the mobile terminal device 101 has a main board 411 that performs the main control of the device itself, and a wireless unit 401 that performs WLAN communication. The main board 411 includes, for example, a CPU 412, ROM 413, RAM 414, image memory 415, data conversion unit 416, telephone unit 417, GPS 419, camera unit 421, non-volatile memory 422, data storage unit 423, speaker unit 424, and power supply unit 425. Here, CPU is an acronym for Central Processing Unit, ROM for Read Only Memory, RAM for Random Access Memory, and GPS for Global Positioning System. The mobile terminal device 101 also includes a display unit 420 and an operation unit 418. These functional units within the main board 411 are interconnected via a system bus 628 managed by the CPU 412. Furthermore, the main board 411 and the wireless unit 401 are connected, for example, via a dedicated bus 426.
[0051] The CPU 412 is a system control unit including at least one processor, and controls the entire mobile terminal device 101. In one example, the processing of the mobile terminal device 101 described below is realized by the CPU 412 executing a program stored in the ROM 413. Dedicated hardware may be provided for each process. The ROM 413 stores control programs and embedded operating system (OS) programs that the CPU 412 executes. In this embodiment, the CPU 412 performs software control such as scheduling and task switching by executing each control program stored in the ROM 413 under the management of the embedded OS, which is also stored in the ROM 413.
[0052] RAM 414 is composed of SRAM (Static RAM) or the like. RAM 414 stores data such as program control variables, user-registered settings, and management data for the mobile terminal device 101. RAM 414 can also be used as a buffer for various tasks. Image memory 415 is composed of memory such as DRAM (Dynamic RAM). Image memory 415 temporarily stores image data received via the wireless unit 401 and image data read from the data storage unit 423 for processing by the CPU 412. Non-volatile memory 422 is composed of memory such as flash memory, and continues to store data even when the power to the mobile terminal device 101 is turned off. Note that the memory configuration of the mobile terminal device 101 is not limited to the above configuration. For example, image memory 415 and RAM 414 may be shared, or data backup may be performed using the data storage unit 423. In this embodiment, DRAM is given as an example of image memory 415, but other storage media such as hard disks or non-volatile memory may be used.
[0053] The data conversion unit 416 performs data analysis of various formats and data conversions such as color conversion and image conversion. The telephone unit 417 controls the telephone line and processes the voice data input and output via the speaker unit 424 to enable telephone communication. The GPS 419 receives radio waves transmitted from satellites and acquires location information such as the current latitude and longitude of the mobile terminal device 101.
[0054] The camera unit 421 has the function of electronically recording and encoding images input through the lens. Image data obtained by imaging with the camera unit 421 is stored in the data storage unit 423. The speaker unit 424 has the function of inputting or outputting sound for telephone functions, and also performs control to realize other functions such as alarm notifications. The power supply unit 425 is, for example, a portable battery and controls the power supply to the device. Power states include, for example, a battery-dead state where there is no remaining battery power, a power-off state where the power key 404 is not pressed, a normal startup state, and a power-saving state where the device is running but power saving is enabled.
[0055] The display unit 420 is the same as the display unit 402 described with reference to Figure 4(a), and, based on the control of the CPU 412, displays various input operations, the operating status of the MFP 100, and the status status. The operation unit 418 is the same as the operation unit 403 described with reference to Figure 4(a), and, upon receiving a user operation, performs control such as generating an electrical signal corresponding to that operation and outputting it to the CPU 412.
[0056] The mobile terminal device 101 performs wireless communication using the wireless unit 401 to communicate data with other devices such as the MFP 100. The wireless unit 401 converts data into packets and transmits them to other devices. The wireless unit 401 also restores packets from external devices back to their original data and outputs it to the CPU 412. The wireless unit 401 is a unit that enables communication compliant with WLAN standards. The wireless unit 401 can operate in parallel in at least two communication modes, including wireless infrastructure mode and P2P (WLAN) mode. The frequency bands used in these communication modes may be limited by the hardware functions and performance.
[0057] (Operation display unit of a mobile terminal device) Figures 5A and 5B schematically show an example of the screen display on the display unit 402 of the mobile terminal device 101 (touch panel display). Figure 5A(a) is an example of the home screen that is initially displayed when the mobile terminal device 101 is powered on (idle state) and an application (called a printing application) for using the MFP 100 from the mobile terminal device 101 is launched. In Figure 5A(a), display items corresponding to camera, browser, print, and settings are displayed. "Settings" is a menu item related to changing the settings of the MFP 100 on the mobile terminal device 101. By selecting any menu item through touch panel operation, the mobile terminal device 101 can start executing the corresponding settings or functions. The mobile terminal device 101 can seamlessly display a screen different from Figure 5A(a) by accepting touch panel operation on the home screen of Figure 5A(a).
[0058] Figure 5B(i) shows an example of the camera screen displayed when the camera is selected on the screen shown in Figure 5A(a). The camera screen displays image data obtained by the camera unit 421 and a menu item (option) called "Back". Figure 5B(i) shows an example when the QR code shown in Figure 3B(p) is photographed. If "Back" is selected, the screen transitions to Figure 5A(a). Also, if the image data contains a QR code that includes a URL (Uniform Resource Locator), the menu item "Open Browser" is displayed. If "Open Browser" is selected, the browser application is activated and the screen corresponding to the URL contained in the QR code is displayed. For example, the screen transitions to a screen like Figures 5A(b) to (e). These screens display messages indicating how the user should deal with errors. Of course, these messages will be relevant to the error and are not limited to the messages exemplified here.
[0059] Figures 5A(b) to (d) are examples of browser screens that appear when a browser is selected and a URL is entered on the screen in Figure 5A(a), or when "Open Browser" is selected on the screen in Figure 5B(i). These screens display how to deal with errors that occur in the MFP100. Note that the content displayed on the browser screen varies depending on the entered URL, etc. For example, if "QR Code" is selected on the error screen of the MFP100 in Figures 3B(j) to (l), the QR code in Figure 3B(p) will be displayed. This QR code may be different depending on the error screen. When this QR code is read by the camera screen of the mobile terminal device 101 and "Open Browser" in Figure 5B(k) is selected, different screens will be displayed depending on the URL contained in the QR code. Specifically, for example, if the original screen that displayed the QR code was Figure 3B(j), Figure 5A(b) will be displayed; if it was Figure 3B(k), Figure 5A(c) will be displayed; and if it was Figure 3B(l), Figure 5A(d) will be displayed.
[0060] Figures 5A(e) to 5B(h) are examples of print screens displayed on the mobile terminal device 101 when setting up the MFP100 using the network setup mode described later. If "Yes" is selected in Figure 5A(e) to start the setup, Figure 5A(f) will be displayed. If the setup is successful, Figure 5B(g) will be displayed, and if it fails, Figure 5B(h) will be displayed. If "Check troubleshooting methods in the manual" in Figure 5B(h) is selected, the user will be redirected to a browser screen as shown in Figure 5A(d).
[0061] (Access point configuration) Figure 6 is a block diagram showing the configuration of AP102, which has wireless LAN access point functionality. It consists of a main board 610 that controls AP102, a wireless LAN unit 616, a wired LAN unit 618, and operation buttons 620.
[0062] The microprocessor-type CPU 611 located on the main board 610 operates according to the control program stored in the ROM-type program memory 613, which is connected via the internal bus 612, and the contents of the RAM-type data memory 614. The CPU 611 controls the wireless LAN unit 616 through the wireless LAN communication control unit 615 to perform wireless LAN communication with other communication terminal devices. Specifically, the wireless LAN unit 616 is configured to perform data (packet) communication in a WLAN system compliant with, for example, the IEEE 802.11 standard series (IEEE 802.11a / b / g / n / ac / ax / be, etc.) as wireless LAN communication. It is also capable of communication as an AP compatible with Multi-Link communication. However, it is not limited to this, and the wireless LAN unit 616 may also be capable of performing communication in WLAN systems compliant with other standards. In this example, the wireless LAN unit 616 is assumed to be capable of communication in the 2.4GHz, 5GHz, and 6GHz frequency bands. However, the wireless LAN unit 616 is not limited to this, and may be capable of communicating in one or more frequency bands, including the 2.4GHz band, 5GHz band, and 6GHz band. Furthermore, the wireless LAN communication control unit 615 performs interference wave detection processing when performing wireless communication in a band where DFS (Dynamic Frequency Selection) is implemented. If interference waves are detected when performing wireless communication in a band where DFS is implemented, the wireless LAN communication control unit 615 performs channel change processing, such as when it is necessary to immediately switch to an available channel.
[0063] Furthermore, the CPU 611 controls the wired LAN unit 618 through the wired LAN communication control unit 617 to perform wired LAN communication with other communication terminal devices. The CPU 611 can accept user operations via the operation buttons 620 by controlling the operation control unit 619. The CPU 611 includes at least one processor. The wireless unit 401 is capable of performing WFD-based communication, communication in soft AP mode, communication in wireless infrastructure mode, etc. The operation in these modes will be described later.
[0064] (P2P communication method) Next, we will outline the P2P (WLAN) communication method, which allows devices to communicate directly wirelessly with each other without going through an access point outside the MFP100. P2P (WLAN) communication can be implemented using multiple methods; for example, a communication device can support multiple modes for P2P (WLAN) communication and can selectively use any of these modes to perform P2P communication (WLAN). In this embodiment, the connection between the MFP100 and other devices without going through an access point outside the MFP100 is called a direct connection.
[0065] Three P2P modes are anticipated: • Soft AP mode • Wi-Fi Direct (WFD) mode • Network setup mode A communication device capable of performing P2P communication may be configured to support at least one of these modes. On the other hand, a communication device capable of performing P2P communication is not required to support all of these modes, but may be configured to support only some of them.
[0066] A communication device with WFD communication capabilities (for example, a mobile terminal device 101) receives user input via its control panel, thereby calling a (possibly dedicated) application to implement its communication functionality. The communication device then displays a UI (user interface) screen provided by the application to prompt user input, and can perform WFD communication based on the received user input.
[0067] ● Soft AP mode In soft AP mode, the communication device (e.g., mobile terminal device 101) acts as a client requesting various services. The other communication device (e.g., MFP100) operates as a soft AP capable of performing WLAN AP functions through software configuration. The commands and parameters transmitted and received when establishing a wireless connection between the client and the soft AP are those specified in the Wi-Fi® standard, so their explanation is omitted here. In addition, the MFP100 operating in soft AP mode determines the frequency band and frequency channel available for use as a master station. Therefore, the MFP100 can select which frequency band to use from 2.4GHz, 5GHz, and 6GHz, and which frequency channel to use within that frequency band.
[0068] ●WFD mode The MFP100 can be configured to start permanently as the master station in WFD mode (Autonomous Group Owner). In this case, the GO Negotiation process to determine the role is unnecessary. Also, in this case, the MFP100, as the master station, determines the frequency band and frequency channel. Therefore, the MFP100 can select which frequency band to use from 2.4GHz, 5GHz, and 6GHz, and which frequency channel to use within that frequency band.
[0069] ●Network setup mode Furthermore, in this embodiment, the MFP100 can operate in network setup mode, which is a mode for performing network setup of the MFP100 by accepting a predetermined operation from the user. When the MFP100 operates in network setup mode, it operates as a setup access point that is active during operation in network setup mode by using the communication control unit 240 and the wireless unit 250. This setup access point is a different access point from the access point that is enabled in AP mode as described above. The SSID of this setup access point shall contain a predetermined string that can be recognized by the setting application of the mobile terminal device 101. Also, this setup access point shall be an access point that does not require a password for connection. Furthermore, when the MFP100 is operating in network setup mode, it shall use a predetermined communication protocol (setup communication protocol) in communication with the information processing device 101 connected to the setup access point. Specifically, the setup communication protocol is, for example, SNMP (Simple Network Management Protocol). Other specific examples of the setup communication protocol include HTTP (Hypertext Transfer Protocol) and DPP (Device Provisioning Protocol). After starting operation in network setup mode, the MFP100 will stop operating in network setup mode and disable the setup access point after a predetermined period of time has elapsed. This is because, as mentioned above, the setup access point does not require a password, and if it is enabled for a long time, the likelihood of unauthorized devices requesting a connection increases. The setup access point may be an access point that requires a password. In that case, the password used for the setup access point user connection shall be a fixed (user-unchangeable) password that the configuration application has known in advance.
[0070] In this embodiment, the MFP 100, which has started operating in network setup mode, performs connection setting processing by communicating with the mobile terminal device 101. Specifically, the mobile terminal device 101 first performs connection settings (network settings), which are settings for operating the MFP 100 using at least one communication method from infrastructure connection and direct connection, using wireless communication with the MFP 100. The connection setting processing in this embodiment is performed by wireless communication and is therefore also called cableless setup (CLS). Note that the connection setting processing may also be performed by wired communication. The mobile terminal device 101 performs connection setting processing to the MFP 100 when a predetermined application stored in the external storage device 103 or the like is running. The MFP 100 can operate in network setup mode (connection setting state), which is a mode for performing connection setting processing, and performs connection setting processing while operating in network setup mode.
[0071] When the mobile terminal device 101 operates the MFP 100 in infrastructure connection mode, it wirelessly transmits infrastructure configuration information, which is the configuration information for operating in infrastructure connection mode, to the MFP 100. The infrastructure configuration information includes information about AP 102. Information about AP 102 includes, for example, the SSID (Service Set Identifier), password, and frequency band information.
[0072] On the other hand, when the mobile terminal device 101 operates the MFP100 in direct connection mode, it wirelessly transmits direct configuration information, which is the configuration information for operating in direct connection mode, to the MFP100. The direct configuration information includes instructions for enabling the WFD function and operating as a Group Owner, and for enabling the access point settings of the MFP100. The mobile terminal device 101 also obtains connection information necessary to directly connect to the MFP100 from the MFP100. The connection information for directly connecting to the MFP100 includes, for example, information such as the SSID and password of the MFP100 operating in direct connection mode.
[0073] In this embodiment, a direct connection for connection setup is used between the mobile terminal device 101 and the MFP 100 for transmitting infrastructure setting information and direct setting information, and for obtaining information for direct connection with the MFP 100 during the connection setup process. In this embodiment, a Wi-Fi connection setup process is performed as the direct connection for connection setup, but other wireless communication standards such as Bluetooth may be used. Alternatively, wired communication standards such as wired LAN or USB (Universal Serial Bus) may be used as the direct connection for connection setup.
[0074] After the connection setup process establishes an infrastructure connection or direct connection between the mobile terminal device 101 and the MFP 100 via Wi-Fi (wireless LAN), communication becomes possible between the mobile terminal device 101 and the MFP 100 via the established connection. Specifically, for example, the mobile terminal device 101 can send print jobs to the MFP 100 to perform printing, or scan jobs to perform scanning, via the established connection. In this embodiment, the connection setup process can operate the MFP 100 in either infrastructure connection mode or direct connection mode, but the embodiment is not limited to this configuration. For example, the connection setup process may only allow the MFP 100 to operate in infrastructure connection mode (i.e., it may not be possible to operate the MFP 100 in direct connection mode).
[0075] (Wireless infrastructure mode) In wireless infrastructure mode, communication devices that communicate with each other (for example, the mobile terminal device 101 and the MFP 100) are connected to an external access point (AP) that manages the network (for example, AP 102), and communication between communication devices takes place via that AP. In other words, communication between communication devices is performed via the network established by the external AP. When the mobile terminal device 101 and the MFP 100 each discover AP 102, send connection requests to AP 102, and connect, communication between these communication devices in wireless infrastructure mode via AP 102 becomes possible. Note that multiple communication devices may be connected to separate APs. In this case, data transfer between APs enables communication between communication devices. The commands and parameters sent and received during communication between each communication device via the access point can be those specified in the Wi-Fi standard, so a detailed explanation is omitted here. In this case, AP 102 determines the frequency band and frequency channel. Therefore, AP102 can select which frequency band to use from 5GHz, 2.4GHz, and 6GHz, and which frequency channel to use within that frequency band. In this embodiment, the connection of MFP100 to other devices via an access point outside of MFP100 is called a direct connection.
[0076] (Example of data configuration for MFP100, etc.) First, let's refer to Figure 7C to explain an example of the data structure held by the MFP100. Figure 7C(a) shows an example of the program structure stored in the ROM 213 of the MFP100. Program 730 includes the program executed by the CPU 212 of the MFP100, as well as the control program 740 for the communication control unit 240 and the MAC (Media Access Control) address OUI 731 of the communication device (MFP100). The MAC address is identification information for the LAN interface and consists of 6 bytes. The first 3 bytes are called OUI (Organizationally Unique Identifier, or vendor code, organization-specific identifier) or "Mac Address Block Large". The OUI is assigned to the manufacturer (vendor) of the network equipment. The OUI 731 and the OUI included in the MAC address 760 described later are assumed to be values assigned to the manufacturer of the MFP100. The OUI 751 described later is assumed to be a value assigned to the manufacturer of the wireless chip, which is the wireless communication unit installed in the MFP100. Note that the MFP100 does not need to have OUI731 in program 730.
[0077] The control program 740 is executed by the communication control unit 240 if the communication control unit 240 is implemented with dedicated hardware. On the other hand, if the communication control unit 240 is implemented by the CPU 212 by executing a program, the control program 740 may be a program for that purpose.
[0078] The control program 740 of the communication control unit 240 includes the control program 750 of the wireless unit 250 and the initial value 741 of the MAC address of the MFP100. Furthermore, the control program 750 of the wireless unit 250 includes the OUI751 of the MAC address of the wireless unit 250. The control program 750 is provided from the communication control unit 240 to the wireless unit 250. As a result, the wireless unit 250 can recognize the OUI751.
[0079] Figure 7C(b) shows the data stored in the non-volatile memory 255 of the wireless unit 250. The non-volatile memory 255 of the wireless unit 250 stores the MAC address 760 of the wireless unit 250, and as shown in Figure 7C(c), the MAC address 760 consists of 6 bytes, from the first octet 761 to the sixth octet 766. A MAC address is a 6-byte (48-bit) identifier defined by IEEE 802. Note that AA to FF shown here are symbols that represent 1-byte values and do not represent specific hexadecimal numbers.
[0080] Each octet stores a value between 0x00 and 0xFF. MAC addresses are sometimes written as "AA-BB-CC-DD-EE-FF" or "AA:BB:CC:DD:EE:FF" by separating each octet with "-" or ":". The least significant bit of the first byte (first octet) 761 is called the "I / G (Individual / Group) bit" and is used to distinguish between unicast and multicast. The second least significant bit of the first octet 761 is called the "G / L (Global / Local) bit" and is used to distinguish between global and local addresses. The first three bytes of the MAC address (from the first octet 761 to the third octet 763) are called the OUI, as mentioned above. In this embodiment, as described above, the OUI included in the MAC address pre-stored in the non-volatile memory 255 is assumed to be the OUI corresponding to the MFP100 vendor.
[0081] The last three bytes of the MAC address 760 of the wireless unit 250 may be different for each communication mode, or they may be the same for all modes. Alternatively, the wireless unit 250 may be configured to acquire a random value within a certain range each time it is started. In this case, the first byte of the MAC address may be configured to acquire a value such as "X2" or "X6" (where "X" is any value from 0x0 to 0xF). However, in any case, at least one of the last three bytes of the MAC address will be set to a value other than 0. Furthermore, the MAC address corresponding to WFD mode and the MAC address corresponding to network setup mode may be the value obtained from the wireless unit 250 corresponding to wireless infrastructure mode with the GL bit set.
[0082] Figure 7C(d) shows the control program and data loaded into the RAM 254 of the wireless unit 250. This configuration is obtained by loading the program and data into the RAM 254 using the procedure shown in Figure 7A or Figure 7B. The control program 750 is loaded into the RAM 254 of the wireless unit, and the MAC address of the wireless unit 250 is stored in a predetermined memory area, area 770. Based on the MAC address stored in this area 770, the success of the startup of the wireless unit 250 is determined according to Figure 8 or Figure 9, which will be described later.
[0083] Note that the data structure shown in Figure 7C(a) does not necessarily have to be a nested structure as illustrated. The purpose of a nested structure is to transfer the inner data (including the program) together with the data that contains it, so as long as this is achieved, a nested structure is not required.
[0084] (Startup process for the wireless unit) The communication control unit 240 of the MFP100 controls the wireless unit 250. The processing of the communication control unit 240 is realized by the CPU 212 or dedicated hardware as shown in Figure 2B(c), particularly the CPU 242, which executes a program.
[0085] Figures 7A and 7B show examples of data flow for the process performed when starting up the wireless unit 250 of the MFP100. The startup process for the wireless unit 250 involves transferring the control program to the wireless unit and obtaining the MAC address stored in the wireless unit's non-volatile memory.
[0086] ●Startup process of the wireless unit by the CPU212 of the MFP100 Figure 7A is a sequence diagram of the startup process for the wireless unit 250 when the CPU 212 implements the processing of the communication control unit 240. The sequence in Figure 7A is executed when the MFP 100 is powered on (started up) or during a reset. The startup process includes two phases: initialization and MAC address setting. The startup process also includes transferring the control program 750 for the wireless unit and setting the MAC address for the wireless unit.
[0087] In S701, the CPU 212 transfers the control program 730 for the MFP 100, which is stored in part of the ROM 213, to the RAM 214. The portion of the control program transferred to the RAM 214 includes a control program 740 for the CPU 212 to implement the communication control unit 240. It also includes a control program 750 executed by the CPU 252 of the wireless unit 250.
[0088] The CPU 212 then proceeds to initialize the wireless unit 250. During this initialization process, in S702, the CPU 212 transfers and duplicates the control program 750 of the wireless unit 250 from RAM 214 to RAM 254 of the wireless unit 250.
[0089] If the initialization process of the wireless unit 250 is successful, the CPU 212 starts up the wireless unit 250. Accordingly, the CPU 252 of the wireless unit 250 executes the control program 750 after the wireless unit 250 has started up. When the control program 750 is executed, in S703 the CPU 252 retrieves the MAC address 760 of the wireless unit 250 stored in the non-volatile memory 255 of the wireless unit 250 and copies it to area 770 in the RAM 254 of the wireless unit 250.
[0090] If obtaining MAC address 760 fails, CPU 252 in S704 obtains the wireless unit's OUI 751, which is included in the wireless unit's control program 750, and copies it to area 770 in RAM 254 of the wireless unit 250.
[0091] As a result of the sequence in Figure 7A, if the wireless unit 250 is successfully started and its MAC address is obtained, the wireless unit MAC address 760 is stored in a predetermined area of the wireless unit 250's RAM 254. If the wireless unit 250 is successfully started but its MAC address cannot be obtained, the OUI 751 of the wireless unit's MAC address is stored in a predetermined area of the wireless unit 250's RAM 254. Furthermore, if the wireless unit 250 fails to start, neither the MAC address nor its OUI is stored in the predetermined area of the wireless unit 250's RAM 254.
[0092] ●Startup process of the wireless unit by the CPU 242 of the communication control unit 240 Figure 7B is a sequence diagram of the startup process of the wireless unit 250 when the processing of the communication control unit 240 is implemented by dedicated hardware as shown in Figure 2B(c). The sequence in Figure 7B is executed when the MFP100 is powered on (started up) or during the reset process.
[0093] In S711, the CPU 212 transfers the control program 730 for the MFP 100, which is stored in part of the ROM 213, to the RAM 214. The portion of the control program transferred to the RAM 214 includes the control program 740 executed by the CPU 242 of the communication control unit 240 and the control program 750 executed by the CPU 252 of the wireless unit 250.
[0094] In S712, CPU 212 transfers the control program 740, which is executed by CPU 242 of the communication control unit 240 when the MFP100 or wireless unit 250 is started, from RAM 214 to RAM 242 within the communication control unit 240. The transferred control program 740 of the communication control unit 240 is executed by CPU 242 of the communication control unit 240, and performs input / output control related to network communication. A portion of the control program 740 transferred to RAM 243 of the communication control unit 240 includes the control program 750, which is executed by CPU 252 of the wireless unit 250.
[0095] Next, the CPU 242 of the communication control unit 240 initializes the wireless unit 250. In this initialization process, at S713, the CPU 242 transfers and duplicates the control program 750 of the wireless unit 250 from the RAM 243 of the communication control unit 240 to the RAM 254 of the wireless unit 250.
[0096] If the initialization process of the wireless unit 250 is successful, the CPU 242 of the communication control unit 240 starts up the wireless unit 250. Accordingly, the CPU 252 of the wireless unit 250 executes the control program 750 after the wireless unit 250 has started up. When the control program 750 is executed, in S714 the CPU 252 of the wireless unit 250 retrieves the MAC address 760 of the wireless unit stored in the non-volatile memory 255 and copies it to area 770 in the RAM 254 of the wireless unit 250.
[0097] If obtaining MAC address 760 fails, CPU 252 in S715 obtains the wireless unit's OUI 751, which is included in the wireless unit's control program 750, and copies it to area 770 in RAM 254 of the wireless unit 250.
[0098] As a result of the sequence shown in Figure 7B, if the wireless unit 250 is successfully started and its MAC address is obtained, the wireless unit MAC address 760 is stored in a predetermined area of the wireless unit 250's RAM 254. If the wireless unit 250 is successfully started but its MAC address cannot be obtained, the OUI 751 of the wireless unit's MAC address is stored in a predetermined area of the wireless unit 250's RAM 254. Furthermore, if the wireless unit 250 fails to start, neither the MAC address nor its OUI is stored in the predetermined area of the wireless unit 250's RAM 254.
[0099] <First Embodiment> Next, a first embodiment of the system configuration described above will be explained. In each device according to this embodiment, the operation of the first embodiment, which performs retry processing while reducing user operation when an error occurs in the wireless unit 250 of the MFP100, will be explained. This embodiment is particularly effective for devices that perform communication control with an embedded processor with limited processing performance, and for devices that perform wireless communication equipped with a display unit with a limited display area or a wireless unit with limited processing performance.
[0100] Figure 8 is a flowchart of the process that determines what kind of retry processing to perform depending on the state of the MFP100 when an error occurs during the startup process of the MFP100's wireless unit 250. In this flowchart, the processing performed by each device is realized by the CPU of each device reading various programs stored in the memory such as ROM of each device into RAM and executing them. In this embodiment, there are multiple processes that trigger the execution of the process in Figure 8. Specifically, the first trigger is when the power button of the MFP100 is pressed, causing the MFP100 to perform the power-on (soft-on) process. If the process in Figure 8, which was started by the first trigger, finishes without displaying an error screen because a correct MAC address was obtained, the MFP100 will execute the home screen. The second trigger is when the "Enable / Disable Wireless LAN" button in Figure 3A(c) is selected, enabling the wireless LAN function of the MFP100. If the process shown in Figure 8, initiated by the second trigger, completes without displaying an error screen because a correct MAC address is obtained, and the MFP100 retains the connection information for AP102, it will attempt to connect to AP102. The obtained correct MAC address will be used in the process of attempting to connect to AP102 and in the process of communicating with AP102. The third trigger is accepting the press of the "Enter password and set up" button in Figure 3A(d). If the process shown in Figure 8, initiated by the third trigger, completes without displaying an error screen because a correct MAC address is obtained, the MFP100 will perform a process of searching for AP102s around it using its wireless LAN function, and a process of displaying a list of found AP102s and accepting selection. Furthermore, the MFP100 will accept the input of a password to connect to the selected AP102 and a process of attempting to connect to AP102 using the entered password will be performed. The obtained correct MAC address will be used in the process of attempting to connect to AP102 and in the process of communicating with AP102. The fourth trigger is the acceptance of a press of the "Set up with router button" button in Figure 3A(d).If the process shown in Figure 8, initiated by the fourth trigger, completes without displaying an error screen because a correct MAC address is obtained, a process to attempt to connect to AP102 via WPS will be executed. The obtained correct MAC address will be used in the process to attempt to connect to AP102 and in the process to communicate with AP102. The fifth trigger is the acceptance of the press of the "Set up with PC / smartphone" button in Figure 3A(d). If the process shown in Figure 8, initiated by the fifth trigger, completes without displaying an error screen because a correct MAC address is obtained, operation in network setup mode will begin and connection setting processing will be executed. The obtained correct MAC address will be used in the process to start operation in network setup mode, in the process to communicate with the mobile terminal device 101 in the connection setting process, in the process to attempt to connect to AP102 in the connection setting process, and in the process to communicate with AP102. Note that the triggers for starting the process in Figure 8 are not limited to the triggers described above. This could also involve other operations related to the wireless LAN function being performed on the MFP100, or it could involve specific communication taking place between an external device such as a mobile terminal device 101 and the MFP100.
[0101] When the process shown in Figure 8 begins, the CPU 212 of the MFP100 starts the startup process for the wireless unit 250. The startup process for the wireless processing unit 250 is as shown in Figure 7A or Figure 7B. In the startup process for the wireless unit 250, first, in S801, the CPU 212 or CPU 242 performs the initialization process for the wireless unit 250, and in that process, transfers the control program 750 to the wireless unit 250. This is as shown in S702 in Figure 7A or S713 in Figure 7B. If the communication control unit 240 has a CPU 242, S801 is executed by the CPU 242; otherwise, it is executed by the CPU 212 of the MFP100. This is also as shown in Figures 7A and 7B.
[0102] Next, in S802, the CPU 212 or CPU 242 that executed S801 determines whether the initialization process of the wireless unit 250 was successful or not. If it is determined that the initialization process of the wireless unit 250 was successful, it branches to S803; if it is determined that it failed, it branches to S808.
[0103] Specifically, S802 determines that the initialization process has failed if the transfer (or duplication) of the control program 750 to the wireless unit 250, which was performed in S801, fails. For example, the transfer (duplication) of the control program 750 of the wireless unit will fail if the MFP100 bus (bus 225, bus 241, or bus 251) is faulty, or if the control program 750 of the wireless unit 250 is corrupted. Furthermore, the transfer (duplication) of the control program 750 of the wireless unit will also fail if the RAM 254 of the wireless unit 250 is faulty. In addition, if the CPU 252 of the wireless unit 250 does not respond to a predetermined condition after the reset of the CPU 252 of the wireless unit 250 is released, the initialization process is determined to have failed. On the other hand, if the transfer of the control program 750 to the wireless unit 250 is successful, and a predetermined condition is received from the wireless unit 250 after the reset of the CPU 252 of the wireless unit 250 is released, the initialization process is determined to have succeeded.
[0104] In step S803, the CPU 252 of the wireless unit 250 sets the MAC address of the wireless unit 250. This step corresponds to steps S703-S704 in Figure 7A or S714-S715 in Figure 7B. Specifically, in step S803, the CPU 252 obtains the MAC address 760 of the wireless unit 250 from the non-volatile memory 255 and stores it in area 770 of the RAM 254.
[0105] Next, in S804, the CPU 212 of the MFP100 obtains the MAC address of the wireless unit 250 that was set in S803. Specifically, it obtains the MAC address held in area 770 which holds the MAC address of the wireless unit 250. If the communication control unit 240 that controls the wireless unit 250 is implemented with hardware as shown in Figure 2B(c), the CPU 212 may obtain the MAC address of the wireless unit 250 via the communication control unit 240. Furthermore, the CPU 212 also obtains a value other than the MAC address, which relates to the status of MAC address acquisition by the communication control unit 240. The value indicating the MAC address acquisition status by the communication control unit 240 is specifically one of the following: a first value corresponding to the communication control unit 240 acquiring a MAC address from the wireless unit 250 that does not contain OUI in the first three bytes; a second value corresponding to the communication control unit 240 acquiring a MAC address from the wireless unit 250 that includes OUI in the first three bytes; and a third value corresponding to the communication control unit 240 failing to acquire a MAC address from the wireless unit 250. If the communication control unit 240 fails to acquire a MAC address from the wireless unit 250, the CPU 212 also fails to acquire the MAC address via the communication control unit 240. The CPU 212 also initializes the area for storing the MAC address acquired from the wireless unit 250 (address storage area) so that an initial value is stored in that area. The initial value is, for example, a series of zeros. Subsequently, if the value indicating the MAC address acquisition status by the communication control unit 240 is the first value, the CPU 212 stores the MAC address acquired from the wireless unit 250 in the address storage area. On the other hand, if the value related to the MAC address acquisition status by the communication control unit 240 is the second value, the CPU 212 discards the MAC address acquired from the wireless unit 250 without saving it to the address storage area. Furthermore, the CPU 212 remembers that the value related to the MAC address acquisition status by the communication control unit 240 is the second value. In this case, the initial value remains stored in the address storage area.Furthermore, if the value related to the MAC address acquisition status by the communication control unit 240 is the third value, the CPU 212 discards the MAC address acquired from the wireless unit 250 without saving it to the address storage area, and also discards the value related to the MAC address acquisition status by the communication control unit 240 without storing it. In this case, the initial value remains stored in the address storage area.
[0106] In S805, CPU212 executes the following process. As explained in Figures 7A and 7B, if RAM254 has successfully obtained MAC address 760 from non-volatile memory 255, and the first value has been obtained by the communication control unit 240 as a value related to the MAC address acquisition status, the obtained MAC address 760 is stored in area 770 of the wireless unit 250. Since at least one byte of the latter half of MAC address 760 (fourth octet 764 to sixth octet 766) is a non-zero value, in this case, at least one byte of the latter three bytes of area 770 is a non-zero value. Also, as mentioned above, MAC address 760 includes OUI corresponding to the MFP100 vendor. In contrast, if RAM254 fails to obtain MAC address 760 from non-volatile memory 255, and the first value is obtained by the communication control unit 240 as a value related to the MAC address acquisition status, then area 770 holds the MAC address including OUI751 and the initial value for the latter 3 bytes (for example, a series of zeros). This is as explained in Figures 7A and 7B. Therefore, in S805, CPU212 determines whether or not the first value has been obtained by the communication control unit 240 as a value related to the MAC address acquisition status. If CPU212 determines it is YES, it proceeds to S808; if it determines it is NO, it proceeds to S806.
[0107] In S806, CPU212 performs the first retry process. CPU212 determines whether the number of retries for the startup process of the wireless unit 250 is less than or equal to a first threshold (e.g., 5). If the number of retries for the startup process of the wireless unit 250 is less than or equal to the first threshold (e.g., 5), it returns to S801 to perform the process again; otherwise, it proceeds to S807. If the correct MAC address is not obtained despite 5 or more retry attempts, it is assumed that an error has occurred due to a long-term factor, and an error screen is displayed. This number of attempts can be counted when branching to S801.
[0108] The S807 process is performed when the wireless unit startup process fails due to a temporary or long-term factor, and the retry process also fails. In S807, the CPU 212 displays an error screen on the operation display unit 220 as shown in Figure 3B(k). The error screen displays a message indicating the cause of the error and possible actions the user can take to resolve it. It also includes a QR code button for displaying a code image such as a QR code (registered trademark) that can be read by a mobile terminal device 101, and an OK button for when no particular action is taken regarding the error. When the "QR code" button is selected on the screen shown in Figure 3B(k), the MFP 100 displays a screen containing a QR code as shown in Figure 3C(p). When the displayed QR code is read by the camera screen of the mobile terminal device 101 (Figure 5B(i)) and the "Open browser" button is selected, an error screen indicating that an error has occurred and showing methods to resolve the error is displayed in the browser via a web page, as shown in Figure 5A(c), corresponding to the URL contained in the QR code. Note that the content displayed by the browser may also be displayed on Figure 3B(k) instead of the browser. In that case, Figure 3B(k) does not need to include an area for displaying the QR code. When the "OK" button is selected on Figure 3B(k), an idle screen (home screen) as shown in Figure 3A(a) will be displayed.
[0109] In addition, S807 may switch the error screen displayed depending on the trigger of the process in Figure 8. Specifically, if the trigger for the process in Figure 8 is the first trigger, an error screen like that shown in Figure 3B(k) may be displayed, and if the trigger for the process in Figure 8 is the second, third, fourth, or fifth trigger, an error screen like that shown in Figure 3C(m) may be displayed. Furthermore, S807 may display an idle screen like that shown in Figure 3A(a) without displaying the aforementioned error screens.
[0110] In S808, CPU212 determines whether the MAC address obtained from the wireless unit 250 and stored in the address storage area is a sequence of 0s or Fs. If the MAC address obtained from the wireless unit 250 and stored in the address storage area is a sequence of 0s or Fs, it means that the correct MAC address, MAC address 760, has not been obtained. If the MAC address obtained from the wireless unit 250 and stored in the address storage area is not a sequence of 0s or Fs, it means that the correct MAC address, MAC address 760, has been obtained. Therefore, if CPU212 determines it to be YES, it terminates this process; if it determines it to be NO, it proceeds to S809.
[0111] Note that S805 and S808 are processes to determine whether the correct MAC address, MAC address 760, has been obtained, but are not limited to the form described above. For example, it may be determined whether the MAC address obtained from the wireless unit 250 and stored in the address storage area contains OUI731. If it is determined that the MAC address contains OUI731, it is considered that the correct MAC address, MAC address 760, has been obtained, and this process may be terminated. On the other hand, if it is determined that the MAC address does not contain OUI731, the process may proceed to S809.
[0112] Furthermore, cases judged as NO in S805 are highly likely to be cases where the CPU 212 was unable to obtain the correct MAC address due to an error in the wireless unit 250 or communication control unit 240 caused by a temporary factor. Cases judged as YES in S808 are highly likely to be cases where the CPU 212 was unable to obtain the correct MAC address due to an error in the wireless unit 250 or communication control unit 240 caused by a long-term factor. A temporary factor is a factor that is likely to be resolved in a short period of time. A long-term factor is a factor that is likely to be resolved or will not be resolved in a longer period of time than the temporary factor.
[0113] Temporary factors specifically include, for example, unstable operation of the wireless unit 250, or memory errors occurring due to reasons such as static electricity or cosmic rays. Other examples include errors in communication with the wireless unit 250 due to noise or poor contact, or malfunctions in the control program of the wireless unit 250. For example, if the operation of the wireless unit 250 is temporarily unstable, the process of obtaining the MAC address 760 recorded in the non-volatile memory 255 of the wireless unit 250 may fail. In this case, if the initialization of the wireless unit 250 was successful, the area 770 that holds the MAC address of the wireless unit 250 will contain the wireless unit's OUI 751, and the last three bytes of area 770 will be 0.
[0114] Furthermore, long-term factors specifically include, for example, the failure of the wireless unit 250 (CPU 252, ROM 253, RAM 254, non-volatile memory 255) due to aging or other reasons, or the failure of the communication device's bus 255. Another example is a broken cable connecting the main board 211 and the wireless unit 250, preventing the communication control unit 240 from recognizing the wireless unit 250. Additionally, if the RAM 254 or non-volatile memory 255 of the wireless unit 250 fails, S804 may receive a response from the wireless unit 250 containing the initial MAC address 741 within the control program 740 of the communication control unit. Specific examples of the initial value 741 include, for example, "00-00-00-00-00-00" or "FF-FF-FF-FF-FF-FF". Furthermore, the MAC address 760 (especially the first octet 761 to the third octet 763) held by the non-volatile memory 255 of the wireless unit 250 may be corrupted. In this case, the first half (OUI) of the MAC address obtained by S804 will be different from the OUI 731 of the communication device's MAC address in the MFP100 program. Thus, the value of the MAC address obtained from the wireless unit 250 will differ depending on whether the startup process of the wireless unit 250 failed due to a temporary or long-term factor. Therefore, the CPU 212 can determine whether the startup process of the wireless unit 250 failed due to a temporary or long-term factor by checking the value of the MAC address obtained from the wireless unit 250 and the value related to the MAC address acquisition status by the communication control unit 240, which changes depending on the content of the MAC address.
[0115] In other words, temporary causes of errors are those that are highly likely to be resolved by restarting, while long-term causes of errors are those that are not resolved by restarting, or are highly unlikely to be resolved.
[0116] In S809, the CPU 212 performs a second retry process. The CPU 212 determines whether the number of retries for the startup process of the wireless unit 250 is less than or equal to a second threshold (e.g., 1). If the number of retries for the startup of the wireless unit 250 is less than or equal to the second threshold (e.g., 1), the process returns to S801 and continues; otherwise, the process proceeds to S810. If the correct MAC address is not obtained despite one or more retry processes being executed, it is assumed that an error has occurred due to a long-term factor, and an error screen is displayed. Here, the threshold used for the determination in S806 is greater than the threshold used for the determination in S809. In S809, there is a high possibility that the error has occurred due to a long-term factor, and there is little need to repeat the retry process many times. On the other hand, in S806, there is a high possibility that the error has occurred due to a temporary factor, so it is preferable to repeat the retry process and wait for the error to be resolved. For this reason, in this embodiment, the threshold used for the determination in S806 is different from the threshold used for the determination in S809. Note that the threshold used for the determination in S809 may be 0. Alternatively, the process may skip the judgment in S809 and proceed directly to S810.
[0117] The S810 process is performed when the wireless unit startup process fails due to a temporary or long-term factor, and the retry process also fails. In S810, the CPU 212 displays an error screen on the operation display unit 220 as shown in Figure 3B(l). This screen indicates that an error has occurred in the MFP 100. When the QR code button is selected on this screen, a QR code containing a URL corresponding to the error is displayed. When the displayed QR code is read by the mobile terminal device 101, as in S809, a screen like Figure 5B(i) is displayed. When the "Open in Browser" button is selected on that screen, an error screen like Figure 5A(d) is displayed in the browser. This error screen displays an area indicating that an error has occurred and possible actions the user can take to resolve the error. Note that this information displayed on the error screen may also be displayed on the screen shown in Figure 3B(l). In that case, the area for displaying the QR code does not need to be included in Figure 3B(l). When the "Back" button is selected, the user returns to the idle screen shown in Figure 5A(a). In this process as well, the error screen displayed may be switched by the trigger of the process shown in Figure 8, similar to S807. Also, in this embodiment, the screen displayed in S807 and the screen displayed in S810 are different, but the system is not limited to this configuration. The screen displayed in S807 and the screen displayed in S810 may be the same. Specifically, for example, both the screen displayed in S807 and the screen displayed in S810 may be error screens as shown in Figure 3B(l). After that, the process of this flowchart is terminated.
[0118] As described above, according to this embodiment, if the startup process of the MFP100's wireless unit fails, the cause of the failure is determined from the MAC address of the wireless unit, and the number of startup retries and the content of the error display are switched according to the cause of the failure. If the failure is due to a temporary cause, more startup retries are performed than if the failure is due to a long-term cause. Also, if the startup process of the wireless unit is successful after a startup retry, the error screen is not displayed. In this way, by determining the cause of failure in the startup process of the MFP100's wireless unit and performing more thorough startup retries if the failure is due to a temporary cause, it is possible to resolve errors with as little user intervention as possible.
[0119] According to this embodiment, when an error occurs in a communication device such as the MFP100, it is possible to improve the availability of wireless communication while reducing user operation by performing control according to the cause of the failure and the state of the communication device. In particular, when an error occurs in the startup process of the wireless unit, it is possible to estimate whether the cause of the error is temporary or long-term, present a message to the user according to the cause of the error, and allow the user to take appropriate action. Furthermore, even if an error occurs, retries are performed to resolve the error without immediately notifying the user, and the user is notified of the error only when the retry finally fails. In addition, the number of retries for the startup process is changed depending on whether the cause of the error is temporary or long-term. Specifically, the number of retries for long-term causes is reduced compared to temporary causes. This makes it possible to suppress retries for startup processes for errors caused by long-term causes with a low probability of recovery. Furthermore, in the case of temporary causes with a high probability of recovery, the number of retries is increased to attempt to resolve the error. As a result, the usability of wireless communication in the communication device can be improved. In particular, errors that can be resolved are attempted to be resolved without notifying the user, and errors that are difficult to resolve are notified to the user with a reduced number of retries. Therefore, in addition to reducing the number of errors that need to be notified, errors that do need to be notified can be notified quickly, which also improves usability.
[0120] [Differentiation] The method for determining whether the startup process of the wireless unit 250 was successful or unsuccessful in S805 is not limited to the method described above. For example, if the communication control unit 240 fails to transfer the control program 750 to the wireless unit 250, it may be determined that the startup process of the wireless unit 250 has failed. Also, if, after transferring the control program 750 to the wireless unit and releasing the reset of the CPU 252 of the wireless unit 250, there is no response from the wireless unit 250 within a predetermined time, it may be determined that the startup process of the wireless unit 250 has failed. Furthermore, if a response indicating failure is returned to the control request made to the wireless unit 250 during the startup process of the wireless unit 250, it may be determined that the startup process of the wireless unit 250 has failed. Also, for example, if a response indicating success is returned to the control request made to the wireless unit 250 during the startup process of the wireless unit 250, it may be determined that the startup process of the wireless unit was successful. Alternatively, for example, the communication control unit 240 may request the wireless unit 250 to obtain its startup status, and based on the startup status response from the wireless unit 250, it may determine whether the startup process of the wireless unit 250 was successful or unsuccessful.
[0121] Furthermore, the method for determining whether the startup process of the wireless unit 250 (transfer of the wireless unit's control program 750 and setting of the MAC address to the wireless unit) failed due to a temporary or long-term factor in S806 is not limited to the method described above. For example, if the communication control unit 240 cannot recognize the wireless unit 250, specifically if there is no response from the wireless unit 250 in S801, S803, or S804, it may be determined that the failure was due to a long-term factor. Alternatively, if no value is returned from the wireless unit 250 in S801, S803, or S804, it may be determined that the failure was due to a long-term factor. In all other cases, it may be determined that the failure was due to a temporary factor. In addition, if the communication control unit 240 periodically checks for connectivity via the bus between itself and the wireless unit 250, and no response is returned from the wireless unit 250 within a predetermined time, or if a value indicating failure due to a long-term factor is returned, it may be determined that the failure was due to a long-term factor. In this case, in all other cases, it may be determined that the failure was due to a temporary factor.
[0122] Furthermore, the first and second thresholds may be configurable by the user. If this is applied to the second embodiment described later, a third threshold may also be configurable.
[0123] These modifications also yield the effects of the embodiment described above. Furthermore, by estimating the cause of the error in more detail, the accuracy of estimating whether the error cause is temporary or long-term improves, and actions such as displaying information to the user in response to the estimation results also become more accurate, contributing to improved usability. These modifications can also be applied to the second embodiment described later.
[0124] <Second Embodiment> Next, a second embodiment with a system configuration similar to the first embodiment will be described. In each device according to this embodiment, the operation of the second embodiment of the present invention will be described in which, in the MFP100 which can be started in one of several startup modes, a retry process is performed while reducing user operation when an error occurs in the startup process of the wireless unit. This embodiment is particularly effective for devices that perform communication control with an embedded processor with limited processing performance, or for devices that perform wireless communication equipped with a display unit with a limited display area or a wireless unit with limited processing performance.
[0125] Similar to the first embodiment, if the MFP100 fails to start the wireless unit, it determines the cause of the failure from the MAC address obtained from the wireless unit and dynamically switches the subsequent processing.
[0126] Furthermore, the MFP100 is configured to start a special startup mode (initial setup mode) that is different from the normal startup mode (normal mode) when a user who has purchased the unit first turns on the power, in order to perform initial setup from the factory default state. For example, the MFP100 is shipped from the factory without ink tanks, print heads, etc. installed in the printing unit 222. Therefore, when the user operates the MFP100 for the first time, it is necessary to prepare the MFP100 so that it can be used, such as prompting the user to install the included ink tanks, print heads, etc. In the second embodiment, when the MFP100 starts up for the first time, it automatically starts up in network setup mode as its startup mode and waits for the mobile terminal device 101 to connect. In network setup mode, after the mobile terminal device 101 connects to the MFP100, the MFP100 obtains information for connecting to the AP using a predetermined communication protocol and uses the obtained information to perform the connection process with the AP. This can be achieved, for example, with Wi-Fi Direct. In addition to network setup, other setups necessary for initial startup are performed in initial setup mode.
[0127] Furthermore, if the information necessary to connect to the AP is not recorded in either the RAM 214 or the non-volatile memory 215, the network setup mode may be automatically started and the MFP 100 may wait for a connection from the mobile terminal device 101, even if the power is turned on at a time other than the initial startup. In addition, once the MFP 100 has completed all initial setup, it changes the value of the initial startup flag stored in the non-volatile memory 215 from a value indicating the initial startup state to a value indicating the non-initial startup state. The non-initial startup state corresponds to the state during normal use. This prevents the initial startup processing sequence from being started at the next time the MFP 100 is powered on, etc.
[0128] Furthermore, the MFP100 is configured to transition to a different startup mode (standby mode) to reduce power consumption if it is not operated by the user for a certain period of time after power-on. For example, the MFP100 stores information for connecting to the AP in the RAM214, non-volatile memory215, or both. When connected to the AP, it turns off the operation display unit 220 and stops supplying power to the printing unit 222 and paper feeding unit 223. In this state, the MFP100 waits for network setup requests or print requests from a mobile terminal device 101 or the like via the wireless unit 250. When the operation display unit 220 is operated, or when a network setup request or print request is received from the mobile terminal device 101 via the wireless unit 250, it transitions to normal mode.
[0129] Furthermore, the MFP100 is configured to transition to an unusual startup mode (update mode) in order to rewrite the MFP100's program 730. For example, when the MFP100 is connected to an AP and "Update" is selected from "Other Settings" in Figure 3A(a) on the operation display unit 220, it starts up with a program specifically for the communication device's update mode, which is stored in part of the MFP100's ROM 213. In updater mode, the software of the communication device is updated. In update mode, the operation display unit 220 is turned off, and power supply to the printing unit 222 and paper feed unit 223 is stopped. In this state, the MFP100 receives an update program from a server on the network 103 via the wireless unit 250 and rewrites the MFP100's program 730 stored in the MFP100. If the update of the MFP100's program 730 is successful or unsuccessful, it transitions to normal mode.
[0130] Furthermore, to suppress the occurrence of errors, the MFP100 is configured to start in a different startup mode (safe mode) via the operation display unit 220. In safe mode, the use of some functions of the MFP100 is restricted. For example, the MFP100 can be started in a safe mode that restricts wireless communication or communication with a cloud server, i.e., cloud communication, via the operation display unit 220.
[0131] If the MFP100 is started in safe mode, which restricts wireless communication, the wireless unit 250 will not be started, and the network setup mode will not be automatically started. Furthermore, even if information for connecting to the AP is stored in RAM 214 and / or non-volatile memory 215, the communication mode startup process and the AP connection process will not be performed.
[0132] If the MFP100 is started in safe mode, which restricts cloud communication, communication with the server on network 103 will not occur. However, even when started in safe mode, which restricts cloud communication, it is also possible to configure the device so that communication with the server that distributes the update program on network 103, which is required in the aforementioned update mode, is not restricted.
[0133] This will help suppress errors in the MFP100 caused by wireless communication and cloud communication.
[0134] Thus, the MFP100 of this embodiment has the following startup modes: network setup mode, standby mode, normal mode, update mode, safe mode which restricts communication, and safe mode which restricts cloud communication. Of these, standby mode is a mode to which the user transitions from normal mode after startup, and can also be called an operating mode. Therefore, these startup modes and operating modes are sometimes collectively referred to as the operating modes at startup.
[0135] The MFP100 records information indicating which of these boot modes it is currently using in RAM214, non-volatile memory215, or both.
[0136] Figure 9 is a flowchart of the process that determines what kind of retry processing to perform depending on the state of the MFP100 when an error occurs during the startup process of the MFP100's wireless unit 250 in these startup modes. In this flowchart, the processing performed by each device is realized by the CPU of each device reading various programs stored in the memory such as ROM into RAM and executing them.
[0137] The process shown in Figure 9 is initiated when the MFP100 is started or when the communication mode is activated. For example, it is initiated when the user operates the operation display unit 200 of the MFP100 to power it on and starts it in normal mode, initial setup mode, or safe mode. Alternatively, it is initiated when the user operates the operation display unit 200 to start update mode, or when the operation display unit 200 is not operated for a certain period of time after power-on and standby mode is activated. It is also initiated based on user operations, such as selecting "Wireless LAN Setup" in Figure 3A(c) and then selecting "Set up with PC / Smartphone" in Figure 3A(d) displayed on the operation display unit 200. It may also be initiated by receiving a specific signal from an external device such as a mobile terminal device 101.
[0138] In S911, the CPU 212 determines whether the startup mode of the MFP100 is a mode that restricts wireless communication. If the startup mode of the MFP100 recorded in the RAM 214 or non-volatile memory 215 is a safe mode that restricts wireless communication, the process terminates without performing the startup process of the wireless unit 250 from S902 onward. If the startup mode is anything other than safe mode, the process proceeds to S902. If the MFP100 is started in safe mode that restricts wireless communication, the operation display unit 220 of the MFP100 may display an idle screen as shown in Figure 3A(a). Also, if the startup mode of the MFP100 is a safe mode that restricts wireless communication, when the user operation "Enable / Disable Wireless LAN" as shown in Figure 3A(c) is performed, the startup process of the wireless unit may be skipped, and a screen as shown in Figure 3C(v) may be displayed. Furthermore, if the MFP100's startup mode is safe mode, which restricts wireless communication, then when a user operation involving the startup of the wireless unit is performed from the screen shown in Figure 3A(d), the startup process for the wireless unit may be skipped, and a screen like the one shown in Figure 3C(v) may be displayed instead. User operations involving the startup of the wireless unit include, for example, "Set up with PC / smartphone," "Set up by entering a password," and "Set up using the router button." After that, CPU212 proceeds to S901.
[0139] The processing in S901-S910 is the same as that in S801-S810, so the explanation is omitted.
[0140] In S912, the CPU 212 determines whether the startup mode of the MFP 100, recorded in RAM 214, non-volatile memory 215, or both, is a specific startup mode. This specific startup mode includes a startup mode that suppresses errors and a startup mode that does not display errors. Specifically, in S912, the CPU 212 determines whether the startup mode is either an error-suppressing startup mode or an error-free startup mode. More specifically, the error-suppressing startup mode includes a safe mode that restricts cloud communication. The error-free startup mode includes an update mode for updating the MFP 100's program. Therefore, in S912, the CPU 212 only needs to determine whether the startup mode is either a safe mode that restricts cloud communication or an update mode. If the startup mode is a specific startup mode, i.e., a safe mode that restricts cloud communication or an update mode, the process proceeds to S913; otherwise, it proceeds to S906.
[0141] In S913, the CPU 212 performs a third retry process. The CPU 212 determines whether the number of retries for the startup process of the wireless unit 250 is less than or equal to a third threshold (e.g., 10). If the number of retries for the startup process of the wireless unit 250 is less than or equal to the third threshold (e.g., 10), the process returns to S901 and continues; otherwise, the process in this flowchart is terminated. In this embodiment, since the screen cannot be displayed in certain modes, the process is terminated without displaying an error screen. The third threshold can be any value as long as it is greater than the second threshold.
[0142] Furthermore, if the number of retries for the startup process of the wireless unit 250 is less than or equal to a third threshold (for example, 10), the startup mode may be switched from a startup mode that does not display errors to another mode, thereby displaying an error screen.
[0143] Furthermore, if an error occurs immediately after the MFP100 starts up in initial setup mode, a language selection screen as shown in Figure 3C(u) may be displayed, and the error screen may be displayed after a language has been selected. This allows the content of the error and how to resolve it to be displayed in the selected language.
[0144] As described above, according to this embodiment, if the startup process of the MFP100's wireless unit fails, the cause of the failure is estimated from the wireless unit's MAC address, and the number of startup retries, the content of the error display, and the timing are switched according to the cause of the failure and the startup mode. If the failure is due to a temporary cause, more startup retries are allowed than if the failure is due to a long-term cause. If the unit is started in a startup mode that suppresses errors or a startup mode that does not display errors, more startup retries are performed than if it is started in any other startup mode. In addition, even if the startup process of the wireless unit fails, if the startup retry for that failure is successful, the error screen is not displayed. Also, if the unit is started in a startup mode where it is difficult to display errors, the error is displayed after it has started in another mode. In this way, the cause of failure in the startup process of the MFP100's wireless unit is determined, and if the failure is due to a temporary cause, or if the unit is started in a startup mode that suppresses errors or a startup mode that does not display errors, the startup retry process is performed more thoroughly. This makes it possible to resolve errors with as little user intervention as possible.
[0145] Furthermore, the various controls described above, which are performed by the CPU212, may be performed by a single piece of hardware, or multiple pieces of hardware (for example, multiple processors or circuits) may share the processing to control the entire device.
[0146] Furthermore, although the present invention has been described in detail based on its preferred embodiments, the present invention is not limited to these specific embodiments, and various forms that do not depart from the spirit of the invention are also included in the present invention. Moreover, each of the embodiments described above is merely one embodiment of the present invention, and it is possible to combine each embodiment as appropriate.
[0147] Furthermore, although the above-described embodiments explained the application of the present invention to an MFP as an example, it is not limited to this example and can be applied to any wireless device that functions as an STA capable of processing requests for changing the connection destination from an AP. In other words, the present invention can be applied to personal computers, PDAs, tablet terminals, mobile phone terminals such as smartphones, music players, game consoles, e-book readers, smartwatches, and various measuring devices (sensor devices) such as thermometers and hygrometers. The present invention can also be applied to digital cameras (including still cameras, video cameras, network cameras, and security cameras), printers, scanners, and drones. The present invention can also be applied to video output devices, audio output devices (e.g., smart speakers), media streaming players, and wireless LAN adapters that can connect to USB terminals or LAN cable terminals. Video output devices include, for example, devices such as set-top boxes, which acquire (download) videos and still images from the internet specified by a URL instructed by a communication device and output them to a display device connected via a video output terminal such as HDMI®. This enables streaming playback on the display device or mirroring display (displaying the content displayed on the communication device on the display device as well). Furthermore, video output devices include media players such as televisions, hard disk recorders, Blu-ray recorders, and DVD recorders, as well as head-mounted displays, projectors, televisions, display devices (monitors), and signage devices. The present invention is also applicable to Wi-Fi-connected devices known as smart home appliances, such as air conditioners, refrigerators, washing machines, vacuum cleaners, ovens, microwave ovens, lighting fixtures, heating appliances, and cooling appliances.
[0148] (Other embodiments) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
[0149] ●Summary of Embodiments The above embodiments can be summarized as follows: (Item 1) Wireless communication means, Control means for controlling the wireless communication means, It has, The control means is The process for activating the wireless communication means is performed. Determine whether the aforementioned startup process has failed or not. If the startup process is determined to have failed, a process is executed to determine whether the startup process failed due to a first factor or a second factor, based on the identification information obtained from the wireless communication means after the startup process. Based on the determination that the startup process failed due to the first factor, a first process is performed, which includes retrying the startup process up to a first number of times. Based on the determination that the startup process failed due to long-term factors, a second process is performed, which includes retrying the startup process up to a second number of times that is less than the first number of times. A communication device characterized by the following features. (Item 2) A communication device as described in item 1, It further has output means for outputting information to the user, The first and second processes include outputting information by the output means indicating that the startup process failed. A communication device characterized by the following features. (Item 3) A communication device as described in item 1 or 2, It further has output means for outputting information to the user, The first process does not include outputting information by the output means indicating that the startup process has failed. The second process includes outputting information by the output means indicating that the startup process failed. A communication device characterized by the following features. (Item 4) A communication device as described in item 2, The output means is a display means, The control means, based on the information indicating that the startup process failed, causes the output means to display a code screen containing link information to a screen corresponding to the startup process failure, in response to user operation. A communication device characterized by the following features. (Item 5) A communication device described in any one of items 1 to 4, The control means does not output information indicating that the startup process failed if the startup process fails but is successful after retrying the startup process. A communication device characterized by the following features. (Item 6) A communication device described in any one of items 1 to 5, If the control means determines that the startup process has failed due to the first factor, it further determines whether the operating mode of the communication device at startup is either an error suppression mode or an error display mode. If the operating mode of the communication device at startup is either the error suppression mode or the error display mode, it performs a third process, including retrying the startup process up to a maximum number of times greater than the first number. A communication device characterized by the following features. (Item 7) A communication device as described in item 6, The mode that suppresses the aforementioned errors includes a safe mode that restricts communication with the cloud server, and the mode that makes it difficult to display the aforementioned errors includes an update mode that updates the software of the communication device. A communication device characterized by the following features. (Item 8) A communication device described in any one of items 1 to 7, The control means determines that the startup process has failed due to the first factor if a portion of the identification information obtained from the wireless communication means matches a portion of the identification information held by the control means, and the remaining portion of the identification information obtained from the wireless communication means is an initialized value. The control means determines that the startup process has failed due to the second factor if a portion of the identification information obtained from the wireless communication means does not match a portion of the identification information held by the control means. A communication device characterized by the following features. (Item 9) A communication device as described in item 8, When the control means performs the startup process, it transfers a portion of the identification information of the wireless communication means to the wireless communication means. The wireless communication means attempts to acquire identification information held by the wireless communication means in response to the startup process and store it in an initialized predetermined storage area. If it fails to acquire the identification information, it attempts to store a portion of the transferred identification information in the predetermined storage area. A communication device characterized by the following features. (Item 10) A communication device as described in any one of items 1 to 9, The aforementioned identification information includes a Media Access Control (MAC) address. A communication device characterized by the following features. (Item 11) A communication device described in any one of items 1 to 10, The aforementioned identification information differs depending on the communication mode. A communication device characterized by the following features. (Item 12) A communication device described in any one of items 1 to 11, The control means further, If the transfer of information including the identification information to the wireless communication means fails, or If, after transferring the information including the identification information to the wireless communication means and releasing the reset of the wireless communication means, there is no response within a predetermined time, If a response indicating failure is returned from the wireless communication means, The startup process is determined to have failed. A communication device characterized by the following features. (Item 13) A communication device described in any one of items 1 to 12, The control means further, If there is no response to the transmission of information to the wireless communication means, The wireless communication means is periodically checked for communication, and if no response is received within a predetermined time, or if a response indicating failure due to the second factor is received, it is determined that the cause of the failure of the startup process is the second factor. A communication device characterized by the following features. (Item 14) A communication device described in any one of items 1 to 13, The aforementioned upper limit can be set. A communication device characterized by the following features. (Item 15) A communication device described in any one of items 1 to 14, The upper limit of the number of retries for the startup process included in the second process is 0. A communication device characterized by the following features. (Item 16) A communication device as described in any one of items 1 to 15, The aforementioned wireless communication means performs wireless communication in accordance with IEEE 802.11. A communication device characterized by the following features. (Item 17) A program to cause a computer to function as a communication device as described in any of items 1 through 16. (Item 18) A storage medium containing the program described in item 17. (Item 19) A control method for a communication device having wireless communication means and control means, The control means, The process for activating the wireless communication means is performed. Determine whether the aforementioned startup process has failed or not. If the startup process is determined to have failed, a process is executed to determine whether the startup process failed due to a first factor or a second factor, based on the identification information obtained from the wireless communication means after the startup process. Based on the determination that the startup process failed due to the first factor, a first process is performed, which includes retrying the startup process up to a first number of times. Based on the determination that the startup process failed due to long-term factors, a second process is performed, which includes retrying the startup process up to a second number of times that is less than the first number of times. A method for controlling a communication device, characterized by the features described above.
[0150] The present invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, claims are attached to disclose the scope of the invention. [Explanation of symbols]
[0151] 120 MFP, 130 DHCP server, 131 DNS server, 140 mobile terminal devices, 150 AP1, 151 AP2
Claims
1. Wireless communication means, Control means for controlling the wireless communication means, It has, The control means is The process for activating the wireless communication means is performed. Determine whether the aforementioned startup process has failed or not. If the startup process is determined to have failed, a process is executed to determine whether the startup process failed due to a first factor or a second factor, based on the identification information obtained from the wireless communication means after the startup process. Based on the determination that the startup process failed due to the first factor, a first process is performed, which includes retrying the startup process up to a first number of times. Based on the determination that the startup process failed due to long-term factors, a second process is performed, which includes retrying the startup process up to a second number of times that is less than the first number of times. A communication device characterized by the following features.
2. A communication device according to claim 1, It further has output means for outputting information to the user, The first and second processes include outputting information by the output means indicating that the startup process has failed. A communication device characterized by the following features.
3. A communication device according to claim 1, It further has output means for outputting information to the user, The first process does not include outputting information by the output means indicating that the startup process has failed. The second process includes outputting information by the output means indicating that the startup process failed. A communication device characterized by the following features.
4. A communication device according to claim 2, The output means is a display means, The control means, based on the information indicating that the startup process failed, causes the output means to display a code screen containing link information to a screen corresponding to the startup process failure, in response to user operation. A communication device characterized by the following features.
5. A communication device according to claim 1, The control means does not output information indicating that the startup process failed if the startup process fails but is successful after retrying the startup process. A communication device characterized by the following features.
6. A communication device according to claim 1, If the control means determines that the startup process has failed due to the first factor, it further determines whether the operating mode of the communication device at startup is either an error suppression mode or an error display mode. If the operating mode of the communication device at startup is either an error suppression mode or an error display mode, it performs a third process, including retrying the startup process up to a maximum number of times greater than the first number. A communication device characterized by the following features.
7. A communication device according to claim 6, The mode that suppresses the aforementioned errors includes a safe mode that restricts communication with the cloud server, and the mode that makes it difficult to display the aforementioned errors includes an update mode that updates the software of the communication device. A communication device characterized by the following features.
8. A communication device according to claim 1, The control means determines that the startup process has failed due to the first factor if a portion of the identification information obtained from the wireless communication means matches a portion of the identification information held by the control means, and the remaining portion of the identification information obtained from the wireless communication means is an initialized value. The control means determines that the startup process has failed due to the second factor if a portion of the identification information obtained from the wireless communication means does not match a portion of the identification information held by the control means. A communication device characterized by the following features.
9. A communication device according to claim 8, When the control means performs the startup process, it transfers a portion of the identification information of the wireless communication means to the wireless communication means. The wireless communication means attempts to acquire identification information held by the wireless communication means in response to the startup process and store it in an initialized predetermined storage area. If the acquisition of the identification information fails, it attempts to store a portion of the transferred identification information in the predetermined storage area. A communication device characterized by the following features.
10. A communication device according to claim 1, The aforementioned identification information includes a media access control (MAC) address. A communication device characterized by the following features.
11. A communication device according to claim 1, The aforementioned identification information differs depending on the communication mode. A communication device characterized by the following features.
12. A communication device according to claim 1, The control means further, If the transfer of information including the identification information to the wireless communication means fails, or If, after transferring the information including the identification information to the wireless communication means and releasing the reset of the wireless communication means, there is no response within a predetermined time, If a response indicating failure is returned from the wireless communication means, The startup process is determined to have failed. A communication device characterized by the following features.
13. A communication device according to claim 1, The control means further, If there is no response to the transmission of information to the wireless communication means, The wireless communication means is periodically checked for communication, and if no response is received within a predetermined time, or if a response indicating failure due to the second factor is received, it is determined that the cause of the failure of the startup process is the second factor. A communication device characterized by the following features.
14. A communication device according to claim 1, The aforementioned upper limit can be set. A communication device characterized by the following features.
15. A communication device according to claim 1, The upper limit of the number of retries for the startup process included in the second process is 0. A communication device characterized by the following features.
16. A communication device according to claim 1, The wireless communication means performs wireless communication in accordance with IEEE 802.
11. A communication device characterized by the following features.
17. A program for causing a computer to function as a communication device according to any one of claims 1 to 16.
18. A storage medium storing the program described in claim 17.
19. A control method for a communication device having wireless communication means and control means, The control means, The process for activating the wireless communication means is performed. Determine whether the aforementioned startup process has failed or not. If the startup process is determined to have failed, a process is executed to determine whether the startup process failed due to a first factor or a second factor, based on the identification information obtained from the wireless communication means after the startup process. Based on the determination that the startup process failed due to the first factor, a first process is performed, which includes retrying the startup process up to a first number of times. Based on the determination that the startup process failed due to long-term factors, a second process is performed, which includes retrying the startup process up to a second number of times that is less than the first number of times. A method for controlling a communication device, characterized by the features described above.
Citation Information
Patent Citations
Communication device, control method, and program
JP2017212501A
Information processing device, control method therefor, and program
JP2020057040A