Image forming apparatus and firmware update method

The control unit in the image forming apparatus addresses the issue of incomplete firmware updates by canceling the process if predetermined operations fail, enhancing update success and reducing downtime.

JP2026093267APending Publication Date: 2026-06-08KYOCERA DOCUMENT SOLUTIONS INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
KYOCERA DOCUMENT SOLUTIONS INC
Filing Date
2024-11-27
Publication Date
2026-06-08

Smart Images

  • Figure 2026093267000001_ABST
    Figure 2026093267000001_ABST
Patent Text Reader

Abstract

This prevents the firmware update of the functional unit from completing successfully, resulting in the update process repeating indefinitely. [Solution] The control board 31 cancels the firmware update of the functional unit and blocks data communication to the functional unit if the prescribed operation performed before the firmware update of the functional unit is repeated a predetermined number of times but does not complete successfully. For example, if data communication between the control board 31 and the functional unit does not start, the control board 31 repeatedly attempts data communication, and if data communication is not started even after the data communication is repeated a limited number of times, the control board 31 cancels the firmware update of the functional unit and blocks data communication to the functional unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an image forming apparatus including a control unit and a functional unit, and a firmware update method, and particularly relates to a technique for updating the firmware of the functional unit.

Background Art

[0002] An image forming apparatus such as a printer or a multifunction peripheral includes a control unit that integrally controls the entire apparatus, and a plurality of functional units controlled by the control unit, and the control unit and each functional unit update their respective firmware.

[0003] For example, in the image forming apparatus described in Patent Document 1, the latest program of the main body and the latest program of the option unit are stored in a storage area of a storage device. When an option unit is connected, the version of the program of the option unit acquired from the connected option unit is compared with the version of the program of the option unit stored in the storage area. As a result of the comparison, if the version of the program of the option unit acquired from the connected option unit is older, the version of the program of the option unit stored in the storage area is copied to a program update area. When the main body is started, if there is a program of the option unit in the program update area, the program of the option unit is updated using the program. This prevents the occurrence of problems due to a mismatch in the program versions between the main body and the option unit.

[0004] Furthermore, the image forming apparatus described in Patent Document 2 includes an acquisition means for acquiring content information of the firmware to be updated, a determination means for comparing the content information of the firmware acquired by the acquisition means with the equipment information of the image forming apparatus to determine whether or not to update the firmware, an update file acquisition means for acquiring the update file of the firmware to be updated if the determination means determines that the firmware should be updated, and an update means for updating the firmware using the update file acquired by the update file acquisition means. This reduces the downtime of product functions associated with firmware updates and the like. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2014-052888 [Patent Document 2] Japanese Patent Publication No. 2014-085759 [Overview of the Initiative] [Problems that the invention aims to solve]

[0006] In the configuration described above, which includes a control unit and multiple functional units controlled by the control unit, the control unit and each functional unit acquire and execute their respective update firmware, and update their respective firmware. In this case, each functional unit independently performs its own firmware update, but if the firmware update of a functional unit does not complete successfully, the update process is repeated indefinitely until it completes successfully, which can interfere with the operation of the functional unit.

[0007] The above-mentioned Patent Documents 1 and 2 do not solve the problem of firmware updates for such functional units failing to complete successfully, resulting in the update process being repeated indefinitely.

[0008] This invention has been made in view of the above circumstances, and aims to prevent the phenomenon in which, when a functional unit independently performs a firmware update, the firmware update of the functional unit does not complete successfully, and the update process is repeated indefinitely. [Means for solving the problem]

[0009] An image forming apparatus according to one aspect of the present invention comprises a control unit and a functional unit, wherein the control unit transmits update firmware to the functional unit, causes the functional unit to update its firmware based on the update firmware, and cancels the update if a predetermined operation performed before the firmware update by the functional unit is repeated a predetermined number of times but the predetermined operation does not complete normally.

[0010] A firmware update method according to one aspect of the present invention includes the steps of: transmitting update firmware for a functional unit from a control unit to the functional unit, causing the functional unit to update its firmware based on the update firmware; and canceling the update if a predetermined operation performed before the firmware update by the functional unit is repeated a predetermined number of times but the predetermined operation does not complete normally. [Effects of the Invention]

