Bug #6969

GA-2S Partially Broken

Added by GA-2S User 13 days ago. Updated 1 day ago.

Status:New Start date:08/09/2019
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:chirp-daily
Chirp Version:daily Platform:All
Model affected:GA-2S

Description

The Radioddity GA-2S is mostly compatible as a Baofeng 777/888 target.

Some features are broken such as:
  • Enable/Disable Voice
  • Enable/Disable Channel Scan
  • Enable/Disable VOX

Other features may be broken, but I have not yet noticed.

I'd like to help the developers by providing a number of CHIRP downloads from a Radioddity GA-2S radio.
I programmed the device using the manufacturer software, then read the memory using CHIRP.
Also you'll find a screen shot of the manufacturer software default settings.

Diffing should be a breeze.

There is also a missing feature for Busy Channel Lockout which can be implemented using the files I have attached.

Let me know if I can do additional debugging or image files. Thanks

GA-2S_chrip_debug.zip (111.1 kB) GA-2S User, 08/09/2019 03:22 pm

GA-2S_serial_sniff.zip - socat sniff of upload and download (2.2 kB) GA-2S User, 08/10/2019 07:19 am

GA-2S_settings.patch (909 Bytes) GA-2S User, 08/11/2019 09:43 am

old_baofeng_888.jpg (171.2 kB) GA-2S User, 08/20/2019 07:06 pm

History

Updated by GA-2S User 13 days ago

I also have Baofeng "777S" units that I can test changes/patches on for specific regressions.

Updated by GA-2S User 12 days ago

I used socat to create a fake serial port for Virtualbox to use for the purpose of sniffing the upload and download stream. I read somewhere (maybe an 888 issue) that maybe the "memory was wrapping around" and hopefully these traces can help in that regard.

Updated by GA-2S User 12 days ago

I think I found the issue in h777.py driver.

In MEM_FORMAT, we can see

#seekto 0x03C0;
struct {
    u8 unused:6,
       batterysaver:1,
       beep:1;
    u8 squelchlevel;
    u8 sidekeyfunction;
    u8 timeouttimer;
    u8 unused2[3];
    u8 unused3:7,
       scanmode:1;
} settings2;

Now the #seekto position is suspicious to me, because in the serial sniff log I see a break at 0x0380

02 50 52 4F 47 52 41 4D 02 06 57 00 00 08 FF FF FF FF FF FF FF FF 
57 00 08 08 FF FF FF FF FF FF FF FF 

57 00 10 08 00 25 42 45 00 25 42 45 
57 00 18 08 93 06 93 06 1B FF FF FF 
57 00 20 08 00 25 43 45 00 25 43 45 
57 00 28 08 00 10 00 10 1B FF FF FF 
57 00 30 08 00 25 44 45 00 25 44 45 
57 00 38 08 14 15 14 15 1B FF FF FF 
57 00 40 08 00 25 45 45 00 25 45 45 
57 00 48 08 35 20 35 20 1B FF FF FF 
57 00 50 08 00 25 46 45 00 25 46 45 
57 00 58 08 18 24 18 24 1B FF FF FF 
57 00 60 08 00 25 47 45 00 25 47 45 
57 00 68 08 23 80 23 80 1B FF FF FF 
57 00 70 08 00 25 48 45 00 25 48 45 
57 00 78 08 14 81 14 81 1B FF FF FF 
57 00 80 08 00 25 49 45 00 25 49 45 
57 00 88 08 05 82 05 82 1B FF FF FF 
57 00 90 08 00 25 51 45 00 25 51 45 
57 00 98 08 06 83 06 83 1B FF FF FF 
57 00 A0 08 00 25 52 45 00 25 52 45 
57 00 A8 08 11 84 11 84 1B FF FF FF 
57 00 B0 08 00 25 53 45 00 25 53 45 
57 00 B8 08 03 85 03 85 1B FF FF FF 
57 00 C0 08 00 25 54 45 00 25 54 45 
57 00 C8 08 06 86 06 86 1B FF FF FF 
57 00 D0 08 00 25 55 45 00 25 55 45 
57 00 D8 08 54 87 54 87 1B FF FF FF 
57 00 E0 08 00 25 21 40 00 25 21 40 
57 00 E8 08 FF FF FF FF 1B FF FF FF 
57 00 F0 08 00 50 55 43 00 50 55 43 
57 00 F8 08 FF FF FF FF 1B FF FF FF 
57 01 00 08 00 50 89 46 00 50 89 46 
57 01 08 08 FF FF FF FF 1B FF FF FF 

