Up one level (RSS page)
Up two levels (Moto index)
Back to Home
  An overview of the Motorola Radio Service Software (RSS), its history, problems and some solutions   Print this Page

Background Information Part I

The USA Federal Communications Commission (and the appropriate authorities in other countries) have real concerns about folks talking on frequencies they shouldn't. In the USA the FCC Rules require the manufacturer of Land Mobile Radios (i.e. 2-way radios) to take steps to insure that the end-user can't reconfigure the existing channels or configure additional channels into the radio. The FCC requires the manufacturer to show compliance with the applicable sections of the Rules before that radio can be Type Accepted (i.e. can be sold in the USA).

Back when all radios were crystal controlled it took a knowledgeable technician to add or change the frequencies in a radio ‑ crystals had to be ordered, installed, and adjusted onto the precise frequency.

When synthesized radios were introduced things changed ‑ to meet the type-acceptance requirements the different manufacturers came up with various methods: Bendix-King handhelds requires a hardware key plugged into the speaker-mic jack to go into programming mode (which it turns out can be easily defeated with the edge of a coin or a house or ignition key), some manufacturers (like Midland and early Kenwood) used a custom programming box that is only sold to dealers, other manufacturers use a hardware interlock ‑ you have to open the radio then cut, install or move a jumper, or you have to add or remove a solder blob across a pair of pads on the pc board, etcetera. Nowadays with surface mount technology the jumper takes the form of a machine-inserted zero-ohm resistor, and removing one of those without tearing up the traces on the circuit board takes real skill, especially if the component was glued down before soldering (high vibration environment) or has a moisture/fungus coating sprayed onto the finished board.

In other words, the design engineers had to meet the FCCs requirements that it was supposed to take a knowledgeable technician familiar with the particular equipment to add modify, or delete channels, and since that technician had to hold an FCC license to work on commercial two way radios, he/she could be held legally responsible.

Motorola, in the beginning, chose to go a different technical route. Their first synthesized radio was the Syntor ‑ essentially a synthesized followon / followup version of the MICOR series trunk-mount radio. Frequencies were programmed by unplugging a PROM-based memory module from the radio and plugging it into a suitcase sized programmer called the "Motorola Digital Analyzer/Controller and Programmer/Reader, Model R-1800A". The model 1801 followed soon after. Both were more commonly called "the suitcase programmer". Other radios that required the suitcase followed. If you didn't have a suitcase, plus the socket adapter that held the memory board of that particular radio series plus the radio-series-specific software that ran in the suitcase's computer then you were not able to make changes to the radio. While it worked, and worked well, this technique proved to be both logistically and technically unweildy, plus the suitcase CPU was fragile and it had limited capabilities. Moto's radio designers looked for an alternate method and discovered the IBM Personal Computer, and the RS-232 serial port (also known as the "COM port"). The first PC-programmed radio was the Mostar ‑ more on that later.

