]> sigrok.org Git - libsigrok.git/blobdiff - README.devices
ipdbg-la: More style fixes
[libsigrok.git] / README.devices
index 0f089f105e31effdcd88226fa8fe9404ce4a5ebc..a64c587f941cbc12e6b00d21cc0355c33f2beea5 100644 (file)
@@ -12,9 +12,13 @@ Firmware
 Some devices supported by libsigrok need a firmware to be uploaded every time
 the device is connected to the PC (usually via USB), before it can be used.
 
-The default location where libsigrok expects the firmware files is:
+The default locations where libsigrok expects the firmware files are:
 
+  $SIGROK_FIRMWARE_DIR (environment variable)
+  $HOME/.local/share/sigrok-firmware
   $prefix/share/sigrok-firmware
+  /usr/local/share/sigrok-firmware
+  /usr/share/sigrok-firmware
 
 ($prefix is usually /usr/local or /usr, depending on your ./configure options)
 
@@ -37,25 +41,47 @@ The following drivers/devices require a firmware upload upon connection:
    firmware files from the 'sigrok-firmware-fx2lafw' repository/project.
    The firmware is written from scratch and licensed under the GNU GPLv2+.
 
+ - hantek-6xxx: Certain oscilloscopes based on the Cypress FX2(LP) chip, such
+   as the Hantek 6022BE/6022BL, SainSmart DDS120, and Rocktech BM102, need the
+   firmware files from the 'sigrok-firmware-fx2lafw' repository/project.
+   The firmware is written from scratch and licensed under the GNU GPLv2+.
+
  - hantek-dso: The Hantek DSO-2090 (and other supported models of the same
    series of Hantek PC oscilloscopes) need firmware files.
    These can be extracted from the vendor's Windows drivers using a tool
    from our 'sigrok-util' repository/project.
 
+ - lecroy-logicstudio: The LeCroy LogicStudio requires FPGA bitstream files.
+   These can be extracted from the vendor's Windows software using a tool
+   from our 'sigrok-util' repository/project.
+   Additionally, it requires a Cypress FX2 firmware. This can be extracted
+   from the vendor's Windows software using another tool. Details:
+
+     http://sigrok.org/wiki/LeCroy_LogicStudio#Firmware
+
  - saleae-logic16: The Saleae Logic16 needs a firmware file for the
    Cypress FX2 chip in the device, as well as two FPGA bitstream files.
    These can be extracted from the vendor's Linux application using a tool
    from our 'sigrok-util' repository/project.
 
- - sysclk-lwla: The Sysclk LWLA1034 requires various bitstream files.
-   These files are available from our 'sigrok-firmware' repository/project
-   under a license which allows us to redistribute them.
+ - sysclk-lwla:
+
+    - The Sysclk LWLA1034 requires various bitstream files.
+      These files are available from our 'sigrok-firmware' repository/project
+      under a license which allows us to redistribute them.
+
+    - The Sysclk LWLA1016 requires various bitstream files.
+      These can be extracted from the vendor's Windows drivers using a tool
+      from our 'sigrok-util' repository/project.
 
 The following drivers/devices do not need any firmware upload:
 
  - agilent-dmm
  - appa-55ii
+ - arachnid-labs-re-load-pro
  - atten-pps3xxx
+ - baylibre-acme
+ - beaglelogic
  - brymen-bm86x
  - brymen-dmm
  - cem-dt-885x
@@ -65,24 +91,38 @@ The following drivers/devices do not need any firmware upload:
  - conrad-digi-35-cpu
  - demo
  - fluke-dmm
+ - ftdi-la
  - gmc-mh-1x-2x (including all subdrivers)
+ - gwinstek-gds-800
  - hameg-hmo
+ - hp-3457a
+ - hung-chang-dso-2100
  - ikalogic-scanalogic2
  - ikalogic-scanaplus
  - kecheng-kc-330b
+ - kern-scale
  - lascar-el-usb
  - link-mso19
+ - manson-hcs-3xxx
+ - maynuo-m97
  - mic-985xx (including all subdrivers)
+ - motech-lps-30x
  - norma-dmm
  - openbench-logic-sniffer
+ - pce-322a
  - pipistrello-ols
  - rigol-ds
+ - scpi-pps
  - serial-dmm (including all subdrivers)
+ - serial-lcr (including all subdrivers)
+ - siglent-sds
  - teleinfo
+ - testo
  - tondaj-sl-814
  - uni-t-dmm (including all subdrivers)
  - uni-t-ut32x
  - victor-dmm
+ - yokogawa-dlm
  - zeroplus-logic-cube
 
 
@@ -100,7 +140,8 @@ Example:
 
  $ sigrok-cli --driver <somedriver>:conn=/dev/ttyUSB0 ...
 
-The following drivers/devices require a serial port specification:
+The following drivers/devices require a serial port specification. Some of
+the drivers implement a default for the connection.
 
  - agilent-dmm
  - appa-55ii
@@ -119,6 +160,7 @@ The following drivers/devices require a serial port specification:
  - openbench-logic-sniffer
  - rigol-ds (for RS232; not required for USBTMC or TCP)
  - serial-dmm (including all subdrivers)
+ - serial-lcr (including all subdrivers)
  - teleinfo
  - tondaj-sl-814
 
@@ -141,11 +183,27 @@ The following drivers/devices do not require a serial port specification:
  - uni-t-dmm (including all subdrivers)
  - uni-t-ut32x
  - victor-dmm