57 03 80 08 1B 01 03 1B 01 03 1B 01 
57 03 88 08 03 1B 01 03 FF FF FF FF 
57 03 90 08 FF FF FF FF FF FF FF FF 
57 03 98 08 FF FF FF FF FF FF FF FF 
57 03 A0 08 1B 01 03 1B 01 03 01 00 
57 03 A8 08 01 00 04 00 01 01 00 01 
57 03 B0 08 01 01 FF FF FF FF FF FF 
57 03 B8 08 FF FF FF FF FF FF FF FF 
57 03 C0 08 03 03 01 06 FF FF FF FF 
57 03 C8 08 FF FF FF FF FF FF FF FF 
57 03 D0 08 00 00 F4 37 30 31 33 50 
57 03 D8 08 FF FF FF FF FF FF FF FF 

59 02 B0 08 01 00 01 00 04 00 01 01 
59 02 B8 08 00 01 FF FF FF FF FF FF 
45

Updated by GA-2S User 12 days ago

#seekto is not the problem. As I got more familiar with the code I realized that the read position is different that the write position.

I think the actual problem is just not writing the values in the correct spot.

Here's what CHIRP writes for the settings block:

57 03 80 08 FF FF FF FF FF FF FF FF 
57 03 88 08 FF FF FF FF FF FF FF FF 
57 03 90 08 FF FF FF FF FF FF FF FF 
57 03 98 08 FF FF FF FF FF FF FF FF 
57 03 A0 08 FF FF FF FF FF FF FF FF 
57 03 A8 08 FF FF FF FF FF FF FF FF 
57 03 B0 08 00 00 00 00 04 00 01 01 
57 03 B8 08 00 01 FF FF FF FF FF FF 
57 03 C0 08 03 01 01 01 FF FF FF FF 
57 03 C8 08 03 01 01 01 FF FF FF FF 
57 03 D0 08 00 00 F4 37 30 31 33 50 
57 03 D8 08 00 00 F4 37 30 31 33 50 

Here's what the mfg programming software (V12) writes:

57 03 80 08 1B 01 03 1B 01 03 1B 01 
57 03 88 08 03 1B 01 03 FF FF FF FF 
57 03 90 08 FF FF FF FF FF FF FF FF 
57 03 98 08 FF FF FF FF FF FF FF FF 
57 03 A0 08 1B 01 03 1B 01 03 01 00 
57 03 A8 08 01 00 04 00 01 01 00 01 
57 03 B0 08 01 01 FF FF FF FF FF FF 
57 03 B8 08 FF FF FF FF FF FF FF FF 
57 03 C0 08 03 03 01 06 FF FF FF FF 
57 03 C8 08 FF FF FF FF FF FF FF FF 
57 03 D0 08 00 00 F4 37 30 31 33 50 
57 03 D8 08 FF FF FF FF FF FF FF FF 

Updated by GA-2S User 11 days ago

Patch is attached.

I got side tracked by looking at the mass difference between blocks 0x0380-0x03E0 that I didn't even realize that the manufacturer software uses a different "command" to program range 0x02B0 - 0x02C0

Here's what CHIRP writes over the serial port

57 02 B0 08 00 01 00 00 04 00 01 01 00 00 00 00
57 02 B8 08 00 01 FF FF FF FF FF FF 00 00 00 00

Here's what the MFG software writes over the serial port

59 02 B0 08 00 01 00 00 04 00 01 01 00 00 00 00
59 02 B8 08 00 01 FF FF FF FF FF FF 00 00 00 00

The difference is sending a W vs a Y.

Updated by GA-2S User 1 day ago

Just a note that the
Baofeng BF-888S ver 1.05 software from Miklor (http://www.miklor.com/BF888/888-SW-BF888S.php) does not change the settings correctly.
BUT
Baofeng ZT-V68 v07.01 software from Miklor (http://www.miklor.com/BF888/888-SW-ZTV68.php) works great.

Also I have not seen any side affects on my old Baofeng 777S radio (see attached picture)

Also available in: Atom PDF