Ettus USRP Family hardware

You can run OsmoTRX using the Ettus USRP family of devices.

All Ettus Research devices are supported.

  • almost all models except the USRP1 are suppored using UHD.
  • for USRP1 you need a special driver, see below.
Ettus Research Notes
USRP1 Requires legacy libusrp driver and clocking modification
USRP2 10 MHz external reference required
B200 GPSDO or 10 MHz external reference recommended
B210 Dual channel, 10 MHz external reference recommended

USRP1 support


The USRP1 is now considered a legacy device in that only maintenance development takes place with no new features scheduled to become available.

For use with OsmoTRX, the USRP1 requires hardware modification and non-official driver software and firmware.

Hardware Modification

As an older device, USRP1 hardware does not support flexible device clocking or external 10 MHz referencing like more recent products.

The internal crystal oscillator is too imprecise for any reliable GSM operation and cannot be externally referenced. Consequently, the internal USRP1 clock must be replaced or driven by an external 52 MHz clock signal. Typical clocking options include the following.

To accommodate any of these clock sources, hardware modification involves soldering a new SMA connector and shifting various small resistors and capacitors.

Modification instructions and illustrations can be found on the Fairwaves ClockTamer website.


The official / new Ettus driver stack "UHD" supports the USRP1, but it does not support FPGA timestamp functionality on it. As a result, an alternative FPGA firmware and driver configuration is required for using the USRP1 with OpenBTS. The alternative configuration is based on a customized FPGA image and the now deprecated 'libusrp' driver found in early versions of GNU Radio.

The last release version of GNU Radio to contain the libusrp driver is 3.4.2. Note that this version of GNU Radio is not maintained, and installation on recent Linux distributions may be difficult - detailed setup instructions are no longer available

As a result, Osmocom has packaged this libusrp from gnuradio 3.4.2 as a stand-alone library which can be built on modern Linux distributions. The sorce code can be found at and the libusrp binary packages are part of the Osmocom Binary_Packages feed.

In order to run osmo-trx with a USRP1 you need to install libusrp, and osmo-trx-usrp1.

Ettus USRP B2x0

Ettus B2x0 output signal levels
band arfcn tx-attenuation signal level (dBm)
850 128 0 13.2
850 189 0 13.2
850 251 0 13.2
900 0 0 13.1
900 86 0 13.1
900 1023 0 13.1
1800 512 0 6.9
1800 698 0 6.9
1800 870 50 -42.0
1800 870 25 -16.7
1800 870 10 -2.1
1800 870 0 7.1
1800 885 0 6.9
1900 512 0 7.2
1900 661 0 7.3
1900 810 0 7.4

these values were measured by sysmocom on a agilent E4406 with an ettus B210

Add picture from clipboard (Maximum size: 48.8 MB)