Project

General

Profile

Actions

New Model #9241

open

Radioddity DB20-G

Added by Alex Martin over 2 years ago. Updated 3 months ago.

Status:
Feedback
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
07/23/2021
Due date:
% Done:

0%

Estimated time:
Equipment Loan/Gift Offered:
Yes
I read the instructions above:


Files

ChirpImport v1.0.py (11.6 KB) ChirpImport v1.0.py Chirp Translator Matt Bickford, 11/12/2023 02:02 PM
chirp-debug-log.txt (4.13 KB) chirp-debug-log.txt Charles Randall, 01/07/2024 12:01 PM

Related issues

Related to New Model #10205: Retevis RA25Rejected12/31/2022

Actions
Actions #1

Updated by Joseph David over 2 years ago

This radio appears to be the same as the Anytone AT-779UV, which has already been listed here: https://chirp.danplanet.com/issues/8953

Actions #2

Updated by Bernhard Hailer over 2 years ago

  • Status changed from New to Feedback
  • Priority changed from High to Normal

Alex, please try to use Chirp on your radio, selecting "Anytone" as the vendor and "AT-779UV" as model. Let us know whether it works. Thanks!

Actions #3

Updated by Jim Unroe over 2 years ago

I do agree that the Radioddity closely resembles the AnyTone AT-779UV. CHIRP, however, does not support the AT-779UV. CHIRP does support the AnyTone AT-778UV but I don't expect that the AT-778UV model selection will support the AT-779UV model selection.

To support this model (or its AnyTone variant) will will most likely require getting the Radioddity DB20-G and/or Anytone AT-779UV radio, compatible programming cable and programming software into the hands of a volunteer developer that is interested in doing the reverse engineering.

Jim KC9HI

Actions #4

Updated by Alex Martin over 2 years ago

I'' give it a try tonight and report back.

Actions #5

Updated by Jim Unroe over 2 years ago

Alex Martin wrote:

I'' give it a try tonight and report back.

After any error message, close CHIRP and then attach the debug.log file that was generated.

Jim KC9HI

Actions #6

Updated by Alex Martin over 2 years ago

So, on another note, I am curious if macOS CHIRP works with all 'supported' radios because I was unable to confirm if the supplied programming cable worked in macOS (as in did it have a drive?r), so for now let's not worry about those logs. I was able to confirm the software provided by Radiodiity worked in Windows, so Tried both AT-778UV and AT-778UV VOX and here is the debug log (From Windows):

[2021-07-26 16:43:35,407] chirp.ui.reporting - DEBUG: Checking for updates
[2021-07-26 16:43:35,562] chirp.ui.reporting - DEBUG: Server reports version daily-20210724 is latest
[2021-07-26 16:43:55,842] chirp.ui.mainapp - DEBUG: User selected AnyTone 778UV on port COM4
[2021-07-26 16:43:55,950] chirp.ui.clone - DEBUG: Clone thread started
[2021-07-26 16:43:56,450] chirp.ui.reporting - DEBUG: Reporting exception
[2021-07-26 16:43:56,450] chirp.ui.common - ERROR: -- Exception: --
[2021-07-26 16:43:56,450] chirp.ui.common - ERROR: Traceback (most recent call last):
File "chirp\ui\clone.pyo", line 255, in run
File "chirp\drivers\anytone778uv.pyo", line 695, in sync_in
File "chirp\drivers\anytone778uv.pyo", line 495, in do_download
RadioError: No initial response from radio.

[2021-07-26 16:43:56,450] chirp.ui.common - ERROR: ----------------
[2021-07-26 16:43:56,450] chirp.ui.clone - ERROR: Clone failed: No initial response from radio.
[2021-07-26 16:43:56,513] chirp.ui.clone - DEBUG: Clone thread ended
[2021-07-26 16:43:56,513] chirp.ui.reporting - DEBUG: Reporting model usage: AnyTone_778UV,download,True
[2021-07-26 16:43:56,528] chirp.ui.inputdialog - ERROR: --- Exception Dialog: No initial response from radio. ---
[2021-07-26 16:43:56,528] chirp.ui.inputdialog - ERROR: Traceback (most recent call last):
File "chirpw", line 68, in
AttributeError: 'NoneType' object has no attribute 'split'

