Device discovery

From sigrok
Revision as of 01:14, 24 April 2016 by StefanB (talk | contribs) (Add "Device discovery" page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Autodiscovery of devices

Autodiscovery in sigrok is currently only implemented for USB devices. Network autodiscovery is not supported yet.

Devices connected via USB

Devices connected via USB can be discovered automatically in some cases:

  • The device is uniquely identified by its Vendor and Product ID
or
  • The device is able to communicate bidirectionally and the communication protocol can be determined, e.g. from the USB class/subclass or by Vendor and Product ID.

One example for the second class is USBTMC. USBTMC allows detection of the connected device using the GPIB/SCPI "*IDN?" request.

Devices connected via Network

LXI compatible devices can be automatically discovered on the network. The current LXI standard mandates discovery via VXI-11 broadcast and using DNS-SD/mDNS. Discovery via VXI-11 will be optional in the next standard revision (1.5).

Even if a device is not LXI compliant, it may nevertheless implement VXI-11.

VXI-11 broadcast

Devices can be discovered using broadcasts to the portmapper port (111). Devices are required to implement a rudimentary VXI-11 services able to answer an "*IDN?" request.

DNS-SD/mDNS

Service Discovery via DNS (DNS-SD) in combination with multicast DNS (mDNS) allows discovery of all kinds of services. LXI specifies the following services (LXI Stanard rev. 1.4 (2011), 10.4.3):

  • http (_http._tcp)
  • lxi (_lxi._tcp)
  • scpi-raw (_scpi-raw._tcp)
  • scpi-telnet (_scpi-telnet._tcp)
  • vxi-11 (_vxi-11._tcp)