[0011] According to the present invention, it is possible to prevent the phenomenon in which the firmware update of the functional unit does not complete successfully, resulting in the update process being repeated indefinitely. [Brief explanation of the drawing]

[0012] [Figure 1] This is a block diagram showing the configuration of an image forming apparatus according to one embodiment of the present invention. [Figure 2]This is a schematic diagram showing the relationship between the control board of the control unit, the panel board of the input receiving unit, the engine board of the image forming unit, etc., in the image forming apparatus of this embodiment. [Figure 3A] This flowchart shows the process performed by the control board 31 to update the firmware of the functional unit. [Figure 3B] This is a flowchart showing the control procedure following Figure 3A. [Figure 3C] This flowchart shows the control procedure following Figure 3B. [Modes for carrying out the invention]

[0013] Hereinafter, an image forming apparatus and a firmware update method according to one embodiment of the present invention will be described with reference to the drawings. The image forming apparatus in this embodiment is a multifunction device equipped with a printer, copier, facsimile, scanner, etc.

[0014] Figure 1 is a block diagram showing the configuration of an image forming apparatus 1 according to one embodiment of the present invention. The image forming apparatus 1 includes a control unit 11, an input receiving unit 12, an image reading unit 13, an image forming unit 14, a storage device 15, a communication unit 16, and a USB connection unit 17, etc. These components are capable of sending and receiving data or signals to and from each other via a bus.

[0015] The input receiving unit 12 is equipped with hard keys such as a confirmation key and a start key for confirming various operations and settings, and a display unit 12A. The display unit 12A is equipped with, for example, an LCD, and displays the operation screen and messages. The display unit 12A may also be equipped with a touch panel.

[0016] The image reading unit 13 is equipped with a scanner or the like and reads an image of the original document to acquire image data. The image forming unit 14 prints the image data acquired by the image reading unit 13 and the image data received by the communication unit 16 from an external device onto paper.

[0017] The storage device 15 consists of, for example, an HDD or the like, and is a large-capacity storage device that stores image data, various programs, data tables, and the like. The storage device 15 may be composed of an SSD (Solid State Drive) or the like in addition to the HDD. The communication unit 16 is composed of a communication module or the like, and performs transmission and reception of various data with an external device such as a server via a network.

[0018] The USB connection unit 17 is an interface having a plug-in port (USB socket) to which a USB memory (not shown) is connected.

[0019] The control unit 11 is composed of a processor, a RAM (Random Access Memory), a ROM, and the like. The processor is a CPU (Central Processing Unit), an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), or the like. The control unit 11 has a control board 31.

[0020] Here, each circuit such as a processor, a RAM (Random Access Memory), and a ROM is mounted on the control board 31. This control board 31 executes various processes such as operation control of the image forming apparatus 1. Further, the input reception unit 12 has a panel board as a component, and this panel board controls the operation of the input reception unit 12. Also, the image forming unit 14 has an engine board as a component, and this engine board controls the operation of the image forming unit 14. Similarly, the image reading unit 13 and the like also have a board as a component, and this board controls its operation. Each of these boards is also mounted with each circuit such as a processor, a RAM (Random Access Memory), and a ROM, and each process and control described later are performed by the respective circuits.

[0021] FIG. 2 is a schematic diagram showing the relationship between the control board of the control unit 11, the panel board of the input reception unit 12, the engine board of the image forming unit 14, etc. As shown in FIG. 2, the panel board 32 of the input reception unit 12, the engine board 33 of the image forming unit 14, etc. are connected to the control board 31 via a bus. The control board 31 comprehensively controls the panel board 32, the engine board 33, etc., the panel board 32 controls the input reception unit 12, and the engine board 33 controls the image forming unit 14.

[0022] Incidentally, the control board 31 corresponds to the control unit in the claims, and the panel board 32, the engine board 33, etc. correspond to the functional units in the claims. Each functional unit includes a control circuit.

[0023] The non-volatile memory included in the control board 31 stores the firmware of the control board 31. Also, the non-volatile memory provided in functional units such as the panel board 32 and the engine board 33 stores the firmware of each functional unit. The respective firmware stored in the non-volatile memories of the functional units such as the control board 31, the panel board 32, and the engine board 33 is updated for reasons of function expansion or function improvement.