[2021-07-26 16:43:56,528] chirp.ui.inputdialog - ERROR: ----------------------------
[2021-07-26 16:43:56,528] chirp.ui.reporting - DEBUG: Reporting exception
[2021-07-26 16:44:15,122] chirp.ui.mainapp - DEBUG: User selected AnyTone 778UV VOX on port COM4
[2021-07-26 16:44:15,232] chirp.ui.clone - DEBUG: Clone thread started
[2021-07-26 16:44:15,733] chirp.ui.reporting - DEBUG: Reporting exception
[2021-07-26 16:44:15,733] chirp.ui.common - ERROR: -- Exception: --
[2021-07-26 16:44:15,733] chirp.ui.common - ERROR: Traceback (most recent call last):
File "chirp\ui\clone.pyo", line 255, in run
File "chirp\drivers\anytone778uv.pyo", line 695, in sync_in
File "chirp\drivers\anytone778uv.pyo", line 495, in do_download
RadioError: No initial response from radio.

[2021-07-26 16:44:15,733] chirp.ui.common - ERROR: ----------------
[2021-07-26 16:44:15,733] chirp.ui.clone - ERROR: Clone failed: No initial response from radio.
[2021-07-26 16:44:15,809] chirp.ui.clone - DEBUG: Clone thread ended
[2021-07-26 16:44:15,809] chirp.ui.reporting - DEBUG: Reporting model usage: AnyTone_778UV VOX,download,True
[2021-07-26 16:44:15,809] chirp.ui.inputdialog - ERROR: --- Exception Dialog: No initial response from radio. ---
[2021-07-26 16:44:15,809] chirp.ui.reporting - DEBUG: Reporting exception
[2021-07-26 16:44:15,809] chirp.ui.inputdialog - ERROR: Traceback (most recent call last):
File "chirpw", line 68, in
AttributeError: 'NoneType' object has no attribute 'split'

[2021-07-26 16:44:15,809] chirp.ui.inputdialog - ERROR: ----------------------------

Actions #7

Updated by Alex Martin over 2 years ago

