Page 9 of 11

Re: Recent versions of firmware will be removed

Posted: Sat May 15, 2021 9:05 pm
by G4EML
In answer to do1jml. There is no special hardware for the codec. It is run on the arm processor by the binary blobs. (we assume this is licenced code from DVSI but we have no way of confirming this).

You are correct to say that the DMR spec does not specify any particular codec so in theory it would be possible to use a different one. However this would then be incompatible with all the other radios already in use. Therefore it is unlikely to gain any significant support.

Colin G4EML

Re: Recent versions of firmware will be removed

Posted: Sun May 16, 2021 6:53 am
by do1jml
G4EML wrote:
Sat May 15, 2021 9:05 pm
In answer to do1jml. There is no special hardware for the codec. It is run on the arm processor by the binary blobs. (we assume this is licenced code from DVSI but we have no way of confirming this).
Thank you for the info. Is the interface to the "binary blob" documented in the code? How difficult would it be to take, say, the published codec2 code and replace the ambe2 codec with that?
G4EML wrote:
Sat May 15, 2021 9:05 pm
You are correct to say that the DMR spec does not specify any particular codec so in theory it would be possible to use a different one. However this would then be incompatible with all the other radios already in use. Therefore it is unlikely to gain any significant support.
There are plenty of hams who complain about the general use of ambe2 in radios and would like a completely free alternative. Codec2 was developed with that in mind. There is also the M17 project: https://m17project.org/

I would think that making an existing radio work with an open standard and a free codec would be a worthwhile effort.

Re: Recent versions of firmware will be removed

Posted: Sun May 16, 2021 8:40 am
by oh1fss
do1jml wrote:
Sun May 16, 2021 6:53 am
Is the interface to the "binary blob" documented in the code?
Use the source, Luke! ;)

Code: Select all

$ unzip -v ~/Downloads/OpenGD77-master\(1\).zip | grep -i codec
       0  Stored        0   0% 04-20-2021 08:55 00000000  OpenGD77-master/docs/technical_documents/codec/
 1556670  Defl:N  1488628   4% 04-20-2021 08:55 d78978f9  OpenGD77-master/docs/technical_documents/codec/Multiband Excitation Vocoder.pdf
  784444  Defl:N   656853  16% 04-20-2021 08:55 470b22db  OpenGD77-master/docs/technical_documents/codec/TIA-102.BABA Project 25 IMBE Vocoder Description.pdf
  299055  Defl:N   261653  13% 04-20-2021 08:55 7f358c39  OpenGD77-master/docs/technical_documents/codec/TIA-102.BABA-1  P25 Half Rate Vocoder Addendum .pdf
  607266  Defl:N   580932   4% 04-20-2021 08:55 7d9592dc  OpenGD77-master/docs/technical_documents/codec/TIA-102.BABC Vocoder Reference Test.pdf
       0  Stored        0   0% 04-20-2021 08:55 00000000  OpenGD77-master/firmware/include/dmr_codec/
    1288  Defl:N      666  48% 04-20-2021 08:55 13c11a5e  OpenGD77-master/firmware/include/dmr_codec/codec.h
    1290  Defl:N      697  46% 04-20-2021 08:55 9049757a  OpenGD77-master/firmware/include/dmr_codec/mbelib.h
   41984  Defl:N    37822  10% 04-20-2021 08:55 052531ca  OpenGD77-master/firmware/linkerdata/codec_dat_files_creator.exe
       0  Stored        0   0% 04-20-2021 08:55 00000000  OpenGD77-master/firmware/source/dmr_codec/
   68357  Defl:N     3413  95% 04-20-2021 08:55 3d3d72f5  OpenGD77-master/firmware/source/dmr_codec/codec.c
     904  Defl:N      487  46% 04-20-2021 08:55 53622447  OpenGD77-master/firmware/source/dmr_codec/codec_bin.S
   14032  Defl:N     4373  69% 04-20-2021 08:55 ff22ed49  OpenGD77-master/firmware/source/dmr_codec/mbelib.c
       0  Stored        0   0% 04-20-2021 08:55 00000000  OpenGD77-master/tools/codec_dat_files_creator/
  220546  Defl:N    61009  72% 04-20-2021 08:55 2155960b  OpenGD77-master/tools/codec_dat_files_creator/codec_dat_files_creator.c
do1jml wrote:
Sun May 16, 2021 6:53 am
I would think that making an existing radio work with an open standard and a free codec would be a worthwhile effort.
I strongly agree!

Re: Recent versions of firmware will be removed

Posted: Mon May 17, 2021 5:21 pm
by do1jml
ve7mdt wrote:
Mon May 17, 2021 3:12 am
Is the expired one for the original AMBE or the AMBE+2 ? I am not sure if there is just 1 version?
The expired patent is for the AMBE codec, the one used in the D-Star protocol. The patents for the AMBE+2 are still valid, but will lapse eventually.

Re: Recent versions of firmware will be removed

Posted: Mon May 17, 2021 5:29 pm
by do1jml
oh1fss wrote:
Sun May 16, 2021 8:40 am
Use the source, Luke! ;)
Obviously, all questions asked on any forum can be answered by "read the fine manual". But I would expect that someone who has actually worked with the firmware code base could answer that particular question relatively easily: "would it be doable to replace the binary blob by another codec"?

It may be difficult for reasons who would not be immediately apparent from the code base. For example, the TDMA structure may need particular packetisation of the data. Or maybe part of the work is done on the undocumented C6000 chip.

On the opposite, it may be relatively easy, basically replacing one library by another one. I don't know. But someone with some familiarity with the code base could make an educated guess. This is all I am asking for.

Re: Recent versions of firmware will be removed

Posted: Mon May 17, 2021 7:31 pm
by G4EML
I can probably answer that.

Yes, in theory it could be done.

No, it wouldn’t be simple, there are lots of potential problems. For example there is very little spare memory available so any new codec would have to fit in the existing space. It is unlikely that any existing alternative codec code would be directly usable.


Colin G4EML.

Re: Recent versions of firmware will be removed

Posted: Mon May 17, 2021 8:11 pm
by do1jml
Thank you for the answer.

I thought that the original firmware used quite a bit of memory space for the Chinese language. Is that still in the openGD77 version? If yes, maybe some space could be freed?

Re: Recent versions of firmware will be removed

Posted: Mon May 17, 2021 8:25 pm
by G4EML
The Chinese fonts were part of the original firmware. They were never included in OpenGD77.

Re: Recent versions of firmware will be removed

Posted: Mon May 17, 2021 9:27 pm
by VK3KYY
The binary sections contain all sorts of code and data, not just the codec, but its all mixed together like its been in a blender.

Install Ghidra and take a look

Re: Recent versions of firmware will be removed

Posted: Mon May 17, 2021 9:34 pm
by do1jml
VK3KYY wrote:
Mon May 17, 2021 9:27 pm
The binary sections contain all sorts of code and data, not just the codec, but its all mixed together like its been in a blender.
OK. Then the answer to the question is "very difficult to do". Thank you.