123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 |
- -------------------------------------------------------------------------------
- README.devices
- -------------------------------------------------------------------------------
- This README contains various notes for users of libsigrok (or frontends
- that are based on libsigrok) about device- and/or driver-specific issues.
- 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 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)
- For further information see the section below and also:
- http://sigrok.org/wiki/Firmware
- Per-driver firmware requirements
- --------------------------------
- The following drivers/devices require a firmware upload upon connection:
- - asix-sigma: The ASIX SIGMA and SIGMA2 require various firmware files,
- depending on the settings used. These files are available from our
- 'sigrok-firmware' repository/project under a license which allows us
- to redistribute them.
- - fx2lafw: Logic analyzers based on the Cypress FX2(LP) chip need the
- 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.
- - 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
- - center-3xx (including all subdrivers)
- - chronovu-la
- - colead-slm
- - 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)
- - teleinfo
- - testo
- - tondaj-sl-814
- - uni-t-dmm (including all subdrivers)
- - uni-t-ut32x
- - victor-dmm
- - yokogawa-dlm
- - zeroplus-logic-cube
- Specifying serial ports
- -----------------------
- Many devices supported by libsigrok use serial port based cables (real RS232
- or USB-to-serial ones) to connect to a PC.
- For all these devices, you need to specify the serial port they are connected
- to (e.g. using the 'conn' option in sigrok-cli). It is not possible to scan
- for such devices without specifying a serial port.
- Example:
- $ sigrok-cli --driver <somedriver>:conn=/dev/ttyUSB0 ...
- The following drivers/devices require a serial port specification:
- - agilent-dmm
- - appa-55ii
- - atten-pps3xxx
- - brymen-dmm
- - cem-dt-885x
- - center-3xx (including all subdrivers)
- - colead-slm
- - conrad-digi-35-cpu
- - fluke-dmm
- - gmc-mh-1x-2x (including all subdrivers)
- - hameg-hmo
- - link-mso19
- - mic-985xx (including all subdrivers)
- - norma-dmm
- - 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
- The following drivers/devices do not require a serial port specification:
- - asix-sigma
- - brymen-bm86x
- - chronovu-la
- - demo
- - fx2lafw
- - hantek-dso
- - ikalogic-scanalogic2
- - ikalogic-scanaplus
- - kecheng-kc-330b
- - lascar-el-usb
- - pipistrello-ols
- - rigol-ds (USBTMC or TCP)
- - saleae-logic16
- - sysclk-lwla
- - uni-t-dmm (including all subdrivers)
- - uni-t-ut32x
- - victor-dmm
- - yokogawa-dlm (USBTMC or TCP)
- - zeroplus-logic-cube
- 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
- different parameters, pass them as option "serialcomm" with the driver name.
- See libsigrok docs for the function serial_set_paramstr() for complete specs.
- Example:
- $ sigrok-cli --driver <somedriver>:conn=<someconn>:serialcomm=9600/7n1/dtr=1
- Permissions of serial port based devices
- ----------------------------------------
- When using devices supported by libsigrok that use serial port based cables
- (real RS232 or USB-to-serial ones) to connect to a PC, you need to ensure
- that the user running the libsigrok frontend has (read/write) permissions to
- access the serial port device (e.g. /dev/ttyS0, /dev/ttyUSB0, and so on).
- You can use 'chmod' to apply permissions as you see fit, and/or 'chown' to
- change the owner of the serial port device to a certain user or group.
- For USB-to-serial based devices, we recommended using our udev rules file
- (see below for details).
- Permissions for USB devices (udev rules file)
- ---------------------------------------------
- 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).
- 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'.
- 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.
- 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.
- Please consult the udev docs of your distro for details.
- Cypress FX2 based devices
- -------------------------
- Devices using the Cypress FX2(LP) chip without any specific USB VID/PID will
- be enumerated with VID/PID 04b4:8613 (the default for "unconfigured FX2").
- These are usually "FX2 eval boards" (that can also be used as LAs, though).
- On Linux, the 'usbtest' driver will usually grab such devices, and they will
- thus not be usable by libsigrok (and frontends).
- You can fix this by running 'rmmod usbtest' as root before using the device.
- UNI-T DMM (and rebranded models) cables
- ---------------------------------------
- UNI-T multimeters (and rebranded devices, e.g. some Voltcraft models) can
- ship with different PC connectivity cables:
- - UT-D04 (USB/HID cable with Hoitek HE2325U chip, USB VID/PID 04fa:2490)
- - UT-D04 (USB/HID cable with WCH CH9325 chip, USB VID/PID 1a86:e008)
- - UT-D02 (RS232 cable)
- The above cables are all physically compatible (same IR connector shape)
- with all/most currently known UNI-T multimeters. For example, you can
- use either of the UT-D04 USB/HID cables or the UT-D02 RS232 cable with
- the UNI-T UT61D multimeter.
- When using the UT-D02 RS232 cable with any of the supported UNI-T DMMs,
- you have to use the respective driver with a '-ser' drivername suffix
- (internally all of these models are handled by the 'serial-dmm' driver).
- You also need to specify the serial port via the 'conn' option, e.g.
- /dev/ttyUSB0 (attached via a USB-to-serial cable) or /dev/ttyS0 (actual
- RS232 port) on Linux (see above).
- Finally, the user running the frontend (e.g. sigrok-cli) also needs
- permissions to access the respective serial port (see above).
- Examples (sigrok-cli):
- $ sigrok-cli --driver uni-t-ut61e-ser:conn=/dev/ttyUSB0 ...
- $ sigrok-cli --driver voltcraft-vc820-ser:conn=/dev/ttyS0 ...
- When using any of the UT-D04 USB/HID cables you have to use the respective
- driver _without_ the '-ser' drivername suffix (internally all of these models
- are handled by the 'uni-t-dmm' driver).
- You also need to specify the USB vendor/device IDs of the cable.
- Autodetection is not possible here, since various other products use the
- USB VID/PID of those cables too, and there is no way to distinguish them.
- Since the UT-D04 cables are USB based (but don't use a USB-to-serial chip)
- there is no need to specify a serial port via 'conn', of course.
- However, the user running the frontend does also need to have permissions
- to access the respective USB device (see above).
- Examples (sigrok-cli):
- $ sigrok-cli --driver uni-t-ut61e:conn=1a86.e008 ...
- $ sigrok-cli --driver voltcraft-vc820:conn=04fa.2490 ...
- UNI-T UT-D04 cable issue on Linux
- ---------------------------------
- The UNI-T UT-D04 cable with Hoitek HE2325U (or WCH CH9325) chip seems to have
- a very specific problem on Linux. Apparently it requires to be put into
- suspend (and woken up again) before it is usable. This seems to be a
- Linux-only issue, Windows is not affected by this since apparently the
- Windows kernel does this for every USB device, always.
- Thus, if you want to use any of the UNI-T DMMs with this specific cable,
- you'll have to run the following script (as root) once, every time you attach
- the cable via USB. The script was written by Ralf Burger.
- See also: http://erste.de/UT61/index.html
- #!/bin/bash
- for dat in /sys/bus/usb/devices/*; do
- if test -e $dat/manufacturer; then
- grep "WCH.CN" $dat/manufacturer > /dev/null && echo auto > ${dat}/power/level && echo 0 > ${dat}/power/autosuspend
- fi
- done
- Enabling multimeter / data logger measurement output
- ----------------------------------------------------
- Some multimeters or data loggers will not start outputting measurement data
- unless a certain action has been performed by the user beforehand. This is
- usually mentioned in the vendor manual of the respective device, but here's
- a short list for convenience:
- - BBC Goertz Metrawatt M2110: Briefly press the "Start/Reset" button on the
- interface panel on top.
- - Digitek DT4000ZC: Briefly press the "RS232" button.
- - Gossen Metrawatt Metrahit 1x/2x devices, driver gmc-mh-1x-2x-rs232:
- - Power on the device with the "DATA" button pressed.
- - Metrahit 2x devices must be configured for the respective interface type.
- - Gossen Metrawatt Metrahit 2x devices, driver gmc-mh-2x-bd232:
- - 'BD232' interface:
- The multimeter must be configured for the respective interface type.
- - 'SI232-II' interface ("PC Mode"):
- The multimeter must be configured for interface type 'BD232' (all),
- '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.
- - 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.
- - RadioShack 22-812: Press and hold "SELECT" and "RANGE" together.
- - TekPower TP4000ZC: Briefly press the "RS232" button.
- - 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
- ------------------------------
- The ChronoVu LA8/LA16 logic analyzer is available in two revisions. Previously,
- the device shipped with a USB VID/PID of 0403:6001, which is the standard ID
- for FTDI FT232 USB chips.
- Since this made it hard to distinguish the LA8/LA16 from any other device
- with this FTDI chip connected to the PC, the vendor later shipped the
- device with a USB VID/PID of 0403:8867.
- The 'chronovu-la' driver in libsigrok supports both VID/PID pairs and
- automatically finds devices with either VID/PID pair.
- OLS
- ---
- The Dangerous Prototypes Openbench Logic Sniffer (OLS) logic analyzer
- driver in libsigrok assumes a somewhat recent firmware has been flashed onto
- the OLS (it doesn't need a firmware upload every time it's attached via USB,
- since the firmware is stored in the device permanently).
- The most recent firmware version that is tested is 3.07.
- If you use any older firmware and your OLS is not found or is not working
- properly, please upgrade to at least this firmware version. Check the
- Dangerous Prototypes wiki for firmware upgrade instructions:
- http://dangerousprototypes.com/docs/Logic_Sniffer_upgrade_procedure
- Also, you need to specify a serial port for the OLS in the frontends, e.g.
- using the 'conn' option in sigrok-cli, and you also need to have the
- permissions to access the serial port (see above).
- Example:
- $ sigrok-cli --driver ols:conn=/dev/ttyACM0 ...
|