Home
Welcome to the lxi-tools wiki!
Any LXI certified or compatible device should work with lxi-tools. For reports of successfully tested devices, please refer to the tested instruments list.
LXI is a standard for the programming of test instruments across ethernet.
In practice, this consists of device discovery, querying and programming.
In lxi-tools discovery occurs via liblxi which can use either MDNS (preferred and faster method; reference implementation; in the market since 2008) or the older VXI-11 (2000) protocol.
Querying and programming occur over various carrier protocols (such as raw TCP, VXI-11 (including vendor-specific "derivatives" like RSIB) or — rarely used and not yet supported — HiSLIP) that encapsulate SCPI, a relatively ill-defined family of simple text-based protocols with very poor standardization across vendors (see SCPI-1999 specification). Areas where vendors tend to differ include fundamental areas such as channel specification, device modes and channel states.
Note that while SCPI was historically often used across alternate (non-ethernet) interfaces, such as IEEE-488.1 (GPIB), RS-232, RS-422, and USB, lxi-tools only supports LXI communication which by definition occurs via ethernet. Ethernet is superior to the alternate buses in that it provides higher signal integrity, supports longer cable runs, is cheaper, is ubiquitous, and LXI being based upon TCP/IP supports global routing so your instruments can be located in other rooms, buildings, cities or countries.
Organised by manufacturer and product series.
Note: Keysight have a terrible record of refusing to support their equipment.
- DSOX1200A-G series
- InfiniiVision 1000 X series
- InfiniiVision 3000T X series
- InfiniiVision 4000 X series
- N15000 series
- DG800 series
- DG1000 series
- DG4000 series
- DG5000 series
- DL3000 series
- DM3058 series
- DM3068 series
- DP800 series
- DS1000Z series
- DS2000 series
- DS4000 series
- DS6000 series
- DS7000 series
- DSA800 series
- DSA1000 series
- DSG800 series
- DSG3000 series
- MSO5000 series
- SDG5000 series
- SDM3045X series
- SDM3055-SC series
- SDS1000CML-CNL series
- SDS2000X series
- SHS800 series
- SPD3303X series
If you cannot find documentation on an instrument, you could try the following:
-
Obtain a vendor driver or driver-shim. For example, IVI appears to be some sort of thin windows library API to SCPI translation layer and there is a list of official IVI drivers that may provide clues as to how to obtain commercial driver software for those instruments.
-
Analyse windows driver software directly (for example using
strings
, a dissassembly or resource extraction tool such asdumpbin /SECTION:.text /DISASM target.dll > strings.txt
, or a disassembler) - Capture communication between the instrument and commercial driver GUIs or IVI drivers using a tool like Wireshark or tcpdump
-
Analyse windows driver software directly (for example using
-
Analyse device firmware directly, for example using binwalk
- Most vendors provide firmware downloads from their websites
- If you have an old or unsupported device, you can attempt to extract the firmware directly
- Analyze similar devices and look for similar command patterns
Should you have success breathing life in to undocumented, old or unsupported instruments, please consider sharing your knowledge in this wiki.