SoapyAOR 0.1.0
===============

Native SoapySDR receive driver for AOR receivers equipped with the
AOR I/Q USB interface.

The driver uses two independent USB connections:

  I/Q data:
    AOR USB interface
    VID:PID 08d0:a001

  Receiver control:
    FTDI serial interface
    typically /dev/ttyUSB0

The I/Q stream is delivered directly to SoapySDR and GQRX.
No intermediate FIFO or I/Q recording file is required.


Current features
----------------

- Native live I/Q streaming
- Fixed sample rate: 1.125 MS/s
- Native stream format: CF32
- Direct USB isochronous I/Q capture
- Receiver frequency control through the FTDI serial interface
- GQRX frequency changes directly tune the receiver
- ANT1 / ANT2 antenna selection where supported
- Automatic receiver model identification
- Model detection for:
    AR2300
    AR5001D
    AR5700D
    AR6000
- Automatic handling of AOR I/Q sample alignment at stream startup
- No FIFO required


Tested configuration
--------------------

The initial development and testing was performed with:

- AOR AR5700D
- Raspberry Pi 4
- 64-bit Raspberry Pi OS
- SoapySDR 0.8.1
- GQRX
- 1.125 MS/s continuous CF32 streaming


Firmware
--------

The AOR I/Q interface uses volatile FX2 firmware.

Before the SoapyAOR driver can access the I/Q interface, fx2fw.hex must
be loaded into the receiver's I/Q USB interface.

After successful firmware loading:

  lsusb -d 08d0:a001

should show:

  ID 08d0:a001 AOR, LTD. DIGI-RECEIVER

The firmware must be loaded again after the I/Q interface loses power.


Build requirements
------------------

Required packages include:

  libsoapysdr-dev
  libusb-1.0-0-dev
  cmake
  pkg-config
  g++
  make


Build and install
-----------------

From the SoapyAOR source directory:

  mkdir -p build
  cd build
  cmake .. -DCMAKE_BUILD_TYPE=Release
  make -j4
  sudo make install


Verify installation
-------------------

Find the device:

  SoapySDRUtil --find="driver=aor"

Probe the device:

  SoapySDRUtil --probe="driver=aor"

A successful probe should identify the receiver and report:

  1 RX channel
  CF32 stream format
  1.125 MS/s sample rate


GQRX
----

When correctly installed, GQRX should list:

  AOR I/Q Receiver

as an available input device.

Typical generated device string:

  control=/dev/ttyUSB0,driver=aor,iq_usb=08d0:a001,soapy=0

Set the input sample rate to:

  1125000

Changing the center frequency in GQRX will then directly tune the
connected AOR receiver.


Status
------

SoapyAOR 0.1.0 is the first working native Linux SoapySDR implementation
based on the original AOR Linux I/Q capture / REL software and subsequent
live-streaming development.

Current focus is RX operation with GQRX.

License
-------

SoapyAOR is free software distributed under the GNU General Public
License, version 3 or (at your option) any later version.

SoapyAOR is based in part on the original AOR Linux I/Q capture software
ariq_rcv.cc (rel210601-0f), Copyright 2021 AOR, LTD., which was released
under the GNU GPL version 3 or later.

The original AOR Linux I/Q capture implementation formed the basis of
the USB I/Q capture and synchronization work used in this project.

Copyright 2026 AOR, LTD.

See the included COPYING file for the full GNU GPL version 3 license.