For reference as mentioned above, not sure if the programming cable is working correctly on macOS (I do see a /dev/cu.usbserial-1440 as an option in Radio -> Download from Radio that is not there with the cable unplugged (and that is the one I am selecting), but here is that debug log:

[2021-07-26 16:55:08,267] chirp.ui.reporting - DEBUG: Server reports version daily-20210724 is latest
[2021-07-26 16:55:23,121] chirp.ui.mainapp - DEBUG: User selected AnyTone 778UV on port /dev/cu.usbserial-1440
[2021-07-26 16:55:23,131] chirp.ui.clone - DEBUG: Clone thread started
[2021-07-26 16:55:23,632] chirp.ui.reporting - DEBUG: Reporting exception
[2021-07-26 16:55:23,632] chirp.ui.common - ERROR: -- Exception: --
[2021-07-26 16:55:23,633] chirp.ui.common - ERROR: Traceback (most recent call last):
File "/Applications/CHIRP.app/Contents/Resources/chirp/chirp/ui/clone.py", line 255, in run
self.__radio.sync_in()
File "/Applications/CHIRP.app/Contents/Resources/chirp/chirp/drivers/anytone778uv.py", line 695, in sync_in
self._mmap = do_download(self)
File "/Applications/CHIRP.app/Contents/Resources/chirp/chirp/drivers/anytone778uv.py", line 495, in do_download
raise e
RadioError: No initial response from radio.

[2021-07-26 16:55:23,633] chirp.ui.common - ERROR: ----------------
[2021-07-26 16:55:23,633] chirp.ui.clone - ERROR: Clone failed: No initial response from radio.
[2021-07-26 16:55:23,635] chirp.ui.clone - DEBUG: Clone thread ended
[2021-07-26 16:55:23,648] chirp.ui.reporting - DEBUG: Reporting model usage: AnyTone_778UV,download,True
[2021-07-26 16:55:23,649] chirp.ui.reporting - DEBUG: Reporting exception
[2021-07-26 16:55:23,649] chirp.ui.inputdialog - ERROR: --- Exception Dialog: No initial response from radio. ---
[2021-07-26 16:55:23,649] chirp.ui.inputdialog - ERROR: Traceback (most recent call last):
File "/Applications/CHIRP.app/Contents/MacOS/../Resources/chirp/chirpw", line 76, in
os.putenv("LANG", langs[0])
IndexError: list index out of range

[2021-07-26 16:55:23,649] chirp.ui.inputdialog - ERROR: ----------------------------
[2021-07-26 16:59:50,387] chirp.ui.mainapp - DEBUG: User selected AnyTone 778UV VOX on port /dev/cu.usbserial-1440
[2021-07-26 16:59:50,394] chirp.ui.clone - DEBUG: Clone thread started
[2021-07-26 16:59:50,895] chirp.ui.reporting - DEBUG: Reporting exception
[2021-07-26 16:59:50,895] chirp.ui.common - ERROR: -- Exception: --
[2021-07-26 16:59:50,895] chirp.ui.common - ERROR: Traceback (most recent call last):
File "/Applications/CHIRP.app/Contents/Resources/chirp/chirp/ui/clone.py", line 255, in run
self.__radio.sync_in()
File "/Applications/CHIRP.app/Contents/Resources/chirp/chirp/drivers/anytone778uv.py", line 695, in sync_in
self._mmap = do_download(self)
File "/Applications/CHIRP.app/Contents/Resources/chirp/chirp/drivers/anytone778uv.py", line 495, in do_download
raise e
RadioError: No initial response from radio.

[2021-07-26 16:59:50,895] chirp.ui.common - ERROR: ----------------
[2021-07-26 16:59:50,895] chirp.ui.clone - ERROR: Clone failed: No initial response from radio.
[2021-07-26 16:59:50,897] chirp.ui.clone - DEBUG: Clone thread ended
[2021-07-26 16:59:50,910] chirp.ui.reporting - DEBUG: Reporting model usage: AnyTone_778UV VOX,download,True
[2021-07-26 16:59:50,911] chirp.ui.inputdialog - ERROR: --- Exception Dialog: No initial response from radio. ---
[2021-07-26 16:59:50,911] chirp.ui.reporting - DEBUG: Reporting exception
[2021-07-26 16:59:50,911] chirp.ui.inputdialog - ERROR: Traceback (most recent call last):
File "/Applications/CHIRP.app/Contents/MacOS/../Resources/chirp/chirpw", line 76, in
os.putenv("LANG", langs[0])
IndexError: list index out of range

[2021-07-26 16:59:50,911] chirp.ui.inputdialog - ERROR: ----------------------------

Actions #8

Updated by Bernhard Hailer over 2 years ago

Jim Unroe wrote:

... CHIRP, however, does not support the AT-779UV.
My apologies for the confusion - my bad.

Actions #9

Updated by Jim Unroe over 2 years ago

Alex Martin wrote:

So, on another note, I am curious if macOS CHIRP works with all 'supported' radios...

Then open another ticket. This one is about support for the DB20-G.

Jim KC9HI

Actions #10

Updated by Alex Martin over 2 years ago

Jim Unroe wrote:

Alex Martin wrote:

So, on another note, I am curious if macOS CHIRP works with all 'supported' radios...

Then open another ticket. This one is about support for the DB20-G.

Jim KC9HI

FYI, I was able to get macOS to see the USB to Serial port cord correctly. Sorry to mention that here before, just did it so I could add both logs.

Actions #11

Updated by Jim Unroe over 2 years ago

Alex Martin wrote:

Jim Unroe wrote:

Alex Martin wrote:

So, on another note, I am curious if macOS CHIRP works with all 'supported' radios...

Then open another ticket. This one is about support for the DB20-G.

Jim KC9HI

FYI, I was able to get macOS to see the USB to Serial port cord correctly. Sorry to mention that here before, just did it so I could add both logs.

Two things regarding macOS and your programming cable.

  1. /dev/cu.usbserial-1440 would indicate to me that your programming cable identifies as having a Prolific type USB-to-Serial chip. Nearly all programming cables with a Prolific chip were made with an unauthorized copy of the chip. The driver auto installed by Windows and available for macOS are intentionally incompatible with these chips.

One workaround is to get a programming cable made with a different chip.

The workaround for Windows is to download, install and select the older Prolific v3.2.0.0 driver that was available before the were crippled. See this miklor.com "USB Cables & Drivers":https://www.miklor.com/COM/UV_Drivers.php page for a link to the driver and instructions for selecting it.

The workaround for macOS is to purchase a 3rd party driver that doesn't care if the chip is genuine or not. I purchased mine from "mac-usb-serial.com":https://www.mac-usb-serial.com/

  1. The CHIRP MacOS Unified Application build for macOS does not include the Python future module. Radios like the AnyTone AT-778UV and Radioddity GA-510 that require the future module will not show up in CHIRP when the future module is not present.

Jim KC9HI

Actions #12

Updated by Keith Benicek over 2 years ago

Since it appears that someone, perhaps it is Radioddity that is offering to LOAN a DB-20G
(Equipment Loan Offered: Yes), can the CHIRP engineers PLEASE get the Windows version working for this radio?? I own one and have been waiting since July 2021, I can't be alone out here. This very economical mobile radio HAS been around for quite a while and has very popular sales, which means there are a LOT of them out in use. Please HELP! (the Radioddity programming software is horrible.)

Actions #13

Updated by Jim Unroe over 2 years ago

Keith Benicek wrote:

Since it appears that someone, perhaps it is Radioddity that is offering to LOAN a DB-20G
(Equipment Loan Offered: Yes), can the CHIRP engineers PLEASE get the Windows version working for this radio?? I own one and have been waiting since July 2021, I can't be alone out here. This very economical mobile radio HAS been around for quite a while and has very popular sales, which means there are a LOT of them out in use. Please HELP! (the Radioddity programming software is horrible.)

I would consider looking at it, but I don't do loans. It takes many hours working closely and constantly with the factory software, which, as you have pointed out, is no picnic.

The Retevis RA25 looks similar to the Radioddity DB-20G, so it is likely that either of those could be useful in the project started.

Jim KC9HI

Actions #14

Updated by Dan Smith over 1 year ago

Actions #15

Updated by Jeremy Lai about 1 year ago

FCC applications state that the Retevis and radioddity models of the radio are electrically identical to the anytone 779UV, and use it as the basis for their marketing name change.

Actions #16

Updated by Alex Martin about 1 year ago

Whoever wants to get this radio working in chirp, please let me know. I am willing to send a free radio.

Actions #17

Updated by Nathan Lee 11 months ago

I would love support for this radio as well. Ya'll aren't the only ones out there. I'm sure there's a pretty broad base considering the price and functionality of the radio.

Actions #18

Updated by Xikteny R 10 months ago

Just wanted to comment to add another voice to those who'd like to see support for this radio, in case such things are a consideration. I would think there must be quite a few of these radios out there, especially considering the Anytone and Retevis versions.

Actions #19

Updated by Ron Rinard 10 months ago

One more who would love to see this supported (and then be able to lose the Radioddity app). My son and I have the db20-g, does that count as 2 more? ;)

