Bug #6969
closedGA-2S Partially Broken
0%
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
Files
Updated by Tony Fuller over 5 years ago
I also have Baofeng "777S" units that I can test changes/patches on for specific regressions.
Updated by Tony Fuller over 5 years ago
- File GA-2S_serial_sniff.zip GA-2S_serial_sniff.zip added
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 Tony Fuller over 5 years 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 Tony Fuller over 5 years 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 Tony Fuller over 5 years ago
- File GA-2S_settings.patch GA-2S_settings.patch added
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 Tony Fuller over 5 years ago
- File old_baofeng_888.jpg old_baofeng_888.jpg added
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)
Updated by Bernhard Hailer over 4 years ago
- Status changed from New to Closed
Appears to be complete.