OpenExpertSDR is a software-defined radio (SDR) project Based on https://github.com/Tsukihime/OpenExpertSDR that integrates with various SDR hardware, including Genesis G59/G11 and virtual serial port communication via tty0tty
.
Before compiling, ensure you have the following installed:
- Qt 5 or Qt 4
- MinGW (for Windows) - Download MinGW
- CMake (for Qt5 builds)
To get started, clone the repository:
git clone https://github.com/florintanasa/OpenExpertSDR
## Compilation
### Option 1: Using QtCreator
1. Open `OpenExpertSDR` in QtCreator.
2. Configure the project with Qt5 or Qt4.
3. Set up MinGW (for Windows).
### Option 2: Using the Command Line
After cloning the repository, navigate to the project directory and use `qmake` or `cmake` to build the project.
#### Using `qmake` (for Qt4 or Qt5)
```bash
cd OpenExpertSDR
qmake *.pro
make
cd OpenExpertSDR
mkdir build
cd build
cmake ..
make
For the libDttSP.so
library, you can clone it from the following repository:
git clone https://github.com/wd8rde/libDttSP
If you're using SDR hardware from Genesis (G59 or G11), you will also need libExtio_genesis
:
- Clone the repository:
git clone https://github.com/wd8rde/libExtio_genesis
- In the
OpenExpertSDR/build
directory, create adevice
directory and create a symbolic link to thelibextio_genesis.so
library:
cd OpenExpertSDR/build
mkdir device
cd device
ln -s /usr/local/lib/libextio_genesis.so libextio_genesis.so
The project includes support for virtual serial ports using the qextserial
library (tnt*
), which is required for CAT (Computer Aided Transceiver) functionality.
To set up tty0tty
for virtual serial ports:
- Clone the
tty0tty
repository:
git clone https://github.com/freemed/tty0tty
- Navigate to the
module
directory and compile the kernel module:
cd tty0tty/module
make
- Install the kernel module:
sudo cp tty0tty.ko /lib/modules/your_kernel/kernel/drivers/tty/serial/
sudo depmod -a
sudo modprobe tty0tty
- Create a udev rule to manage the virtual serial ports:
sudo cp /lib/udev/rules.d/98-udev-tnt.rules /lib/udev/rules.d/
This rule ensures the proper group assignment for the virtual serial port (tnt*
).
- Add your username to the
dialout
group:
sudo gpasswd -a user_name dialout
If the dialout
group does not exist, create it with:
sudo groupadd dialout
- To automatically load the
tty0tty
module at startup, edit the/etc/modules
file and add:
tty0tty
For testing virtual serial port communication, you can use the CoolTerm terminal emulator.
This guide should help you get OpenExpertSDR running with support for Genesis SDR devices and virtual serial port communication.
The Wiki pages contain detailed information. However, screen captures from the original Genesis SDR project website were lost when the site was closed.