Programming the Retevis RA-25, a bildungsroman – part I

I recently got a Retevis RA-25, a nifty and resourceful little analog rig from Retevis. I won’t discuss the GMRS version (I nearly don’t know what GMRS is) but the HAM version. The hardware may probably be the same. Also, there are some other models that are said to be the same hardware, marketed under the name of Radioddity DB-20G or Anytone 779UV(randomtech). Some suggest also CRT Electro is the same. The Retevis programming software may however not like other brands. I don’t know if what I found works also for the GMRS version of the rig: YMMV.

Disclaimer: this article comes with a little bit of review and dangerous and probably harmful hacks. I did buy the RA-25 myself and at the time of writing this article I got no money from Retevis to write this review; also If you buy the RA-25 using the link above won’t get any money. So please buy the rig wherever you see fit, and you won’t help me a bit. If you like this article, consider donating instead a few bucks to any charity you support.
Conversely, the procedure outlined here is mostly for me, as a reminde and for collecting the various link I have; it is not for anyone to follow. Also please note that possessing and/or operating the device like the one depicted here here may (and most surely) need a specific license in your country. Please check before you buy. Last but not least there’s high voltage, high current and/of RF (radio frequency) involved and you must be aware that high currents high voltages and/or RF may be harmful for people and things. In short, the author will not be responsible for any loss or damage caused by any negligence or wrongful act of a reader. Also, the author will be not responsible for any inaccuracy depicted here. Do your own research on solid and reputable sources. I am not one of these. Please find expert advice: your local ham association may help you on this pointing you to the right resources and training.

With the air clear from legalities, I will say that I like the rig.
Don’t take my specs for good, read about it on the company sites that sells it. It is compact, roughly 3.5” by 1.5” by 5.5”. Mine has a metal body, a fan, a mic, a programming cable, some spare fuses, a car bracket. Mic has an rj45 interface and so does the programming cable, that at least on my case was recognized by Window 10 with no further ado. Has a volume knob that doubles as a power-on switch, and the mic carries the controls (numeric keyboard, and basically most of what the front of the rig has). The rig comes with mic and non-detachable supply wire and cigar plug; the lot weights around 1.5 pounds.
Yes, it comes ready with a male cigar plug. Given that I wanted to operate it without clipping the cigar plug or otherwise modify it, I got a female car lighter socket plug beforehand. I am now able to connect with my power supply or battery pack. I have seen radio like these damaged by reverse polarity inversions so check very well your connection to the female socket plug before attaching the rig! Reverse polarity protection should be there, but you can never know.

I use to own also a Retevis RT95, which is nice by itself, but as you probably know has a few features also (e.g. in the RT95 the knob is not a volume or powering-on switch, you have to press a button to change the volume and then rotate the knob. The modulation had issues in the past, forcing me and the people to drill holes in the mic or get consistently bad modulation reviews. This ‘feature’ is no longer there, as a new firmware version pretty much solves this for RT-95, which is now able to set the mic gain). My RT95 also spots 200 channels, which are a lot but not really a lot and weights more, so I am gonna use the RT95 as my base station and the RA-25 will come with me around the vast world. I have seen that the RA-25 seems also more tolerant with the power supply (using a 4A-12V brick as a power supply it provides what he promises in the specs) while the RT95, although it pumps 10W more on the antenna is more picky with the power supply voltage and amperage and defaults to low or medium power if your power supply won’t provide the current. Ra-25 spots a SO239 antenna connector. I got consistently good reports on modulation operating it on radio links so no more words on this.
So it is all well! Nope.

This little rose comes with its own set of prickles. The most harmful ones are around programming it.
As the time of the writing of this page, the rig is not supported by CHIRP, and this leaves me basically in the cold with three options (feel free to share in the comments if you found out more):

  • Use the retevis programming software. I can’t seem to find a way to import any CSV, let alone CHIRP ones. I can’t manage the copy& paste outside the program itself, and the ‘edit channel’ dialogue is a bit slow on my Windows 16Gb-fair processor PC (Windows, you will be Windows.Wine? Did not try)
  • Programming by hand (we have hundreds of entries here, good luck!)
  • using RET-RA25 from RT Systems (did not buy, I don’t know it).

Shelling bucks for a third party program is a no-no for me (it would negate the discount I got from Amazon) and programming by hand: nope. So it leaves me with the stock Retevis programming software.