Actions #20

Updated by Alex Martin 9 months ago

This is indeed the same as the 779UV as previously stated. Feel like this issue should be closed as a duplicate.

Actions #21

Updated by Michael LAX 9 months ago

@Alex_Martin: please send a DB20-G into CHIRP so they can work on it.

Actions #22

Updated by Michael LAX 9 months ago

@Alex_Martin: or an AT-779UV; whichever you have and are willing to send in.

Actions #23

Updated by Alex Martin 9 months ago

Jim Unroe wrote in #note-3:

I do agree that the Radioddity closely resembles the AnyTone AT-779UV. CHIRP, however, does not support the AT-779UV. CHIRP does support the AnyTone AT-778UV but I don't expect that the AT-778UV model selection will support the AT-779UV model selection.

To support this model (or its AnyTone variant) will will most likely require getting the Radioddity DB20-G and/or Anytone AT-779UV radio, compatible programming cable and programming software into the hands of a volunteer developer that is interested in doing the reverse engineering.

Jim KC9HI

Would like to send you my Radioddity DB-20G (or another Chirp developer) so you can get it added to Chirp. Let me know the process for this.

Actions #24

Updated by Peter Baker 8 months ago

I have never participated in this project, but I am a software developer with an AT-779UV of my own. I’m interested in contributing. Where do I start?

Actions #26

Updated by Peter Baker 8 months ago

J M wrote in #note-25:

Peter Baker,

I found this link:
https://chirp.danplanet.com/projects/chirp/wiki/DevelopersAdd_a_Radio

I have been working on this in my spare time since my post. I’ve figured out all the data types and done analysis on the serial commands. There is one set of values related to tones that have some unusual correlation I haven’t figured out, but once I get done mapping everything out and confirming all properties are accepted via serial using PowerShell, I’ll start working in Python.

J M wrote in #note-25:

Peter Baker,

I found this link:
https://chirp.danplanet.com/projects/chirp/wiki/DevelopersAdd_a_Radio

Actions #27

Updated by Xikteny R 8 months ago

Peter Baker wrote in #note-26:

J M wrote in #note-25:

Peter Baker,

I found this link:
https://chirp.danplanet.com/projects/chirp/wiki/DevelopersAdd_a_Radio

I have been working on this in my spare time since my post. I’ve figured out all the data types and done analysis on the serial commands. There is one set of values related to tones that have some unusual correlation I haven’t figured out, but once I get done mapping everything out and confirming all properties are accepted via serial using PowerShell, I’ll start working in Python.

J M wrote in #note-25:

Peter Baker,

I found this link:
https://chirp.danplanet.com/projects/chirp/wiki/DevelopersAdd_a_Radio

Maybe you've already seen this, but I just noticed that some other folks appear to also be/have been working on this: http://intrepid.danplanet.com/pipermail/chirp_devel/2023-July/007168.html

