hmatuschek / qdmr

A GUI application for configuring and programming cheap DMR radios under Linux and MacOS X.
https://dm3mat.darc.de/qdmr/
GNU General Public License v3.0
223 stars 46 forks source link

OpenGD77 DMR ID Upload not correct #133

Closed pe1rrr closed 3 years ago

pe1rrr commented 3 years ago

While testing the DMR ID upload on the stock GD77 firmware I also compared with the OpenGD77 firmware, unfortunately it seems that the DMR ID database does not in fact write properly to the radio as no callsigns resolve (at all). However after uploading with the CPS provided by OpenGD77, the DMRID DB works flawlessly.

Observations: During upload the CPS of the OpenGD77 CPS issues a screen information that the DMR ID database is being written, when qdmr attempts this, it does not display a message.

The DMR ID selection and available memory depends upon the length of the data being sent to the radio, in the CPS is is possible to adjust the data input from the CSV file to pick anywhere from 5 to 50 characters, and the resulting calculation of possible DMR IDs that will get written to the radio is displayed at the top of the CPS window (included screenshot) OPenGD77CPS

Here is wireshark dumps for a 50,000 dump and one of smaller proportions for analysis. OpenGD77_DMRID_50k.zip

hmatuschek commented 3 years ago

Yes that is true, qdmr "automagically" selects the DMR IDs nearest to your ID or the selected prefixes under settings. It then fills the available DB slots with these IDs. The OpenGD77 is the only firmware that allows for a variable size entry and thus for a variable number of entries. To this end, I had to fix the size for the OpenGD77 to 19bytes per entry and therefore allowing for approx 13.8k entries.

It appears that the available size depends on the actual model being used. This poses a problem to be as the firmware does not report the model. I asked for that feature some time ago (see OpenGD77 forum). I may check whether there is a way to check for the model now.

pe1rrr commented 3 years ago

Tested upload with latest commit, upload succeeds (says writing codeplug though) but callsigns don't appear. No DMR ID resolution occurring, so either there is a format incompatibility or the DMR ID data isn't where the radio expects to find it (OpenGD77)

DC7IA commented 3 years ago

Also noticed that.

hmatuschek commented 3 years ago

I've just fixed an issue with the OpenGD77 call-sign DB. I cannot test it right now, so if one of you could test it? I hope that it fixes the DB for OpenGD77.

hmatuschek commented 3 years ago

I would like to fix this issue before releasing the stable version 0.9.0. I've tested it with OpenGD77 on a RD-5R and it appears to work. However, I cannot be sure if OpenGD77 also uses over-the-air Caller Alias.

pe1rrr commented 3 years ago

OpenGD77 on gd77 works uploading callsign db, and the radio successfully resolves callsigns selected using the prefix IDs chosen with dmrconf.

Note that upload will fail if the selected channel/frequency is busy, so i'd advise users to select a zone with inactive channels (Maybe make one specifically for updating) and then proceed with the upload with that one selected.

hmatuschek commented 3 years ago

Thanks for testing it.