Project

General

Profile

Actions

New Model #11696

open

Please add Baofeng BF-9700 (two versions) and possibly BF-S56 Max.

Added by Justin Case about 1 month ago. Updated 6 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
11/20/2024
Due date:
% Done:

0%

Estimated time:
Equipment Loan/Gift Offered:
No
I read the instructions above:
Yes

Description

As far as I understand, first version of this radio has been requested before, but now there is newer version out, with different contents of the EEPROM (different locations).

Both versions can be read by Chirp using BF-1909 setting.
First version can additionally be read using BF-1901 and 1904 settings.
It seems that adding these could be a relatively simple task.. (I know, I know ;) I briefly mentioned this and added files in response to issue #10138

Some of the settings that can be set in BF-1901/BF-1904/BF-1909 are not available in BF-9700.
When it comes to settings, BF-9700 is rather similar to BF-888.
It is said that BF-S56 Max is identical to BF-9700, except that it has higher rated output transistor and beefier battery.

Thank you!


Files

BF9700-v1-chirp-BF1909 setting.img (1.17 KB) BF9700-v1-chirp-BF1909 setting.img Justin Case, 11/20/2024 05:04 AM
BF9700-v2-chirp-BF1909 setting.img (1.17 KB) BF9700-v2-chirp-BF1909 setting.img Justin Case, 11/20/2024 05:04 AM
BF-S56Max-chirp-BF1901 setting.img (1.15 KB) BF-S56Max-chirp-BF1901 setting.img Justin Case, 12/11/2024 10:57 AM
BF-S56Max-chirp-BF1904 setting.img (1.15 KB) BF-S56Max-chirp-BF1904 setting.img Justin Case, 12/11/2024 10:57 AM
BF-S56Max-chirp-BF1909 setting.img (1.17 KB) BF-S56Max-chirp-BF1909 setting.img Justin Case, 12/11/2024 10:57 AM
BF9700-WP970-3.png (65.2 KB) BF9700-WP970-3.png Justin Case, 12/11/2024 08:16 PM
BF9700 v2 stun no stun.png (118 KB) BF9700 v2 stun no stun.png Justin Case, 12/11/2024 08:16 PM
BF9700 stun chirp settings2 unused2.png (85.4 KB) BF9700 stun chirp settings2 unused2.png Justin Case, 12/11/2024 08:16 PM
wp970-password.png (96.5 KB) wp970-password.png Justin Case, 12/12/2024 10:51 AM
wp970-stun-kill.png (94 KB) wp970-stun-kill.png Justin Case, 12/12/2024 10:51 AM
BF9700-S56-IDs.png (104 KB) BF9700-S56-IDs.png Justin Case, 12/15/2024 08:45 PM
stun-kill-numbers.png (114 KB) stun-kill-numbers.png Justin Case, 12/15/2024 08:46 PM

Related issues 1 (0 open1 closed)

Has duplicate Bug #10138: Baofeng BF-9700Rejected11/27/2022

Actions

Updated by Justin Case 10 days ago

All four Baofeng BF-S56 Max radios that I've tested behave identically to BF-9700 v1 , i.e. they can be read using BF-1901/BF-1904/BF-1909 settings. Image files attached.

Updated by Justin Case 10 days ago

EDIT 1.

I have to add that all uploaded .img files of BF-9700 and BF-S56 Max are of 'factory fresh', untouched radios.

EDIT 2.

Irrespective of version or model, all three of these radios have STUN settings (Tickboxes) at offset 0x3c4 - 0x3c8 (marked as settings2 and unused2 in Chirp). The next 8 bytes are probably stun values.

Actions #3

Updated by Justin Case 10 days ago

EDIT 3.

Stun values (passwords) are apparently at offset 0x250 - 0x25F.

Actions #4

Updated by Dan Smith 10 days ago

Justin, I'm not quite following what you're saying here and why you're posting all the images. Are you just downloading the BF-9700 with various different compatible radios in chirp? It's not likely that they really differ at all in that case.

It sounds like a subclass of one of those variants with the stun values just not exposed (initially at least) would be appropriate? Also, it looks to me like this really should have been closed as a dupe of the earlier one. Is there any actual difference?

Actions #5

Updated by Justin Case 10 days ago