[0024] In this embodiment, when the connection of a USB memory is detected at the USB connection unit 17 during the boot process executed by turning on the power of the image forming apparatus 1, the firmware for update is read from the USB memory, and the firmware stored in the non-volatile memory is updated using the firmware for update.

[0025] The control board 31 is equipped with a firmware update circuit (FW-Update System, hereafter referred to as the update system). The update system enables the control board 31 to read the firmware update for the control board 31 from a USB memory, and then use the firmware update for the control board 31 to update the firmware stored in the control board 31's non-volatile memory.

[0026] Furthermore, the control board 31 reads the update firmware for each functional unit, such as the panel board 32 and the engine board 33, from the USB memory and transmits the read update firmware to the corresponding functional unit via the bus. When each functional unit receives the update firmware for that functional unit, it updates the firmware stored in the non-volatile memory of that functional unit based on the update firmware.

[0027] At this point, after the control board 31 has transmitted the firmware update for each functional unit to the corresponding functional unit, the firmware update process in that functional unit is performed by that functional unit. Functional units such as the panel board 32 and engine board 33 independently complete the firmware update for their respective functional units based on the firmware update for that functional unit.

[0028] In this embodiment, if the firmware update of the functional unit does not complete successfully, the firmware update process by the functional unit will be repeated indefinitely, and the operation of the functional unit will be stopped during that time, which is to be avoided.

[0029] In this embodiment, if the specified operation performed before the firmware update of the functional unit is repeated a predetermined number of times, but the specified operation does not complete successfully, the control board 31 cancels the firmware update of the functional unit and blocks data communication to the functional unit.

[0030] For example, the operation specified above is the initiation of data communication between the control board 31 and the functional unit. If data communication between the control board 31 and the functional unit is not initiated, the control board 31 repeatedly attempts to initiate data communication. If data communication is not initiated even after a limited number of attempts (e.g., 5 times), the control board 31 cancels the firmware update of the functional unit and blocks data communication to the functional unit.

[0031] Furthermore, the operation specified above involves determining whether the checksum of the update firmware for the functional unit calculated by the control board 31 matches the checksum of the update firmware calculated by the functional unit. The control board 31 calculates the checksum of the update firmware for the functional unit and transmits the update firmware and checksum to the functional unit. Upon receiving the update firmware and checksum, the functional unit calculates its own checksum, and if the checksum calculated by the control board 31 matches the checksum calculated by the functional unit, i.e., if the checksum determination result is true, it performs the firmware update process based on the received update firmware. If the two checksums do not match, i.e., if the checksum determination result by the functional unit is false, the functional unit transmits a signal to the control board 31 indicating that the checksum determination result is false. Upon receiving this signal, the control board 31 transmits the update firmware and checksum again to the functional unit that transmitted the signal. The functional unit uses the update firmware and checksum to re-determine whether the checksum calculated by the control board 31 matches the checksum calculated by the functional unit. If the control board 31 receives a signal from the functional unit again indicating that the checksum determination result is false, even after repeated checksum determinations by the functional unit, it stops the firmware update of the functional unit and cuts off data communication to the functional unit.

[0032] Furthermore, when the control board 31 communicates firmware updates to the functional unit, if the command sent from the control board 31 to the functional unit is not recognized by the functional unit, the control board 31 cancels the firmware update of the functional unit and blocks data communication to the functional unit.

[0033] Furthermore, even if the control board 31 is not connected to the functional unit, the control board 31 will cancel the firmware update of the functional unit and block data communication to the functional unit.

[0034] This prevents the phenomenon where the firmware update process by the functional unit is repeated indefinitely.

[0035] Next, the process by the control board 31 for updating the firmware of the functional units (firmware update method) will be explained in detail with reference to the flowcharts shown in Figures 3A to 3C. Here, the firmware update of the engine board 33 will be explained as an example among the functional units described above. Note that the update process by the control board 31 is performed similarly for other functions as well.

