larsks / tm-v71-tools

GNU General Public License v3.0
5 stars 2 forks source link

Cannot restore into new radio #8

Open TJNII opened 2 years ago

TJNII commented 2 years ago

I'm trying to restore the working config from an old radio into a new radio. The new radio is out-of-the-box, I haven't made any changes to it. When I try and restore I get the following error:

ERROR:tmv71.cli:radio does not contain expected data

Looking at the code I see it's looking for a magic 0x4b00 value at address 0x00:

However, neither of my radios contain 0x4b00 at address 0x00, they both have 0x4b03:

0000000 4b03 ff01 ffff ffff ffff ffff ffff ffff

I also see this function takes a force flag, but that appears to be impossible for the user to trigger as the cli code only passes a single argument:

tmv71/api.py:    def memory_restore(self, fd, force=False):
tmv71/cli.py:            ctx.api.memory_restore(input)

So I have a few questions:

TJNII commented 2 years ago

Hacking in the force flag for the command to work, but it didn't seem to load the config into the radio. ~Comparing dumps it looks like it only changed a couple bytes.~ I'm wondering if this command is no longer stable?

[EDIT] Correction, it looks like after restore it's just at factory defaults. The diff bytes were from me changing to a NOAA station to make sure I didn't brick the thing.

larsks commented 2 years ago

How was 0x4b00 determined? Perhaps it should just be 0x4b?

I only have a single TM-V71, which is what I used for testing and development, and to the best of my knowledge nobody has tried testing this anywhere else :).

This error is a bit obtuse. Google didn't even return the code.

It seems accurate, but I would be happy to accept a pull request with different phrasing.

Any objections to a PR exposing the force flag?

None at all!

Hacking in the force flag for the command to work...

I'll try taking a look at things tomorrow and verify that the existing code still works correctly with my TM-V71.

TJNII commented 2 years ago

Thanks for the quick reply and thanks for this useful tool suite. I'll make a PR for the simple changes (error message & force flag). After next week I can experiment with the second radio, including taking it back to factory, if that would be helpful. I was able to program what I needed with CHIRP last night, but having a full dump/restore would be better as CHIRP only does memory channels and only one memory channel at a time.