KR100872180B1 - Apparatus, system and method for remotely upgrading the firmware of a device - Google Patents
Apparatus, system and method for remotely upgrading the firmware of a device Download PDFInfo
- Publication number
- KR100872180B1 KR100872180B1 KR1020070075061A KR20070075061A KR100872180B1 KR 100872180 B1 KR100872180 B1 KR 100872180B1 KR 1020070075061 A KR1020070075061 A KR 1020070075061A KR 20070075061 A KR20070075061 A KR 20070075061A KR 100872180 B1 KR100872180 B1 KR 100872180B1
- Authority
- KR
- South Korea
- Prior art keywords
- firmware
- management server
- remote
- message
- electronic device
- Prior art date
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 원격 펌웨어 업그레이드 장치, 시스템 및 방법에 관한 것으로서, 보다 상세하게는 통신 수단을 구비하고 있지 않은 전자기기의 펌웨어를 원격지에서 업그레이드하는 원격 펌웨어 업그레이드 장치, 시스템 및 방법에 관한 것이다. The present invention relates to a remote firmware upgrade apparatus, system and method, and more particularly, to a remote firmware upgrade apparatus, system and method for remotely upgrading the firmware of an electronic device that does not have a communication means.
펌웨어는 일반적으로 롬(ROM)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 프로그램이라는 관점에서는 소프트웨어와 동일하지만 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용소프트웨어와 구분되어 펌웨어는 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할 수 있다.Firmware generally refers to a micro program that controls hardware stored in a ROM. It is the same as software in terms of a program, but it is distinguished from general application software in that it is closely related to hardware. Thus, firmware has both characteristics of software and hardware.
예를 들어 어떤 기능을 발휘하는 하드웨어를 만든다고 할 때, 그것을 제어하는 모든 회로를 하드웨어로만 만들면, 그 구조도 대단히 복잡해지고 심지어는 논리적인 표현을 하기가 어려운 부분도 발생한다. For example, if you make hardware that functions, if you make all the circuits that control it only in hardware, the structure becomes very complicated and even difficult to express logically.
이런 경우 상당부분을 소프트웨어로 대체하되 그 소프트웨어가 저장된 기억장치를 하드웨어의 제어 회로중의 중심부분으로 구성하면, 매우 간단하면서도 적은 비용으로 문제를 해결할 수 있게 된다. 이렇게 만든 하드웨어적인 소프트웨어를 펌 웨어라 한다.In such a case, a large part of the software is replaced, but the memory stored in the software is configured as a central part of the control circuit of the hardware, so that the problem can be solved very simply and at low cost. The hardware software created in this way is called firmware.
이렇게 할 경우 하드웨어의 입장에서는 별도의 논리회로를 가진 것이 아니기 때문에 소프트웨어적인 특성을 가지고 있지만, 소프트웨어 입장에서는 마이크로 프로그램이 하드웨어를 제어하기 때문에 하드웨어적인 특성을 가진다고 설명할 수 있다.In this case, the hardware has a software characteristic because it does not have a separate logic circuit, but from the software perspective, it can be described as having a hardware characteristic because the micro program controls the hardware.
한편, 펌웨어는 전자기기의 성능향상 또는 오류 해결을 위하여 신규 펌웨어 프로그램으로재설치되어야 할 필요가 있다. 이를 흔히 "펌웨어 업그레이드"라고 하는데, 펌웨어 업그레이드는 신규 펌웨어 프로그램을 준비한 후, 해당 전자기기에 적절한 방법으로 신규 펌웨어 프로그램을 다운로드하여 설치를 수행하게 된다. On the other hand, the firmware needs to be reinstalled as a new firmware program in order to improve the performance of the electronic device or to solve the error. This is commonly referred to as "firmware upgrade," which is to prepare a new firmware program, and then download and install the new firmware program in an appropriate manner to the corresponding electronic device.
이때, 데이터 통신이 가능한 통신 수단을 구비한 전자기기의 경우에는, 원격지에서 제공되는 신규 펌웨어로 업그레이드를 수행하기 위하여, 해당 전자기기를 통신 네트워크를 통하여 원격지의 펌웨어 전송 서버 등의 신규 펌웨어를 제공하는 수단에 연결함으로써 펌웨어 프로그램을 다운로드받은 후, 펌웨어 업그레이드를 수행할 수 있는 방법이 다수 제안된 바 있다. At this time, in the case of an electronic device having a communication means capable of data communication, in order to perform the upgrade to a new firmware provided from a remote location, the electronic device provides new firmware such as a firmware transmission server at a remote location through a communication network. After downloading the firmware program by connecting the means, a number of methods for performing a firmware upgrade have been proposed.
반면, 통신 수단을 구비하고 있지 않은 전자기기의 경우에는 펌웨어를 업그레이드하는 것이 용이하지 않다. 전자기기들이 점차로 고성능, 고기능화되어 감에 따라 마이크로 프로세서를 갖추고, 지속적인 성능개선 및 오류 수정을 위하여 펌웨어 프로그램을 업그레이드할 필요성이 증대되어 가고 있다. On the other hand, in the case of an electronic device which is not equipped with a communication means, it is not easy to upgrade the firmware. As electronic devices become more advanced and more functional, there is an increasing need to upgrade the firmware program with microprocessors and for continuous performance improvement and error correction.
그러나, 통신 수단을 구비하고 있지 않은 전자기기의 경우에는 신규 펌웨어 프로그램을 해당 전자기기로 다운로드하는 절차가 용이하지 않다는 문제점이 있다. However, in the case of an electronic device having no communication means, there is a problem in that a procedure for downloading a new firmware program to the electronic device is not easy.
예컨대, 해당 전자기기에 펌웨어 프로그램을 다운로드하기 위하여, 먼저 PC 등의 전산장비에 신규 펌웨어 프로그램을 준비한다. 그 후, 시리얼 포트 또는 USB 포트 등을 통하여 전산장비와 전자기기를 연결하여 신규 펌웨어 프로그램을 전자기기에 다운로드하여 펌웨어 업그레이드를 수행하는 방법이 있다. For example, in order to download a firmware program to the electronic device, a new firmware program is first prepared in a computer equipment such as a PC. Then, there is a method of performing a firmware upgrade by downloading a new firmware program to the electronic device by connecting the computer equipment and the electronic device through a serial port or a USB port.
그러나, 이러한 방법으로 펌웨어 업그레이드를 수행하는 경우에는, 해당 전자기기와 멀리 떨어진 원격지에서 펌웨어 업그레이드를 수행하는 것이 곤란하다는 문제점이 있었다. However, when the firmware upgrade is performed in this manner, there is a problem that it is difficult to perform the firmware upgrade at a remote location away from the electronic device.
따라서, 통신 수단을 구비하고 있지 않은 전자기기의 펌웨어 업그레이드를 위한 범용적인 원격 펌웨어 업그레이드 장치 및 방법의 발명에 관한 요청이 그동안 꾸준히 제기되어 왔다. Therefore, there has been a steady request for the invention of a universal remote firmware upgrade apparatus and method for firmware upgrade of an electronic device which is not equipped with a communication means.
본 발명은 상기와 같은 문제점을 해결하기 위하여 착안된 것으로서, 통신 수단을 구비하고 있지 않은 전자기기의 원격 펌웨어 업그레이드 장치, 시스템 및 방법을 제공하는 것을 목적으로 한다.The present invention has been conceived to solve the above problems, and an object thereof is to provide an apparatus, a system and a method for upgrading a remote firmware of an electronic device which is not provided with a communication means.
상기와 같은 목적을 달성하기 위하여, 본 발명에 의한 원격 펌웨어 업그레이드 장치는, 상기 원격 펌웨어 업그레이드 장치 외부의 관리서버로부터 신규 펌웨어 프로그램을 수신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 명령어 및 메시지를 상기 관리서버로부터 수신하거나 상기 관리서버에 송신하는 제1 데이터 송수신부와, 상기 관리서버로 송신하는 상기 명령어 및 상기 메시지 중 일부를 단문 메시지에 포함되도록 변환하는 무선 데이터 변환부와, 상기 관리서버로부터 수신한 상기 신규 펌웨어 프로그램을 저장하는 저장장치부와, 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 상기 명령어 및 상기 메시지를 상기 전자기기로 송신하거나 상기 전자기기로부터 수신하는 제2 데이터 송수신부 및 상기 신규 펌웨어 프로그램을 상기 관리서버로부터 수신하여 상기 전자기기로 송신하기 위하여 필요한 동작 전반을 제어하는 중앙 제어부를 포함한다. In order to achieve the above object, the remote firmware upgrade apparatus according to the present invention receives a new firmware program from a management server outside the remote firmware upgrade apparatus, and manages the commands and messages required for transmission and reception of the new firmware program. A first data transmission / reception unit received from a server or transmitted to the management server, a wireless data conversion unit converting a part of the command and the message transmitted to the management server to be included in a short message, and received from the management server. A storage unit for storing the new firmware program, transmitting the new firmware program to the electronic device, and transmitting or receiving the command and the message necessary for the transmission and reception of the new firmware program to the electronic device or from the electronic device. 2nd day Receives the transmitting and receiving unit and the new firmware program from the management server comprises a central control unit for controlling the overall operation required to transmit to the electronic device.
또한, 본 발명에 의한 원격 펌웨어 업그레이드 관리서버는, 이동통신망을 통해 연결된 상기 원격 펌웨어 업그레이드 서버 외부의 원격 펌웨어 업그레이드 장치 에 신규 펌웨어 프로그램을 송신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 명령어 및 메시지를 상기 원격 펌웨어 업그레이드 장치에 송신하거나 상기 원격 펌웨어 업그레이드 장치로부터 수신하는 무선 데이터 송수신부와, 상기 원격 펌웨어 업그레이드 장치로부터 수신한 상기 명령어 및 상기 메시지를 분석하는 무선 데이터 분석부와, 상기 원격 펌웨어 업그레이드 장치에 전송할 상기 전자기기에 관한 상기 신규 펌웨어 프로그램을 적어도 하나 저장하는 데이터 저장부 및 상기 신규 펌웨어 프로그램을 상기 원격 펌웨어 업그레이드 장치를 경유하여 상기 전자기기로 송신하기 위하여 필요한 동작 전반을 제어하는 관리 제어부를 포함한다. In addition, the remote firmware upgrade management server according to the present invention transmits a new firmware program to a remote firmware upgrade apparatus external to the remote firmware upgrade server connected through a mobile communication network, and transmits a command and a message necessary for transmitting and receiving the new firmware program. A wireless data transmission / reception unit to be transmitted to or received from a remote firmware upgrade device, a wireless data analysis unit to analyze the command and message received from the remote firmware upgrade device, and to be transmitted to the remote firmware upgrade device A data storage unit for storing at least one new firmware program for the electronic device and the new firmware program to the electronic device via the remote firmware upgrade apparatus; W includes a management controller for controlling the overall operation required.
또한, 본 발명에 의한 원격 펌웨어 업그레이드 시스템은, 이동통신 모듈을 구비하고, 상기 이동통신 모듈을 통하여 이동통신 네트워크의 무선망에 연결되는 원격 펌웨어 업그레이드 장치와, 상기 이동통신 네트워크의 유선망에 연결되는 관리서버를 포함하며, 상기 원격 펌웨어 업그레이드 장치에 연결된 전자기기에 관한 신규 펌웨어 프로그램을 상기 관리서버로부터 상기 원격 펌웨어 업그레이드 장치로 전송한 후, 다시 상기 전자기기로 전송한다. In addition, the remote firmware upgrade system according to the present invention includes a remote firmware upgrade device having a mobile communication module, connected to a wireless network of a mobile communication network through the mobile communication module, and managed to be connected to a wired network of the mobile communication network. It includes a server, and transmits the new firmware program for the electronic device connected to the remote firmware upgrade device from the management server to the remote firmware upgrade device, and then to the electronic device again.
또한, 본 발명에 의한 원격 펌웨어 업그레이드 방법은, 이동통신 네트워크를 통하여 관리서버로부터 특정 전자기기에 관한 신규 펌웨어 프로그램을 수신하는 단계와, 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하는 단계를 포함한다. The remote firmware upgrade method according to the present invention includes receiving a new firmware program related to a specific electronic device from a management server through a mobile communication network, and transmitting the new firmware program to the electronic device.
또한, 본 발명의 다른 측면에 의한 원격 펌웨어 업그레이드 방법은, 관리서버가 상기 원격 펌웨어 업그레이드 장치로 상기 전자기기에 관한 신규 펌웨어 프로그램의 송신을 준비하는 단계와, 상기 관리서버가 이동통신 네트워크를 통하여 상 기 원격 펌웨어 업그레이드 장치로 상기 신규 펌웨어 프로그램을 송신하는 단계를 포함한다. In addition, the remote firmware upgrade method according to another aspect of the present invention, the management server to prepare for the transmission of the new firmware program for the electronic device to the remote firmware upgrade device, the management server through the mobile communication network And transmitting the new firmware program to a remote firmware upgrade apparatus.
본 발명에 의한 이동통신 중계기의 원격 펌웨어 업그레이드 시스템 및 방법을 이용하면, 통신 수단을 구비하고 있지 않은 전자기기에 대해서도 해당 전자기기가 설치된 현장에 직접 출동하지 않고도 해당 전자기기의 펌웨어를 원격으로 업그레이드할 수 있다.By using the remote firmware upgrade system and method of the mobile communication repeater according to the present invention, even if the electronic device does not have a communication means to remotely upgrade the firmware of the electronic device without having to go directly to the site where the electronic device is installed Can be.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. .
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.
본 명세서에서 이동국(Mobile Station, MS)은 단말(terminal), 이동 단말(Mobile Terminal, MT), 가입자국(Subscriber Station, SS), 휴대 가입자국(Portable Subscriber Station, PSS), 사용자 장치(User Equipment, UE), 접근 단말(Access Terminal, AT) 등을 지칭할 수도 있고, 이동 단말, 가입자국, 휴대 가입자 국, 사용자 장치 등의 전부 또는 일부의 기능을 포함할 수도 있다.In this specification, a mobile station (MS) is a terminal, a mobile terminal (MT), a subscriber station (SS), a portable subscriber station (PSS), a user equipment (User Equipment). It may also refer to a user equipment (UE), an access terminal (AT), and the like, and may include all or some functions of a mobile terminal, a subscriber station, a portable subscriber station, a user device, and the like.
본 명세서에서 기지국(Base Station, BS)은 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 노드B(Node B), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등을 지칭할 수도 있고, 접근점, 무선 접근국, 노드B, 송수신 기지국, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다.In the present specification, a base station (BS) is an access point (AP), a radio access station (Radio Access Station, RAS), a Node B (Node B), a base transceiver station (Base Transceiver Station, BTS), MMR ( Mobile Multihop Relay) -BS and the like, and may include all or part of functions such as an access point, a radio access station, a Node B, a base transceiver station, and an MMR-BS.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, “block”, etc. described in the specification mean a unit that processes at least one function or operation, which is hardware or software or a combination of hardware and software. It can be implemented as.
이제 본 발명의 실시예에 따른 원격 펌웨어 업그레이드 장치, 시스템 및 방법에 대하여 도면을 참고로 하여 상세하게 설명한다. Now, a remote firmware upgrade apparatus, system and method according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 제1 실시예에 의한 원격 펌웨어 업그레이드 시스템의 전체적인 구성을 나타낸 개략도이다. 1 is a schematic diagram showing the overall configuration of a remote firmware upgrade system according to a first embodiment of the present invention.
도 1에 나타낸 바와 같이, 원격 펌웨어 업그레이드 시스템(1)은, 저장되어 있는 신규 펌웨어 프로그램을 이동통신 네트워크(30)를 통하여 전송하는 관리서버(50)와, 관리서버로부터 신규 펌웨어 프로그램을 전송받아 전자기기(20)에 재전송하는 펌웨어 업그레이드 장치(10) 및 이들을 연결하는 이동통신 네트워크(30)를 포함하여 이루어진다. As shown in FIG. 1, the remote
신규 펌웨어 프로그램으로 전자기기(20)의 펌웨어가 업그레이드되는 절차를 간단히 설명하면 다음과 같다. The procedure of upgrading the firmware of the
관리서버(50)는 전자기기(20)에 적용될 신규 펌웨어 프로그램이 저장되어 있다. 만약 전자기기(20)의 펌웨어가 업그레이드되어야 하는 상황이 발생한 경우에 는, 관리서버(50)에 저장된 신규 펌웨어 프로그램이 이동통신 네트워크(30)를 통하여 펌웨어 업그레이드 장치(10)로 전송된다. The
신규 펌웨어 프로그램은 관리서버(50)로부터 펌웨어 업그레이드 장치(10)로전송되어 임시로 펌웨어 업그레이드 장치(10)에 저장된 후, 다시 펌웨어 업그레이드 장치(10)로부터 전자기기(20)로 전송된다. The new firmware program is transmitted from the
이 때, 펌웨어 업그레이드 장치(10)와 전자기기(20) 간의 통신 경로(15)는,신규 펌웨어 프로그램을 송수신하고, 신규 펌웨어 프로그램의 송수신에 필요한 제어신호를 송수신할 수 있는 통신 경로라면, 다양한 통신 경로를 폭넓게 포괄할 수 있다. 가령, 펌웨어 업그레이드 장치(10)와 전자기기(20)는, 2개의 라인에 의한 유선 시리얼 통신(serial communication)이 이루어질 수도 있고, 무선 적외선 통신, 무선 블루투스(Bluetooth) 통신 기타 다양한 근거리 유무선 통신 경로에 의하여 연결이 될 수 있다. At this time, the communication path 15 between the firmware upgrade apparatus 10 and the
전자기기(20)에 신규 펌웨어 프로그램이 전송되면, 전자기기(20)의 자체 펌웨어 업그레이드 규칙에 따라 신규 펌웨어 프로그램으로 펌웨어 업그레이드가 수행된다. When the new firmware program is transmitted to the
이와 같은 절차를 거침으로써, 원격지의 서버에 저장된 신규 펌웨어 프로그램이 통신 수단을 구비하지 않은 전자기기로 전송됨으로써 해당 전자기기의 펌웨어 업그레이드가 가능케 된다. By going through such a procedure, a new firmware program stored in a remote server is transmitted to an electronic device having no communication means, thereby enabling firmware upgrade of the electronic device.
도 1에서 나타낸 전자기기(20)는, 펌웨어를 구비하고 있으나 별도의 통신 수단을 구비하지 않은 전자기기를 광범위하게 포괄한다. 가령, 도 1의 전자기기는, 펌웨어를 구비하고 있으나 별도의 통신 수단을 구비하지 않은 냉장고나 TV, 세탁기 등 가전제품이 될 수도 있고, 이동통신 중계기가 될 수도 있다. The
도 2는 본 발명의 제2 실시예에 의한 이동통신 중계기의 원격 펌웨어 업그레이드 시스템의 전체적인 구성을 나타낸 개략도이다. Figure 2 is a schematic diagram showing the overall configuration of a remote firmware upgrade system of a mobile communication repeater according to a second embodiment of the present invention.
도 2에서 나타낸 바와 같이, 도 1의 전자기기(20)는 도 2의 이동통신 중계기(20a)에 대응된다. 마찬가지로, 도 1의 원격 펌웨어 업그레이드 시스템(1)의 각 구성요소인 펌웨어 업그레이드 장치(10), 이동통신 네트워크(30,31,32) 및 관리서버(50)는 도 2의 원격 펌웨어 업그레이드 시스템(1a)의 각 구성요소인 펌웨어 업그레이드 장치(10a), 이동통신 네트워크(30a,31a,32a) 및 관리서버(50a)에 각각 대응된다. As shown in FIG. 2, the
이동통신 사업자가 이동통신 서비스를 제공함에 있어서, 이동통신 트래픽(traffice)의 밀도와 서비스 영역 내의 가입자의 분포 및 이동통신망에 요구되는 서비스 품질 등을 종합적으로 고려하여 서비스 제공지역 내에서 최적인 것으로 판단되는 위치에 다수의 기지국(33a)이 설치된다. When a mobile service provider provides a mobile communication service, the service provider considers the density of mobile communication traffic, the distribution of subscribers in the service area, and the quality of service required for the mobile communication network. A plurality of base stations 33a are installed at the positions.
그럼에도 불구하고, 서비스 제공지역 내에서의 이른바 서비스 음영지역을 최소화하고 더욱 향상된 이동통신 서비스를 제공하기 위하여, 기지국 신호를 재증폭하여 주는 중계기(repeater)(20a)가 전계 강도가 부족한 지점 등에 더 설치된다. Nevertheless,
현재 주식회사 케이티프리텔의 경우 RF(Radio Frequency) 중계기, ICS 중계기, 광 중계기, 마이크로웨이브(M/W) 중계기, 변파 중계기 등의 크고 작은 중계기 가 약 20만 ~ 30만 대 가량 운용되고 있다. Currently, K-Phototel Co., Ltd. operates about 200,000 to 300,000 small and large repeaters such as RF (Radio Frequency) repeaters, ICS repeaters, optical repeaters, microwave (M / W) repeaters, and wave repeaters.
한편, 이러한 중계기(20a)는 이동통신망에서 가입자에게 지속적으로 최적의 통화품질을 제공하기 위하여 지속적인 관리, 유지보수 및 펌웨어(firmware) 업그레이드가 필요하다. On the other hand, such a
이동통신 사업 초기에는 현장 운용자가 중계기(20a)가 설치된 현장을 직접 방문하여 중계기(20a)의 상태를 점검하고 필요한 작업을 수행하였다. 그러나, 중계기(20a)의 수효가 기하급수적으로 증가함에 따라, 중계기(20a)의 관리에 소요되는 인력, 비용 및 시간이 막대하게 되는 문제점이 있었다. In the beginning of the mobile communication business, the field operator visited the site where the
이러한 문제점을 해결하기 위하여, 도 2에서 나타낸 바와 같은 본 발명의 제2 실시예에 의한 원격 펌웨어 업그레이드 시스템(1a)으로써 원격지의 중계기(20a)에 대한 펌웨어 업그레이드를 수행하게 된다. In order to solve this problem, the firmware upgrade for the
도 2의 실시예에 의한 이동통신 중계기의 원격 업그레이드 시스템(1a)은, 이동통신망(30a) 내에서 중계기 업그레이드 과정을 총괄하는 관리서버(50a)와 펌웨어 업그레이드 장치(10a)를 포함하여 이루어진다. The
먼저, 관리서버(50)에는 중계기(20a)에 적용될 신규 펌웨어 프로그램이 저장되어 있다. 만약 중계기(20a)의 펌웨어가 업그레이드되어야 하는 상황이 발생한 경우에는, 관리서버(50a)에 저장된 신규 펌웨어 프로그램이 이동통신 네트워크(30a)를 통하여 펌웨어 업그레이드 장치(10a)로 전송된다. First, a new firmware program to be applied to the
펌웨어 업그레이드 장치(10a)는, 구비하고 있는 이동통신 모듈을 이용하여 관 리서버(50a)측과의 통신을 행한다. 또한, 펌웨어 업그레이드 장치(10a)는, 중계기(20a)의 내부 또는 외부에 장착되어, 미리 규정된 통신 인터페이스(15a)를 통하여 중계기(20a)측과와 유선 또는 무선으로 통신을 행한다. The firmware upgrade apparatus 10a communicates with the
중계기(20a)에 신규 펌웨어 프로그램이 전송되면, 중계기(20a)의 자체 펌웨어 업그레이드 규칙에 따라 신규 펌웨어 프로그램으로 펌웨어 업그레이드가 수행된다. When the new firmware program is transmitted to the
도 3은 도 2의 관리서버의 구성요소를 나타낸 블록도이다.3 is a block diagram illustrating components of the management server of FIG. 2.
도 3에서 나타낸 바와 같이, 관리서버(300)는 무선 데이터 송수신부(310), 무선 데이터 분석부(320), 데이터 저장부(330) 및 관리제어부(340)를 포함한다.As shown in FIG. 3, the
무선 데이터 송수신부(310)는 이동통신망을 통해 펌웨어 업그레이드 장치와 체결된 TCP/IP 접속 네트워크를 통하여 무선 데이터를 송수신한다.The wireless data transmission /
무선 데이터 분석부(320)는 펌웨어 업그레이드 장치로부터 수신한 무선 데이터, 예를 들어 각종 명령어 또는 메시지를 분석하여, 그에 따른 응답 메시지를 전송할 수 있도록 한다.The
데이터 저장부(330)는 중계기 제조사 및 중계기 모델, 버전 등에 따른 다양한 신규 펌웨어 프로그램을 저장한다. 따라서, 펌웨어 업그레이드가 필요한 중계기가 어떠한 제조사의 어떠한 모델이더라도 그에 적합한 신규 펌웨어 프로그램을 전송할 수 있도록 한다.The
관리 제어부(340)는 신규 펌웨어 프로그램의 CRC값을 계산하고, 펌웨어 업그레이드 장치로부터의 펌웨어 재전송 요청 메시지에 대응하여 펌웨어 재전송을 수행 하는 등 관리서버(300)의 동작을 전체적으로 제어한다.The
도 4는 도 2의 펌웨어 업그레이드 장치의 구성요소를 나타낸 블록도이다.4 is a block diagram illustrating components of the firmware upgrade apparatus of FIG. 2.
도 4에서 나타낸 바와 같이, 펌웨어 업그레이드 장치(400)는 제2 데이터 송수신부(410), 무선 데이터 변환부(420), 중앙 제어부(430) 및 제1 데이터 송수신부(440) 및 저장장치부(450)를 포함한다. As shown in FIG. 4, the
제2 데이터 송수신부(410)는 펌웨어 업그레이드 장치(400)와 중계기와의 사이에서 주고받는 메시지 및 명령어 등의 각종 데이터의 송수신을 담당하는 통신 모듈이다. The
이 실시예에서는 펌웨어 업그레이드 장치(400)의 제2 데이터 송수신부(410)와 중계기 간에 2개의 라인이 연결됨으로써, 이 라인들을 통하여 유선 시리얼 통신(serial communication)이 이루어지는 것으로 한다. 그러나, 앞에서 도 1을 참조하여 설명한 바 있듯이, 중계기와 펌웨어 업그레이드 장치(400)의 통신 인터페이스는, 신규 펌웨어 프로그램을 송수신하고, 신규 펌웨어 프로그램의 송수신에 필요한 제어신호를 송수신할 수 있는 통신 경로라면, 무선 적외선 통신, 무선 블루투스(Bluetooth) 통신 등 다양한 통신 경로를 폭넓게 포괄할 수 있다.In this embodiment, two lines are connected between the
다음으로, 무선 데이터 변환부(420)는 관리서버와 펌웨어 업그레이드 장치(400) 간에 주고받는 메시지 등 데이터 중 단문메시지(SMS)의 형태로 송수신되는 데이터를 단문메시지를 포함하는 패킷 형태의 무선 데이터로 변환하는 모듈이다.Next, the
중앙 제어부(430)는 신규 펌웨어 업그레이드를 위하여 펌웨어 업그레이드 장치(400)가 행하는 전반적인 동작을 제어한다. The central control unit 430 controls the overall operation performed by the
제1 데이터 송수신부(440)는 관리서버와의 사이에서 주고받는 메시지 및 명령어 등의 각종 데이터의 송수신을 담당하는 통신 인터페이스 모듈이다. 제1 데이터 송수신부(440)는 이동통신 단말의 일종이므로, 고유한 전화번호를 가지고 있으며, 이동통신 네트워크를 통해 관리서버측과의 통신을 행한다. The first data transmission /
저장장치부(450)는 관리서버로부터 전송받은 신규 펌웨어 프로그램을 저장하는 데이터 저장모듈이다. 저장장치부(450)는 실시예에 따라 플래시 메모리가 될 수도 있다. 그러나, 저장장치부(450)는 플래시 메모리만으로 한정되는 것은 아니며, 신규 펌웨어 프로그램을 저장하였다가 중계기 컨트롤러측으로 전송하는 목적을 달성할 수 있는 수단이라면, 하드 디스크 드라이브 등 어떠한 저장장치라도 무방하다.The
한편, 펌웨어 업그레이드 장치는 중계기의 내부 또는 외부에 설치될 수 있다. 가령, 펌웨어 업그레이드 장치가 중계기 외함에 설치되는 것도 가능하다. 또한, 펌웨어 업그레이드 장치의 전력을 중계기 전원으로부터 인가받도록 하는 설계도 가능하다. Meanwhile, the firmware upgrade apparatus may be installed inside or outside the repeater. For example, the firmware upgrade apparatus may be installed in the repeater enclosure. In addition, it is also possible to design to receive the power of the firmware upgrade apparatus from the repeater power supply.
한편, 제2 데이터 송수신부(410)를 통해 중계기로부터 입력되는 리셋신호에 의하여 펌웨어 업그레이드 장치(400)의 리셋(reset)이 가능하다. Meanwhile, the
도 5는 도 2에서 나타낸 본 발명의 실시예가 적용되는 중계기의 구성요소를 나타낸 블록도이다. 5 is a block diagram showing the components of a repeater to which the embodiment of the present invention shown in FIG. 2 is applied.
도 5의 중계기(500)는, 기지국 신호를 증폭하는 역할을 수행하는 일반적인 형태의 중계기로서, 대역 분리기(510,540), 무선 신호처리부(520,530), 링크 안테나(550), 서비스안테나(560) 및 중계기 컨트롤러(570)를 포함한다.The
무선 신호처리부(520,530) 각각은 LNA(Low Noise Amplifier) 모듈(520a,530a), IF 모듈(520b,530b), HPA(High Power Amplifier) 모듈(520c,530c)을 더 포함한다.Each of the
대역 분리기(510,540)는 링크 안테나(550)를 통해 입력되는 기지국의 RF 신호를 서비스 안테나(560)를 통해 서비스측으로 출력시키기 위한 처리 경로와, 서비스 안테나(560)를 통해 입력되는 서비스측의 RF 신호를 링크 안테나(550)를 통해 기지국으로 출력시키기 위한 처리 경로를 분리시킨다.The
LNA 모듈(520a,530a)은 링크 안테나(550) 및 서비스 안테나(160)를 통해 입력되는 RF 신호를 저잡음 증폭한다.The
IF 모듈(520b,530b)은 LNA 모듈(520,560)에서 각각 증폭된 신호에 대해 이득을 조절하고 주파수를 하향 변환하여 중간 주파수로 변환한 다음 필터링하고 다시 주파수를 상향변환하고 증폭하여 동일한 신호를 만들어 출력한다.IF
HPA 모듈(520c,530c)은 IF모듈(520b,530b)로부터 각각 출력된 신호를 서비스안테나(560) 및 링크 안테나(550)로 출력한다.The
중계기 컨트롤러(570)는 중계기(500) 내부의 설정 데이터를 관리하며, 중계기(500) 내부의 무선 신호처리부(520,530)를 제어한다.The
또한, 중계기 컨트롤러(570)는 펌웨어 업그레이드 장치로부터 신규 펌웨어 프로그램을 전송받아 이를 임시 저장한다. In addition, the
또한, 중계기 컨트롤러(570)는 펌웨어 업그레이드 장치로부터 신규 펌웨어 프로그램을 전송받아 중계기 펌웨어 업그레이드를 수행하는 전반적인 동작을 제어한다.In addition, the
본 실시예에서는 펌웨어가 업그레이드되는 전자기기의 일례로서 이동통신 중계기에 관하여 설명하고 있지만, 이동통신 중계기가 아니더라도, 중계기 컨트롤러(570)에 대응되는 마이크로 컨트롤러를 구비하고 있으며, 도 4에서 나타낸 제2 데이터 송수신부와 연결되어, 원격 펌웨어 업그레이드 장치와 상호 통신을 행할 수 있는 전자기기라면 어느 것이라도 본 발명에 의하여 원격 펌웨어 업그레이드를 행할 수 있는 것은 물론이다. Although the mobile communication repeater is described as an example of an electronic device whose firmware is upgraded in the present embodiment, even if the mobile communication repeater is not included, the second controller shown in FIG. 4 includes a microcontroller corresponding to the
아래에서는 원격 펌웨어 업그레이드 시스템의 관리서버와 펌웨어 업그레이드 장치 및 중계기 컨트롤러 간에 사용되는 명령어 및 메시지를 살펴본다.The following describes the commands and messages used between the management server of the remote firmware upgrade system and the firmware upgrade device and repeater controller.
표 1은 관리서버에서 펌웨어 업그레이드 장치측으로 전송하는 명령어 및 메시지를 정리한 표이다.Table 1 shows the commands and messages transmitted from the management server to the firmware upgrade device.
이들 각각에 대하여 더욱 상세히 살펴보면 아래와 같다. Looking at each of them in more detail as follows.
먼저, 펌웨어 업그레이드 요청 명령어는 관리서버에서 펌웨어 업그레이드 장치측으로 중계기의 펌웨어 업그레이드를 행할 것을 요청하는 명령어다. First, the firmware upgrade request command is a command for requesting a firmware upgrade of the repeater from the management server to the firmware upgrade device side.
관리서버는 단문메시지(SMS)를 이용하여 펌웨어 업그레이드 요청 명령어를 전송하며, 이에 대한 응답으로서 펌웨어 업그레이드 장치는 관리서버측으로 TCP/IP 프로토콜에 의한 접속을 행한다.The management server sends a firmware upgrade request command using a short message (SMS), and in response, the firmware upgrade apparatus makes a connection to the management server by the TCP / IP protocol.
아래 표 1a는 펌웨어 업그레이드 요청 명령어의 포맷의 일례를 나타낸 표이다. Table 1a below shows an example of the format of the firmware upgrade request command.
표 1a에서 나타낸 바와 같이, 펌웨어 업그레이드 요청 명령어는 19바이트의 길이로 이루어진다. As shown in Table 1A, the firmware upgrade request command has a length of 19 bytes.
그 중 IP1 내지 IP4에는 다운로드 서버의 IP 주소를 지시하며, 0 이상 255 이하의 자연수 값 중의 하나가 3바이트(Byte)의 공간에 저장된다. Among them, IP1 to IP4 indicate the IP address of the download server, and one of the natural number values of 0 to 255 is stored in a space of 3 bytes.
포트(PORT)는 다운로드 서버의 포트 번호를 지시하며, 0 이상 65535 이하의 자연수 값 중의 하나가 5바이트의 공간에 저장된다. The port indicates a port number of the download server, and one of natural values of 0 to 65535 is stored in 5 bytes of space.
다음으로, ID 요청 명령어는 펌웨어 업그레이드 장치의 전화번호를 요청하는 명령어다. 펌웨어 업그레이드 장치는 ID 요청 명령어에 대한 응답으로서 관리서버측에 ID 응답 메시지를 회신한다. Next, the ID request command is a command for requesting a phone number of the firmware upgrade apparatus. The firmware upgrade apparatus returns an ID response message to the management server side in response to the ID request command.
ID 요청 명령어는 관리서버 - 원격 펌웨어 업그레이드 장치 간 체결된 TCP/IP 접속경로를 통하여 TCP/IP 프로토콜로 전송된다. 이 TCP/IP 접속경로는, 펌웨어 업그레이드 요청 명령어에 대한 응답으로 펌웨어 업그레이드 장치에서 연결한 것이다.The ID request command is transmitted to the TCP / IP protocol through the TCP / IP connection path between the management server and the remote firmware upgrade device. This TCP / IP connection path is connected by the firmware upgrade apparatus in response to the firmware upgrade request command.
표 1b는 ID 요청 명령어의 포맷의 일례를 나타낸 표이다. Table 1b is a table showing an example of the format of the ID request command.
표 1b에서 나타낸 바와 같이, ID 요청 명령어는 5바이트의 길이로 이루어지며, START, CMD, TAIL 필드가 각각 1바이트씩을 차지한다. As shown in Table 1b, the ID request command has a length of 5 bytes, and the START, CMD, and TAIL fields each occupy 1 byte.
START는 0x00, CMD는 0x01, TAIL은 0x7E이다. 한편, CRC는 16비트 CRC를 적용하며, START부터 CRC의 앞까지 계산한다.START is 0x00, CMD is 0x01, and TAIL is 0x7E. On the other hand, the CRC applies a 16-bit CRC, and calculates from START to the front of the CRC.
다음으로, 펌웨어 사양 메시지는 관리서버가 펌웨어 업그레이드 장치측에 중계기의 펌웨어 크기(SIZE) 및 명칭(FWNAME)을 알려주는 메시지이다. Next, the firmware specification message is a message in which the management server informs the firmware upgrade apparatus of the repeater's firmware size (SIZE) and name (FWNAME).
표 1c은 펌웨어 사양 메시지의 포맷의 일례를 나타낸 표이다.Table 1c is a table showing an example of the format of the firmware specification message.
표 1c에서 나타낸 바와 같이, 펌웨어 사양 메시지는 15바이트의 길이로 이루어진다.As shown in Table 1c, the firmware specification message is 15 bytes long.
여기에서 START는 0x00이고, CMD는 0x02이다. Where START is 0x00 and CMD is 0x02.
또한, 펌웨어 파일의 크기를 나타내는 크기(SIZE) 필드는 6자리 정수로서, 바이트(byte) 단위로 나타낸 파일 크기 값을 포함한다.The SIZE field indicating the size of the firmware file is a six-digit integer and includes a file size value expressed in bytes.
한편, 펌웨어 명칭(FWNAME) 필드는 5바이트로 이루어지며, 아래 표 1d의 정보를 더 포함한다.On the other hand, the firmware name (FWNAME) field is composed of 5 bytes, and further includes the information of Table 1d below.
중계기 코드(RCODE) 필드에는 중계기의 모델을 식별하기 위하여 각 중계기의 모델별로 할당되는 고유한 코드가 포함된다. 동일 모델의 중계기에는 동일한 중계기 코드기 지정된다. 중계기 제조사 코드 필드에는 중계기를 제조한 제조사마다 할당되는 고유한 코드가 포함된다. 컨트롤러 제조사 필드에는 중계기의 컨트롤러를 제조한 제조사마다 할당되는 고유한 코드가 포함된다. 버전정보 필드에는 펌웨어의 버전에 관한 값이 포함된다. The repeater code (RCODE) field contains a unique code assigned to each repeater's model to identify the repeater's model. Repeaters of the same model are assigned the same repeater coder. The repeater manufacturer code field contains a unique code that is assigned to each manufacturer that manufactured the repeater. The controller manufacturer field contains a unique code that is assigned to each manufacturer that manufactures the repeater's controller. The version information field includes a value regarding the version of the firmware.
또한, CRC 필드에는 16비트 CRC 값이 포함되며, 펌웨어 프로그램 전체에 대한 CRC 오류의 체크에 사용된다.In addition, the CRC field includes a 16-bit CRC value and is used to check CRC errors for the entire firmware program.
또한, TAIL은 0x7E이다.Also, TAIL is 0x7E.
다음으로, 펌웨어 전송 메시지는 관리서버로부터 펌웨어 업그레이드 장치로 전송되는 신규 펌웨어 프로그램이 포함된 메시지이다. Next, the firmware transmission message is a message including a new firmware program transmitted from the management server to the firmware upgrade apparatus.
업그레이드할 신규 펌웨어 프로그램은 가령 4096바이트 단위 등으로 분할된 일련의 펌웨어 전송 메시지에 포함되어 전송된다.The new firmware program to be upgraded is transmitted in a series of firmware transmission messages divided into, for example, 4096 bytes.
표 1e는 펌웨어 전송 메시지 포맷의 일례에 관한 표이다.Table 1e is a table regarding an example of a firmware transmission message format.
표 1e에서 나타낸 바와 같이, 1개의 펌웨어 전송 메시지 내에 포함되어 전송되는 실제 펌웨어 데이터 블록의 크기는, 오버헤드를 제외하면 4,088바이트가 된다.As shown in Table 1e, the size of the actual firmware data block included in one firmware transmission message and transmitted is 4,088 bytes except for the overhead.
오버헤드 데이터의 각 필드는 다음과 같다.Each field of overhead data is as follows.
START 필드는 0x00의 1바이트이고, CMD는 0x03의 1바이트이며, INDEX는 펌웨어 프로그램을 4,088바이트로 분할하였을 때에 현재 전송하는 데이터 블록에 관한 인덱스를 저장하는 3자리의 정수 데이터 필드이다. 또한, CRC 필드에는 16비트 CRC 값이 포함되며, START부터 CRC 필드 앞까지 계산을 한다. TAIL은 0x7E의 1바이트이다.The START field is one byte of 0x00, the CMD is one byte of 0x03, and INDEX is a three-digit integer data field that stores an index of a data block currently transmitted when the firmware program is divided into 4,088 bytes. In addition, the CRC field includes a 16-bit CRC value and calculates from START to the front of the CRC field. TAIL is one byte of 0x7E.
한편, 펌웨어 업그레이드 장치는 펌웨어 전송 메시지의 각각의 블록에 대해서 수신여부를 일일이 전송하지는 않고, 대신 인덱스(index)가 유실된 경우에만 해당 인덱스부터 재전송을 요청한다.The firmware upgrade apparatus does not transmit the reception of each block of the firmware transmission message one by one, but instead requests retransmission from the corresponding index only when the index is lost.
CRC 계산값 메시지는 관리서버가 전체 펌웨어의 CRC 오류를 체크한 계산값을 펌웨어 업그레이드 장치로 전송하는 메시지이다. The CRC calculated value message is a message for the management server to transmit the calculated value of checking the CRC error of the entire firmware to the firmware upgrade apparatus.
펌웨어 업그레이드 장치는 관리서버로부터 전송받은 전체 펌웨어에 대해서 독자적으로 CRC 값을 계산한 후, 이를 CRC 계산값 메시지의 계산값과 비교함으로써 CRC 오류 여부를 체크한다. The firmware upgrade apparatus checks the CRC error by calculating the CRC value independently for the entire firmware received from the management server and comparing it with the calculated value of the CRC calculated value message.
표 1f는 CRC 계산값 메시지 포맷의 일례를 나타낸 표이다. Table 1f is a table showing an example of the CRC calculated value message format.
이때, START 필드는 0x00의 1바이트이고, CMD는 0x05의 1바이트이며, RESULT는 관리서버의 CRC 계산값과 펌웨어 업그레이드장치의 CRC 계산값과의 일치여부 정보이다. 가령, 0x00인 경우에는 일치, 0x01인 경우에는 불일치인 것으로 할 수 있다. FCRC는 감시모듈이 계산한 CRC 계산값이 포함된다. 또한, CRC 필드에는 16비트 CRC 값이 포함되며, START부터 CRC 필드 앞까지 계산을 한다. TAIL은 0x7E의 1바이트이다.At this time, the START field is 1 byte of 0x00, CMD is 1 byte of 0x05, and RESULT is information on whether the CRC calculation value of the management server matches the CRC calculation value of the firmware upgrade apparatus. For example, 0x00 can be a match, and 0x01 can be a mismatch. FCRC includes the CRC calculated by the monitoring module. In addition, the CRC field includes a 16-bit CRC value and calculates from START to the front of the CRC field. TAIL is one byte of 0x7E.
다음으로, 종료 메시지는 관리서버와 펌웨어 업그레이드 장치 간에 체결된 TCP/IP 네트워크 접속을 종료하는 명령어이다. Next, the end message is a command for terminating the TCP / IP network connection between the management server and the firmware upgrade apparatus.
관리서버는 신규 펌웨어의 전송을 완료한 경우 또는 전송이 오류 등에 기인하여 종료되는 경우 등에 이 명령어를 전송한다.The management server sends this command when the transmission of new firmware is completed or when the transmission is terminated due to an error or the like.
표 1g은 종료 메시지 포맷의 일례를 나타낸 표이다.Table 1g is a table showing an example of an end message format.
START 필드에 대한 플래그 비트는 0x00, CMD 필드에 대한 플래그 비트는 0x06이다. The flag bit for the START field is 0x00 and the flag bit for the CMD field is 0x06.
FLAG 필드에 대한 플래그 비트는, 신규 펌웨어의 전송을 완료한 경우에는 FLAG=0x00 플래그로, 오류로 인하여 종료를 하는 경우에는 FLAG=0x01 플래그로 설정할 수 있다.The flag bit for the FLAG field can be set to the FLAG = 0x00 flag when the new firmware has been transferred, or to the FLAG = 0x01 flag when the error is terminated due to an error.
또한, CRC 필드에는 16비트 CRC 값이 포함되며, START부터 CRC 필드 앞까지 계산을 한다. TAIL은 0x7E의 1바이트이다.In addition, the CRC field includes a 16-bit CRC value and calculates from START to the front of the CRC field. TAIL is one byte of 0x7E.
표 2는 펌웨어 업그레이드 장치가 관리서버측으로 전송하는 신호를 정리한 표이다.Table 2 summarizes signals transmitted by the firmware upgrade apparatus to the management server.
이들 각각에 대하여 더욱 상세히 살펴보면 아래와 같다. Looking at each of them in more detail as follows.
먼저, ID 응답메시지는 펌웨어 업그레이드 장치의 전화번호를 관리서버측으로 응답하는 메시지이다. First, the ID response message is a message for responding to the management server side the phone number of the firmware upgrade apparatus.
표 2a은 ID 응답메시지 포맷의 일례를 나타낸 표이다.Table 2a shows an example of an ID response message format.
위 표에서 나타낸 바와 같이, ID 응답메시지 중에서 펌웨어 업그레이드 장치의 전화번호는 ID 필드에 포함되어 펌웨어 업그레이드 장치로부터 관리서버측으로 전송이 되며, 모두 11자리의 전화번호가 전송이 된다.As shown in the above table, the telephone number of the firmware upgrade apparatus is included in the ID field and transmitted from the firmware upgrade apparatus to the management server in the ID response message, and all 11-digit telephone numbers are transmitted.
펌웨어 업그레이드 장치가 구비한 제1 데이터 송수신부(도 4의 440)는 이동통신 단말의 일종이므로, 고유한 전화번호를 가지고 있음은 앞서 도 4을 참조하여 설명한 바 있다. Since the first data transmission /
또한, START 필드는 1바이트로서 플래그 비트는 0x00, CMD 필드는 1바이트로서 플래그비트는 0x01, TAIL 필드는 1바이트로서 플래그 비트는 0x7E이다. CRC 필드에는 16비트의 CRC값이 포함되며, START부터 CRC 앞까지 계산을 한다. The START field is 1 byte, the flag bit is 0x00, the CMD field is 1 byte, the flag bit is 0x01, the TAIL field is 1 byte, and the flag bit is 0x7E. The CRC field contains a 16-bit CRC value and calculates from START to the front of the CRC.
다음으로 펌웨어 사양 응답 메시지는, 관리서버가 펌웨어 업그레이드 장치측으로 전송한 펌웨어 사양 메시지에 응답하여 펌웨어 업그레이드 장치가 회신하는 메시지이다. Next, the firmware specification response message is a message returned by the firmware upgrade apparatus in response to the firmware specification message transmitted from the management server to the firmware upgrade apparatus.
표 2b는 펌웨어 사양 응답 메시지 포맷의 일례를 나타낸 표이다. Table 2b is a table showing an example of a firmware specification response message format.
위 표에서 나타낸 바와 같이, 펌웨어 사양 응답 메시지는 START, CMD, CRC 및 TAIL의 4개 필드로 이루어진다. START 필드는 1바이트의 0x00 플래그 비트, CMD는 1바이트의 0x02 플래그 비트, TAIL은 1바이트의 0x7E 플래그 비트를 가지며, CRC 필드에는 16비트의 CRC값이 포함되고, START부터 CRC 앞까지 계산을 한다.As shown in the table above, the firmware specification response message consists of four fields: START, CMD, CRC, and TAIL. The START field contains 1 byte of 0x00 flag bits, CMD has 1 byte of 0x02 flag bits, and TAIL contains 1 byte of 0x7E flag bits.The CRC field contains a 16-bit CRC value and calculates from START to the front of the CRC. .
다음으로 펌웨어 재전송 요청 메시지는 관리서버로부터 전송되는 펌웨어 전송 메시지를 통하여 펌웨어 프로그램을 4096바이트(엄밀하게는 4088바이트) 단위로 받는 도중, 인덱스가 유실되면 해당 인덱스에 관한 메시지부터 재전송해줄 것을 요청하는 메시지이다.Next, the firmware retransmission request message receives a firmware program in units of 4096 bytes (4088 bytes) through a firmware transmission message transmitted from the management server, and requests to resend the message about the index when the index is lost. to be.
펌웨어 업그레이드 장치로부터 펌웨어 재전송 요청 메시지를 받으면, 관리서버는 해당 인덱스에 관한 펌웨어 전송 메시지부터 재전송을 수행한다.When the firmware retransmission request message is received from the firmware upgrade apparatus, the management server retransmits from the firmware transmission message regarding the corresponding index.
표 2c은 펌웨어 재전송 요청 메시지 포맷의 일례를 나타낸 표이다.Table 2c shows an example of a firmware retransmission request message format.
표 2c에서 나타낸 바와 같이, 인덱스 필드는 재전송을 요청하고자 하는 인덱스에 관한 3자리 정수값을 저장한다. 또한, START 필드는 1바이트의 0x00 플래그 비트, CMD는 1바이트의 0x04 플래그 비트, TAIL은 1바이트의 0x7E 플래그 비트를 가지며, CRC 필드에는 16비트의 CRC값이 포함되고, START부터 CRC 앞까지 계산을 한다.As shown in Table 2c, the index field stores a 3-digit integer value for the index to request retransmission. In addition, the START field has one byte of 0x00 flag bits, CMD has one byte of 0x04 flag bits, and TAIL has one byte of 0x7E flag bits.The CRC field contains a 16-bit CRC value, which is calculated from START to the front of the CRC. Do it.
다음으로 CRC 비교결과 응답 메시지는 관리서버에서 수신한 CRC 계산값 메시지에 포함된 CRC 계산값을, 펌웨어 업그레이드 장치가 직접 계산한 CRC 값과 비교한 결과값을 관리서버측에 알려주는 메시지이다. Next, the CRC comparison result response message is a message for notifying the management server of the result of comparing the CRC calculation value included in the CRC calculation value message received from the management server with the CRC value directly calculated by the firmware upgrade apparatus.
만약 두 계산값이 불일치하게 되는 경우에는 CRC 오류가 발생한 것이 되고, 오류가 발생하였음을 CRC 계산값 메시지를 통하여 관리서버측에 전송하게 되면 관리서버는 펌웨어 프로그램을 처음부터 새로 재전송한다. 1회 재전송을 수행한 후에도 다시 오류가 발생하게 되면, 더 이상 재전송을 시도하지 않도록 할 수도 있으며, 이 경우 재전송에 따른 시스템의 과부하를 방지하는 효과를 기대할 수 있다.If the two calculated values are inconsistent, a CRC error occurs, and if the error is transmitted to the management server through the CRC calculated value message, the management server retransmits the firmware program from the beginning. If an error occurs again after performing a single retransmission, the retransmission may not be attempted any more. In this case, an effect of preventing an overload of the system due to the retransmission may be expected.
표 2d는 CRC 비교결과 응답 메시지 포맷의 일례를 나타낸 표이다.Table 2d is a table showing an example of a CRC comparison result response message format.
표 2d에서 나타낸 바와 같이, CRC 비교값은 RESULT 필드에 1바이트의 크기로 저장이 되는데, CRC 오류가 발생하지 않은 경우, 즉 성공(success)을 나타내는 플래그 비트는 0x00, CRC 오류가 발생한 경우, 즉 실패(fail)를 나타내는 플래그 비트는 0x01이 된다.As shown in Table 2d, the CRC comparison value is stored in the RESULT field with a size of 1 byte. If a CRC error does not occur, that is, a flag bit indicating success is 0x00, or a CRC error occurs. The flag bit indicating failure is 0x01.
FCRC 필드에는 펌웨어 업그레이드 장치가 계산한 전체 펌웨어 프로그램에 대한 CRC 계산값이 2바이트로 저장된다. The FCRC field stores the CRC calculation value for the entire firmware program calculated by the firmware upgrade apparatus as 2 bytes.
또한, START 필드는 1바이트의 0x00 플래그 비트, CMD는 1바이트의 0x05 플래그 비트, TAIL은 1바이트의 0x7E 플래그 비트를 가지며, CRC 필드에는 16비트의 CRC값이 포함되고, START부터 CRC 앞까지 계산을 한다.In addition, the START field has one byte of 0x00 flag bits, CMD has one byte of 0x05 flag bits, and TAIL has one byte of 0x7E flag bits.The CRC field contains a 16-bit CRC value. Do it.
다음으로 종료 응답 메시지는 관리서버로부터 전송된 종료 메시지에 대한 응답 메시지이다. Next, the termination response message is a response message to the termination message sent from the management server.
표 2e는 종료 응답 메시지 포맷의 일례를 나타낸 표이다.Table 2e is a table showing an example of an end response message format.
표 2e에서 나타낸 바와 같이, FLAG 필드에는 1바이트 데이터가 저장되며, 신규 펌웨어 프로그램 전송의 성공(success)을 나타내는 플래그 비트(0x00)와 실패(fail)를 나타내는 플래그 비트(0x01) 중의 하나가 된다. As shown in Table 2e, one-byte data is stored in the FLAG field, which is one of a flag bit (0x00) indicating a success of a new firmware program transmission and a flag bit (0x01) indicating a failure.
만약 FLAG=0x00이면 펌웨어 업그레이드 장치는 중계기 컨트롤러에게 펌웨어 다운로드 이벤트가 있음을 통보해야 한다.If FLAG = 0x00, the firmware upgrade device should notify the repeater controller that there is a firmware download event.
또한, FLAG=0x01이면 응답 메시지를 관리서버측에 전송한 후 TCP/IP 연결을 종료하고 대기상태로 복귀한다.In addition, if FLAG = 0x01, it sends a response message to the management server side, terminates the TCP / IP connection, and returns to the standby state.
또한, START 필드는 1바이트의 0x00 플래그 비트, CMD는 1바이트의 0x06 플래그 비트, TAIL은 1바이트의 0x7E 플래그 비트를 가지며, CRC 필드에는 16비트의 CRC값이 포함되고, START부터 CRC 앞까지 계산을 한다.In addition, the START field has one byte of 0x00 flag bits, CMD has one byte of 0x06 flag bits, and TAIL has one byte of 0x7E flag bits.The CRC field contains a 16-bit CRC value. Do it.
다음으로 펌웨어 다운로드 결과 메시지는 펌웨어 업그레이드 장치가 펌웨어 프로그램을 중계기측으로 전송한 후 그 전송결과를 관리서버측에 전송하는 메시지이다. Next, the firmware download result message is a message in which the firmware upgrade apparatus transmits the firmware program to the relay side and then transmits the transmission result to the management server side.
표 2f은 펌웨어 다운로드 결과 메시지 포맷의 일례를 나타낸 표이다.Table 2f is a table showing an example of the firmware download result message format.
표 2f에서 나타낸 바와 같이, 시퀀스 번호(SEQ#)는 패킷 손실을 추정할 수 있도록 하는 일련번호이며, 최소 0000번부터 최대 9999번까지의 일련번호를 지정한다.As shown in Table 2f, the sequence number (SEQ #) is a serial number for estimating packet loss, and specifies a serial number of at least 0000 up to 9999.
RESULT는 펌웨어 다운로드 결과를 몇 가지 유형으로 구분하여, 각 결과값에 1바이트의 숫자코드를 부여한 것이다. 펌웨어 업그레이드 장치는 펌웨어 다운로드 결과값을 관리서버측으로 전송하는 펌웨어 다운로드 결과 메시지의 RESULT 필드에 저장하며, 펌웨어 다운로드의 결과는 아래 표2-7과 같은 8가지 유형을 생각할 수 있다. RESULT classifies the firmware download result into several types and assigns each byte a 1-byte numeric code. The firmware upgrade apparatus stores the firmware download result value in the RESULT field of the firmware download result message which is transmitted to the management server. The result of the firmware download can be considered as eight types as shown in Table 2-7 below.
표 3은 펌웨어 업그레이드 장치가 중계기 컨트롤러측으로 전송하는 신호를 정리한 표이다.Table 3 summarizes the signals transmitted by the firmware upgrade apparatus to the repeater controller.
이를 더욱 상세히 살펴보면 아래와 같다. Looking at this in more detail as follows.
펌웨어 다운로드 명령어는, 펌웨어 업그레이드 장치가 관리서버로부터 신규 펌웨어 프로그램을 전송받은 후 중계기측에 이를 전송키 위하여 관리서버측에 펌웨어 프로그램의 다운로드를 지시하는 명령어다. The firmware download command is a command for instructing the download of the firmware program to the management server in order to transmit the new firmware program from the management server to the relay side after receiving the new firmware program.
펌웨어 업그레이드 장치는 관리서버로부터 신규 펌웨어 프로그램의 전송을 완료한 후 소정의 시간(예를 들어 1초) 경과 후에 이 명령어를 중계기 컨트롤러측으로 전송을 한다.The firmware upgrade apparatus transmits this command to the repeater controller after a predetermined time (for example, 1 second) has passed after the transmission of the new firmware program from the management server.
중계기 컨트롤러는 이 명령어에 대해서 소정의 타임아웃 시간 경과 전에(예를 들면 3초 내에) 펌웨어 스펙확인 명령어(AT$FWINFO?)로 응답을 한다. 만약 중계기 컨트롤러로부터 소정의 타임아웃 시간이 경과할 때까지 응답이 없으면, 관리서버측으로 다운로드 결과 메시지를 전송한다. 이때 표 2g에서 나타낸 바와 같이 RESULT 필드값이 1이 되도록 함으로써 펌웨어 다운로드가 실패했음을 보고하게 된다.The repeater controller responds to this command with a firmware specification check command (AT $ FWINFO?) Before a predetermined timeout time elapses (eg within 3 seconds). If there is no response until the predetermined timeout time elapses from the repeater controller, the download result message is transmitted to the management server. In this case, as shown in Table 2g, the RESULT field value is set to 1 to report that the firmware download has failed.
한편, 펌웨어 다운로드 에 대해서는 OK0D0A를 출력하지 않는다.On the other hand, OK0D0A is not output for firmware download.
표 3a은 펌웨어 다운로드 명령어 포맷의 일례를 나타낸 표이다.Table 3a shows an example of a firmware download command format.
표 4는 중계기 컨트롤러가 펌웨어 업그레이드 장치측으로 전송하는 신호를 정리한 표이다.Table 4 summarizes the signals that the repeater controller sends to the firmware upgrade device.
이들 각각에 대하여 더욱 상세히 살펴보면 아래와 같다. Looking at each of them in more detail as follows.
먼저, 펌웨어 스펙확인 명령어는 펌웨어 업그레이드 장치로부터의 펌웨어 다운로드 명령어에 응답하여 중계기 컨트롤러가 펌웨어 업그레이드 장치측으로 전송하는 명령어다.First, the firmware specification check command is a command transmitted from the repeater controller to the firmware upgrade device side in response to the firmware download command from the firmware upgrade device.
앞서 펌웨어 다운로드 명령어에 관한 설명에서 언급한 바 있듯이, 중계기 컨트롤러는 펌웨어 다운로드 명령어를 수신한 후 소정 시간이 경과하기 전에 펌웨어 스펙확인 명령어를 펌웨어 업그레이드 장치측으로 전송한다. As mentioned in the foregoing description of the firmware download command, the repeater controller transmits a firmware specification check command to the firmware upgrade device side after a predetermined time elapses after receiving the firmware download command.
표 4a은 펌웨어 스펙확인 명령어 및 응답 포맷의 일례를 나타낸 표이다.Table 4a shows an example of a firmware specification check command and response format.
펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터의 펌웨어 스펙확인 명령어에 응답하여 펌웨어의 스펙정보를 회신한다.The firmware upgrade apparatus returns the specification information of the firmware in response to the firmware specification check command from the repeater controller side.
펌웨어의 스펙정보에는 정보는 표 1c을 참조하여 앞서 설명한 바와 같이, 2바이트의 중계기 코드(RCODE)와, 각각 1바이트의 크기로 이루어지는 중계기 제조사 코드, 컨트롤러 제조사 코드 및 버전정보가 포함된다. The specification information of the firmware includes a repeater code (RCODE) of 2 bytes, a repeater manufacturer code, a controller manufacturer code, and version information each having a size of 1 byte, as described above with reference to Table 1c.
또한, 펌웨어 스펙정보 중 SIZE 항목에는 펌웨어 프로그램의 크기정보가 6자리 정수로서 바이트 단위로 포함된다.In addition, the size information of the firmware specification information includes the size information of the firmware program as a 6-digit integer in byte units.
또한, TOTALCRC 항목에는 전체 펌웨어 프로그램에 관한 16비트의 CRC 값이 포함된다. The TOTALCRC item also contains a 16-bit CRC value for the entire firmware program.
다음으로, 펌웨어 분할전송 명령어는 펌웨어 프로그램을 512바이트 단위의 블록으로 분할하여 전송하여 줄 것을 중계기 컨트롤러가 펌웨어 업그레이드 장치측에 요청하는 명령어다. Next, the firmware divided transfer command is a command that the repeater controller requests the firmware upgrade apparatus to divide and transmit the firmware program into blocks of 512 byte units.
512바이트 단위로 분할된 각각의 블록에 있어서, 오버헤드를 제외한 실질적인 펌웨어 프로그램 데이터는 496바이트가 된다. In each block divided into 512 byte units, the actual firmware program data excluding the overhead is 496 bytes.
오버헤드에는 4바이트의 $FWRD, 4바이트의 인덱스(INDEX), 4바이트의 CRC값 및 2바이트의 0D0A값이 포함된다.The overhead includes four bytes of $ FWRD, four bytes of index (INDEX), four bytes of CRC value, and two bytes of 0D0A value.
펌웨어 업그레이드 장치는 데이터(DATA) 필드와 CRC 필드의 모든 값을 2-디지트의 아스키 헥스 코드(ASCII Hex Code)로 변환하여 전송한다. 이때, 데이터 필드를 2-디지트로 나누어서 전송하기 때문에 실질적인 펌웨어 프로그램 데이터는 496바이트의 절반인 248바이트가 된다.The firmware upgrade apparatus converts all values of the data field and the CRC field into 2-digit ASCII Hex Codes and transmits them. At this time, since the data field is divided into two digits and transmitted, the actual firmware program data becomes 248 bytes, which is half of 496 bytes.
전체 블록의 개수 N은 아래 수학식 1과 같이 계산된다.The number N of all blocks is calculated as in
이 때, 분할된 펌웨어 프로그램 블록을 전송받는 전체 회수는 (N +1)회가 된다.At this time, the total number of times of receiving the divided firmware program block is ( N + 1) times.
한편, N번째 블록에서 펌웨어 프로그램의 마지막 부분 이후의 잔여 바이트에는 아무것도 채우지 않고, 바로 0D0A를 붙여서 전송한다.On the other hand, in the N- th block, nothing is filled in the remaining bytes after the last part of the firmware program, and is immediately transmitted with 0D0A attached.
중계기 컨트롤러는, 하나의 펌웨어 프로그램 블록을 전송받을 때마다 해당블록의 CRC값을 계산해서 펌웨어 업그레이드 장치로부터 전송된 CRC값과 비교한다. 두 CRC값이 동일한 경우에는 전송오류가 없는 것이다. 만약 두 CRC값이 다르면 3번까지 그 블록을 재전송요청하고, 3번째에도 CRC값이 상이한 경우에는 후술하는 펌웨어 다운로드 종료 명령어에서 해당 블록에서 CRC 오류가 발생하였음을 지시하는 코드를 이용하여(AT$FWEND=6) 펌웨어 다운로드가 실패하였음을 지시한다.Each time the repeater controller receives one firmware program block, the repeater controller calculates a CRC value of the corresponding block and compares the CRC value transmitted from the firmware upgrade apparatus. If the two CRC values are the same, there is no transmission error. If the two CRC values are different, the block is requested to be retransmitted up to 3 times. If the CRC values are different from the third time, a code indicating that a CRC error has occurred in the corresponding block is used in the firmware download end command described later (AT $ FWEND = 6) Indicates that the firmware download failed.
신규 펌웨어 프로그램의 첫번째 블록을 전송받았을 때, 중계기는 현행 펌웨어 프로그램과 신규 펌웨어 프로그램의 부트(boot) 영역을 비교하여 자신의 펌웨어 프로그램이 맞는지 여부를 판단한다. 만약 펌웨어 프로그램이 일치하지 않는 경우에는 후술하는 펌웨어 다운로드 종료 명령어에서 잘못된 펌웨어를 지시하는 코드를 이용하여(AT$FWEND=7) 펌웨어 다운로드가 실패하였음을 지시한다.When receiving the first block of the new firmware program, the repeater compares the current firmware program and the boot area of the new firmware program to determine whether the firmware program is correct. If the firmware programs do not match, the firmware download fails by using a code indicating wrong firmware (AT $ FWEND = 7) in the firmware download end command described later.
표 4b는 펌웨어 분할전송 명령어 및 그 응답 포맷의 일례를 나타내 표이다. Table 4b is a table showing an example of a firmware split transfer command and its response format.
여기에서 인덱스(INDEX)는 신규 펌웨어 프로그램의 해당 블록에 관한 4자리 정수의 인덱스이다.Here, the index INDEX is an index of four digit integers for the corresponding block of the new firmware program.
해당 인덱스에 관한 중계기 컨트롤러의 펌웨어 분할전송 명령어가 전송되면, 그 응답으로서 펌웨어 업그레이드 장치는 인덱스, 신규 펌웨어 프로그램의 해당 인덱스에 관한 데이터 블록 및 CRC를 전송한다.When the firmware split transfer command of the repeater controller for the corresponding index is transmitted, in response, the firmware upgrade apparatus transmits the index, the data block for the corresponding index of the new firmware program, and the CRC.
데이터(DATA)는 신규 펌웨어 프로그램의 해당 블록의 실제 데이터로서, 496바이트의 영역이지만 2-디지트 아스키 헥스 코드로 전송되는 관계로 2-디지트로 나누어 전송되기 때문에 실질적인 데이터 크기는 496/2=248바이트가 됨은 앞서 설명한 바 있다.Data is the actual data of the corresponding block of the new firmware program. The data size is 496/2 = 248 bytes because it is divided into 2-digits because it is transmitted in 2-digit ASCII hex code. Has been described above.
마찬가지로, CRC값은 2-디지트 아스키 헥스 코드로 전송되는 관계로 2-디지트로 나누어 전송되기 때문에 4바이트 크기가 된다.Similarly, since the CRC value is transmitted as a 2-digit ASCII hex code, it is divided into 2-digits and thus has a size of 4 bytes.
다음으로 펌웨어 다운로드 종료 명령어는 펌웨어 프로그램의 다운로드를 종료할 것을 중계기 컨트롤러가 펌웨어 업그레이드 장치측에 요청하는 명령어다.Next, the firmware download end command is a command that the repeater controller requests the firmware upgrade device to end the download of the firmware program.
표 4c은 펌웨어 다운로드 종료 명령어와 그 응답 포맷의 일례를 나타낸 표이다.Table 4c is a table showing an example of the firmware download end command and its response format.
중계기 컨트롤러는 펌웨어 다운로드 종료 명령어에 종료의 원인을 지시하는 1바이트의 코드를 포함하여 전송한다. 펌웨어 업그레이드 장치는 펌웨어 다운로드 종료 명령어에 대한 응답으로서 OK 또는 ERROR를 회신한다.The repeater controller transmits a 1 byte code indicating the cause of the termination in the firmware download termination command. The firmware upgrade apparatus returns an OK or ERROR in response to the firmware download end command.
표 4d는 펌웨어 다운로드 종료의 원인을 지시하는 1바이트의 코드를 정리한 표이다. 표 4d의 각 코드값은, 앞서 표 2g을 참조하여 설명한 다운로드 결과값(RESULT)에 대응된다. Table 4d is a table listing 1-byte codes indicating the cause of firmware download termination. Each code value of Table 4d corresponds to the download result RESULT described with reference to Table 2g above.
도 6은 본 발명의 제2 실시예에 의한 원격 펌웨어 업그레이드 방법에 따른 중계기 펌웨어 업그레이드의 흐름을 나타낸 도면이다. 6 is a diagram showing the flow of repeater firmware upgrade according to the remote firmware upgrade method according to a second embodiment of the present invention.
도 6에서 나타낸 바와 같이, 중계기의 원격 펌웨어 업그레이드 방법은 신규 펌웨어 프로그램이 관리서버로부터 펌웨어 업그레이드 장치로 전송되는 단계(S100)와, 상기 신규 펌웨어 프로그램이 상기 펌웨어 업그레이드 장치로부터 중계기 컨트롤러로 전송되는 단계(S200)를 포함하여 이루어진다. As shown in Figure 6, the remote firmware upgrade method of the repeater is a step of transmitting a new firmware program from the management server to the firmware upgrade apparatus (S100), and the step of transmitting the new firmware program from the firmware upgrade apparatus to the repeater controller ( S200) is made.
한편, 상기 신규 펌웨어 프로그램은 상기 중계기 컨트롤러로 전송된 후, 상기 중계기 컨트롤러의 자체 펌웨어 업그레이드 알고리듬에 따라 상기 신규 펌웨어가 설치되는 단계(S300)를 포함하여 이루어진다. On the other hand, the new firmware program is transmitted to the repeater controller, and comprises the step of installing the new firmware according to the firmware upgrade algorithm of the repeater controller (S300).
도 7은 도 6를 더욱 자세히 나타낸 흐름도이다.7 is a flow diagram illustrating FIG. 6 in more detail.
도 7에서 나타낸 바와 같이, 신규 펌웨어 프로그램이 관리서버로부터 펌웨어 업그레이드 장치로 전송되는 단계는, 관리서버와 펌웨어 업그레이드 장치 간 신규 펌웨어 프로그램 전송 준비단계(S110~S131)와, 관리서버로부터 펌웨어 업그레이드 장치로의 신규 펌웨어 프로그램 전송단계(S140~S161)를 더 포함하여 이루어진다. As shown in FIG. 7, the step of transmitting the new firmware program from the management server to the firmware upgrade apparatus includes preparing a new firmware program transmission step (S110 ˜ S131) between the management server and the firmware upgrade apparatus, and from the management server to the firmware upgrade apparatus. It further comprises a new firmware program transmission step (S140 ~ S161).
관리서버와 펌웨어 업그레이드 장치 간 신규 펌웨어 프로그램 전송 준비단계(S110~S131)는, 다시 관리서버로부터 펌웨어 업그레이드 장치측으로 통신 네트워크 접속요청이 이루어지는 단계(S110)와, 펌웨어 업그레이드 장치와 관리서버 간에 통신 네트워크 접속이 체결되는 단계(S111) 및 모뎀ID 식별단계(S120~S121)를 더 포함하여 이루어진다. The new firmware program transmission preparation step (S110 ~ S131) between the management server and the firmware upgrade device is a step (S110) where a communication network connection request is made from the management server to the firmware upgrade device side again, and the communication network connection between the firmware upgrade device and the management server. The fastening step (S111) and the modem ID identification step (S120 ~ S121) further comprises.
먼저, 관리서버로부터 펌웨어 업그레이드 장치측으로의 통신 네트워크 접속요청(S110)은, 관리서버에 의하여 표 1의 펌웨어 업그레이드 요청 명령어(REP_FW_DLOAD_CMD)가 전송됨으로서 이루어진다. 펌웨어 업그레이드 요청 명령어는 단문메시지(SMS)를 이용하여 전송된다.First, the communication network connection request (S110) from the management server to the firmware upgrade apparatus side is made by transmitting the firmware upgrade request command (REP_FW_DLOAD_CMD) shown in Table 1 by the management server. The firmware upgrade request command is transmitted using a short message (SMS).
펌웨어 업그레이드 장치는 펌웨어 업그레이드 요청 명령어를 수신한 때에는, 명령어에 대한 별도의 OK/ERROR 등의 응답이 없이 바로 통신 네트워크 접속을 체결한다(S111). 통신 네트워크의 접속은 TCP/IP 프로토콜에 의하여 이루어질 수 있다. 또한, 이 때 표 1a의 펌웨어 업그레이드 요청 명령어에 포함된 네트워크 정보(IP 주소 및 포트 번호 등)를 이용한다. When the firmware upgrade apparatus receives the firmware upgrade request command, the firmware upgrade apparatus immediately connects to the communication network without a response such as an OK / ERROR for the command (S111). The connection of the communication network can be made by the TCP / IP protocol. In this case, network information (IP address and port number, etc.) included in the firmware upgrade request command of Table 1a is used.
TCP/IP 접속이 체결되면, 관리서버는 펌웨어 업그레이드 장치를 식별하기 위하여, 표 1의 ID 요청 명령어(TCP_MODEM_ID_REQ)에 의하여 펌웨어 업그레이드 장치의 전화번호를 요청한다(S120). When the TCP / IP connection is concluded, the management server requests the phone number of the firmware upgrade apparatus by the ID request command (TCP_MODEM_ID_REQ) of Table 1 to identify the firmware upgrade apparatus (S120).
펌웨어 업그레이드 장치는 ID 요청 명령어를 수신하면 ID 응답메시지(TCP_MODEM_ID_RES)에 펌웨어 업그레이드 장치의 전화번호를 포함하여 관리서버측으로 회신한다(S121).When the firmware upgrade apparatus receives the ID request command, the firmware upgrade apparatus returns to the management server including the telephone number of the firmware upgrade apparatus in the ID response message (TCP_MODEM_ID_RES) (S121).
관리서버는 ID 응답메시지를 수신한 후, 해당 메시지에 포함된 펌웨어 업그레이드 장치의 전화번호가 관리서버에 저장되어 있는 해당 펌웨어 업그레이드 장치의 전화번호와 일치하는지 여부를 판단한다.After receiving the ID response message, the management server determines whether the telephone number of the firmware upgrade apparatus included in the message matches the telephone number of the firmware upgrade apparatus stored in the management server.
관리서버에 저장된 펌웨어 업그레이드 장치의 전화번호와 펌웨어 업그레이드 장치로부터 전송된 전화번호가 일치하면, 관리서버는 전송할 신규 펌웨어의 명칭 및 크기 정보를 펌웨어 업그레이드 장치로 전송한다(S130). 이들 정보는 펌웨어 사양 메시지(TCP_FW_SIZE_TX)에 포함되어 있음은 앞서 표 1c에서 설명한 바 있다. If the phone number of the firmware upgrade apparatus stored in the management server and the telephone number transmitted from the firmware upgrade apparatus match, the management server transmits the name and size information of the new firmware to be transmitted to the firmware upgrade apparatus (S130). These information are included in the firmware specification message (TCP_FW_SIZE_TX) as described in Table 1c above.
펌웨어 업그레이드 장치는 관리서버로부터 펌웨어 사양 메시지를 수신하면, 표 2b에서 설명한 펌웨어 사양 응답 메시지를 관리서버로 회신한 후 메시지에 포함된 펌웨어 명칭(Firmware Name)을 저장한다(S131).Upon receiving the firmware specification message from the management server, the firmware upgrade apparatus returns the firmware specification response message described in Table 2b to the management server, and stores the firmware name included in the message (S131).
도 9는 원격 펌웨어 업그레이드 장치에 관한 전화번호가 불일치하는 경우의흐름에 관한 도면이다. FIG. 9 is a diagram illustrating a flow in a case where telephone numbers relating to remote firmware upgrade apparatuses do not match.
관리서버는 저장된 펌웨어 업그레이드 장치의 전화번호와 펌웨어 업그레이드 장치로부터 전송된 전화번호가 일치하는지 여부를 판단한다(S122). 만약 두 전화번호가 불일치하면, 관리서버는 표 1g의 종료 메시지를 펌웨어 업그레이드 장치로 전송함으로써 TCP/IP 종료 명령을 내린다(S123). 펌웨어 업그레이드 장치는 종료 메시지를 수신하면 관리서버와의 사이에 체결된 TCP/IP 접속을 종료하고, 표 2e의 종료응답 메시지를 관리서버측으로 전송한 후 대기(idle) 상태로 복귀한다(S124).The management server determines whether the telephone number of the stored firmware upgrade apparatus and the telephone number transmitted from the firmware upgrade apparatus match (S122). If the two telephone numbers do not match, the management server issues a TCP / IP termination command by transmitting the termination message of Table 1g to the firmware upgrade apparatus (S123). Upon receiving the termination message, the firmware upgrade apparatus terminates the TCP / IP connection between the management server, and transmits the termination response message of Table 2e to the management server and returns to the idle state (S124).
다시 도 7으로 돌아가, 관리서버로부터 펌웨어 업그레이드 장치로 신규 펌웨어 프로그램이 전송되는 단계의 자세한 흐름을 살펴보면 다음과 같다.7 again, the detailed flow of the step of transmitting a new firmware program from the management server to the firmware upgrade apparatus is as follows.
펌웨어 업그레이드 장치가 펌웨어 사양 응답 메시지를 회신하면(S131), 관리서버는 신규 펌웨어 프로그램을 4096바이트 단위의 블록으로 분할하여 각 블록에 관한 인덱스(INDEX)와 함께 각각의 블록을 펌웨어 전송 메시지(TCP_FW_TX(N))에 포함하여 전송한다(S140,141,142,143,144).When the firmware upgrade apparatus returns a firmware specification response message (S131), the management server divides the new firmware program into blocks of 4096-byte units and displays each block with an index (INDEX) for each block in the firmware transfer message (TCP_FW_TX ( N )) and transmit (S140, 141, 142, 143, 144).
이 때, 총 블록의 수를 N이라 하면, 신규 펌웨어 프로그램의 전송을 위하여 필요한 전송의 회수는 총 (N +1)회가 된다.At this time, if the total number of blocks is N , the number of transfers necessary for the transfer of the new firmware program is ( N +1) times.
펌웨어 업그레이드 장치는 수신한 각 펌웨어 전송 메시지마다 수신응답을 관리서버측으로 회신하지 않는 대신, 인덱스가 순차적으로 수신되는지 여부를 판단한다. The firmware upgrade apparatus does not return the response to the management server for each firmware transmission message received, and determines whether the indexes are sequentially received.
신규 펌웨어 프로그램의 모든 블록의 전송이 완료되면, 관리서버는 펌웨어 업그레이드 장치측으로 CRC 계산값 메시지(TCP_FW_CRC_REQ)을 전송함으로써 전체 펌웨어 프로그램에 대한 CRC값을 전송한다.When the transmission of all blocks of the new firmware program is completed, the management server transmits a CRC value for the entire firmware program by sending a CRC calculation value message (TCP_FW_CRC_REQ) to the firmware upgrade apparatus.
펌웨어 업그레이드 장치는, 전송받은 신규 펌웨어 프로그램 전체에 대한 CRC값을 자체적으로 계산한 후, 수신받은 CRC 계산값 메시지에 포함된 CRC 계산값과 비교한다. 또한, 그 비교결과를 CRC 비교결과 응답 메시지(TCP_FW_CRC_RES)로써 관리서버측에 전송한다.The firmware upgrade apparatus calculates a CRC value for all of the received new firmware programs by itself and compares the CRC calculation value included in the received CRC calculation message. The comparison result is also transmitted to the management server side as a CRC comparison result response message (TCP_FW_CRC_RES).
만약 두 CRC 계산값이 일치하면, 신규 펌웨어 프로그램이 오류없이 전송된 것으로 간주하여, 관리서버는 TCP/IP 접속을 종료할 것을 지시하는 종료 메시지(TCP_END_REQ)를 전송하며, 펌웨어 업그레이드 장치는 수신한 종료 메시지에 응답하여 종료 응답 메시지(TCP_END_RES)를 관리서버에 회신한 후 대기(idle) 상태에 진입한다. If the two CRC calculations match, the new firmware program is considered to have been transmitted without error, and the management server sends an end message (TCP_END_REQ) instructing to terminate the TCP / IP connection, and the firmware upgrade device receives the received termination. In response to the message, the terminal sends an end response message (TCP_END_RES) to the management server and enters an idle state.
도 10은 특정 인덱스에 관한 데이터블록의 전송이 누락되었거나, 전송실패가 발생한 경우의 흐름에 관한 도면이다.FIG. 10 is a flowchart illustrating a case where transmission of a data block for a specific index is missing or a transmission failure occurs.
특정 인덱스(여기에서는 index=2)에 관한 데이터가 순차적으로 수신되지 않으면(S145), 해당 인덱스에 관한 펌웨어 전송 메시지부터 재전송하여 줄 것을 관리서버측에 요청한다(S146). 이 요청은 펌웨어 재전송 요청 메시지를 관리서버측으로 전송함으로써 수행된다.If data regarding a specific index (here index = 2) is not sequentially received (S145), the management server requests to retransmit from the firmware transmission message regarding the index (S146). This request is performed by sending a firmware retransmission request message to the management server side.
관리서버는 펌웨어 재전송 요청 메시지를 수신한 경우, 해당 인덱스에 관한 펌웨어 전송 메시지부터 다시 전송을 수행한다(S147,148,144).When the management server receives the firmware retransmission request message, the management server transmits again from the firmware transmission message for the index (S147, 148, 144).
도 11은 단계 S150에서의 CRC 계산값이 불일치하는 경우의 흐름에 관한 도면이다. 11 is a diagram of a flow when the CRC calculated values at step S150 are inconsistent.
편의상 단계S144 이전의 과정은 도시를 생략하였다.For convenience, the process before step S144 is omitted.
만약 두 CRC 계산값이 불일치하면(S152), CRC 비교결과 응답 메시지에 계산값이 불일치함을 뜻하는 정보를 포함하여 전송한다(S151). 이 경우, 관리서버로부터 신규 펌웨어 프로그램의 재전송이 이루어지게 된다(S170~S174). 펌웨어 업그레이드 장치도 그때까지의 모든 진행사항을 리셋하고, 수신한 모든 펌웨어 블록을 삭제한 후 관리서버로부터 전송되는 최초 펌웨어 전송 메시지부터 다시 수신을 한다. 신규 펌웨어 프로그램의 재전송이 이루어진 이후의 과정(S180~S161)은 앞서 도 7을 참조하여 살펴본 바와 동일하게 진행된다.If the two CRC calculation values do not match (S152), the CRC comparison result response message includes information indicating that the calculation values do not match and transmits (S151). In this case, retransmission of the new firmware program is made from the management server (S170 to S174). The firmware upgrade apparatus also resets all progresses up to that time, deletes all received firmware blocks, and then receives the first firmware transmission message transmitted from the management server again. Processes after the retransmission of the new firmware program (S180 ~ S161) is the same as described above with reference to FIG.
만약, 신규 펌웨어 프로그램의 전송 중에 돌연한 통화 단절(call drop)가 발생하면, 관리서버는 통화 단절 발생을 감지한 후 그때까지의 모든 진행사항을 리셋하고 신규 펌웨어 프로그램을 처음부터 재전송하는 것을 시도할 수 있다. 또한, 이러한 재전송이 통화 단절로 인하여 무한 반복되는 것을 방지하기 위하여, 재전송을 소정의 회수로 제한할 수도 있다.If a sudden call drop occurs during the transmission of the new firmware program, the management server detects the occurrence of the call disconnection, resets all progress until then, and attempts to retransmit the new firmware program from the beginning. Can be. In addition, in order to prevent such retransmissions from repeating infinitely due to disconnection, retransmissions may be limited to a predetermined number of times.
이와 같은 프로세스를 통하여, 중계기의 펌웨어 업그레이드를 위하여 관리서버로부터 펌웨어 업그레이드 장치로 신규 펌웨어 프로그램의 전송이 이루어지게 된다.Through this process, a new firmware program is transmitted from the management server to the firmware upgrade apparatus for firmware upgrade of the repeater.
아래에서는 신규 펌웨어 프로그램이 펌웨어 업그레이드 장치로부터 중계기 컨트롤러측으로 다시 전송된 후, 중계기 펌웨어 업그레이드가 이루어지는 프로세스에 대하여 계속해서 설명한다.In the following, the process in which the repeater firmware upgrade is performed after the new firmware program is transferred back from the firmware upgrade apparatus to the repeater controller side will be described.
도 8은 도 6를 더욱 자세히 나타낸 다른 흐름도이다. 8 is another flowchart illustrating FIG. 6 in more detail.
특히 도 8은 본 발명에 의한 이동통신 중계기의 원격 펌웨어 업그레이드 방법 중에서 신규 펌웨어 프로그램이 상기 펌웨어 업그레이드 장치로부터 중계기 컨트롤러로 전송되는 단계의 일례를 더욱 상세하게 나타낸 흐름도이다. In particular, FIG. 8 is a flowchart illustrating in more detail an example of a step of transmitting a new firmware program from the firmware upgrade apparatus to the repeater controller in the remote firmware upgrade method of the mobile communication repeater according to the present invention.
도 8에서 나타낸 바와 같이, 신규 펌웨어 프로그램이 펌웨어 업그레이드 장치로부터 중계기 컨트롤러로 전송되는 단계는, 펌웨어 업그레이드 장치와 중계기 컨트롤러 간 신규 펌웨어 프로그램 전송 준비단계(S210~S221)와, 펌웨어 업그레이드 장치로부터 중계기 컨트롤러측으로의 신규 펌웨어 프로그램 전송단계(S230~S251)를 더 포함하여 이루어진다.As shown in FIG. 8, the step of transferring the new firmware program from the firmware upgrade apparatus to the repeater controller includes preparing a new firmware program transmission step (S210 ˜ S221) between the firmware upgrade apparatus and the repeater controller and from the firmware upgrade apparatus to the repeater controller side. It further comprises a new firmware program transmission step (S230 ~ S251).
앞서 살펴본 프로세스에서, 펌웨어 업그레이드 장치가 관리서버로부터 신규 펌웨어 프로그램의 다운로드를 완료하면, 펌웨어 업그레이드 장치는 소정 시간(예를 들어, 1초)의 경과 후에 중계기 컨트롤러측에 신규 펌웨어 다운로드를 지시한다(S210). 이는 표 3a의 펌웨어 다운로드 명령어($FWDLOAD)를 통하여 수행한다.In the above-described process, when the firmware upgrade apparatus completes the download of the new firmware program from the management server, the firmware upgrade apparatus instructs the relay controller side to download the new firmware after a predetermined time (for example, 1 second) elapses (S210). ). This is done through the firmware download command ($ FWDLOAD) in Table 3a.
중계기 컨트롤러가 펌웨어 다운로드 명령어를 수신하면, 중계기 컨트롤러는 소정 시간(예를 들어, 3초)이 경과하기 전에 펌웨어 정보를 조회한다(S220). 펌웨어 정보의 조회는 표 4a의 펌웨어 스펙확인 명령어(AT$FWINFO?)를 펌웨어 업그레이드 장치측으로 전송함으로써 수행한다. 펌웨어 업그레이드 장치는 펌웨어 스펙확인 명령어에 대한 응답으로, 신규 펌웨어 프로그램에 관한 펌웨어 정보(중계기 펌웨어 명칭, 중계기 명칭, 컨트롤러 제조사 코드 및 버전정보 등)를 확인한다(S221).When the repeater controller receives the firmware download command, the repeater controller inquires the firmware information before a predetermined time (for example, 3 seconds) elapses (S220). The inquiry of the firmware information is performed by transmitting the firmware specification check command (AT $ FWINFO?) Shown in Table 4a to the firmware upgrade apparatus. In response to the firmware specification check command, the firmware upgrade apparatus checks firmware information (relay firmware name, repeater name, controller manufacturer code and version information, etc.) regarding the new firmware program (S221).
해당 중계기에 대한 올바른 펌웨어 명칭이 전송된 경우에는, 중계기 컨트롤러는 최초 인덱스(Firmware Index=0)부터 순차적으로 펌웨어 분할전송 명령어를 펌웨어 업그레이드 장치측으로 전송하고(S230,232,234,236), 작은 단위(예를 들어 512바이트)로 분할된 펌웨어 프로그램 블록을 펌웨어 업그레이드 장치로부터 순차적으로 전송받는다(S231,233,235,237). When the correct firmware name for the repeater is transmitted, the repeater controller sequentially transmits the firmware split transfer command to the firmware upgrade device from the initial index (Firmware Index = 0) (S230, 232, 234, 236), and the small unit (for example, The firmware program block divided into 512 bytes is sequentially transmitted from the firmware upgrade apparatus (S231, 233, 235, 237).
전체 펌웨어 프로그램 블록의 개수(M)는 수학식 2와 같다.The number M of the entire firmware program blocks is shown in Equation 2.
따라서, 신규 펌웨어 프로그램 전체를 다 읽기 위해서는 (M+1)개의 블록을 읽어야 한다.Therefore, to read the whole new firmware program, it is necessary to read ( M +1) blocks.
만약 (INDEX=M)인 블록의 경우에 펌웨어 프로그램 블록의 유효 데이터가 496 바이트보다 작으면, 프로그램 최종부분 이후의 잔여부분에는 아무것도 채우지 않고, 유효 데이터의 마지막에 0D0A를 붙여서 전송한다.(INDEX=M인블록은 512바이트보다 작을 수 있다)If the valid data of the firmware program block is smaller than 496 bytes in the case of (INDEX = M ), the remaining part after the end of the program is filled with nothing, and 0D0A is transmitted at the end of the valid data. M inblocks can be less than 512 bytes)
중계기 컨트롤러는 신규 펌웨어 프로그램의 최초 블록을 받았을 때에, 신규펌웨어 프로그램의 부트(boot) 영역을 현행 펌웨어 프로그램의 부트 영역과 비교하여, 신규 펌웨어 프로그램이 현행 펌웨어 프로그램과 호환성이 있는지 여부를 판단한다. 만약 호환성이 있는 것으로 판단한 경우에는 다음 블록의 다운로드를 계속 진행한다. When the repeater controller receives the first block of the new firmware program, it compares the boot area of the new firmware program with the boot area of the current firmware program, and determines whether the new firmware program is compatible with the current firmware program. If it is determined to be compatible, the next block download continues.
한편, 중계기 컨트롤러는 펌웨어 프로그램 블록을 받을 때마다 각 블록에 대한 CRC값을 계산한 후, 펌웨어 업그레이드 장치로부터 전송된 CRC값과 상호비교한다. 만약 두 CRC값이 일치하면 해당 블록이 성공적으로 전송된 것으로 간주하여 다음 블록으로 순차 진행한다.Meanwhile, the repeater controller calculates a CRC value for each block each time the firmware program block is received, and then compares the CRC value transmitted from the firmware upgrade apparatus. If the two CRC values coincide, the block is considered to have been successfully transmitted and then proceeds to the next block.
중계기 컨트롤러가 신규 펌웨어 프로그램을 모두 전송받으면, 신규 펌웨어 프로그램 전체에 대한 TOTAL CRC값을 계산하고, TOTAL CRC값이 펌웨어 업그레이드 장치로부터 전송받은 CRC값과 일치하는지 여부를 판단한다(S240).When the repeater controller receives all of the new firmware programs, it calculates a TOTAL CRC value for the whole new firmware program, and determines whether the TOTAL CRC value matches the CRC value transmitted from the firmware upgrade apparatus (S240).
만약 두 CRC값이 일치하는 경우에는 중계기 컨트롤러는 펌웨어를 저장장치(예를 들어, 플래시 메모리)에 써넣는다. If the two CRC values match, the repeater controller writes the firmware to storage (eg flash memory).
펌웨어 쓰기가 완료되면, 펌웨어 다운로드 성공을 뜻하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치측으로 전송한다(S250). 표 4c 및 4-4를 참조하면, 이 경우에 해당하는 펌웨어 다운로드 종료 명령어는 (AT$FWEND=0)이 된다. When the writing of the firmware is completed, a firmware download end command including a code indicating a firmware download success is transmitted to the firmware upgrade apparatus (S250). Referring to Tables 4c and 4-4, the corresponding firmware download end command is (AT $ FWEND = 0).
펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터 펌웨어 다운로드 종료 명령어(AT$FWEND=0)를 수신한 경우에는 (RESULT=0)인 펌웨어 다운로드 결과 메시지를 관리서버에 전송함으로서, 신규 펌웨어 프로그램이 성공적으로 다운로드되었음을 보고한다(S251). 이를 위하여 펌웨어 업그레이드 장치로부터 관리서버측으로 전송되는 단문메시지(SMS)를 사용할 수 있다. When the firmware upgrade device receives the firmware download end command (AT $ FWEND = 0) from the relay controller, the firmware upgrade device sends a firmware download result message of (RESULT = 0) to the management server, thereby reporting that the new firmware program has been successfully downloaded. (S251). For this purpose, a short message (SMS) transmitted from the firmware upgrade apparatus to the management server may be used.
중계기 컨트롤러는, 소정 시간(예를 들어, 20초) 경과 후에 중계기 컨트롤러에 내장된 업그레이드 알고리듬을 이용하여 펌웨어 업그레이드 프로세스를 수행하게 된다(S300).The repeater controller performs a firmware upgrade process by using an upgrade algorithm built in the repeater controller after a predetermined time (for example, 20 seconds) (S300).
도 12는 중계기 컨트롤러가 펌웨어 업그레이드 장치로부터의 펌웨어 다운로드 명령어를 수신한 후 소정의 타임아웃이 경과할 때까지도 명령어에 대한 응답을 회신하지 않는 경우의 흐름에 관한 도면이다. 12 is a flowchart illustrating a case in which the relay controller does not return a response to the command even after a predetermined timeout elapses after receiving the firmware download command from the firmware upgrade apparatus.
도 12에서 나타낸 바와 같이, 타임아웃(예를 들어 3초) 경과시까지 중계기 컨트롤러로부터 응답이 없는 것으로 판단된 경우에는(S211), 펌웨어 업그레이드 장치는 관리서버측으로 펌웨어 다운로드 결과 메시지를 전송한다(S212). 표 2g을 참조하면, 이 때의 코드값으로는 "중계기 응답없음"을 뜻하는 RESULT=1이 포함된다.As shown in FIG. 12, when it is determined that there is no response from the repeater controller until the timeout (for example, 3 seconds) elapses (S211), the firmware upgrade apparatus transmits a firmware download result message to the management server (S212). ). Referring to Table 2g, the code value at this time includes RESULT = 1, which means "no repeater response."
도 13은 펌웨어 업그레이드 장치로부터의 펌웨어 스펙확인 응답에 포함된 펌웨어 명칭이 해당 중계기의 명칭과 불일치하는 경우의 흐름을 나타낸 도면이다. FIG. 13 is a flowchart illustrating a case where the firmware name included in the firmware specification check response from the firmware upgrade apparatus is inconsistent with the name of the repeater.
중계기 컨트롤러는 펌웨어 스펙확인 응답에 포함된 중계기 제조사 코드가 해 당 중계기에 대한 제조사 코드와 일치하는지 여부를 확인한다(S222). The repeater controller checks whether the repeater manufacturer code included in the firmware specification check response matches the manufacturer code for the repeater (S222).
만약 불일치하는 경우에는 펌웨어 명칭 오류(Firmware Name Error)를 의미하는 코드값을 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치로 전송한다(S223). 표 4d를 참조하면, (AT$FWEND=2)가 이 경우에 해당하는 펌웨어 다운로드 종료 명령어가 된다.If there is a mismatch, a firmware download end command including a code value indicating a firmware name error is transmitted to the firmware upgrade apparatus (S223). Referring to Table 4d, (AT $ FWEND = 2) is the firmware download end command in this case.
또한, 중계기 컨트롤러는 이 경우에 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.In addition, the repeater controller in this case initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) has elapsed.
또한, 펌웨어 업그레이드 장치는 중계기 컨트롤러로부터 펌웨어 다운로드 종료 명령어를 수신한 경우, 관리서버측으로 펌웨어 다운로드 결과 메시지(REP_FW_DLOAD_RES)를 전송한다(S224). 표 2g을 참조하면, 이 경우에 해당하는 펌웨어 다운로드 결과 메시지의 결과유형은 (RESULT=2)가 된다.In addition, when receiving the firmware download end command from the repeater controller, the firmware upgrade apparatus transmits a firmware download result message (REP_FW_DLOAD_RES) to the management server (S224). Referring to Table 2g, the result type of the firmware download result message corresponding to this case is (RESULT = 2).
도 14는 신규 펌웨어 프로그램의 각 데이터블록에 관한 CRC 계산값이 불일치하는 경우의 흐름을 나타낸 도면이다. 14 is a diagram showing a flow in the case where the CRC calculation values for each data block of the new firmware program do not match.
도 14에서 나타낸 바와 같이, 만약 펌웨어 분할전송 응답에 포함된 해당 데이터블록의 CRC 계산값과 중계기 컨트롤러가 직접 산출한 해당 데이터블록의 CRC 계산값이 일치하지 않으면(S232a), CRC 오류가 발생한 것으로 간주하여, 중계기 컨트롤러는 해당 블록의 인덱스를 가지는 펌웨어 분할전송 명령어를 전송함으로써, 동일한 블록의 재전송을 펌웨어 업그레이드 장치측에 요청한다(S232b). As shown in FIG. 14, if the CRC calculation value of the corresponding data block included in the firmware split transmission response and the CRC calculation value of the corresponding data block directly calculated by the repeater controller do not match (S232a), a CRC error is considered to have occurred. The relay controller transmits a firmware split transfer command having an index of the corresponding block, thereby requesting the firmware upgrade apparatus to retransmit the same block (S232b).
펌웨어 업그레이드 장치는 펌웨어 분할전송 명령어에 응답하여 다시 CRC 오 류가 발생한 데이터블록을 재전송한다(S233a). The firmware upgrade apparatus retransmits the data block in which the CRC error has occurred again in response to the firmware split transfer command (S233a).
한편, 무한반복의 문제점을 방지하기 위하여 중계기 컨트롤러는 소정 회수(예를 들어, 3회)까지만 재전송을 요청한 후, 소정 회수를 초과하는 CRC 오류가 발생한 경우에는 펌웨어 다운로드를 종료할 수 있다. 이 경우, 중계기 컨트롤러는 펌웨어 다운로드 종료명령어를 펌웨어 업그레이드 장치에 전송하며, 이 경우에 해당하는 펌웨어 다운로드 종료명령어는, 표 4c을 참조하면 블록 CRC 오류에 따른 다운로드 종료명령어인 (AT$FWEND=6)이 된다.Meanwhile, in order to prevent the problem of infinite repetition, the repeater controller may request retransmission up to a predetermined number of times (for example, three times), and then terminate the firmware download when a CRC error exceeding the predetermined number of times occurs. In this case, the repeater controller transmits a firmware download termination command to the firmware upgrade apparatus. In this case, referring to Table 4c, the repeater controller is a download termination command according to the block CRC error (AT $ FWEND = 6). Becomes
펌웨어 업그레이드 장치는 (AT$FWEND=6) 명령어를 수신한 경우에 (RESULT=6)인 펌웨어 다운로드 결과 메시지를 관리서버에 전송함으로서, 블록 CRC 오류에 따라 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 보고한다.When the firmware upgrade device receives the (AT $ FWEND = 6) command, it sends a firmware download result message of (RESULT = 6) to the management server, and reports that the firmware download to the repeater controller has failed due to a block CRC error. do.
중계기 컨트롤러는, 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.The repeater controller initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) elapses.
도 15는 최초로 수신한 데이터블록에 포함된 부트영역에 의거하여 현행 펌웨어 프로그램과 신규 펌웨어 프로그램의 호환성 유무를 판단한 결과, 호환성이 없는 것으로 판명된 경우의 흐름을 나타낸 도면이다. FIG. 15 is a flowchart illustrating a case where it is determined that there is incompatibility as a result of determining whether the current firmware program and the new firmware program are compatible based on the boot area included in the first received data block.
도 15에서 나타낸 바와 같이, 만약 호환성이 없는 것으로 판단한 경우에는(S238), 부적합 펌웨어 프로그램임을 뜻하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치측으로 전송한다(S239). 표 4c 및 4-4를 참조하면, 이 경우에 해당하는 펌웨어 다운로드 종료 명령어는 (AT$FWEND=7)이 된다. As shown in FIG. 15, if it is determined that there is incompatibility (S238), a firmware download end command including a code indicating a non-compliant firmware program is transmitted to the firmware upgrade apparatus (S239). Referring to Tables 4c and 4-4, the corresponding firmware download end command is (AT $ FWEND = 7).
또한 중계기 컨트롤러는, 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.In addition, the repeater controller initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) elapses.
펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터 펌웨어 다운로드 종료 명령어(AT$FWEND=7)를 수신한 경우에는 (RESULT=7)인 펌웨어 다운로드 결과 메시지를 관리서버에 전송함으로서, 부적합 펌웨어 프로그램의 사유로 인하여 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 보고한다(S239a).When the firmware upgrade device receives the firmware download end command (AT $ FWEND = 7) from the repeater controller side, the firmware upgrade device transmits a firmware download result message of (RESULT = 7) to the management server. It reports that the firmware download to the side has failed (S239a).
도 16은 중계기 컨트롤러가 다운로드한 신규 펌웨어 프로그램 전체에 대한 CRC 계산값에 오류가 발생한 경우의 흐름을 나타낸 도면이다. FIG. 16 is a diagram illustrating a flow when an error occurs in the CRC calculated value for the whole new firmware program downloaded by the repeater controller.
도 16에서 나타낸 바와 같이, 만약, TOTAL CRC값과 펌웨어 업그레이드 장치로부터 전송된 CRC값이 불일치하면(S2241), 전체 CRC 오류를 뜻하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치측으로 전송한다(S252). 표 4c 및 4-4를 참조하면, 이 경우에 해당하는 펌웨어 다운로드 종료 명령어는 (AT$FWEND=3)이 된다. As shown in FIG. 16, if there is a mismatch between the TOTAL CRC value and the CRC value transmitted from the firmware upgrade apparatus (S2241), a firmware download end command including a code representing an entire CRC error is transmitted to the firmware upgrade apparatus side ( S252). Referring to Tables 4c and 4-4, the corresponding firmware download end command is (AT $ FWEND = 3).
중계기 컨트롤러는, 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.The repeater controller initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) elapses.
또한, 펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터 펌웨어 다운로드 종료 명령어(AT$FWEND=3)를 수신한 경우에는 (RESULT=3)인 펌웨어 다운로드 결 과 메시지를 관리서버에 전송함으로서, 전체 CRC 오류로 인하여 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 보고한다(S253). 이를 위하여 펌웨어 업그레이드 장치로부터 관리서버측으로 전송되는 단문메시지(SMS)를 사용할 수 있다.In addition, when the firmware upgrade device receives the firmware download end command (AT $ FWEND = 3) from the repeater controller, the firmware upgrade device sends a firmware download result message of (RESULT = 3) to the management server. Report that the firmware download to the controller has failed (S253). For this purpose, a short message (SMS) transmitted from the firmware upgrade apparatus to the management server may be used.
도 17은 펌웨어 스펙확인 명령어가 입력된 후 소정의 타임아웃이 경과할 때까지 펌웨어 분할전송 명령어가 입력되지 않은 경우의 흐름을 나타낸 도면이다. FIG. 17 is a flowchart illustrating a case where a firmware split transmission command is not input until a predetermined timeout elapses after a firmware specification check command is input.
펌웨어 스펙확인 명령어가 입력된 후 소정 시간(예를 들어, 5분) 이내에 신규 펌웨어 프로그램의 최초 블록(INDEX=0)에 대한 펌웨어 분할전송 명령어가 펌웨어 업그레이드 장치로 입력되지 않는 경우가 있을 수 있다(S254). 이 경우, 펌웨어 업그레이드 장치는 타임아웃으로 인하여 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 관리서버에 보고한다(S255). 표 2g을 참조하면, 타임아웃에 해당하는 펌웨어 다운로드 결과 메시지의 결과값은 (RESULT=5)가 된다. There may be a case where the firmware split transfer command for the first block of the new firmware program (INDEX = 0) is not input to the firmware upgrade apparatus within a predetermined time (for example, 5 minutes) after the firmware specification check command is input ( S254). In this case, the firmware upgrade apparatus reports to the management server that the firmware download to the relay controller side has failed due to timeout (S255). Referring to Table 2g, the result of the firmware download result message corresponding to the timeout is (RESULT = 5).
펌웨어 업그레이드 장치는, 펌웨어 다운로드 결과 메시지를 관리서버측으로 전송을 한 후에는 중계기 리셋명령($16160200006E60)을 중계기 컨트롤러로 전송한다. After the firmware upgrade apparatus transmits the firmware download result message to the management server, the firmware upgrade apparatus transmits a repeater reset command ($ 16160200006E60) to the repeater controller.
만약 펌웨어 쓰기 도중에 오류가 발생하면, 펌웨어 쓰기 실패를 뜻하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치측으로 전송한다. 표 4c 및 4-4를 참조하면, 이 경우에 해당하는 펌웨어 다운로드 종료 명령어는 (AT$FWEND=4)가 된다. 중계기 컨트롤러는, 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.If an error occurs during firmware writing, a firmware download termination command including a code indicating a firmware writing failure is transmitted to the firmware upgrade apparatus. Referring to Tables 4c and 4-4, the corresponding firmware download end command is (AT $ FWEND = 4). The repeater controller initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) elapses.
펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터 펌웨어 다운로드 종료 명령어(AT$FWEND=4)를 수신한 경우에는 (RESULT=4)인 펌웨어 다운로드 결과 메시지를 관리서버에 전송함으로서, 펌웨어 쓰기 실패로 인하여 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 보고한다. 이를 위하여 펌웨어 업그레이드 장치로부터 관리서버측으로 전송되는 단문메시지(SMS)를 사용할 수 있다.When the firmware upgrade device receives the firmware download end command (AT $ FWEND = 4) from the repeater controller side, the firmware upgrade device sends a firmware download result message with (RESULT = 4) to the management server. Report that the firmware download failed. For this purpose, a short message (SMS) transmitted from the firmware upgrade apparatus to the management server may be used.
한편, 중계기 컨트롤러로부터 펌웨어 업그레이드 장치가 AT 명령어를 전송받는 경우에는, 모든 AT 명령어의 말단에는 반드시 0D0A가 붙어서 전송되어야 한다. On the other hand, when the firmware upgrade apparatus receives an AT command from the repeater controller, 0D0A must be attached to the end of all AT commands.
또한, 펌웨어 업그레이드 장치는 입력되는 모든 AT 명령어에 대해서 표 4a 내지 4-3에서 설명한 바와 같은 응답신호를 회신하여야 한다. 또한, 응답신호를 회신한 후에는 반드시 OK0D0A를 전송하여야 한다. In addition, the firmware upgrade apparatus should return a response signal as described in Tables 4a to 4-3 with respect to all input AT commands. In addition, after returning the response signal, OK0D0A must be transmitted.
중계기 컨트롤러는 펌웨어 업그레이드 장치로부터 AT 명령어에 대한 응답신호 및 그 후의 OK0D0A까지를 수신한 다음에야 비로서 명령을 수행하여야 한다.The repeater controller must execute the command only after receiving the response signal for the AT command and the subsequent OK0D0A from the firmware upgrade apparatus.
다만, 중계기의 명령어 없이 감시모듈이 일방적으로 전송하는 AT 명령어에는 OK0D0A가 전송되지 않는다. 예를 들어, 펌웨어 다운로드 명령어($FWDLOAD) 또는 중계기 리셋명령어($16160200006E60)가 이 경우에 속한다.However, OK0D0A is not transmitted to the AT command that the monitoring module sends without a repeater command. For example, a firmware download command ($ FWDLOAD) or a repeater reset command ($ 16160200006E60) belongs to this case.
펌웨어 업그레이드 장치와 중계기 컨트롤러 간 TCP/IP 통신의 조건은 아래 표 5와 같이 설정하는 것이 바람직하다.The condition of TCP / IP communication between the firmware upgrade device and the repeater controller is preferably set as shown in Table 5 below.
또한, 모든 AT 명령어에 대해서 에코(echo)는 사용하지 않는 것이 바람직하다. It is also desirable to not use echo for all AT commands.
한편, 중계기 리셋 명령어는 어떤 경우에도 수행 가능하여야 한다. 신규 펌웨어 프로그램을 수신하던 중이었다면, 리셋을 수행함으로써 수신한 데이터를 모두 삭제하여야 한다. 또한, 어떠한 경우에도 중계기가 동작불능 상태에 빠지지 않아야 한다. On the other hand, the repeater reset command should be executable in any case. If you were receiving a new firmware program, you must delete all the received data by performing a reset. In no case shall the repeater be put into an inoperable state.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.The embodiments of the present invention described above are not implemented only through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention, or a recording medium on which the program is recorded. Such an implementation can be easily implemented by those skilled in the art from the description of the embodiments described above.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
도 1은 본 발명의 제1 실시예에 의한 원격 펌웨어 업그레이드 시스템의 전체적인 구성을 나타낸 개략도, 1 is a schematic diagram showing the overall configuration of a remote firmware upgrade system according to a first embodiment of the present invention;
도 2는 본 발명의 제2 실시예에 의한 이동통신 중계기의 원격 펌웨어 업그레이드 시스템의 전체적인 구성을 나타낸 개략도,2 is a schematic diagram showing the overall configuration of a remote firmware upgrade system of a mobile communication repeater according to a second embodiment of the present invention;
도 3은 도 2의 관리서버의 구성요소를 나타낸 블록도,3 is a block diagram showing components of the management server of FIG.
도 4는 도 2의 펌웨어 업그레이드 장치의 구성요소를 나타낸 블록도,4 is a block diagram showing the components of the firmware upgrade apparatus of FIG.
도 5는 도 2에서 나타낸 본 발명의 실시예가 적용되는 중계기의 구성요소를 나타낸 블록도, 5 is a block diagram showing the components of a repeater to which the embodiment of the present invention shown in FIG. 2 is applied;
도 6은 본 발명의 제2 실시예에 의한 원격 펌웨어 업그레이드 방법에 따른 중계기 펌웨어 업그레이드의 흐름을 나타낸 도면, 6 is a diagram showing the flow of repeater firmware upgrade according to the remote firmware upgrade method according to a second embodiment of the present invention;
도 7은 도 6를 더욱 자세히 나타낸 흐름도,7 is a flow diagram illustrating FIG. 6 in more detail;
도 8은 도 6를 더욱 자세히 나타낸 다른 흐름도, 8 is another flowchart illustrating FIG. 6 in more detail;
도 9는 원격 펌웨어 업그레이드 장치에 관한 전화번호가 불일치하는 경우의흐름에 관한 도면, FIG. 9 is a flowchart of a case where a telephone number of a remote firmware upgrade apparatus is inconsistent; FIG.
도 10은 특정 인덱스에 관한 데이터블록의 전송이 누락되었거나, 전송실패가 발생한 경우의 흐름에 관한 도면,10 is a flowchart illustrating a case in which transmission of a data block for a specific index is missing or a transmission failure occurs;
도 11은 단계 S150에서의 CRC 계산값이 불일치하는 경우의 흐름에 관한 도면, 11 is a diagram relating to a flow when a CRC calculated value in step S150 is inconsistent;
도 12는 중계기 컨트롤러가 펌웨어 업그레이드 장치로부터의 펌웨어 다운로 드 명령어를 수신한 후 소정의 타임아웃이 경과할 때까지도 명령어에 대한 응답을 회신하지 않는 경우의 흐름에 관한 도면, 12 is a flowchart of a case in which the relay controller does not return a response to the command even after a predetermined timeout has elapsed after receiving the firmware download command from the firmware upgrade apparatus.
도 13은 펌웨어 업그레이드 장치로부터의 펌웨어 스펙확인 응답에 포함된 펌웨어 명칭이 해당 중계기의 명칭과 불일치하는 경우의 흐름을 나타낸 도면, FIG. 13 is a flow chart showing a case where the firmware name included in the firmware specification check response from the firmware upgrade apparatus is inconsistent with the name of the repeater. FIG.
도 14는 신규 펌웨어 프로그램의 각 데이터블록에 관한 CRC 계산값이 불일치하는 경우의 흐름을 나타낸 도면, 14 is a view showing a flow in the case where the CRC calculation values for the respective data blocks of the new firmware program are inconsistent;
도 15는 최초로 수신한 데이터블록에 포함된 부트영역에 의거하여 현행 펌웨어 프로그램과 신규 펌웨어 프로그램의 호환성 유무를 판단한 결과, 호환성이 없는 것으로 판명된 경우의 흐름을 나타낸 도면, FIG. 15 is a flowchart illustrating a case where it is determined that there is incompatibility as a result of determining whether the current firmware program is compatible with the new firmware program based on the boot area included in the first received data block. FIG.
도 16은 중계기 컨트롤러가 다운로드한 신규 펌웨어 프로그램 전체에 대한 CRC 계산값에 오류가 발생한 경우의 흐름을 나타낸 도면, FIG. 16 is a flowchart illustrating a case where an error occurs in the CRC calculated value for the whole new firmware program downloaded by the repeater controller; FIG.
도 17은 펌웨어 스펙확인 명령어가 입력된 후 소정의 타임아웃이 경과할 때까지 펌웨어 분할전송 명령어가 입력되지 않은 경우의 흐름을 나타낸 도면이다.FIG. 17 is a flowchart illustrating a case where a firmware split transmission command is not input until a predetermined timeout elapses after a firmware specification check command is input.
Claims (64)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070075061A KR100872180B1 (en) | 2007-07-26 | 2007-07-26 | Apparatus, system and method for remotely upgrading the firmware of a device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070075061A KR100872180B1 (en) | 2007-07-26 | 2007-07-26 | Apparatus, system and method for remotely upgrading the firmware of a device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100872180B1 true KR100872180B1 (en) | 2008-12-09 |
Family
ID=40371952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070075061A KR100872180B1 (en) | 2007-07-26 | 2007-07-26 | Apparatus, system and method for remotely upgrading the firmware of a device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100872180B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101083523B1 (en) | 2010-08-12 | 2011-11-16 | 웹싱크 주식회사 | Method of upgrading firmware and system for the same |
US9665364B2 (en) | 2013-06-18 | 2017-05-30 | Thomson Licensing | Dual-bank telecommunication apparatus and method of upgrading firmware in dual-bank telecommunication apparatus |
CN110688138A (en) * | 2019-09-27 | 2020-01-14 | 海信(山东)空调有限公司 | Multi-split program upgrading method and device, multi-split system equipment and medium |
KR20200137496A (en) * | 2019-05-30 | 2020-12-09 | (주) 에이앤티에스 | Recording medium and method for upgrading firmware in embedded system of remot device in constrained environment |
CN112835602A (en) * | 2021-02-05 | 2021-05-25 | 杭州中港科技有限公司 | Upgrading management method of intelligent expansion equipment |
KR102266711B1 (en) | 2020-03-23 | 2021-06-18 | 오세영 | Facilities Linking Mangement System Using Fixed IP Adress |
CN113890874A (en) * | 2021-09-28 | 2022-01-04 | 交控科技股份有限公司 | Program issuing method and device based on Powerlink network |
CN114866525A (en) * | 2022-05-19 | 2022-08-05 | 深圳市艾迪思特信息技术有限公司 | Remote online firmware upgrading method and system for one-master multi-slave mode embedded equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10269107A (en) | 1997-03-24 | 1998-10-09 | Satoo Nishigaki | Automatic maintenance system for personal computer peripheral equipment |
KR20020071560A (en) * | 2001-03-07 | 2002-09-13 | 엘지전자주식회사 | Method for updating software of personal communication system |
KR20050106846A (en) * | 2004-05-06 | 2005-11-11 | 삼성전자주식회사 | Apparatus and method for upgrading mobile terminal's firmware |
KR20060108816A (en) * | 2005-04-14 | 2006-10-18 | 에스케이 텔레콤주식회사 | Method for remote upgrading software of wireless short-distance module |
-
2007
- 2007-07-26 KR KR1020070075061A patent/KR100872180B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10269107A (en) | 1997-03-24 | 1998-10-09 | Satoo Nishigaki | Automatic maintenance system for personal computer peripheral equipment |
KR20020071560A (en) * | 2001-03-07 | 2002-09-13 | 엘지전자주식회사 | Method for updating software of personal communication system |
KR20050106846A (en) * | 2004-05-06 | 2005-11-11 | 삼성전자주식회사 | Apparatus and method for upgrading mobile terminal's firmware |
KR20060108816A (en) * | 2005-04-14 | 2006-10-18 | 에스케이 텔레콤주식회사 | Method for remote upgrading software of wireless short-distance module |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101083523B1 (en) | 2010-08-12 | 2011-11-16 | 웹싱크 주식회사 | Method of upgrading firmware and system for the same |
US9665364B2 (en) | 2013-06-18 | 2017-05-30 | Thomson Licensing | Dual-bank telecommunication apparatus and method of upgrading firmware in dual-bank telecommunication apparatus |
KR20200137496A (en) * | 2019-05-30 | 2020-12-09 | (주) 에이앤티에스 | Recording medium and method for upgrading firmware in embedded system of remot device in constrained environment |
KR102201461B1 (en) * | 2019-05-30 | 2021-01-13 | (주) 에이앤티에스 | Recording medium and method for upgrading firmware in embedded system of remot device in constrained environment |
CN110688138A (en) * | 2019-09-27 | 2020-01-14 | 海信(山东)空调有限公司 | Multi-split program upgrading method and device, multi-split system equipment and medium |
KR102266711B1 (en) | 2020-03-23 | 2021-06-18 | 오세영 | Facilities Linking Mangement System Using Fixed IP Adress |
CN112835602A (en) * | 2021-02-05 | 2021-05-25 | 杭州中港科技有限公司 | Upgrading management method of intelligent expansion equipment |
CN113890874A (en) * | 2021-09-28 | 2022-01-04 | 交控科技股份有限公司 | Program issuing method and device based on Powerlink network |
CN114866525A (en) * | 2022-05-19 | 2022-08-05 | 深圳市艾迪思特信息技术有限公司 | Remote online firmware upgrading method and system for one-master multi-slave mode embedded equipment |
CN114866525B (en) * | 2022-05-19 | 2024-04-12 | 深圳市艾迪思特信息技术有限公司 | Remote online firmware upgrading method and system for embedded device in one master multi-slave mode |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100872180B1 (en) | Apparatus, system and method for remotely upgrading the firmware of a device | |
US10560322B1 (en) | Network protocol for mesh capability in narrow-band wireless networks | |
US7269148B2 (en) | Scheme for adaptive control of transport layer connection in communications via radio and wire networks | |
JP4575418B2 (en) | How to manage mobile stations with radio waves | |
EP2273711B1 (en) | Wireless communication apparatus and wireless communication method | |
EP2031918A2 (en) | Systems and methods for mobile phone validation | |
US11206183B2 (en) | Network protocol method for mesh capability in narrow-band wireless networks | |
KR100554440B1 (en) | Repeater remote control system and method in mobile communication system | |
CN103918207A (en) | Latency | |
JP2019041182A (en) | Radio communication equipment and radio communication method | |
CN111245660B (en) | Network-based equipment upgrading self-adaptive transmission method | |
KR101273696B1 (en) | Method and apparatus for prediction of a connection indentifier in a downlink burst | |
CN112737847A (en) | Node upgrading method and device, storage medium and electronic device | |
US11658871B2 (en) | Transmission of data from a management entity to a smart electricity meter | |
CN115052252B (en) | OTA (over the air) upgrading method, system and device | |
JP2007274699A (en) | Method and apparatus to define interface, and telecommunication system | |
US20220338288A1 (en) | Communication method and apparatus | |
JP7152452B2 (en) | Server device, communication device, terminal device, communication system, program and update method | |
KR20010096665A (en) | System and Method of Managing a Relay Device for Mobile Communication with RF pattern using PDA | |
EP4369616A2 (en) | Apparatus and methods for g3-plc bootstrap in hybrid networks | |
CN103346919A (en) | Method and system for uniformly managing wireless terminals to access CPE of equipment | |
JP2022107292A (en) | Communication device, communication device control method, communication device control program, and communication system | |
US6721285B1 (en) | Polling system for a duplex asymmetrical communications link | |
WO2024148461A1 (en) | Communication method, apparatus, and system | |
CN113067763B (en) | High-reliability mountain area distribution network communication system and communication method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121106 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20131105 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20141105 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20151105 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20161104 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20171106 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20181031 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20190903 Year of fee payment: 12 |