Home Pauline's Pages Howto Articles Uniquely NZ Small Firms Search
Height Padding
Updating A Modem with Flash Memory

Introduction: The latest generation of Modems contain a processor with a "flash" memory which can be programmed to allow them to be updated to match the latest standards. In particular there were two competing standards for modems working at 56 Kbaud by different groups of manufacturers called K56flex and X2. The eventual result has been agreement on an International standard called V90 but in the meantime many modems had been manufactured to the earlier standards and put into use. All manufacturers realised that there was no future in selling modems which could not be upgraded and designed them to be programmable via the serial link which sends and receives data and also acts as a command path to the modem. Some internal modems do away with even the flash memory and access the machines CPU and memory directly through the PCI bus - they are not covered here but the basic principles are similar when you come to upgrade.

Steps in Upgrading: There are three basic steps if you need to upgrade your modem. Firstly one needs to find out the modem type and existing configuration and firmware version. Secondly one needs to upgrade the installation files in the computer - the files which configure the modem for it's particular application - fax, Dial Up Networking, direct connections etc to make full use of the new capabilities. Thirdly one has to reprogram the modem itself to implement the new standard. Reprogramming may also be needed to improve or make operation more stable performance - a modern modem is continually optimising itself and adapting to changes in the telephone connection so improvement may well be possible within the overall standard. All this means that you need to be able to find out exactly what configuration and software version you have and whether updates are desirable or even essential. These changes may be before or after the major step of upgrading to the V90 standard when ones ISP makes the change at his end. Regarding the timing of the upgrade to V90 - too early and you will drop to the lowest common denominator V34bis at 33.6 Kbaud - too late and the 56K standard you are using may have been dropped.

How to find out what you have: Now comes the first problem - many modems are "unbranded" or just carry a dealer's name and be fitted internally. Many of these, like the modem I have upgraded, are based on a Rockwell chipset. Fortunately one can ask the modem to tell you about itself via the AT commands. These AT commands are the character strings which can be sent to the modem to tell the modem to behave in a certain way. They are called AT commands as the sequence always starts with AT. The basic commands are common to diferent modems but the advanced comands may have different effects in different modems. The command language is rich and the Rockwell AT command manual is 186 pages in Adobe Acrobat format. In Windows 95/98 the basic interrogation is built in for diagnostic purposes. My Computer -> Control Panel -> Modems then click on the Diagnostics tab, select the modem from the list presented, click on More Info... ATI3 and ATI6 give the most important information. RCVxxxx... in ATI6 will tell you if you have Rockwell chips, or the other chip manufacturer's code. ATI3 tells you the version of the code. However you will need to find out the actual modem manufacturer if you need a firmware (flash) upgrade. The retailer may be able to tell you or you can look at the type approval numbers on the board and go to http://www.babt.co.uk/public/index.htm to look up the manufacturer. Once you have a manufacturer go to their site and there will often be more sophisticated programmes to exactly identify the model and upgrades required. Many UK branded modems using the Rockwell chips are made by Askey and full information is available at http://www.askey.com.tw. The only modem I have upgraded was an internal one and was identified to be an Askey purely by clues such as the names of its install files (*.inf) and the Windows diagnostics then the model confirmed by the Askey identification programs.

Installing a new .inf file. The latest configuration (.inf) file may well improve performance by correctly matching the capabilities to the operating system - those installed by default may well not exploit the full facilities. Put simply - it tells the system the capabilities supported, the AT commands to access them and configures the modem for the particular application using these commands. An up to date .inf file essential if the modem is going to be flash upgraded and the new capabilities exploited. The manufacturers site will tell you how to download and unpack them and install them. The general principles are always the same as you have to basically reinstall the modem. If it is an upgrade you may well end up with an extra modem displayed in your list - it is safer to keep the old one until you have checked the new version fully and located and changed all uses of it. In some cases the upgrade would have had the same name as the previous version in which case #2, #3 etc will be appended to the end of the name. The procedures is My Computer -> Control panel -> Modems -> Add, check the "Don't detect my modem I will select it from a list" box. Click "Have disk" when the list is presented, and browse to find the folder you put the .inf file(s) you downloaded into. Click OK and it will reinstall your modem. It may or may not ask you about new hardware during this process, again click "Have disk" if it does (there may be sound files for a voice modem). Once it has all been installed, you will need to select the "new" modem in the properties of your Dial Up Networking connection, fax etc. and also check the configuration in each location.

