summaryrefslogtreecommitdiffstats
path: root/host/docs/identification.rst
blob: 49d36ec1a7aa80aa3d89931e0ae16425d699b40c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
========================================================================
UHD - Device Identification Notes
========================================================================

.. contents:: Table of Contents

------------------------------------------------------------------------
Identifying USRPs
------------------------------------------------------------------------
Every device has several ways of identifying it on the host system:

* **Serial:** A globally unique identifier.
* **Address:** A unique identifier on a network.
* **Name:** An optional user-set identifier.

The address is only applicable for network-based devices.
See the USRP2 application notes.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Device discovery via command line
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A "find devices" utility application comes bundled with the UHD.
The find devices application will search for all devices on the host system and print the results.

::

    uhd_find_devices

Device address arguments can be supplied to narrow the scope of the search.

::

    uhd_find_devices --args="type=usrp1"

    -- OR --

    uhd_find_devices --args="serial=12345678"

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Device discovery through the API
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The device::find() API call searches for devices and returns a list of discovered devices.

::

    uhd::device_addr_t hint; //an empty hint discovers all devices
    uhd::device_addrs_t dev_addrs = uhd::device::find(hint);

The hint argument can be populated to narrow the scope of the search.

::

    uhd::device_addr_t hint;
    hint["type"] = "usrp1";
    uhd::device_addrs_t dev_addrs = uhd::device::find(hint);

    -- OR --

    uhd::device_addr_t hint;
    hint["serial"] = "12345678";
    uhd::device_addrs_t dev_addrs = uhd::device::find(hint);

------------------------------------------------------------------------
Naming a USRP
------------------------------------------------------------------------
For convenience purposes, users may assign a custom name to their USRPs.
The USRP can then be identified via name, rather than a difficult to remember serial or address.

A name has the following properties:

* is composed of ASCII characters
* is between 0 and 20 characters
* is not required to be unique

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Set a custom name
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Run the following commands:
::

    cd <prefix>/share/uhd/utils
    ./usrp_burn_mb_eeprom --args=<optional device args> --key=name --val=lab1_xcvr

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Discovery via name
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The keyword "name" can be used to narrow the scope of the search.
Example with the find devices utility:
::

    uhd_find_devices --args="name=lab1_xcvr"

    -- OR --

    uhd_find_devices --args="type=usrp1, name=lab1_xcvr"