[0036] When the power to the image forming apparatus 1 is turned on (S101), each circuit of the control board 31, including the update system, is activated and the boot mode is executed. The control board 31 determines whether or not the firmware update mode for the engine board 33 is set in boot mode (S102), and if it determines that the firmware update mode for the engine board 33 is not set in boot mode (S102 "No"), it sets the engine board 33 to normal mode (S103).

[0037] The control board 31 determines whether or not a USB memory is connected to the USB connection unit 17 (S104). If it determines, for example, that no USB memory is connected (S104 "No"), it maintains the normal mode set in S103 for the engine board 33 and does not send the update firmware and commands indicating a firmware update request to the engine board 33, which will be described later. In this case, the engine board 33 reads its current firmware from its non-volatile memory and starts controlling the image forming unit 14 according to that firmware (S105). The control board 31, panel board 32, and other functional units also start operation control according to the current firmware stored in their respective non-volatile memories.

[0038] Furthermore, if the control board 31 determines that the USB memory is connected to the USB connection unit 17 (S104 "Yes"), it determines whether or not the firmware for updating the engine board 33 is stored in the USB memory (S106). If the control board 31 determines, for example, that the firmware for updating the engine board 33 is not stored (S106 "No"), it maintains the normal mode operation for the engine board 33 set in S103 and does not send the update firmware and commands indicating a firmware update request to the engine board 33, which will be described later. In this case as well, the engine board 33 starts controlling the image forming unit 14 according to the current firmware read from the non-volatile memory (S105). The control board 31, panel board 32, and other functional units also perform operation control according to the current firmware stored in their respective non-volatile memories.

[0039] Furthermore, if the control board 31 determines that the firmware for updating the engine board 33 is stored in the USB memory (S106 "Yes"), it sets the engine board 33 to apply update mode (S107), and in this case, it sets the firmware update mode for the engine board 33 in boot mode (S108). The control board 31 restarts the image forming apparatus 1 to execute boot mode (S109) and returns to the process from S102.

[0040] Here, when the control board 31 determines that the firmware update mode for the engine board 33 is set in boot mode (S102 "Yes"), it sets the update mode for the engine board 33 (S110) and performs the process of acquiring the firmware for the engine board 33 update (S111).

[0041] At this time, the control board 31 determines whether or not the USB memory is connected to the USB connection port 17 (S112). For example, if it determines that the USB memory is not connected (S112 "No"), it determines that the firmware update for the engine board 33 cannot be read from the USB memory, and therefore sets the firmware update mode for the engine board 33 to disabled (S113). The control board 31 sets the firmware for the engine board 33 to normal mode in boot mode (S114). Then, the control board 31 restarts the image forming apparatus 1 to execute boot mode (S109) and returns to the process from S102.

[0042] Furthermore, if the control board 31 determines that the USB memory is connected to the USB connection port 17 (S112 "Yes"), it determines whether or not the firmware for updating the engine board 33 is stored in the USB memory (S115). For example, if the control board 31 determines that the firmware for updating the engine board 33 is not stored in the USB memory (S115 "No"), it determines that the firmware update mode for the engine board 33 is disabled because it cannot read the firmware for updating the engine board 33 from the USB memory (S113). The control board 31 sets the firmware for the engine board 33 to normal mode in boot mode (S114). Then, the control board 31 restarts the image forming apparatus 1 and executes boot mode (S109). The process returns to the process from S102.

[0043] Furthermore, if the control board 31 determines that the firmware for updating the engine board 33 is stored in the USB memory (S115 "Yes"), it determines, for example, whether the control board 31 and the engine board 33 are connected via a bus, i.e., whether communication is possible, through a bus controller (not shown in the figure) (S116).

[0044] For example, if the control board 31 determines that the engine board 33 is not connected via the bus (communication impossible) (S116 "No"), it does not send the update firmware and the command indicating the request for firmware update to the engine board 33, which will be described later. Instead, it cancels the firmware update process for the engine board 33 and blocks data communication to the engine board 33 via the bus (S117). In this case, the engine board 33 becomes inoperable. The control board 31, panel board 32, and other functional units are controlled according to the current firmware stored in their respective non-volatile memories.