Flash Upgrade of the Firmware: In some ways the Flash upgrade of the firmware is easier to do but it is much more important to get the correct files. If the .inf is wrong the modem may not work well or at all but you can reload it. If you try to load the wrong Flash upgrade file (or the power or programming is interrupted) the modem may be rendered useless. It needs an internal program to upgrade itself so if you wipe the memory or damage the loading program it is back to the manufacturer. To protect against this possibility many manufacturers upgrade programs check what is already loaded before they will start. This is why you can must use their upgrades although the basic chip is often identical to another manufacturer. The upgrade I did took a minute or so then sat for several minutes, apparently doing nothing, before it allowed one to continue. Nothing must interrupt this process so stop all programmes (remember to suspend the virus checker) and, in particular, you must turn off any screen saver.

Putting it together: In my case I was upgrading a neighbors machine and spent many hours checking on web sites and newsgroups to identify the modem, find the manufacturers site, indentify the model and ensure I downloaded the right .inf and flash upgrade files. The actual upgrade took only 10 -15 minutes from a check it was all alive to being back on line at 46 Kbaud. Measured download rates were very high with 3.35Kbytes/sec for a .zip file download from the winzip site confirming the V90 was working and newsgroups coming down 4.5 - 5.0 Kbytes/sec confirming the compression was also working.

Initialisation Strings: The only problem I had was that the displayed speed was the serial link not more informative line speed. Adding the AT command w2 to the initialise string box in the extra settings box for the DUN forced the display to be line speed. The Freeserve newsgroups had alerted me to the fact that some of the .inf files do not configure the displayed speed in the conventional way and this might be required. One reaches the settings box by My Computer -> Dial Up Networking .. Right click the Connection and select Properties -> General tab ... click Configure -> Connection Tab and click Advanced which displays a box which should be empty into which you add a command string such as the w2 to force a display of line speed. Another useful Rockwell command is +ms=11 which will force a V34 class connection - useful if you have very bad telephone line or to speed up connection if know you are communicating with an ISP who does not support V90. It also helps identify another problem with old .inf files where the new speeds such as 45333 are not displayed in the connection speed correctly yet lower speeds are displayed - get the latest .inf file to cure or see Modem-Help.Com for how to hack an old one.

Checking out the telephone line with a Rockwell chipset:
If you have a Rockwell chip it is possible to interrogate it and find out exactly what speeds, error correction and protocols it has negotiated and also what it thinks of the line quality. This needs one to connect up using a terminal program such as Hyperterminal which allows one to send the AT commands direct to the modem. Select Hyperterminal from the menu and double click Hyperterminal. This will setup a new connection. Enter "Direct Connection" for the name, pick any icon you like and press enter. Change "Connect Using" to the value that starts "COM"(port your modem is on), and accept this. On the next dialog change the speed to 115200 from 2400 and accept the settings. You should now be able to type any AT commands and send them directly to the modem. Once finished, you can close HyperTerminal, saving the connection so that you can just choose "Direct connection" if you want to access the modem directly again. You can now try entering at&v1 - some modems will tell you about the last connection immediately. If you do not get a screenful as below you will need to do the test online. In this case open Hyperterminal while disconnected, and set up a connection to dial your ISP. Change "Connect Using" to the correct modem, and let it dial. Enter +++ at the login prompt. The modem should respond with OK. You can then type at&v1 and you will get a screenful of information such as that below:

LAST TX rate................ 31200 BPS
HIGHEST TX rate............. 31200 BPS
LAST RX rate................ 46000 BPS
HIGHEST RX rate............. 46000 BPS
PROTOCOL.................... LAPM
COMPRESSION................. V42Bis
Line QUALITY................ 024
Rx LEVEL.................... 017
Highest Rx State............ 68
Highest TX State............ 67
EQM Sum..................... 00BC
RBS Pattern................. 00
Rate Drop................... 00
Digital Pad................. None
Local Rtrn Count............ 00
Remote Rtrn Count........... 00

It is mostly self explanatory. The Line Quality and the Rx level (line level in - dBs) are an indication of the state of the telephone line - they should be as low as possible. Also if a digital pad is detected there can be problems so if one is detected or the numbers are higher than say those above it is worth contacting the telephone company via 150 in the UK.

Acknowledgements: The information here has been gleaned from the thousands of postings in the freeserve.help.modems newsgroup and the Askey Web Site - thank you all. The tips on checking out the modem and telephone lines using at&v1 came from Chris's modem pages at http://home.clara.net/chris.bolus/tech.html which no longer seems to be available. There is however an excellent site by Alex Kemp Modem-Help.com which has even more useful detail and a huge database of information. Between them they allowed me to succesfully upgrade an unknown modem in a friends machine first time. I hope this page will give others the confidence to do the same. As an interesting aside my friends finally scaped their machine but I rescued the modem and it is still giving good service and the best connections of all my modems five years on!

Home page | Pauline's Pages | Howto Articles | Uniquely NZ | Small Firms | Search

Copyright © Peter and Pauline Curtis
Content revised: 12th November, 1998 and 7th June 2003
Valid HTML 4.01!