OpenRTX / dmrconfig

Configuration utility for DMR radios
BSD 3-Clause "New" or "Revised" License
240 stars 56 forks source link

Contactlist Anytone 878: Too many contacts! #50

Closed Kreischie closed 1 year ago

Kreischie commented 4 years ago

Yesterday i noticed that i can't write my new contactlist to my 878. It says too many contacts. But the radio can take 200.000 contacts and the file has about 160.000 contacts. In CPS i can write it without any problems.

ss+(2020-04-12+at+10 11 04)

This list: https://raw.githubusercontent.com/ContactLists/ContactLists/master/Anytone/578_8x8_WW_default.csv

v1.1

Eszartek commented 4 years ago

I see that d868uv.c has :

#define NCALLSIGNS 160000

My guess would be changing that to 200000 would do the trick. The 160k number was from an earlier revision of firmware.

I counted 160758 in your csv file :)

Eszartek commented 4 years ago

I tried to upload your contacts csv file to my radio. got the same error:

Serial port: /dev/ttyACM3
Connect to Anytone AT-D878UV.
Read file '578_8x8_WW_default.csv'.
WARNING: Too many callsigns!
Skipping the rest.
Total 160000 contacts, 8089006 bytes.
Write: ##^C

Then I changed d868uv.c line 46 to #define NCALLSIGNS 200000 and line 2727 to for (index = 0; index < sz.count; index += 20000) { and line to for (index = 0; index < sz.count; index += 20000) { then recompiled.

Now it succeeds:

Serial port: /dev/ttyACM3
Connect to Anytone AT-D878UV.
Read file '578_8x8_WW_default.csv'.
Total 160758 contacts, 8129740 bytes.
Write: ############################################################################################## done.
Close device.

Now to test to see if it really worked without any side effects. So far, when I tested a parrot call to my own hblink server, it came back with my id, callsign etc.

Update: Im listening to a busy local DMR repeater and callsign id info for each transmission is working great.

Update 2: I fixed an error in the value on line 472, which shouldn't have been edited, but caused it to work none the less. I added the edits for the other 2 lines that I believe affect the contact list maximum size.

So, while this appears to work for me, it may not be correct, Ill keep testing.

Nope: Its hit or miss, I reset my radio and reloaded from the CPS software. I guess there needs to be a little more reverse engineering of the new firmware to figure out what exactly needs changing.

fmarier commented 4 years ago

The callsign limits were raised in firmware 1.35/2.35 for the AnyTone D868UV:

V1.35 and V2.35 Improvements (dated 2019-6-20)

  1. Increase the digital contact to 200,000 contacts.

and in firmware 1.13 for the AnyTone D878UV:

D878UV firmware update V1.13 (dated 2019-6-8) Change List 1.Increased to 200,000 digital contacts.

fmarier commented 4 years ago

Noting that the full RadioID.net userid dump (user.csv) is now over 160k entries. 167890 callsigns as of 2020-07-19.