[0045] During processing in S117, the control board 31 may display an error message on the display unit 12A indicating that the firmware update for the engine board 33 could not be performed because the engine board 33 was not connected. Upon seeing the error message, the user can perform operations such as connecting the engine board 33 to the control board 31 via the bus. The user then restarts the image forming apparatus 1 by turning the power off and on again. At this time, the control board 31 restarts the processing from S102.

[0046] Furthermore, if the control board 31 determines that the engine board 33 is connected (S116 "Yes"), it starts data communication to the engine board 33 via the bus (S118). If data communication to the engine board 33 is not started (S119 "No"), it determines whether the number of data communications to the engine board 33 at this point has reached a preset limit of N1 (S120). If the number of data communications to the engine board 33 has not reached the limit of N1 (S120 "No"), it returns to S118 and repeats data communication to the engine board 33.

[0047] If the number of data communications to the engine board 33 reaches the limit N1 (S120 "Yes"), the control board 31 does not send the update firmware and the command indicating the request for firmware update to the engine board 33, which will be described later, and cancels the firmware update of the engine board 33, and blocks data communication to the engine board 33 via the bus (S117). In this case as well, the engine board 33 becomes inoperable. Furthermore, the control board 31, panel board 32, and other functional units are controlled according to the current firmware stored in their respective non-volatile memories.

[0048] At this time, the control board 31 may display an error message on the display unit 12A indicating that data communication to the engine board 33 has not been initiated. The user sees the error message and inputs an instruction using the input reception unit 12 to cause the control board 31 to perform a process to restore data communication to the engine board 33. The user restarts the image forming apparatus 1 by turning the power off and on again. At this time, the control board 31 restarts the process from S102.

[0049] Furthermore, if the number of data communications to the engine board 33 is before the limit of N1 is reached (S120 "No"), and the control board 31 successfully communicates data to the engine board 33 (S119 "Yes"), it reads the update firmware for the engine board 33 from the USB memory, calculates the checksum of the update firmware, and sends the update firmware, the checksum, and a command indicating a request for firmware update to the engine board 33 via the bus (S121).

[0050] When the engine board 33 receives the update firmware, checksum, and a command indicating a request for a firmware update, it recognizes the received command and, if it cannot recognize the command, sends a signal indicating that the command could not be recognized to the control board 31 via the bus. The engine board 33 does not perform a firmware update based on the update firmware. The engine board 33 also calculates the checksum of the received update firmware and determines whether the received checksum matches the checksum calculated by the engine board 33. If the two checksums do not match and the checksum determination result is false, it sends this false determination result to the control board 31 via the bus. The engine board 33 does not perform a firmware update based on the update firmware.

[0051] If the control board 31 receives a signal indicating that it cannot recognize the command (S122 "No"), it will not resend the command, cancel the firmware update on the engine board 33, and block data communication to the engine board 33 via the bus (S117), as the engine board 33 cannot update its firmware. In this case as well, the engine board 33 will be inoperable. Furthermore, the control board 31, panel board 32, and other functional units will be controlled according to the current firmware stored in their respective non-volatile memories.

[0052] In this case, the control board 31 may display an error message on the display unit 12A indicating that the engine board 33 could not recognize the command requesting a firmware update.

[0053] Furthermore, if the control board 31 receives a false result for the checksum determination (S123 "No"), it determines whether the number of checksum determinations has reached a preset limit N2 (S124). If the number of checksum determinations has not reached the limit N2 (S124 "No"), it resends the firmware update (S125).

[0054] Each time the control board 31 attempts to send the update firmware, it receives a false checksum result from the engine board 33. When the number of checksum checks reaches the limit of N2 (S124 "Yes"), it is unable to successfully send the update firmware to the engine board 33. Therefore, it does not send the update firmware again, cancels the firmware update for the engine board 33, and blocks data communication to the engine board 33 via the bus (S117). In this case as well, the engine board 33 becomes inoperable, and the control board 31, panel board 32, and other functional units become operational by executing the current firmware stored in their respective non-volatile memories.

[0055] In this case, the control board 31 may display an error message on the display unit 12A indicating that the checksum of the update firmware has been determined to be false.

