OpenRTX/README.md

3.8 KiB

OpenRTX

Modular Open Source Radio Firmware

OpenRTX is a free and open source firmware for digitam ham radios, top-down designed with modularity, flexibility and performance in mind.

Currently OpenRTX is being actively developed for the TYT MD-380/390 and MD-UV380/390.

This firmware is highly experimental and is not in a usable state right now, however contributions and testing are welcome and accepted.

Compilation

To build and install the firmware, first clone this repository:

git clone https://github.com/n1zzo/OpenRTX

The following steps depend on the selected platform:

Linux

The OpenRTX linux build depends on libSDL,

on Ubuntu you can install it with:

sudo apt install gcc pkg-config libsdl2-dev

on Fedora you need:

sudo dnf install meson SDL2-devel

The firmware can be compiled with:

meson setup build_linux
meson compile -C build_linux openrtx_linux

If you are using a version of Meson older than v0.55.0, the above command will fail, compile with:

meson setup build_linux
ninja -C build_linux openrtx_linux -jN

Where N is the number of cores that you want to allocate to the build process.

TYT MD-380 / TYT MD-UV380

To build the firmware you need to have a toolchain for the ARM ISA installed on you system, you can install one using your package manager.

For example on Ubuntu you can install arm-none-eabi-gcc

sudo apt install gcc-arm-none-eabi

on Fedora you need:

sudo dnf install arm-none-eabi-gcc-cs

You can then proceed in building the firmware:

meson setup --cross-file cross_arm.txt build_arm
meson compile -C build_arm openrtx_md380

If you are using a version of Meson older than v0.55.0, the above command will fail, compile with:

meson setup --cross-file cross_arm.txt build_arm
ninja -C build_arm openrtx_md380 -jN

Where N is the number of cores that you want to allocate to the build process.

Flashing your radio

You can flash your radio from your Linux computer using the radio_tool software.

First compile and install radio_tool using the following commands

git clone https://github.com/v0l/radio_tool
cd radio_tool
mkdir build && cd build
cmake ..
make -j4
sudo make install

For more informations on radio_tool visit it's repository at https://github.com/v0l/radio_tool

If OpenRTX compiled without errors you can connect your radio via USB, put it in recovery mode (by powering it on with the PTT and the button above it pressed), and flash the firmware:

meson compile -C build_arm openrtx_md380_flash

Now you can power cycle your radio and enjoy the new breath of freedom!

Running on Linux

To run OpenRTX on Linux you have to change a system configuration. This is needed in order to run the uC/OS-III RTOS on Linux.

Add the following line to /etc/security/limits.conf replacing user with your user

user             -       rtprio          unlimited

And then reboot your computer.

Now you can execute the binary build_linux/openrtx_linux you compiled with the instructions above.

License

This software is released under the GNU GPL v3, the modified wrapping scripts from Travis Goodspeed are licensed in exchange of two liters of India Pale Ale, we still owe you the two liters, Travis!

Credits

OpenRTX was created by:

All this was made possible by the huge reverse engineering effort of Travis Goodspeed and all the contributors of md380tools. A huge thank goes to Roger Clark, and his OpenGD77 which inspired this project.