+ - yokogawa-dlm (USBTMC or TCP)
  - zeroplus-logic-cube
 
+Beyond strict serial communication over COM ports (e.g. /dev/ttyUSB0), the
+conn= property can also address specific USB devices, as well as specify TCP
+or VXI communication parameters. See these examples:
 
-Specifiying serial port parameters
-----------------------------------
+ $ sigrok-cli --driver <somedriver>:conn=<vid>.<pid> ...
+ $ sigrok-cli --driver <somedriver>:conn=tcp-raw/<ipaddr>/<port> ...
+ $ sigrok-cli --driver <somedriver>:conn=vxi/<ipaddr> ...
+
+The following drivers/devices accept network communication parameters:
+
+ - hameg-hmo
+ - rigol-ds
+ - siglent-sds
+ - yokogawa-dlm
+
+
+Specifying serial port parameters
+---------------------------------
 
 Every serial device's driver has default serial port parameters like baud
 rate, number of data bits, stop bits and handshake status. If a device requires
@@ -172,33 +230,39 @@ For USB-to-serial based devices, we recommended using our udev rules file
 (see below for details).
 
 
-Permissions for USB devices (udev rules file)
----------------------------------------------
+Permissions for USB devices (udev rules files)
+----------------------------------------------
 
 When using USB-based devices supported by libsigrok, the user running the
 libsigrok frontend (e.g. sigrok-cli) has to have (read/write) permissions
 for the respective USB device.
 
-On Linux, this is accomplished using either 'chmod' (not recommended) or
-using the udev rules file shipped with libsigrok (recommended).
+On Linux, this is accomplished using udev rules. libsigrok ships a rules
+file containing all supported devices which can be detected reliably
+(generic USB-to-serial converters are omitted, as these are used for a wide
+range of devices, e.g. GPS receivers, which are not handled by libsigrok).
 
-The file is available in contrib/z60_libsigrok.rules. It contains entries
-for all libsigrok-supported (USB-based) devices and changes their group
-to 'plugdev' and the permissions to '664'.
+The file is available in contrib/60-libsigrok.rules. This file just contains
+the list of devices and flags these devices with ID_SIGROK="1". Access is
+granted by the 61-libsigrok-plugdev.rules or 61-libsigrok-uaccess.rules files,
+allowing access to members of the plugdev group or to currently logged in
+users, respectively.
 
 When using a libsigrok package from your favorite Linux distribution, the
-packager will have already taken care of properly installing the udev file
-in the correct (distro-specific) place, and you don't have to do anything.
-The packager might also have adapted 'plugdev' and '664' as needed.
+files should already be installed in /usr/lib/udev/rules.d/, i.e.
+60-libsigrok.rules and one of the access granting rules files. Use of
+61-libsigrok-uaccess.rules is encouraged on systemd distributions.
+
+The access policy can be locally overridden by placing appropriate rules in
+/etc/udev/rules.d/, disabling or ammending the default policy. See the
+udev documentation, e.g. man 7 udev, for details.
 
 If you're building from source, you need to copy the file to the place
-where your distro expects such files. This is beyond the scope of this README,
-but generally the location could be e.g. /etc/udev/rules.d, or maybe
-/lib/udev/rules.d, or something else. Afterwards you might have to restart
-udev, e.g. via '/etc/init.d/udev restart' or similar, and you'll have to
-re-attach your device via USB.
+where udev will read these rules. Local rules should go to /etc/udev/rules.d.
+Keep the file naming, otherwise interaction between the libsigrok rules and
+rules shipped by the system will be broken.
 
-Please consult the udev docs of your distro for details.
+Please consult the udev docs for details.
 
 
 Cypress FX2 based devices
@@ -309,6 +373,9 @@ a short list for convenience:
       'SI232 online' (28-29S) or 'SI232 store' (22-26x). The interface must
       be configured to the same baud rate as the host (default 9600).
       Multimeter and interface must be configured to the same address.
+ - Metrix MX56C: Press the PRINT button to have the meter send acquisition
+   data via IR. Hold the PRINT button to adjust the meter's transmission
+   interval.
  - Norma DM950: If the interface doesn't work (e.g. USB-RS232 converter), power
    on the device with "FUNC" pressed (to power the interface from the DMM).
  - PCE PCE-DM32: Briefly press the "RS232" button.
@@ -317,12 +384,15 @@ a short list for convenience:
  - Tenma 72-7750: Briefly press the "RS232C" button.
  - UNI-T UT60G: Briefly press the "RS232C" button.
  - UNI-T UT61B/C/D: Press the "REL/RS232/USB" button for roughly 1 second.
+ - UNI-T UT71x: Press the "SEND/-/MAXMIN" button for roughly 1 second.
+   Briefly pressing the "EXIT" button leaves this mode again.
  - UNI-T UT325: Briefly press the "SEND" button (as per manual). However, it
    appears that in practice you don't have to press the button (at least on
    some versions of the device), simply connect the device via USB.
  - V&A VA18B/VA40B: Keep the "Hz/DUTY" key pressed while powering on the DMM.
  - Victor 70C/86C: Press the "REL/RS232" button for roughly 1 second.
  - Voltcraft VC-830: Press the "REL/PC" button for roughly 2 seconds.
+ - Voltcraft VC-870: Press the "REL/PC" button for roughly 1 second.
 
 
 ChronoVu LA8/LA16 USB VID/PIDs