Rigol DS1054Z is listed as a supported device https://sigrok.org/wiki/Rigol_DS1054Z so I decided to test it. The system is ArchLinux x64. To access the device the following udev rules are added to /lib/udev/rules.d/991-local.rules: ``` SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="04ce", GROUP="wheel", MODE="660" ``` The device is connected via USB: ``` [358525.775155] usb 3-3: New USB device found, idVendor=1ab1, idProduct=04ce [358525.775160] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [358525.775163] usb 3-3: Product: DS1000Z Series [358525.775166] usb 3-3: Manufacturer: Rigol Technologies. ``` sigrok-cli is capable to find it: ``` $ sigrok-cli -d rigol-ds --scan The following devices were found: rigol-ds - Rigol DS1104Z 00.04.04.SP3 with 4 channels: CH1 CH2 CH3 CH4 ``` However sigrok-cli can't receive any data: ``` $ sigrok-cli -d rigol-ds --samples 1000 Failed to configure sample limit. ``` It doesn't matter in which mode the device is, the behavior doesn't change. More complicated commands complain about missing triggers support, missing support of continuous record, etc. PulseView doesn't work either. If I start it with Rigol connected to USB it terminates immediately: ``` $ pulseview std::exception $ echo $? 0 ``` If Rigol is disconnected PulseView runs until I connect Rigol back and try to connect to it. Scan succeeds but the application terminates after an attempt to add the device: ``` $ pulseview Caught exception: not applicable $ echo $? 1 ``` It looks like PulseView tries to set a samplerate and fails. Same applies to sigrok-cli - according to the log everything works fine until it tries to limit the number of samples. As a result user can't work with this device from CLI or GUI. Here is a verbose sigrok-cli output and libraries versions: ``` $ sigrok-cli -d rigol-ds --samples 1000 -l 5 sr: [00:00.000001] log: libsigrok loglevel set to 5. sr: [00:00.000048] backend: libsigrok 0.6.0-git-e843992d/4:0:0 (rt: 0.6.0-git-e843992d/4:0:0). sr: [00:00.000138] backend: Libs: glib 2.54.3 (rt: 2.54.3/5403:3), libzip 1.3.2, libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1), libusb-1.0 1.0.21.11156, libftdi 1.4. sr: [00:00.000174] backend: Host: x86_64-pc-linux-gnu, little-endian. sr: [00:00.000193] backend: SCPI backends: TCP, RPC, serial, USBTMC. sr: [00:00.000240] backend: Sanity-checking all drivers. sr: [00:00.000259] backend: Sanity-checking all input modules. sr: [00:00.000268] backend: Sanity-checking all output modules. sr: [00:00.000285] backend: Sanity-checking all transform modules. srd: libsigrokdecode loglevel set to 5. sr: [00:00.005357] scpi_usbtmc: Found USBTMC device (VID:PID = 1ab1:04ce, bus.address = 3.122). sr: [00:00.005371] scpi: Opening USBTMC device usbtmc/3.122. sr: [00:00.005431] usb: Found USB device (VID:PID = 1ab1:04ce, bus.address = 3.122). sr: [00:00.005441] usb: Trying to open USB device 3.122. sr: [00:00.005464] usb: Opened USB device (VID:PID = 1ab1:04ce, bus.address = 3.122). sr: [00:00.005473] scpi_usbtmc: Interface 0 configuration 1. sr: [00:00.005478] scpi_usbtmc: Interrupt EP 1 sr: [00:00.005483] scpi_usbtmc: Bulk IN EP 2 sr: [00:00.005487] scpi_usbtmc: Bulk OUT EP 3 sr: [00:00.005718] scpi_usbtmc: Device capabilities: SCPI, L4, T6, SR1, RL1, DT1 sr: [00:00.005748] scpi_usbtmc: Locking out local control. sr: [00:00.006056] scpi_usbtmc: Successfully sent SCPI command: '*IDN?'. sr: [00:00.006639] scpi: Got response: 'RIGOL TECHNOLOGIES,DS1104Z,DS1ZA191003529,00.04.04.SP3', length 54. sr: [00:00.006663] scpi: Got IDN string: 'RIGOL TECHNOLOGIES,DS1104Z,DS1ZA191003529,00.04.04.SP3' sr: [00:00.006714] scpi_usbtmc: Returning local control. sr: [00:00.006918] usb: Closed USB device 3.122. sr: [00:00.009432] hwdriver: Scan found 1 devices (rigol-ds). sr: [00:00.009494] device: rigol-ds: Opening device instance. sr: [00:00.009510] usb: Trying to open USB device 3.122. sr: [00:00.009555] usb: Opened USB device (VID:PID = 1ab1:04ce, bus.address = 3.122). sr: [00:00.009577] scpi_usbtmc: Interface 0 configuration 1. sr: [00:00.009592] scpi_usbtmc: Interrupt EP 1 sr: [00:00.009609] scpi_usbtmc: Bulk IN EP 2 sr: [00:00.009627] scpi_usbtmc: Bulk OUT EP 3 sr: [00:00.009910] scpi_usbtmc: Device capabilities: SCPI, L4, T6, SR1, RL1, DT1 sr: [00:00.009943] scpi_usbtmc: Locking out local control. sr: [00:00.010266] scpi_usbtmc: Successfully sent SCPI command: ':CHAN1:DISP?'. sr: [00:00.010671] scpi: Got response: '1', length 1. sr: [00:00.010764] scpi_usbtmc: Successfully sent SCPI command: ':CHAN2:DISP?'. sr: [00:00.011143] scpi: Got response: '0', length 1. sr: [00:00.011223] scpi_usbtmc: Successfully sent SCPI command: ':CHAN3:DISP?'. sr: [00:00.011581] scpi: Got response: '0', length 1. sr: [00:00.011644] scpi_usbtmc: Successfully sent SCPI command: ':CHAN4:DISP?'. sr: [00:00.012124] scpi: Got response: '0', length 1. sr: [00:00.012155] rigol-ds: Current analog channel state: sr: [00:00.012175] rigol-ds: CH1 on sr: [00:00.012192] rigol-ds: CH2 off sr: [00:00.012210] rigol-ds: CH3 off sr: [00:00.012224] rigol-ds: CH4 off sr: [00:00.012305] scpi_usbtmc: Successfully sent SCPI command: ':TIM:SCAL?'. sr: [00:00.012889] scpi: Got response: '5.0000000e-01', length 13. sr: [00:00.012941] rigol-ds: Current timebase 0.5 sr: [00:00.013070] scpi_usbtmc: Successfully sent SCPI command: ':CHAN1:PROB?'. sr: [00:00.013602] scpi: Got response: '1.000000e+01', length 12. sr: [00:00.013695] scpi_usbtmc: Successfully sent SCPI command: ':CHAN2:PROB?'. sr: [00:00.014318] scpi: Got response: '1.000000e+01', length 12. sr: [00:00.014411] scpi_usbtmc: Successfully sent SCPI command: ':CHAN3:PROB?'. sr: [00:00.014979] scpi: Got response: '1.000000e+01', length 12. sr: [00:00.015055] scpi_usbtmc: Successfully sent SCPI command: ':CHAN4:PROB?'. sr: [00:00.015564] scpi: Got response: '1.000000e+01', length 12. sr: [00:00.015587] rigol-ds: Current probe attenuation: sr: [00:00.015598] rigol-ds: CH1 10 sr: [00:00.015617] rigol-ds: CH2 10 sr: [00:00.015622] rigol-ds: CH3 10 sr: [00:00.015628] rigol-ds: CH4 10 sr: [00:00.015661] scpi_usbtmc: Successfully sent SCPI command: ':CHAN1:SCAL?'. sr: [00:00.016237] scpi: Got response: '1.000000e+00', length 12. sr: [00:00.016360] scpi_usbtmc: Successfully sent SCPI command: ':CHAN2:SCAL?'. sr: [00:00.016899] scpi: Got response: '1.000000e+00', length 12. sr: [00:00.017001] scpi_usbtmc: Successfully sent SCPI command: ':CHAN3:SCAL?'. sr: [00:00.017420] scpi: Got response: '2.000000e+00', length 12. sr: [00:00.017470] scpi_usbtmc: Successfully sent SCPI command: ':CHAN4:SCAL?'. sr: [00:00.017949] scpi: Got response: '2.000000e+00', length 12. sr: [00:00.017965] rigol-ds: Current vertical gain: sr: [00:00.017969] rigol-ds: CH1 1 sr: [00:00.017977] rigol-ds: CH2 1 sr: [00:00.017984] rigol-ds: CH3 2 sr: [00:00.017991] rigol-ds: CH4 2 sr: [00:00.018035] scpi_usbtmc: Successfully sent SCPI command: ':CHAN1:OFFS?'. sr: [00:00.018525] scpi: Got response: '6.000000e-02', length 12. sr: [00:00.018579] scpi_usbtmc: Successfully sent SCPI command: ':CHAN2:OFFS?'. sr: [00:00.019118] scpi: Got response: '-1.120000e+00', length 13. sr: [00:00.019178] scpi_usbtmc: Successfully sent SCPI command: ':CHAN3:OFFS?'. sr: [00:00.019627] scpi: Got response: '-3.600000e+00', length 13. sr: [00:00.019705] scpi_usbtmc: Successfully sent SCPI command: ':CHAN4:OFFS?'. sr: [00:00.020126] scpi: Got response: '-7.600000e+00', length 13. sr: [00:00.020150] rigol-ds: Current vertical offset: sr: [00:00.020174] rigol-ds: CH1 0.06 sr: [00:00.020184] rigol-ds: CH2 -1.12 sr: [00:00.020191] rigol-ds: CH3 -3.6 sr: [00:00.020199] rigol-ds: CH4 -7.6 sr: [00:00.020244] scpi_usbtmc: Successfully sent SCPI command: ':CHAN1:COUP?'. sr: [00:00.020600] scpi: Got response: 'DC', length 2. sr: [00:00.020661] scpi_usbtmc: Successfully sent SCPI command: ':CHAN2:COUP?'. sr: [00:00.021060] scpi: Got response: 'DC', length 2. sr: [00:00.021123] scpi_usbtmc: Successfully sent SCPI command: ':CHAN3:COUP?'. sr: [00:00.021497] scpi: Got response: 'DC', length 2. sr: [00:00.021578] scpi_usbtmc: Successfully sent SCPI command: ':CHAN4:COUP?'. sr: [00:00.021998] scpi: Got response: 'DC', length 2. sr: [00:00.022021] rigol-ds: Current coupling: sr: [00:00.022046] rigol-ds: CH1 DC sr: [00:00.022050] rigol-ds: CH2 DC sr: [00:00.022057] rigol-ds: CH3 DC sr: [00:00.022066] rigol-ds: CH4 DC sr: [00:00.022139] scpi_usbtmc: Successfully sent SCPI command: ':TRIG:EDGE:SOUR?'. sr: [00:00.022539] scpi: Got response: 'CHAN1', length 5. sr: [00:00.022564] rigol-ds: Current trigger source CHAN1 sr: [00:00.022625] scpi_usbtmc: Successfully sent SCPI command: ':TIM:OFFS?'. sr: [00:00.023043] scpi: Got response: '0.0000000e+00', length 13. sr: [00:00.023067] rigol-ds: Current horizontal trigger position 0 sr: [00:00.023142] scpi_usbtmc: Successfully sent SCPI command: ':TRIG:EDGE:SLOP?'. sr: [00:00.023546] scpi: Got response: 'RFAL', length 4. sr: [00:00.023567] rigol-ds: Current trigger slope RFAL sr: [00:00.023631] scpi_usbtmc: Successfully sent SCPI command: ':TRIG:EDGE:LEV?'. sr: [00:00.024125] scpi: Got response: '1.700000e+00', length 12. sr: [00:00.024152] rigol-ds: Current trigger level 1.7 Failed to configure sample limit. ```
I tried to use --frames as wiki suggests - turned out it doesn't work either: ``` $ sigrok-cli -d rigol-ds --frames 1 -O analog FRAME-BEGIN sr: rigol-ds: Received invalid data block header '��'. sr: rigol-ds: Read error, aborting capture. FRAME-END g_variant_unref: assertion 'value->ref_count > 0' failed ``` Full -l 5 log: https://afiskon.ru/s/82/8c29ec4e41_rigol.log.txt
Created attachment 398 [details] full -l 5 log Attaching -l 5 log to this bugreport so it doesn't get lost.
This seems to be a duplicate of bug #1011, marking as such. Discussions/fixes will continue there. *** This bug has been marked as a duplicate of bug 1011 ***