Contents • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Waris This was originally put together when I got into the HT1250 200 MHz radios. They modified ok, but the way of doing it as suggested left much to be desired, and the DTMF pad didn't work and the radios were narrow band only.
Over time, I've gotten more into these with the CDM1250/1550 and other waris series radios. I've not seen any of the European ones, but I've been working with the US versions for FM service in ham radio. What I've found is the radios features are determined by the 'codeplug' settings. This is simply a packed (hex) data written into the eeprom chip of the radio containing tuning, feature and programing data.
This is the same area the programing data from CPS is written in, but CPS is unable to change it. The majority of modification of these radios to amateur service is done with modifications to the codeplug. How To Make Bin File Fta Receiver. The codeplug layout appears to be the same for most US versions of the radios, but there are some which are different. Flash adapter for CDM1250 radio 220 HT1250ls and CDM 1550ls This is the same as any other to modify to the amateur service from a software perspective.
The issue is these radios are narrow band only on the receive path, as the 200 MHz band was never used for 25 KHz channels. Transmit will support wide band (and must be aligned for wide band first!) The IF filters simply need to be swapped with their wide band parts and wide band receive alignment performed. Hardware Mod Their are 3 filters in the radio, 1 at 44.85 MHz 1st IF and 2 at 455khz, 2nd IF. In a VHF/UHF Waris there is a 15KHz filter at the 1st IF followed by a 15KHz filter at the second IF and then followed by another filter.
It's this last filter that is switched between narrow and wide in the VHF/UHF radios. TX deviation is a setting in programming/alignment.
In the 220 version, there 1st IF Filter is the same, but it has a 12KHz and then a 9 KHz filter at the second IF. I've changed out the second filters and found it works much better on the ham bands. You need to adjust the squelch for 20/25khz channels after doing this.
The tuner software (2.00.02) will do this for the HT1250 only, it will not work with the mobiles. Use to access the greyed out menus in tuner 2.16. HT1250 Filters: Function Part Manu P/N Moto P/N Desc 220 front end 44.85MHz FL3201 MXFM10 4-pole +-7.5khz bandwidth IF2 First filter 455KHz FL3204 CFUCJ455F 9180468V04 4-pole 12khz IF2 filter narrow band filter FL3206 CFWC455G 9180469V03 6-pole 9khz The UHF handhelds use the same arrangement, but with a wider middle filter (1st @455). In wide band they switch only the 2nd 2nd IF filter to a narrow band filter. Uhf front end 44.85MHz FL301 MXFM11 IF2 First filter 455KHz FL302 CFUCJ455E 9180468V05 4-pole * IF2 filter wide band filter FL303 CFWC455E 9180469V05 6-pole * IF2 filter narrow band filter FL304 CFWC455G 9180469V03 6-pole You'll need to order the parts with the * from motorola parts for the 220 radios.
Motorola CDM1250 software needed; If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can. Motorola's CDM1250™ mobile two-way radio can readily expand to meet rapidly changing business needs, ensuring superb sound clarity, even in noisy environments.
The mobile and HT use the same filters. In the HT the 1st IF is under the shield, and very hard to remove. I've not messed with it, as it appears to be the same part in the UHF, and doesn't look like it's limiting. Based on the following codes for muratta filters Muratta filters E is +- 7.5 (15) F is +-6 (12) G is +- 4.5 (9) The 220 Filters are 12 and 9 Khz wide at the 2nd IF. Switching them to the E filters of the UHF HT1250 is rather easy, as they are just on the underside of the board, not under a shield. An under board heater with a hot air station makes this rather easy.
Ive found an under-board board pre-heater is mandatory to work with this and 630f at 7 l/m of airflow will prevent hurting the board/parts/ I've found the sensitivity to be a bit better and no squelch clipping on 3.2kc tone at 7khz of deviation (Most ham rigs on 220 have WIDE deviation!). Software mod All this below is not needed. Check out using the for using waris.py and chirp. Using Chirp is the way to do it and you can change everything. I typically set the signaling bits to FF enabling all signaling supported, but some radios may not work with this.
Always read the radio and save the data before making changes. The data file format is the same binary on the radio EEPROM and use by cptool. Old way This is easiest with CP tool and a hex editor.
First upgrade the Firmware using the firmware update. This will load the default codeplug back in the radio. Read the radio using the CP tool and save the binary codeplug. I typically will read this from 0x0000 to 0x1000 which will capture the entire default codeplug (Tuning, Features, and Programing).
Save this file and set is aside for safe keeping. If anything goes wrong, you can blow it back into the radio and restore it to defaults with out needing to retune. If you want to use the pre-made, if one exists, rather than edit your own you can go right to below. Editing the Codeplug Now open up a copy of this code plug and edit it based on the Codeplug Map for the feature blocks.
This is from 0x280 to 0x2ff. You'll need to change the following parts: • Serial number, ASCII spaces are blank (optional) • Channel step needs to be 0x01 • Upper Frequency: 0x5F50 for 225 MHz • Signaling: 0xFF is everything enabled (MDC, QCII, DTMF) for trunking and conventional • Conventional Personalities: 0xFF for 255 channels Once this is done, be sure the checksum 8 on both FDB blocks are 5A.
You will need to adjust the checksum bytes for this. Writing the Modified Codeplug Open this file with the CP tool and put 0x280 to 0x2ff into the radio, no need to write the entire file. This makes it easy to do many units at once, just blow the Feature Block in, while leaving the tuning and programing alone. Tuner with Winabler and showing 25 KHz Tuning I use the auto squelch setup and found a good value is -127.5 dBm for hams. My radio is -124 dBm for 12db SINAD so this is about 6 dB SINAD at -128, very noisy but understandable. Auto tune makes this really easy.
You can always program a button to set the squelch to tight in CPS. I've found I needed to play with the RSSI settings too, as the S meter was setup for commercial strong signal service. I've only seen this with certian 220 radios. It's also a good idea to check the frequency/modulation/power out alignments too. The CDM1550's from the New Jersey Turnpike all were aligned wrong for the power output, and we 20W out when set for 30W.
Align it in tuner properly, and then use CPS to lower the power if you want. If you've set the serial number to blank, it's a good time to set it to what you want in tuner before you disconnect. Once you're done with all this, you should have a great radio that covers 216-225 MHz, wide band FM, MDC/QCII/DTMF, 30W power out, and damn sensitive squelch. UHF 450-527 Ham Band Mod The basic issue with modifying these radios to cover down to 440 by only adjusting the & [[#Low Frequency Low] Frequency settings in the feature region of the codeplug is the tuning for deviation/squelch/signaling/etc. Is setup on 7 frequencies.
When the radio tunes between two of these frequencies the value is interpolated based on the curve of the tuning values. For example deviation response will vary from 450 to 520 MHz, the same voltage at 450 will be an unacceptable amount of deviation at 520. As the frequency 'piers' only go down to 450 MHz, the radio has nothing to interpolate with if it's programed 440.450 MHz. This causes this interpolate calibration code to fail and deviation and other calibrations are all over the place. Luckily this is a rather easy fix.
Of the code plug from a HT1250ls 450-527. There is a new way to do this using and the plugin below: Preselector Tuning Using this procedure on a number of EX600xls radios has worked well, but some don't seam to work down at 440 on receive. I've found this to be due to the preselector alignment. Once this is re-aligned on the new frequencies in global tuner, the radios receive properly. Since you have to load global tuner up anyways, it's worth checking the refference frequency oscillator warp. While not off much, the batch I've seen have been off 600-1000 Hz. Code Plug Map This is based on the Srecord file loaded as binary 0x000 - 0x27f group, 5A checksum.
0x27f is the checksum byte This group contains the tuning information for the radios. The frequencies it's aligned on are in the same format as the band limits. There are 3 groups of frequencies in here, not sure what they all do, but can confirm changing them all moved the tuning frequencies on a 6 meter CDM.
0x282 - 0x2D7 - group, needs to be 5A checksum, adjust 0x2D7 to make it. 0x285-0x28E - Serial number 0x291-0x2A0 - Model number, Blank should be spaces 0x20 0x2AC Channel steps *0x01 - 12.5, 20 and 25 KHz *0x05 - 12.5 only 0x2AF Lower Frequency Limit 0x2B1 Upper frequency limit Desired limit - Base freq (200mhz models the base freq is 103mhz) times 1000 then divided by 5. This gives you the new value in dec, you have to change it to hex 216 MHz is 5848 225 MHZ is 5F50 58485F50 across both bytes Below is only valid for the 3.08 codeplug tool codeplugs 0x2D8 to 0x2E9 - group, needs to be 5A checksum, adjust 0x2E9 to make it. 0x2E2 - Number of personalities is at in hex. *128 - 0x80 *160 - 0xA0 *255 - 0xFF Below is only valid for the 2.08 codeplug tool codeplugs 0x2D8 to 0x2E4 - group, needs to be 5A checksum, adjust 0x2E4 to make it. 0x2E2 - Number of personalities is at in hex.
*128 - 0x80 *160 - 0xA0 *255 - 0xFF The 8 bit checksum must be 0x5A for this bit of code. Byte 0x2E9 is the checksum fix bit. Roy Jones Body Head Bangerz Rar. Find the difference after editing between the checksum and 0x5A, then add or subtract this from the value in offset 0x2E9.
Codeplug Map Waris Codeplug Map Byte Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x000000 Tuning Data 0x000010 Tuning Data Cont. SKIP SKIP 0x000270 Tuning Data Cont. 0x000280 0x000290 0x0002A0 0x0002b0 0x0002c0 Unknown Unknown 0x0002d0 Unknown Checksum Unknown 0x0002e0 Unknown Checksum 9 0x0002f0 Unused FDB Checksum Tuning length These two bytes are the length of the tuning block. Typically 0x0280 Tuning Checksum This is a byte which is modified to make the Checksum(8) of the tuning block 0x5A Feature Length These two bytes are the length of the feature block. Typically 0x0080 Block Header This is the block header for the FDB. This is a recurring format for storing data throughout the codeplug In this case it's typically 0x805201 This is a magic number of 0x80 a length of 52 and a repeat of the length of 01.
In this case it would start at 0x285 and go to 0x2D7 (the checksum correction byte). Note the 3 bytes of the Block Header are not counted, but are included in the checksum calculation. Serial Number These are 10 bytes of the serial number.
You can make it whatever you want of keep it blank with spaces (0x20) to allow you to set it in tuner. Model Number These 16 bytes are the model number. This must match exactly if you want to use the CPS to program the same CP into multiple radios (along with the other FDB blocks).