Modem with firmware upgrade feature
First Claim
1. A system for updating operating code in a reprogrammable modem, the updated operating code being downloaded from a remote computer via telephone lines, comprising:
- a field-upgradable modem having;
communications interface means connected for communicating with a remote computer and operable for transferring data between the remote computer and the modem;
telephone line interface means for connection to the telephone line;
control means connected to the telephone line interface means and the communications 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;
the control means further operable for executing the boot program to receive updated operating code packets from the remote computer, for checking the validity of the packets and replacing the existing operating code in the memory means with the updated operating code received by the communications interface means from the local host computer;
the modem executing software to communicate with the remote computer connected to the telephone line and operable for initiating a telephone call to the remote computer in response to commands by a local user of the modem and for controlling downloading of the updated operating code from the remote computer to the modem; 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 communications interface.
0 Assignments
0 Petitions
Accused Products
Abstract
Updated operating 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 programming 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.
55 Citations
30 Claims
-
1. A system for updating operating code in a reprogrammable modem, the updated operating code being downloaded from a remote computer via telephone lines, comprising:
-
a field-upgradable modem having;
communications interface means connected for communicating with a remote computer and operable for transferring data between the remote computer and the modem;
telephone line interface means for connection to the telephone line;
control means connected to the telephone line interface means and the communications 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;
the control means further operable for executing the boot program to receive updated operating code packets from the remote computer, for checking the validity of the packets and replacing the existing operating code in the memory means with the updated operating code received by the communications interface means from the local host computer;
the modem executing software to communicate with the remote computer connected to the telephone line and operable for initiating a telephone call to the remote computer in response to commands by a local user of the modem and for controlling downloading of the updated operating code from the remote computer to the modem; 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 communications interface. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A modem which communicates with a remote computer over a telephone line, the modem operating under control of operating code to which periodic updates are made, comprising:
-
storage means in the modem for storing the existing operating code, for storing a boot program and for receiving and storing updated operating code;
data pump means in the modem for receiving the updated operating code from the remote computer over the telephone line;
control means connected to the storage means and the data pump means for programming the updated operating code into the storage means, said control means including;
receive means for receiving the updated operating code from the remote computer and passing it to the local computer;
protocol means for transferring the updated operating code from the remote computer to the modem over the communications interface according to a predetermined communications protocol and using a packet format;
check means for verifying that the updated operating code was accurately transferred; and
conversion means for converting the packet of the updated operating code from a first format to a second, binary format.
-
-
7. A method of upgrading the operating code which controls a modem system, comprising the step of:
-
(a) storing in a remote computer updated operating code;
(b) storing the updated operating code in a first memory buffer in the remote computer;
(c) reading a first portion of the updated operating code;
(d) creating a packet having a packet identifier, a length indicator, a programming address and the read portion of the updated operating code;
(e) transmitting the packet to the modem;
(f) storing packet information in temporary storage in the modem;
(g) reading a next portion of the updated operating code;
(h) repeating steps (d)-(h) until all of the updated operating code is stored into the modem system;
(i) transferring the updated operating code in temporary storage to permanent storage; and
(j) restarting the modem. - View Dependent Claims (8, 9)
-
-
10. An apparatus comprising:
-
an interface adapted to couple with a communication network;
a controller coupled to the interface;
a boot program executable by the controller;
a first operating code to control the apparatus;
a first memory coupled to the controller and adapted to store the boot program and the first operating code; and
a second memory coupled to the controller, the controller operable for executing the boot program to receive a plurality of packets from a remote computer coupled to the communication network and to check the validity of each packet of the plurality of packets and to store a portion of each packet in a second memory coupled to the controller, and after receiving an upgrade command from the remote computer and after checking the validity, to replace the first operating code with a second operating code based on the portion of each packet stored in the second memory. - View Dependent Claims (11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30)
-
-
17. A method comprising:
-
coupling a modem to a communication network;
executing a boot program of the modem;
executing a first operating code for the modem stored in a first memory of the modem based on an instruction executed by the boot program;
receiving a plurality of packets via the communication network;
checking validity of each packet of the plurality of packets;
storing a portion of each packet of the plurality of packets in a second memory of the modem; and
after receiving an upgrade command via the communication network, replacing the first operating code in the first memory with a second operating code based on the portion of each packet of the plurality of packets stored in the second memory.
-
-
27. A method comprising:
-
executing a first operating code stored in a first memory;
receiving a plurality of packets via a communication network, each packet having an address field having an address and an operating code field having a portion of program data;
checking each packet of the plurality of packets for validity;
for each packet, storing the portion of program data of the packet at an address of a second memory based on the address of the packet; and
after receiving an upgrade command via the communication network, replacing the first operating code in the first memory with a second operating code based on the program data stored in the second memory.
-
Specification