Modem with firmware upgrade feature
First Claim
1. A system for updating operating code in a reprogrammable modem, comprising:
- a field-upgradable modem having;
telephone line interface means for connection to a telephone line;
control means connected to the telephone line interface means, for executing existing operating code to control the modem;
memory means connected to the control means for storing the existing operating code and for storing a boot program; and
the control means further operable for executing the boot program to receive updated operating code packets from a remote computer over the telephone line, the updated operating code packets received into a temporary storage, the control means further operable for checking the validity of the packets before replacing the existing operating code in the memory means with the updated operating code in the temporary storage, executed upon receipt of an upgrade command from the remote computer;
the modem executing software to communicate with the remote computer connected to the telephone line; and
the remote computer further executing software to communicate with the modem to place the updated operating code into updated operating code packets and to control transfer of said updated operating code packets from the remote computer to the modem over the telephone line.
0 Assignments
0 Petitions
Accused Products
Abstract
Updated opening code and parameters can be reprogrammed into a modem system with no disassembly of the modem hardware. The modem system includes a memory chip in which operating code and parameters are stored. Two control programs control the reprogramming of updated operating code. One of the control programs is designed for manufacturing and testing purposes. The other control program allows remote reprogramming of updated operating code or parameters from a remote location such as a customer site. A user can thus remotely upgrade system firmware with updates, bug fixes, enhancements or other new releases of system operating code by downloading the update over a phone line to a host PC and reprogramming the memory chip of the modem over the serial port from the host PC. The user can also remotely upgrade the modem system firmware by directly programing the memory chip of the modem without the assistance of the host PC. The modem system is portable, obtaining power from a standard 9 volt battery. Therefore, various power saving features are also incorporated into the modem system
61 Citations
17 Claims
-
1. A system for updating operating code in a reprogrammable modem, comprising:
-
a field-upgradable modem having;
telephone line interface means for connection to a telephone line;
control means connected to the telephone line interface means, for executing existing operating code to control the modem;
memory means connected to the control means for storing the existing operating code and for storing a boot program; and
the control means further operable for executing the boot program to receive updated operating code packets from a remote computer over the telephone line, the updated operating code packets received into a temporary storage, the control means further operable for checking the validity of the packets before replacing the existing operating code in the memory means with the updated operating code in the temporary storage, executed upon receipt of an upgrade command from the remote computer;
the modem executing software to communicate with the remote computer connected to the telephone line; and
the remote computer further executing software to communicate with the modem to place the updated operating code into updated operating code packets and to control transfer of said updated operating code packets from the remote computer to the modem over the telephone line. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
power saving means connected to the control means for conserving power when the modem is not in use, the power saving means comprising;
low frequency oscillator means for providing a low power, low frequency clock signal to the control means when the modem is not in use;
the control means further for operating in a first power mode when the modem is not in use; and
the control means further for operating in a second power mode when the modem is in use.
-
-
4. The system according to claim 1 wherein the control means is further operable for executing the boot program for programming the updated operating code into the memory means by performing the steps of:
-
(a) reading a packet of the updated operating code having a first format and transferred from the remote computer;
(b) converting the packet of the updated operating code from a first format to a second, binary format;
(c) storing the binary format of the updated operating code in a temporary memory means;
(d) reading a next packet of the updated operating code transferred from the remote computer;
(e) repeating steps (b)-(d) until all of the updated operating code is stored in the temporary memory means; and
(f) transferring all of the updated operating code in the temporary memory means to the memory means.
-
-
5. The system according to claim 1 further including:
-
an external oscillator adapted to output an external clock signal;
the modem further including a data pump circuit connected to the telephone line interface means and adapted to control modulation on the telephone line, the data pump circuit requiring a clock signal when not in use;
a low frequency oscillator connected to the data pump circuit adapted to output a low frequency clock signal and adapted to operate using low power; and
sleep means for disabling the external oscillator when the communications module is not in use, and further for enabling the low frequency oscillator to provide the required clock signal to the data pump means.
-
-
6. The system of claim 1 wherein each updated operating code packet comprises information corresponding to a packet length, an address at which to store the updated operating code, program data and a checksum.
-
7. The system of claim 1 wherein the boot program executing at the modem verifies that each packet containing updated operating code was correctly transmitted and programs the updated operating code at an address specified in each packet.
-
8. The system of claim 1 wherein the packets are checked for error as they are received.
-
9. The system of claim 8 wherein a predetermined number of consecutive errors causes updating of the operating code to stop.
-
10. The system of claim 1 wherein reprogramming of the memory means begins after all updated operating code packets are received.
-
11. The system of claim 1 wherein the modem organizes incoming packet data using the address information encoded in the packet, and the packetized updated operating code is stored in proper order for execution.
-
12. The system of claim 1 wherein the remote computer signals to the modem that all updated operating code packets have been sent.
-
13. The system of claim 4 further comprising performing a hard boot wherein the modem executes the updated operating code.
-
14. The system of claim 1 wherein the modem sends a message to the remote computer indicating error or success upon receiving an updated operating code packet.
-
15. The system of claim 1 wherein the modem sends the boot program version number to the remote computer.
-
16. The system of claim 1 wherein each updated operating code packet has an address portion and further wherein the control means is adapted for using a particular address portion to store a particular packet of updated operating code in the temporary storage in a particular order.
-
17. The system of claim 16 wherein the control means is adapted for storing updated operating code packets in a mirror image order relative to the order for programming the updated operating code packets in the memory means.
Specification