Dan, the first request to add BF-9700 support to Chirp has been made over 2 years ago, but nothing has happened ever since. :(
I am simply providing all the information that I could gather to somehow move this issue forward. If developers of Chirp don't have access to mentioned radios, I have all of them at hand and will be more than happy to engage.
Digging into inhards of Chirp, drivers, Python and all that stuff is a bit over my head, unfortunately.

Actions #6

Updated by Dan Smith 10 days ago

Dan, the first request to add BF-9700 support to Chirp has been made over 2 years ago, but nothing has happened ever since. :(

Right, but opening duplicate issues just creates paperwork for us to do, which takes time from writing drivers...

I am simply providing all the information that I could gather to somehow move this issue forward. If developers of Chirp don't have access to mentioned radios, I have all of them at hand and will be more than happy to engage.
Digging into inhards of Chirp, drivers, Python and all that stuff is a bit over my head, unfortunately.

I understand that, I'm trying to determine what you're suggesting. I don't have one of these radios locally, but I'm trying to glean what is necessary from your reports.

What I meant by the above is: I think you're saying that one of the existing models that chirp does support works with the BF-9700, right? Which one is the closest? If it's identical then the best thing to do is just update the supported radios list indicating that users should choose that model if they have a BF-9700. If it's not identical, what is the difference? It sounds like you noted some change in the stun settings? If so, I'm suggesting maybe we add a driver that is exactly like whatever the closest model is (you need to tell me what this is) but with the stun settings removed.

Actions #7

Updated by Justin Case 9 days ago

Ok, to summarize.

There are 2(3) radios by Baofeng, that are almost identical:

  1. BF-9700 early version. Larger EEPROM, pre-2023 models apparently had FM radio. Later removed.
  2. BF-9700 later version. Smaller EEPROM. No FM radio, one side button works differently.
  3. BF-S56 / S56 Max. Slightly higher output power, otherwise seems to be identical to first version of BF-9700. Larger EEPROM, pre-2023 models apparently had FM radio. Later removed.

All three models could be controlled by Baofeng software WP970.

All three models could be read in Chirp as BF-1909. (I haven't written anything to them using Chirp yet ).

Additionally, 1 and 3 could be read in Chirp as BF-1901 and BF-1904.

So, the closest model in Chirp would be BF-1909.

There are functions, that could be set in original Baofeng software(s) for BF-9700, BF-S56Max and BF-1901/1904/1909 that can not be set in Chirp. STUN and codes for it is one such example.
During my experiments and comparing the EEPROM dumps before/after I was able to determine locations where these are written to by Baofeng software.

IIRC, there were some others, but I have to fire up the Win machine to verify.

Please, let me know what else do you want to know or need from me.

Cheers,
Justin

Actions #8

Updated by Dan Smith 9 days ago

Okay, thanks for the summary, that helps.

I had assumed that you were saying that all of those models were totally compatible with the existing driver, but I see that you've only tried reading, not writing. Without that confirmation (and/or a radio to test with) I can't add or annotate the support list with those models, of course. I would also not recommend you trying to upload to them given your information about image size differences. If you take that risk (and it is a risk) and confirm that it works, then fine, but I wouldn't recommend you do that without more understanding of what's going on.

So, I think we're stuck here until a developer has hands on a model (and interest/time to work on it). This issue will stay open until then.

I've closed the older one as a duplicate of this since there's more information here. Please do not open further issues about this to try to gain attention. It really has the opposite effect.

Thanks for your help so far and the info here. I'm sure it will be helpful to someone if/when they pick it up.

Updated by Justin Case 9 days ago

Hi Dan. It's not that bad. I have the means to save and restore complete contents of EEPROMs of these radios thanks to the 16 Channel Commander software on Windows. I've spoken to developer and he said that if I screw up my radio in Chirp, it can be restored using his tool.
https://www.inside4rom.com/download/

So, I am willing to take the risk and write to radios using Chirp, I only need proper instructions what to do and in what order, so that the risk is meaningful.

I looked at Baofeng software for these radios again and only functions that are missing in Chirp are stun/kill settings (4 checkboxes) and their values (DTFM codes?). See attached screenshots.

I think it would be cool to have one checkbox in Chirp called 'Deactivate Stun/Kill' that would either write 4 bytes of 00 to deactivate or FF to activate it at location 0x3c4 - 0x3c8 and another one called 'Erase Stun/Kill settings' (or similar) that would write 16 bytes FF at location 0x250 - 0x25F.

Whether the stun/kill function works at all with these radios, I don't know. Maybe those are just the remains of something from the past in Baofeng's software. If needed I can dig deeper. I can patch the bytes in hex editor, upload the images and see what happens.

Actions #10

Updated by Justin Case 9 days ago

Upload to radios, that is, not here. Either using Chirp or that other software.

Actions #11

Updated by Justin Case 9 days ago

P.S. I've saved original factory setting files of all three radios in Baofeng's WP970 file format (.dat files). If needed, I can upload those here for anyone willing to have a look. They can be edited in WP970, then saved and then diff compared for changes.
WP970 software is freely available from Baofeng.

Updated by Justin Case 6 days ago

Update! My preliminary testing shows that BF-9700 can be controlled by Chirp using BF-1909 driver.

I've downloaded from radio, changed various settings on the fly, uploaded to radio and it works as expected with no ill effects (so far).

I haven't tested everything, i.e. tones, duplex etc., but for that I'd need directions from developers.

When looking at Baofeng's WP970 software .dat files, I was able to determine that these radios have following IDs:

P3107 - BF-9700 v.1
P320h - BF-9700 v.2
P3107 - BF-S56 Max

These numbers should be familiar to developers, who wrote BF-1909 driver module #11353 #9760 (Jim Unroe?)

I also inspected EEPROM dumps of all three. Bytes for various settings are always at the same offsets or, as you call it 'ranges', despite the EEPROM of BF-9700 v.2 being smaller. On other two, remaining bytes are filled with 0xFF.

As to the s.c. Stun/Kill settings in WP970 software, the checkboxes in GUI correspond to bytes:

0x3c4 - Stun Func
0x3c5 - Radio Inhibit Func
0x3c6 - Stun
0x3c7 - Radio Inhibit

These 4 bytes are all set to 0xFF from the factory. If you uncheck them in software, they change to 0x00. If you check them again, they change to 0x01.

The two fields for the (DTFM?) Stun/Kill codes correspond to 0x250 and 0x258, 8 bytes each.
The software only acceps exactly 7 numbers in those fields, not more, not less. Also, no symbols and no letters. The last byte in these two 8 byte blocks stays at 0xFF.
I've set them to 1234567 and 7654321 for the test and they can be seen as hex numbers in dump comparision (attached).

I've never dealt with Stun/Kill before, but this looks like something unfinished or bogus to me, so probably could be ignored.

That's it for the moment. Cheers!

Actions

Also available in: Atom PDF