Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/v0l/radio_tool
Radio firmware tool
https://github.com/v0l/radio_tool
baofeng codeplug dmr firmware hacktoberfest ham-radio tyt tytera
Last synced: 18 days ago
JSON representation
Radio firmware tool
- Host: GitHub
- URL: https://github.com/v0l/radio_tool
- Owner: v0l
- License: gpl-3.0
- Created: 2020-07-09T15:48:14.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-05T09:05:25.000Z (over 1 year ago)
- Last Synced: 2024-12-09T15:47:10.673Z (27 days ago)
- Topics: baofeng, codeplug, dmr, firmware, hacktoberfest, ham-radio, tyt, tytera
- Language: C++
- Homepage: https://discord.gg/V596cyatmv
- Size: 374 KB
- Stars: 83
- Watchers: 11
- Forks: 16
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# radio_tool
Radio Firmware tool
## Radio Support
| Manufacturer | Radio Model | Fw Read | Fw Write | Fw Wrap | Db Read | Db Write |
| - | - | - | - | - | - | - |
| TYT | [MD-2017](https://www.tyt888.com/?mod=product_show&id=110)| ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| TYT | [MD-9600](https://www.tyt888.com/?mod=product_show&id=108) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| TYT | [MD-UV380](https://www.tyt888.com/?mod=product_show&id=127) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| TYT | [MD-UV390](https://www.tyt888.com/?mod=product_show&id=129) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| TYT | [MD-390](https://www.tyt888.com/?mod=product_show&id=77) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| TYT | [MD-380](https://www.tyt888.com/?mod=product_show&id=78) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| TYT | [MD-446](https://www.tyt888.com/?mod=product_show&id=75) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| TYT | [MD-280](https://www.tyt888.com/?mod=product_show&id=80) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| Baofeng | [DM-1701](https://www.baofengradio.com/products/dm-1701) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| Baofeng | [DM-1801](https://www.baofengradio.com/products/dm-1801) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| Baofeng | [RD-5R](https://www.baofengradio.com/products/rd-5r) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| Connect Systems | [CS800D](https://www.connectsystems.com/products/top/radios/CS800D.htm) | ✖️ | ✖️ | ✔️ | ✖️ | ✖️ |
| Ailunce | [HD1](https://www.ailunce.com/Product/HD1/Overview) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |
| Yaesu | [FT-70DR](https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&ProdCatID=249&encProdID=7CDB93B02164B1FB036530FBD7D37F1A&DivisionID=65&isArchived=0) | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ |
| Radioddity | [GD-77](https://www.radioddity.com/products/radioddity-gd-77-dmr-two-way-radio) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |```
Fw = Firmware
Db = Codeplug database
```
# DownloadWindows: [AppVeyor](https://ci.appveyor.com/project/v0l/radio-tool)
Linux: [Github Actions](https://github.com/v0l/radio_tool/actions)
![AppVeyor](https://ci.appveyor.com/api/projects/status/github/v0l/radio_tool?svg=true)
![Release](https://github.com/v0l/radio_tool/workflows/UbuntuRelease/badge.svg)
Otherwise you can use the instructions below to build
# Building
Dependencies Linux (Ubuntu/Debian):```bash
sudo apt install libusb-1.0-0-dev cmake gcc g++ pkg-config
```Dependencies Mac:
```bash
brew install libusb cmake pkg-config
```Build:
```bash
git clone https://github.com/v0l/radio_tool
cd radio_tool
mkdir build && cd build
cmake ..
make -j4
./radio_tool --help
```# Docs
Code documentation: https://data.v0l.io/radio_tool/docs# Usage
```
Usage:
./radio_tool [OPTION...]General options:
-h, --help Show this message
-l, --list List devices
-d, --device Device to use
-i, --in Input file
-o, --out Output file
-L, --list-radios List supported radiosProgramming options:
-f, --flash Flash firmware
-p, --program Upload codeplugFirmware options:
--fw-info Print info about a firmware file
--wrap Wrap a firmware bin (use --help wrap, for more info)
--unwrap Unwrap a fimrware fileAll radio options:
--info Print some info about the radio
--write-custom Send custom command to radio
--get-status Print the current DFU StatusTYT Radio options:
--get-time Gets the radio time
--set-time Sets the radio time
--dump-reg Dump a register from the radio
--reboot Reboot the radio
--dump-bootloader Dump bootloader (Mac only)Codeplug options:
--codeplug-info Print info about a codeplug file
```## Flash Firmware
```bash
./radio_tool -d 0 -f -i new_firmware.bin
```## Wrap Firmware
```bash
./radio_tool --wrap -o wrapped.bin -r DM1701 -s 0x0800C000:main.bin
```## Unwrap Firmware
Output file in this case is a file prefix, the filename will be `unwrapped_0x0800C000` and others if you have
firmware will more than one segment
```bash
./radio_tool --unwrap -i wrapped.bin -o unwrapped
```