Template:USRP Client

From SpenchWiki
Jump to: navigation, search

USB Driver Installation

Please refer to the USRP Zadig page.

Device creation (hint)

USRP

The hint is used to specify which device to create, and implies whether the UHD or Legacy interface is used:

  • A blank hint implies the default device, which depends on whether you are connecting to a local device, or a remote server:
    • For a local device, this means the default device that UHD will find.
    • For a remote server...
      ...that is not connected to a device, this also means the default UHD device
      ...this is already connected to a device, use that device.
  • Entering a hyphen ("-") will force a remote server to connect to the default UHD device, regardless of whether it is already connected to a device. Using it for a local device is the equivalent of leaving the hint blank.
  • To select the Legacy host interface, the following format must be used:
<device index> [sub-device[:side]] [FPGA image] [Firmware image]
  • Argument breakdown:
    • device index: a single digit (required, use 0 for the default Legacy device)
    • sub-device: a single digit, or single letter A-Z (e.g. B for USRP 1's B side)
    • side: a single digit, single letter A-Z, or AB (e.g. AB for BasicRX/LFRX)
    • FPGA image path: path (default is the Legacy default, usually std_2rxhb_2tx.rbf)
    • Firmware image path: path (default is the Legacy default, usually std.ihx)
  • Anything else is fed through to the UHD device factory (see UHD Device Identification Notes).
    • To supply a sub-device specification, simply follow the above sub-device/side format and append it to the comma-separated hint list - with the follow exception: it must conform to the UHD sub-device specification (e.g. the sub-device must be a letter, see UHD USRP 1 Application Notes).
    For example, to select the first available USRP 1 (assuming you also have other models of USRP connected) and use its B-side WBX daughterboard:
type=usrp1, B:0

FUNcube Dongle

FCD [<device index> [<I offset> [ [<gain offset> [<phase offset>]]]]] [mixergain={4,12}] [ifgain1={-3,6}]
  • Argument breakdown:
    • FCD is mandatory to select a FUNcube Dongle
    • If multiple dongles are connected, use an integer to specify the device index.
    • The offsets are expressed the same as in the FCHID application. If they are not supplied, the device's offsets will remain as they are.
    • The named key/value argument pairs can be specified in any order throughout the hint. If you wish to specify the offsets out of order, then you can also use the following key/value arguments keys: i=, q=, gain=, phase=.
      For example, to select the second FCD and set the offsets:
FCD 1 0.00156 0.00076 0.97586 0 mixergain=4 ifgain1=-3

RTL2832U-based DVB-T USB Dongle

RTL <options>

Please see the USRP Interfaces for all options.

Additional considerations & limitations

  • The clients and BorIP protocol are currently limited to complex short sample pairs
    • 2 x 16-bit samples = 4 bytes per complex sample
  • The supported frequency range of hardware is not currently checked. However, the success of a tune request is checked.
    • So for the moment, if you have a WBX for example, you will see tune requests succeed that are slightly outside the spec'ed range of the daughterboard.
  • Since the Legacy interface does not support querying what antennas are available on a specific daughterboard, it will always return the following list of possibilities:
    • TX/RX, RX2, RXA, RXB, RXAB
  • Both UHD and Legacy client ask from the host API what the FPGA clock rate is (i.e. 64MHz is not hardcoded in the client). However it may be hardcoded in the host layer (e.g. IIRC it is in Legacy), so if you are clocking your USRP at a different rate there are two options:
    1. Stick to UHD
    2. Let me know and I'll add an option that will override the clock rate