DSD FME

BD7PPA

Newbie
Joined
Apr 5, 2026
Messages
4
Reaction score
2
For Baofeng GMSK, now its vocoder is known: AMR-NB MR475. I was able to identify it by analyzing the ALERVITES AT2, which is unusual among these Baofeng GMSK radios because it has official phone app (named Ola Radio) support, and after analyzing its behavior I found it can exchange digital voice data with a phone over BLE.
The voice path is roughly: Radio->BLE vocoder frames->official app->built-in libtalkie.so codec->PCM audio, and also vice versa. This made it possible to directly observe the vocoder payload format and analyze the codec library independently of the RF layer.
After analyzing the heavily obfucsated android codec library structure and tables, I found that they match AMR-NB MR475. After testing, the original vocoder payloads from OlaRadio can be decoded correctly with OpenCORE AMR-NB, and OpenCORE-generated MR475 frames can also be sent to the AT2 and are correctly decoded by it. The voice frames are 12 bytes every 20 ms, with 95 useful bits per frame. In the OpenCORE/IETF storage format, an MR475 frame is 13 bytes: a 1-byte ToC/frame header (0x04 for an MR475 good speech frame), followed by a 12-byte payload containing the 95 codec bits plus one padding bit. The AT2 BLE format simply omits the first header byte and transmits the remaining 12 bytes unchanged. Converting an AT2 frame back to the IETF format is therefore just a matter of prepending 0x04.
Because the AT2 allows controlled vocoder payloads, as well as UTF-8 text and JPG images to be sent over BLE, it should also be possible to generate RF IQ recordings together with the exact corresponding AMR payloads or just by repeatedly transmitting a known fixed text payload. This may be useful for further work on frame synchronization, interleaving, and FEC.
I have also made (well, vibe coded) a working replacement for the Ola Radio app that implements the complete AT2 BLE protocol and replaces the proprietary libtalkie.so codec with this open-source AMR-NB MR475 implementation (GitHub - BelledonneCommunications/opencore-amr: Linphone.org mirror for opencore-amr (git://git.code.sf.net/p/opencore-amr/code)). The replacement codec has been tested successfully with real AT2 hardware. I am preparing to publish the source soon.
This obviously does not solve the RF framing and FEC yet, but at least the vocoder part is now identified, and hopefully this will make future work easier.
The app for AT2 GitHub - byf3332/Baofeng-ALERVITES-AT2-Android: Open-source Android app for the Baofeng ALERVITES AT2 radio
There is also technical information in README
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,503
Reaction score
1,039
This obviously does not solve the RF framing and FEC yet, but at least the vocoder part is now identified, and hopefully this will make future work easier.
I can't make any guarantees on this, or even when I might be able to really do work into looking into this, but just looking at one of the signal files I found on sigid, looks like the frame is 400 ms to align with the voice, and I'd guess perhaps a sync pattern, header, empty, voice payload.

Screenshot From 2026-07-14 16-43-59.png
 

MELERIX

Member
Joined
Nov 19, 2018
Messages
116
Reaction score
63
The AMD / USB issue is a known issue to effect a range of B450 and B550 board and CPU combinations. You can google search all about it, or read other related issues from users on this board found here.


btw, this is fixed now in DSD-NEO and now it works fine with USB 2.0 ports on AMD Ryzen CPUs, will be good if can you implement the same changes (I'm not sure if this one) in DSD-FME too.
 
Last edited:

BD7PPA

Newbie
Joined
Apr 5, 2026
Messages
4
Reaction score
2
I can't make any guarantees on this, or even when I might be able to really do work into looking into this, but just looking at one of the signal files I found on sigid, looks like the frame is 400 ms to align with the voice, and I'd guess perhaps a sync pattern, header, empty, voice payload.

View attachment 203884
There are several highly related patents about this type of signal (in chinese), basically confirming it is WIoTa protocol by ucchip. Docs of it (also in chinese):WIOTA INTRODUCE

CN119629767B seems to be the device/method used by ALERVITES AT2 walkie.
Edit: CN119629767B seems to be the description of the system for sending text message and picture through RF, used by the ALERVITES AT2 walkie.

Additionally this besides encryption key described in cps, there is also a value called subsystemid, which is only 1 id per device(Edit: Each radio stores only one subsystem id, and this id is not assigned per channel. Only radios using the same subsystem id can communicate with each other. The range is 0 to 255.)
To check it, turn off radio, set the channel knob to ch3, hold down side key 1 and ptt while turning on, you will hear the radio say: X, power-on, three, the X here is 1, 2, or 3 digits, which is the subsystemid for this device.
 
Last edited:

gary123

Member
Joined
Sep 11, 2002
Messages
3,136
Reaction score
1,578
I grabbed the English translations from the pages. Its a direct C&P.

This may make it easier for oithers to read and extract the important formatting information.
 

Attachments

  • ChInese Patents - English.zip
    164.3 KB · Views: 7

BD7PPA

Newbie
Joined
Apr 5, 2026
Messages
4
Reaction score
2
I can't make any guarantees on this, or even when I might be able to really do work into looking into this, but just looking at one of the signal files I found on sigid, looks like the frame is 400 ms to align with the voice, and I'd guess perhaps a sync pattern, header, empty, voice payload.

View attachment 203884
I recorded an IQ sample for your reference. Please look at README.txt in the archive first.
AT2 known voice IQ.zip
Edit: Encryption Key: 0, SubSystem ID: 1
 
Last edited:
Top