Many modems can be upgraded by reprogramming their flash memories with an upgrade program which you get from the Internet. By sending this "program" from the PC via the serial port to the modem, the modem will store this program in its non-volatile memory (it's still there when the power is turned off). The instructions on installing it are usually on how to do in under Windows so you'll need to figure out how to do the equivalent under Linux (unless you want to install the upgrade under Windows). Sending the program to the modem is often called a download.
If the latest version of this HOWTO still contains this request (see New Versions of this HOWTO) please send me your experiences with installing such upgrades that will be helpful to others.
Here's the general idea of doing an upgrade. First, there may be a command that you need to send your modem to tell it that what follows is a flash ROM upgrade. In one case this was AT** You can do this by starting a communications program (such as minicom) and type. First type AT <enter> to see if your modem is there and answers "OK".
Next, you need to send an file (sometimes two files) directly to the modem. Communication programs (such as minicom) often use zmodem or kermit to send files to the modem (and beyond) but these put the file into packets which append headers and you want the exact file sent to the modem, not a modified one. But the kermit communications program has a "transmit" command that will send the file directly (without using the kermit packets) so this is one way to send a file directly. Minicom didn't have this feature in 1998.
Another way to send the file(s) would be to escape from the communications program to the shell (in minicom this is ^AJ) and then:
cat upgrade_file_name > /dev/ttyS4 (if your serial port is ttyS4). Then go back to the communication program (type fg at the command line prompt in minicom) to see what happened.
Here's an example session for a certain Rockwell modem (C-a is ^A):
- Run minicom - Type AT** : see "Download initiated ..." - C-a J - cat FLASH.S37 > /dev/modem - fg : see "Download flash code ..." - C-a J - cat 283P1722.S37 > /dev/modem - fg : see "Device successfully programmed"