[0056] Furthermore, if the engine board 33 recognizes the command and the checksum result for the update firmware is true, it executes a firmware update based on the update firmware, and successfully completes the firmware update stored in the non-volatile memory of the engine board 33. At this time, the engine board 33 does not send a signal to the control board 31 indicating that the command could not be recognized.

[0057] In this case, the control board 31 does not receive a command recognition failure signal (S122 "Yes"), and before the number of checksum checks reaches the limit of N2 (S124 "No"), it receives a true checksum result (S123 "Yes"), and therefore determines that the firmware of the engine board 33 has been successfully updated (S126).

[0058] The engine board 33 executes the updated firmware stored in the non-volatile memory and begins controlling the image forming unit 14. The control board 31, panel board 32, and other functional units perform operational control according to the current firmware stored in their respective non-volatile memories.

[0059] Furthermore, when the control board 31 cancels the firmware update of the engine board 33, blocks data communication to the engine board 33 via the bus, and puts the engine board 33 into a non-operating state (S117), it may restart the image forming apparatus 1 by turning the power back on, restarting the image forming apparatus 1, and having the processing from S102 be repeated, and the processing from S102 be performed for the firmware update of another functional unit (for example, the panel board 32) stored in the USB memory.

[0060] In this embodiment, the control board 31 cancels the update of the functional unit and blocks data communication to the functional unit if the prescribed operation performed before the functional unit's update is repeated a predetermined number of times but does not complete successfully. Furthermore, if a command sent from the control board 31 to the functional unit is not recognized by the functional unit, or if the control board 31 is not connected to the functional unit, the firmware update of the functional unit is canceled and data communication to the functional unit is blocked. As a result, the phenomenon of the firmware update process by the functional unit being repeated indefinitely can be prevented, the success rate of the firmware update of the functional unit can be increased, the downtime of the functional unit can be shortened, and unnecessary data communication can be eliminated.

[0061] Furthermore, the configuration and processing of the above embodiment described using Figures 1 and 2, and Figures 3A to 3C, are merely examples of the present invention, and the present invention is not intended to be limited to such configuration and processing. [Explanation of Symbols]

[0062] 1. Image forming apparatus 11 Control Unit 12 Input reception section 12A display section 13 Image reading unit 14 Image forming unit 15 Storage device 16 Communications Department 17 USB connection 31 Control board 32 Panel Board 33 Engine Board

Claims

1. An image forming apparatus, Control unit and It includes a functional section, The control unit transmits update firmware to the functional unit, causes the functional unit to update its firmware based on the update firmware, and cancels the update if the specified operation performed before the firmware update by the functional unit is repeated a predetermined number of times but does not complete successfully.

2. The image forming apparatus according to claim 1, wherein the control unit further blocks communication to the functional unit if the update is canceled.

3. The aforementioned operation is to determine whether the checksum of the update firmware calculated by the control unit matches the checksum of the update firmware calculated by the function unit. The image forming apparatus according to claim 1 or 2, wherein the control unit cancels the update when the determination that the checksum calculated by the control unit and the checksum calculated by the functional unit do not match is repeated the specified number of times, indicating that the specified operation has not been completed normally.

4. The aforementioned operation is the commencement of communication between the functional unit and the control unit, The image forming apparatus according to claim 1 or 2, wherein the control unit cancels the update if communication between the control unit and the functional unit is not initiated even after repeated attempts to communicate between the control unit and the functional unit a limited number of times.

5. The image forming apparatus according to claim 1 or 2, wherein the control unit cancels the update when communicating the update firmware from the control unit to the functional unit, if the command transmitted from the control unit to the functional unit is not recognized by the functional unit.

6. The image forming apparatus according to claim 1 or 2, wherein the control unit cancels the update when the control unit and the functional unit are not connected.

7. The steps include: transmitting update firmware for a functional unit from the control unit to the functional unit, and causing the functional unit to update its firmware based on the update firmware; A firmware update method that includes the step of canceling the update if a predetermined operation performed before the firmware update by the functional unit is repeated a predetermined number of times but the predetermined operation does not complete successfully.

8. The firmware update method according to claim 7, further comprising the step of canceling the update, wherein communication to the functional unit is further blocked.