These days Motorola uses a Windows-based computer program called Customer Programming System (CPS) to program most of their radios (and how it is supposed to program the customer I'm not able to figure out). When you "buy" the CPS all you are getting is a CD, a book, and the permission to use it for as long as Moto wants to let you use it, and under their terms. Modern CPS has copy protection in the form of a traceable code. Motorola protects their ownership rights of this software and not only prosecutes anyone caught sharing or making copies but also may shut down any account related to the offender (in other words, if Tom who works for Dicks Bait Shop and Two Way Radio Emporium gives Harry a copy of the shop CPS and Moto finds out about it then both Dick and Harry get sued (and Tom also, if they can make a case on him). Nobody with a legal copy of CPS wants to take a chance by giving away a copy of a CD that they spent a lot of money on, and their business is dependent on. And the RSS purchase is dependent on the buyer signing a legal agreement that was written in Motos favor by the Motos in-house legal team. And they don't care if you like the terms or not.

The software used to be called Radio Service Software, or RSS, and only ran under MS-DOS or PC-DOS (yes, there is a difference). No matter which name you use (CPS or RSS), the software runs on a PC and it accepts the frequency / PL tone information, power level information and other parameters for each channel (called "modes" in newer radios) that is programmed into the radio, plus some radio-wide information such as channel scan parameters.

"Modes" are an interesting concept, however one that was inevitable with the complexity of modern radios. Where a "Frequency" switch on a handheld or a mobile control head simply selected the operating frequency (and in some radios that plus the PL tone/DPL code), the "Mode" switch selects overall radio configurations, called modes. Depending on the radio a programmed mode could contain: ...and probably much more. One handy trick on amateur radio simplex channels is to use the talkaround feature of the mode to select a different set of power and PL tone frequencies ‑ for example the "repeat" side of 146.52 (the most popular 2m simplex channel) could be 110w and carrier squelch, and the "talkaround" side could be the lowest power the radio can do and 100Hz (for in-convoy car-to-car use on the highway). Some radios only offer a selection between high power and low power, (others maybe high, medium and low) and those two (or three) levels are defined in a separate area of the codeplug that affects the entire radio. Other radios allow per-channel power control as a percentage.

By the way, a Zone is a group of Modes, and the Zones can be used to divide the Modes any way you want.... For example, you could program a high band radio with a zone (or multiple zones) of ham channels, another zone of the seven weather channels, another zone of railroad channels (receive only), and another zone of public safety (police and fire) channels (also receive only). Or you can group them geographically... maybe one zone for each county. As long as you watch the mazimum mode count in a zone you can do whatever you want.

Back to the RSS and programming the radio:
One the frequency and tone data is entered, the RSS then uses it to build a block of binary data (usually called the "code plug", sometimes written as "codeplug" ‑ one word), which is loaded into nonvolatile memory in the radio through a serial port that is built into the radio ‑ usually in the accessory connector or in the microphone jack. Some documentation uses the term "personality" to describe the codeplug information for a radio. Both CPS and RSS use the Radio Interface Box (commonly called "the RIB") between the computer and the radio as another piece of the overall radio programming system. If you didn't have a RIB and the cable that connected the RIB to the radio then it didn't matter if you had the RSS ‑ you weren't going to be able to program the radio. More on the RIB later.

Despite the fact that CPS has replaced RSS, the "Radio Service Software" (RSS) name is used much, much more, to the point that it's become an unfortunate generic ‑ I've seen references to "Kenwood RSS", "Icom RSS", "GE RSS" and "Johnson RSS" in various Yahoogroups and on eBay. And since this article is oriented towards the radios that are affordable by amateur radio operators I'm going to use the term RSS from here on ‑ and besides, CPS was written by programmers, not hardware engineers that played at programming and CPS doesn't have the hardware limitations / computer speed problems that early RSS has.

The term "RSS" is a bit misleading unless you know the context that the particular usage was written towards: it can be used to mean all of the individual Radio Service Software programs that Moto has ever produced, or it could mean all of one collective type (like all pre-Windows RSS), or it can mean all of the RSS for one specific radio series (like all of the Maxtrac RSS), or it could mean a specific version of a specific radio RSS ‑ Like Maxtrac Revision 7.02... In this writeup I'll try to elucidate the meaning if there is any question....

Basically RSS is a program that runs in the workbench PC which accepts the frequency, tone, etc data and compiles it into a codeplug which is written to the radio. The RSS also offers functions to print the contents of the codeplug, to retrieve the codeplug from the radio, as well as saving and retrieving the codeplug as a file on a floppy or hard disk. The RSS allows the codeplug / personality to be stored on disk, cloned, edited without the radio and so on. Some radios, like the Syntor X9000 required separate programming of the radio and the control head. Others, like the MaxTrac, were a single codeplug / personality for all radio functions. Either way, the radio has its own internal microprocessor which runs its own program, generically called firmware. This radio firmware reads the data / codeplug and actually runs the radio. Some radios have their firmware in a one-time PROM chip, others have it in a windowed PROM chip, others have it embedded in the CPU chip, some have it in flash memory. Some do more than one ‑ the Maxtrac has three different interchangeable logic boards with different capabilities. One is a basic logic board with embedded firmware inside the CPU chip, and two other more advanced logic boards (used in a higher/more capable models) have the firmware stored in a separate PROM chip.

Early RSS came on 5.25" floppies. Later it came on both 5.25 inch and 3.5 inch floppy disks, each size with it's own part number. Still later versions dropped the 5.25 inch format and were available as 3.5 inch only. The most recent versions come only on CDs. Yes, you can put RSS on a CD (and with the room on a CD, you can put a large library of RSS on one CD), but it won't run from it (more on that below).

Then there were the so-called "Lab RSS" and "Depot RSS" versions for several radios. The "regular" RSS on those models was limited in features, generally just frequency / tone programming and a few workbench testing / repair features. In many cases Moto wanted the radio sent back to one of the corporate-owned repair centers (called the "depot") if a major section in the radio died. Those sites had more extensive software that was used to do more detailed repairs ‑ the "Depot" version. The "Lab" versions were used in the Research and Development sections of Motorola own engineering labs and was very versatile, and frequently had no error-checking or ease-of-use features at all ‑ it was experimental (usually first-draft or "alpha" level) software designed for use by the programmers themselves and the R&D engineering teams, frequently as an early stepping stone to the final end-user or depot versions. Both "Lab" and "Depot" versions were identified with a start-up screen stating that was for use only in those environments, hence the name. Over the years, copies of both "leaked" out of the company and Motorola was not, and to this day still is not happy. And the "depot" and "lab" software that is out in the real world works on only a few models or product lines. Despite that it remains popular for several reasons, one of which is that it can archive more than just the frequency and tone parameters ‑ it also retains any electronic tuning info (like VCO voltages). Having a Lab archive of a radio can save your day in case a modification backfires and makes the radio worse (like moving a MTX-9000 handheld from 940 MHz commercial to 902 / 927MHz amateur frequencies).

Another problem with the "Lab" and "Depot" software has to do with revisions. The "public" software went through several revisions, expecially once the cpu-speed-insensitive com port driver was developed. The programming staff never had the time to apply that fix to the "Lab" and "Depot" software. So in most cases to use the "Lab" and "Depot" software you need an older, slower computer.

A specific example: the last version of the Maxtrac software is known to be good with a 1 GHz computer. The third-to-last was very speed limited. The Maxtrac Lab software that is out there has similar limitations.

Another example: there is a configurationof the Syntor X9000 radio that allows two 128 channel radios (any two - for example VHF and UHF) to work with one 256 channel control head. The special RSS for that is very early vintage and has the old serial driver (i.e. is speed limited). The special "ham" version of the X9000 software also has the old serial driver. The last version of the official X9000 software (which does have the speed fix) does not "know" about the dual radio configuration, nor does it allow 10m, 6m or UHF amateur frequencies.

Note that in most cases the "Lab" and "Depot" software does not replace the "regular" software for programming end-user frequencies, PLs, DPLs, timeout timers, scan lists, etc.   The "Lab" and "Depot" software is designed to do tricks that the "regular" software does not (for example, initialize a replacement logic board, or resurrect a brain dead board).

Most RSS versions now include their version number as part of the code plug written to the radio, and retrieve it back when changes are to be made. You will find that many RSS versions will refuse to write any data back into the radio if the retrieved version number is newer (you get the message "CODE PLUG TOO NEW" or something similar). This lockout is deliberate, and there to prevent "bricking" a radio ‑ the firmware inside the radio was written to provide maximum features in minimum code space, and usually has very little (if any) error checking (the lack of which is WHY a corrupt code plug can "brick" a radio)... the designer and programmer (or both) counted on the RSS for doing all the sanity tests on the data that was entered, and assumed that every time the RSS was run there would be perfect data communications between the PC, the RIB and the radio. Apparently he was never informed about Murphys Law.

The version number lockout feature exists because frequently newer versions of the RSS enabled new features, and changed the code plug layout in ways that conflicted with the the older version of the RSS. Most of the RSS simply creates a block of data, which is loaded into the radios non-volatile memory. The radio firmware (wherever it is ‑ masked into the CPU chip, in a PROM, in flash memory, etc.) expects to find the radio-wide information (i.e. the timeout timer, the scanlist, etc. at one specific place in the codeplug, it expects to find the frequency information at another specific place, etc.
On the other hand, the RSS for some radios such as the Saber handheld works in a totally different way in that the Saber RSS contains "libraries" of executable code modules and as you enable features (such as scan, DTMF, MDC, QuickCall, encryption, etc.) the RSS builds a single loadable "program" from the selected libraries and that executable file is uploaded into the radio. Yes, the Saber firmware is part of the uploaded codeplug. Using an older version (with fewer modules, lesser capable modules, or different revision modules ‑ i.e. taking a chance and mixing different version modules) on this type of RSS / radio is just asking for problems. As food for thought, the Saber method also opens the door for someone to take the microprocessor board(s) schematic(s), develop a firmware model, reverse engineer the firmware, and add a few features... like nuisance lockout on scan, direct keyboard entry of frequency and PL tone...

Back to RSS and the version number lockout:

Picture a scenario where a fleet customer ‑ maybe a trucking company ‑ buys a number of radios that are initially programmed with version 1.0.0 RSS with two channels, and no scan function (let's say for the sake of this discussion that while the hardware does, the RSS version 1 does not support channel scan). Then the trucking company radio shop upgrades to version 2 (which does support scan) and at some point the tech uses it to add a third channel and enables scan and MDC (a data transmission protocol). Several years later the radios are surplused and Joe Ham uses version 1 to change the radio to ham frequencies. Version 1 does not understand scan or MDC and writes invalid data to that portion of the code plug, corrupting it. Then the corrupt code plug is written to the radio turning the radio into an item about as useful as a brick. Does Joe Ham blame the computer? the RIB? the programming cable? the RSS? or the eBay seller that sold him a radio that died a week after he got it?

Sometimes a brick can be recovered by reloading the original code plug or a lab archive code plug (this is why you see occasional postings on the various Yahoogroups asking for a working code plug for a specific model number of some radio). Other times you can't even get the known good code plug into the radio, and you end up having to wipe (or "blank") the radios logic board. Other times you get to send the radio back to Moto and pay them to use the Depot RSS to wipe it and reinitialize it (if Moto still supports that model...). And the Depot may ask some very pointed questions about how that radio got into that mode... especially if you have a model number that indicated very basic functionality (like 8 channels), and they find some high level features enabled (like 32 channels).

So now you know why the version number lockout was added. At least that's the official story.

The end result is that a radio code plug has to be modified by the same or later version of RSS, or the the logic board in the radio has to be reinitialized by erasing the code plug memory with the the "Lab" or "Depot" version.

BTW this lockout extends to the Windows-based CPS ‑ they simply incremented the version number (the hidden one buried in the codeplug) so that the lowest value written by CPS was greater than the highest value of RSS. If you have, for example, a MTS2000, there is both DOS-based RSS and Windows-based CPS available for it. Once the radio has been programmed with CPS you can't go back to RSS ‑ you will get the dreaded "CODE PLUG TOO NEW" error message. Some radios will let you backstep by cloning (using the the CPS'd radio as the target with an RSS'd radio as the source) thereby re-enabling RSS, some won't. So if you have one of the transitional radios (one where you can get both RSS and CPS for it) keep that "gotcha" in mind ‑ once you go CPS you can't go back.

One frequent "gotcha" with RSS versions: It is common practice for fleet operators that have their own radio shop (i.e. police departments, fire departments, trucking companies, railroads, etc.) to buy new radios and order the matching RSS at the same time, usually on the same purchase order. Then for some reason they send a radio in to the depot to be repaired, perhaps under warranty. It comes back programmed with an RSS that's newer (later version) than what the customers shop has, so now that particular one radio can't be reprogrammed by the customers shop any more. The only solutions to this unpleasant situation are (a) for the customer to obtain the newer version of RSS for that particular radio and as they cycle through the shop eventually convert all of his radios to the newer version, or (b) send the radio back to the depot and have it reinitialized with the version of RSS that matches what the customer has. Good luck getting that last one done - usually the depot keeps only the current version / newest version active. For the dozens of times I've heard about this nightmare, it seems that once Motorola has made the sale that they have absolutely no regard for their customers until they want to sell something else ‑ the depot should match the current version of RSS being used by their customers on their radios.

Some large fleet operators (like police departments) have gotten smart when writing the Request For Quote (RFQ) documents for new radio systems the requirement that the buyers radio shop be kept up to date (i.e. the final purchase agreement includes a forced "subscription" to the relevant RSS) as part of the contract (or they work it into the sales negotiations). As a story goes, Moto didn't offer RSS subscriptions until a large USA government agency (which is never named in the story) wanted about 4,000 mobiles, 1,900 handhelds, plus an unknown number of base stations and repeaters, plus installation of all the base stations and repeaters, plus other items like handheld chargers and spare batteries, and a subscription to the relevant RSS.... i.e. a single sale that would exceed the most capable salesmans yearly quota by a large factor. Once Moto realized that they couldn't meet the Request For Quotation (RFQ) requirements without offering a subscription the government agency got their subscription. And once the subscription mechanism was in place, it became available to everybody else. And the salesman made that huge one sale and took the rest of the year off.

People missed this when I had it in a standard sized font, so...

Don't forget ‑ Whenever you acquire a synthesized LMR radio, be it Motorola, GE, Icom, Yaesu, Kenwood, E. F. Johnson, King, or any other brand, remember to make a copy of the original code plug (with the commercial frequencies) and archive it.
If you screw something up you will want to be able to backstep to something that is known to be good. It is much better to have a backup and never need it than to need it and not have it. And if you have access to the "Lab" RSS for your radio (even for a few minutes) then make a second archive copy with the Lab RSS as it stores a lot more info in the file than the regular RSS).

Just save the code plug to the hard drive and use the radio's serial number as the file name. Then save it AGAIN with a "starter" file name. Then program a single amateur radio frequency (I use the major simplex frequency for that range, i.e. 29.60, 52.525, 146.52, 446.000, etc), then save it. This is your "starter" codeplug for any future amateur conversion of additional radios in the same radio series. Then save the codeplug a third time with whatever the regular "working" file name will be for that particular radio, and add the rest of your "everyday" frequencies to that working copy.

You can then copy the codeplugs off onto a CDRW separating the commercial frequency code plugs into an "original" directory, and all of your starter code plugs in a "starter" directory, and all of your current code plugs in an "operational" directory (many RSS programs calls this the "Archive" directory).

This CDRW can be convenient if you have several radio series in regular use ‑ for example an MSF-5000 repeater, maybe a few MaxTracs as links, maybe a Spectra in your truck, a GM300 in the wifes car, maybe an MT-1000, Saber or Visar handheld... it might be worth having a couple of CDRWs that you copy the operational RSS codeplugs onto after each programming session... and you can also back up the entire RSS directory on the CDRW as well. And CDRWs have been known to die with no warning ‑ they aren't forever ‑ have (at least) two copies, and I suggest you use high-end / premium media from two different manufacturers.

Note that you can not run the RSS off of a CD or CD-RW as when the program starts it open several files in writeable mode. The CD-RW is simply a transportation / backup / storage media. If you end up copying a directory back to your hard drive you will need to manually remove the "read only" flag (using the DOS command ATTRIB) from all the files that came from the CD-RW. The simple cure for that annoying problem is to modify your initial CD-RW copy process ‑ first ZIP up the entire RSS hard drive directory with the path information and save the zip file on the CD-RW... the file status flags (including the read-only flag) are preserved by the ZIP / unZIP process... when you unZIP it back to the hard drive the "read only" flag will not be asserted. Get your hands on a copy of PKZIP and PKUNZIP for DOS, and use the help function to learn how to include the path information. Then write a couple of batch files that do all the work.

Here is an RSS list dated December 1994. There is no OS listed as DOS is all there was at that time. This is a large (about a megabyte) PDF file.

This web page has a table of RSS that was developed from multiple text files collected from several people.   Everything on this particular list is dated earlier than August 2002.   Note that some are listed as DOS, some as DOS and Windows 3.x, some are DOS, 3.x and 95, etc. The ones that say NT, 2000 or XP are computer speed independent. The ones that are listed as ME, 98 and 95 are pretty-much speed tolerant.

There is another list here (48 KB) that looks like a copy from a Moto dealer catalog. It's dated August 2003 in the lower corner.

Also there is another list dated Febuary 2004 (88 KB).

Here are the two RSS pages from a May 2005 price book (80 KB).

Here's an undated list, but the latest entry is dated late 2005 (94 KB).

The newest seems to be dated 9th August of 2007. This is a 16KB web page, I hand typed it from an almost unreadable scan of a fax.

A newer "master database list" was found in 2012 but you'll have to search it to find anything.

Does anybody have anything newer?

Many of the newer RSS versions (anything after the 1995 / 1996 era) are not as sensitive to speed problems as the previous versions as shown in this undated RSS-to-OS compatibility chart, however the final authority on any RSS package is THE RELEASE NOTES that are usually on the RSS media and sometimes packaged with the media and the RSS manual.

Summary ‑ The older the RSS (and version of it) the slower the computer you will need, and by "slow" we're talking about CPU clock speed, not serial port speed (which does NOT matter as the RSS completely takes over the serial port hardware and sets it up the way it wants).

As to processor speed you don't need to go all the way back to the first series of PC (the IBM PC and XT ran an 8088 CPU chip at 4.7 MHz), if you can find an IBM AT (286-8 or 286-12, but clones ran all the way up to 24 MHz) that will do everything you will ever need to do. If you stay away from the really sensitive stuff (R-100, early Saber) then a 386-16 or 386-20 will do 90% of the RSS out there. After the 386's were the 486's, then the original Pentiums, then Pentium Pro then Pentium II's, Pentium III's, then onto the more current chip lines.

Make the effort to get the latest revision or version of any RSS (regular, Depot or Lab)- it will be worth it (but don't trash your old versions, ZIP them up to a CD).


Back to the top of the page
Up one level
Up two levels (Moto index)
Back to Home

This web page first posted 16-Mar-2004


Motorola® is a registered trademark of Motorola Inc.   CPS, HT600, MICOR, Mostar, MT1000, R100, Radio Service Software, RSS, Radio Interface box, RIB, Saber, SmartRIB, Spectra, STX, Syntor, Syntor X, Syntor X9000, Systems Saber and other terms used in this article are trademarks, service marks or copyrighted by Motorola Inc. and are used in this writeup and on this web site in a descriptive or educational use only, and no misuse or infringement is intended.

This article is an original work that was written by a Repeater-Builder staff member at the request of another Repeater-Builder staff member, and is © Copyright March 2004 and date of last update by Repeater-Builder.

This web page, this web site, the information presented in and on its pages and in these modifications and conversions is © Copyrighted 1995 and (date of last update) by Kevin Custer W3KKC and multiple originating authors. All Rights Reserved, including that of paper and web publication elsewhere.