Let’s first say that while programming, I always connect those rigs to a dummy load. If you are not familiar with a dummy load, you should probably avoid messing with your rig and find expert advice. Your local ham association may help you on this and save some sorrow. More on this, later.
Back to program: should I write 500 entries by hand. Not a chance. Luckly, an unsung hero by the name of Matt Bickford (which I assume is the ‘CowboyPilot’ in the python script’s credit) wrote a nice little script called ChirpImport v1.0.py That is, a python 3.x script that basically takes a RA-25 binary .dat (let’s call it the input.dat) file and merges it with a CHIRP.CSV channell list file from Chirp. The script works almost as expected and requirements spots the csv python module,as you would expect. The result from the script output is another .dat file (let’s call it the output.dat) that merges the original settings from input.dat AND the channel list from CHIRP CHIRP.CSV. License from script author is: do whatever you want.
The script also spots a lot of important information in the comments, that were very helpful to me to carry on the activity. Also, it describes the RA-25 Channel memory map.
Lo and behold, the process is, or better, it would be:

  • I connect a dummy load to the rig. I really DO THIS. I reallly don’t skip this! Me and other people (see the youtube reviews) have seen the rig going in TX mode during programming. Don’t wanting to waste the rig, I connect a dummy load to the antenna socket no matter what! Trasmitting without a correct load (an antenna, a dummy load) may kiss the RF transistors goodbye.
  • I take my RA-25, configure the settings as I see fit, leaving the channell list alone (it will be discarded anyway, not merged by the script)
  • I take a standard CHIRP.CSV. As we dabble on dangerous terrain here, I took out any ‘split’ entry and left the plain lines (simplex operation and radio links shift, no split or exotic settings).
  • I specify the various file paths in the script (input.dat, chirp CSV, output.dat file) and run the program
  • I load the resulting output.dat into the RA-25 original programming software and I find the original settings I set, and a well-populated channel list the write to the radio!
  • The rig hopefully works. PROFIT! We are dabbing with a dat file here, not a csv file. There’s high chance that something gets screweeeed. The RA-25 programming software seems to be very able to see when a .dat is corrupted or invalid. But one can never know right? Better safe than sorry!

Now if anyone came so far in reading, they would probably suspect it was not so easy. The channel list on the Retevis RA-25 program software stayed empty and silent after loading the resulting output.dat from the script. After a bit of hexadecimal digging, I started reading the comments and the documentation inside the script, and did a bit of debugging.
The CSV from CHIRP is read with no visible issues by Cowboypilot’script. He may not be a python programmer but surely knows a bit of trade. The issue must be somewhere else; I find a possible reason in the comments script. After a bit, it’s all due a misplaced bit.

The script searchs the settings.dat file for the signature of \x00\x01\x05 which immediately proceeds the number of channels that RA25 software will read-in.

Except, at least on my firmware correct input.dat, it shouldn’t 🙂 There’s 0x00 after!

A correct input.dat file, produced by reading the radio content using RA-25 programming software and saving it into input.dat, as seen in HxD
A view of an output.dat fresh from the ChirpImport v1.0.py. Do you see the missing 0x00 before the channel number of channel 0x0C?
What happens if you try to load such output.dat file in the stock programming software(which you now see in all its glory):nothing. Duh! Image copyright is mine, credits goes to the software author for the program.
The wrong number of channell produced by the python script in red, and the correct way to go as in the original file enclosed in green. The number are different because the Chirp.csv has a different number or row, but that is not the issue. The issue is the number of channel information being not where it should be, it seems.
Documentation in the script body comes handy, and I found:

After that it writes the number of channels (in little endian) and continues to seek along the header file

So, I fire HxD after the pattern 0x00 0x0 0x05 I leave the 0x00 that makes the original .dat a winner, and write

499/0x01F3 in hexadecimal, little endian (0XF301) and I save.

Wow, it seems to work. The big blank white square it is on me, obscuring info.
Now the moment of the truth. I check the cable, check the right COM port, assume the programming software does this sanitization and hopefully doesn’t brick the rig…and it works!
I didn’t invest time to correct the original script as this is something that I am not doing everyday…but I may want to contact the original author and warn him.

After the first try, I re-read the memory content from the radio and added the split frequencies (I have a few) by hand, and flashed again. No complaints were shown.

Didn’t try them, but the split frequencies were programmed. Again the white box isn’t there in the original image.

What about the other settings? The Chirpimport script takes care of them. Well, yes and no. The CTSS code, yes. TX power and other setting, YMMV. But there there is a feature of the RA-25 program that comes handy.

Here you can set what to bulk change.

‘Edit Settings’ makes it possible to set which field are to be bulk changed. Selective changes are also allowed (from-to). I just used the step and channel spacing flags to set the correct values for my area.

That is basically it, for now. But stay tuned, stay frosty.

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.