Just thought I'd point that out.

Actions #28

Updated by Gary P 8 months ago

Xikteny R wrote in #note-27:

Maybe you've already seen this, but I just noticed that some other folks appear to also be/have been working on this: http://intrepid.danplanet.com/pipermail/chirp_devel/2023-July/007168.html

Just thought I'd point that out.

That's me! I had figured out almost all of the memory map and started customizing an existing driver to pull down the data. But got pulled onto other things and I haven't touched the code in a few months. IIRC, I got it to start reading but throws an error, it uses a different checksum than the driver I based it on and I was fixing that.

Peter Baker wrote in #note-26:

I’ve figured out all the data types and done analysis on the serial commands. There is one set of values related to tones that have some unusual correlation I haven’t figured out, but once I get done mapping everything out and confirming all properties are accepted via serial using PowerShell, I’ll start working in Python.
<<

Peter, send me a DM about where in memory you can't figure out the tones config, I'll let you know if I figured that spot out.

Actions #29

Updated by J M 7 months ago

To whom it may concern,

Will we be able to change the frequency settings of the radio, like we can do with the UV-5R? For example, the chip (RDA1846) of the BaoFeng UV-5R allows for more open frequency ranges e.g.- the 1.25m band, and through 520Mhz to 600Mhz, etc...

For clarification, will we be able to open the frequency range to the full capability of the SDR chip?

Actions #30

Updated by Matt Bickford 5 months ago

Gary, anyway you could start uploading your module progress to the issue so others can take a look and poke around?

Actions #31

Updated by Matt Bickford 5 months ago

Here's an intermediate step that will hopefully help. It's for the RA25, unsure if it will work on the other models.

It requires two files to be in the directory it is run in, settings.dat and channels.csv

settings.dat is a file you generate from the stock RA-25 software. You should set up the radio settings how you want them like the start up message, memory channels that open by default, etc. Basically everything on the left side except for the CH menu. Those settings are all saved into the header of the data file.

channels.csv is a chirp CSV. It should trim the channel names to 8 characters and the total channels to 500 (As well as ignoring any channels over 500) but that hasn't been tested extensively.

The script counts how many channels are in the file, then searches the header for a flag that indicates where the total channel number is stored and updates that. After that it skips to the beginning of the channel section and truncates there. The CSV is ingested to translate chirp data to the correct byte sequence for the radio (everything I've doped out so far is included at the bottom of the script in a CSV blob) and then added to the header and saved as an RA25 Data file called RA25-Import.dat

I've tried it with a few of the different model options and it seems to be working across models too so I'm thinking that must also live in the header and not really change how the radio interprets channels, just limits what you can do.

I'm not a python programmer, I'm sure the code is ugly as can be. Feel free to make it better/less-sucky.

Actions #32

Updated by Matt Bickford 5 months ago

Oh also, if you haven't already noticed the stock software has a bug where after you open a data file it will not write any radio settings that you haven't opened a dialog for. In other words, if you open a data file you need to click on the "Function Setup" and "Information of Scanning" to actually get that stuff to load into memory before sending to your radio or it doesn't send. That's how mine has always worked, this software is terrible.

Actions #33

Updated by Charles Randall 3 months ago

This appears to be where the action is on the Anytone AT-779UV and identical radios.

No idea if this helps, but here are my observations,

  • Using the cable that came with the radio
  • Anytone CPS works fine to read and write to the radio
  • Chirp, using the same cable fail to read from the radio with "Error reading from radio" (debug log attached) and sometimes another message like "bad ack" (that one is hard to reproduce)

Using Serial Port Monitor on Windows 11, I sniffed the COM port and the error seems to happen after the very first write to the port.

Anytone CPS sends: 50 52 4f 47 52 41 4d (and the response looks to be 06)

Chirp Next sends: 55 20 16 08 011 ff dc 02 (and then the port appears to close immediately with no response)

I'm interested in looking into this if I can get a nudge in the right direction.

If it matters, the firmware version on my radio is v2.34 and the unlocked band mode is 136-174 and 400-490.

Actions #34

Updated by Charles Randall 3 months ago

D'oh. User error. Please disregard the previous report.

I had the radio configured to chirp.drivers.btech.DB25G by mistake.

Actions #35

Updated by Jacob Butcher 3 months ago

Charles Randall wrote in #note-34:

D'oh. User error. Please disregard the previous report.

I had the radio configured to chirp.drivers.btech.DB25G by mistake.

Were you able to make headway after changing the driver?

Actions

Also available in: Atom PDF