I don't have that model, but on other USB devices such as the Saleae (using
their own drivers) I have found that the capture performance is dependent
on your PC's USB and PCI performance.

Test it at lower sample rates to see if that makes a difference.


On Thu, Aug 7, 2025 at 2:57 PM Radek Machulka <[email protected]>
wrote:

> Dear all,
>
> I am having difficulties with my Kingst LA 5016 logic analyzer with sigrok-
> cli, as it will not acquire requested number of samples.
>
> As a consequence (at least I believe it is a consequence of unexpectedly
> short
> data), I may get bunch of other errors during saving such data into files
> (both CSV and binary), ranging from empty files up to SIGSEGV/SIGABRT.
> There
> can also be "FRAME-BEGIN\n", "FRAME-END\n" in both CSV and binary files.
> Sometimes both, sometimes only one, sometimes none.
>
> There can be situations when the acquisition does not start at all, or
> when
> the acquisition ends, however the device (judging based on its LED) seams
> to
> keep acquiring. The single acquisitions (the ones long enough to be
> noticeable) take significantly more time with respect to official SW (not
> real
> issue, just an observation).
>
> The triggering looks also bit off, as the data clearly start away from
> requested triggers. Without triggering, the behavior is the same (again
> here,
> no real issue, I can live without the triggering).
>
> I use the nightly build, and the acquisition is initiated like this:
>
> sigrok-cli-NIGHTLY-x86_64-debug.AppImage --driver kingst-la2016 --channels
> CH0,CH1,CH2 --config samplerate=500m --samples 100m --triggers
> CH0=r,CH1=0,CH2=0 --wait-trigger --output-format binary --output-file
> [email protected]
>
> with (typical) following output:
>
> Device only sent 50001534 samples.
>
> In this particular case, the final file contains neither requested 1M nor
> announced 50001534 but 100001591 samples.
>
> With CSV format, the errors may look something like this:
>
> sr: output/csv: Expecting 4194304 samples, got 877880
> sr: output/csv: Expecting 4194304 samples, got 879391
> Device only sent 500001567 samples.
>
> or:
>
> sr: output/csv: Expecting 500058 samples, got 501513
> Device only sent 501513 samples.
>
>
> Here is complete output from the sigrok-cli with loglevel 5:
>
> sigrok-cli-NIGHTLY-x86_64-debug.AppImage --driver kingst-la2016 --channels
> CH0,CH1,CH2 --config samplerate=500m --samples 10m --triggers
> CH0=r,CH1=0,CH2=0 --wait-trigger --output-format binary --output-file
> [email protected] --loglevel 5
>
> sr: [00:00.000757] log: libsigrok loglevel set to 5.
> sr: [00:00.000833] backend: libsigrok 0.6.0-git-f06f788/4:0:0.
> sr: [00:00.001455] backend: Libs: glib 2.64.6 (rt: 2.64.6/6406:6), zlib
> 1.2.11, libzip 1.5.1, minilzo 2.10, libserialport 0.1.1/1:0:1 (rt:
> 0.1.1/1:0:1), libusb-1.0 1.0.29.11953 API 0x01000107, hidapi 0.9.0, bluez
> 5.53, libftdi 1.4, librevisa 0.0.20130812.
> sr: [00:00.001479] backend: Host: x86_64-pc-linux-gnu, little-endian.
> sr: [00:00.001488] backend: SCPI backends: TCP, RPC, serial, VISA, USBTMC.
> sr: [00:00.001495] backend: Firmware search paths:
> sr: [00:00.001521] backend:  - /tmp/.mount_sigrokaBeLBF/usr/share/sigrok-
> firmware
> sr: [00:00.001534] backend:  - /home/rad/.local/share/sigrok-firmware
> sr: [00:00.001549] backend:  -
> /__w/sigrok-build/sigrok-build/sr/share/sigrok-
> firmware
> sr: [00:00.001558] backend:  -
> /home/rad/.local/share/flatpak/exports/share/
> sigrok-firmware
> sr: [00:00.001566] backend:  -
> /var/lib/flatpak/exports/share/sigrok-firmware
> sr: [00:00.001579] backend:  - /usr/local/share/sigrok-firmware
> sr: [00:00.001589] backend:  - /usr/share/sigrok-firmware
> sr: [00:00.002111] backend: Sanity-checking all drivers.
> sr: [00:00.002136] backend: Sanity-checking all input modules.
> sr: [00:00.002141] backend: Sanity-checking all output modules.
> sr: [00:00.002155] backend: Sanity-checking all transform modules.
> srd: libsigrokdecode loglevel set to 5.
> sr: [00:00.006477] kingst-la2016: USB enum found 77a1:01a2 at path
> usb/1-2,
> 1.24.
> sr: [00:00.006984] kingst-la2016: USB PID 01a2, MCU firmware 'kingst-
> la-01a2.fw'.
> sr: [00:00.008011] kingst-la2016: Manufacture date bytes 24 08 db f7.
> sr: [00:00.008028] kingst-la2016: Manufacture date: 2024-08.
> sr: [00:00.009537] kingst-la2016: EEPROM magic bytes 0c f3 00 00 0c f3 10
> ef.
> sr: [00:00.009554] kingst-la2016: Using secondary magic 0xc (0x10).
> sr: [00:00.009574] kingst-la2016: Model 'LA5016', 16 channels, max 500MHz.
> sr: [00:00.009593] kingst-la2016: FPGA bitstream file 'kingst-la5016a2-
> fpga.bitstream'.
> sr: [00:00.009603] kingst-la2016: Checking operation of the FPGA bitstream.
> sr: [00:00.011098] kingst-la2016: FPGA registers dump: bitstream check
> sr: [00:00.011114] kingst-la2016:   0000  ed 85 00 00 00 00 07 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.011127] kingst-la2016:   0010  e9 8d 5b 00 c7 c6 2d 00  50 f9
> 24 01
> 00 00 00 00
> sr: [00:00.011146] kingst-la2016:   0020  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.011168] kingst-la2016:   0030  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.011189] kingst-la2016:   0040  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.011213] kingst-la2016:   0050  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.011239] kingst-la2016:   0060  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.011264] kingst-la2016:   0070  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.011458] kingst-la2016: FPGA register: run state 0x85ed.
> sr: [00:00.011564] kingst-la2016: FPGA register: PWM enable 0x00.
> sr: [00:00.011576] kingst-la2016: Could re-use current FPGA bitstream. No
> upload required.
> sr: [00:00.082222] kingst-la2016: Run state: 0x85ed (idle).
> sr: [00:00.082337] kingst-la2016: Device should be initialized.
> sr: [00:00.082455] hwdriver: Scan found 1 devices (kingst-la2016).
> sr: [00:00.082785] device: kingst-la2016: Opening device instance.
> sr: [00:00.082871] kingst-la2016: PWM config, app spec, ch 0, en 0, freq
> 1000.0, duty 50.0.
> sr: [00:00.082916] kingst-la2016: PWM config, reg 0x0070, freq 200000,
> duty
> 100000.
> sr: [00:00.082934] kingst-la2016: PWM config, enable all 0x00, cfg 0x01.
> sr: [00:00.082952] kingst-la2016: PWM config, disabling before param
> change.
> sr: [00:00.083097] kingst-la2016: PWM config, app spec, ch 1, en 0, freq
> 100000.0, duty 50.0.
> sr: [00:00.083118] kingst-la2016: PWM config, reg 0x0078, freq 2000, duty
> 1000.
> sr: [00:00.083134] kingst-la2016: PWM config, enable all 0x00, cfg 0x02.
> sr: [00:00.083149] kingst-la2016: PWM config, disabling before param
> change.
> sr: [00:00.083318] hwdriver: sr_config_set(): key 30000 (samplerate) sdi
> 0x55c4276db750 cg NULL -> uint64 500000000
> sr: [00:00.083361] hwdriver: sr_config_list(): key 30014 (triggermatch)
> sdi
> 0x55c4276db750 cg NULL -> [1, 2, 3, 4]
> sr: [00:00.083402] hwdriver: sr_config_list(): key 50001 (limit_samples)
> sdi
> 0x55c4276db750 cg NULL -> (uint64 0, uint64 10000000000)
> sr: [00:00.083434] hwdriver: sr_config_set(): key 50001 (limit_samples)
> sdi
> 0x55c4276db750 cg NULL -> uint64 10000000
> sr: [00:00.083477] session: Checking trigger:
> sr: [00:00.083489] session: Stage 0 match on channel CH0, match 3
> sr: [00:00.083504] session: Stage 0 match on channel CH1, match 1
> sr: [00:00.083519] session: Stage 0 match on channel CH2, match 1
> sr: [00:00.083544] session: Using thread-default main context.
> sr: [00:00.083555] session: Starting.
> sr: [00:00.083568] hwdriver: kingst-la2016: Starting acquisition.
> sr: [00:00.083629] kingst-la2016: Set threshold voltage 1.40V.
> sr: [00:00.083644] kingst-la2016: Duty cycle values: R56 0x021f, R79
> 0x00f2.
> sr: [00:00.083888] kingst-la2016: Set trigger config: enabled-channels
> 0x0007,
> triggering-channels 0x0007, level-triggered 0x0006, high/falling 0x0000.
> sr: [00:00.084155] kingst-la2016: Set sample config: 500000kHz (div 1),
> 10000000 samples.
> sr: [00:00.084169] kingst-la2016: Capture ratio 50%, count 5000000, mem
> 134217728.
> sr: [00:00.084636] session: bus: Received SR_DF_HEADER packet.
> cli: Received SR_DF_HEADER.
> sr: [00:00.084682] hwdriver: sr_config_get(): key 30000 (samplerate) sdi
> 0x55c4276db750 cg NULL -> uint64 500000000
> sr: [00:00.171745] kingst-la2016: Acquisition completion seen (hardware).
> sr: [00:00.173252] kingst-la2016: FPGA registers dump: acquisition complete
> sr: [00:00.173276] kingst-la2016:   0000  ed 85 00 00 00 00 07 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.173301] kingst-la2016:   0010  1f 28 09 00 e1 93 04 00  30 4d
> 1d 00
> 00 00 00 00
> sr: [00:00.173325] kingst-la2016:   0020  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.173348] kingst-la2016:   0030  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.173372] kingst-la2016:   0040  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.173404] kingst-la2016:   0050  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.173426] kingst-la2016:   0060  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.173447] kingst-la2016:   0070  00 00 00 00 00 00 00 00  00 00
> 00 00
> 00 00 00 00
> sr: [00:00.173462] session: bus: Received SR_DF_FRAME_BEGIN packet.
> cli: Received SR_DF_FRAME_BEGIN.
> sr: [00:00.173873] kingst-la2016: Capture info: n_rep_packets: 0x0009281f/
> 600095, before_trigger: 0x000493e1/300001, write_pos: 0x001d4d30/1920304.
> sr: [00:00.173897] kingst-la2016: Want to read 120019 xfer-packets
> starting
> from pos 0.
> sr: [00:00.173984] kingst-la2016: Will read from 0x00000000, 0x001d4d30
> bytes.
> sr: [00:00.174964] kingst-la2016: Acquisition data download started.
> sr: [00:00.188764] kingst-la2016: receive_transfer(): status
> LIBUSB_SUCCESS /
> LIBUSB_TRANSFER_COMPLETED received 524288 bytes.
> sr: [00:00.224622] kingst-la2016: 1396016 more bytes to download from the
> device.
> sr: [00:00.224648] kingst-la2016: Total samples after chunk: 2730633.
> sr: [00:00.225892] kingst-la2016: receive_transfer(): status
> LIBUSB_SUCCESS /
> LIBUSB_TRANSFER_COMPLETED received 524288 bytes.
> sr: [00:00.242821] session: bus: Received SR_DF_LOGIC packet (8388608
> bytes,
> unitsize = 2).
> cli: Received SR_DF_LOGIC (8388608 bytes, unitsize = 2).
> sr: [00:00.269931] session: bus: Received SR_DF_LOGIC packet (1611430
> bytes,
> unitsize = 2).
> cli: Received SR_DF_LOGIC (1611430 bytes, unitsize = 2).
> sr: [00:00.273715] session: bus: Received SR_DF_TRIGGER packet.
> cli: Received SR_DF_TRIGGER.
> sr: [00:00.273755] kingst-la2016: Trigger position after 5000019 samples,
> 10.000038ms.
> sr: [00:00.280391] kingst-la2016: 871728 more bytes to download from the
> device.
> sr: [00:00.280425] kingst-la2016: Total samples after chunk: 5461322.
> sr: [00:00.281429] kingst-la2016: receive_transfer(): status
> LIBUSB_SUCCESS /
> LIBUSB_TRANSFER_COMPLETED received 524288 bytes.
> sr: [00:00.304977] kingst-la2016: 347440 more bytes to download from the
> device.
> sr: [00:00.305014] kingst-la2016: Total samples after chunk: 8191930.
> sr: [00:00.305414] kingst-la2016: receive_transfer(): status
> LIBUSB_SUCCESS /
> LIBUSB_TRANSFER_COMPLETED received 347440 bytes.
> sr: [00:00.314484] session: bus: Received SR_DF_LOGIC packet (8388608
> bytes,
> unitsize = 2).
> cli: Received SR_DF_LOGIC (8388608 bytes, unitsize = 2).
> sr: [00:00.340218] kingst-la2016: Download finished, flushing session feed
> queue.
> sr: [00:00.340246] session: bus: Received SR_DF_LOGIC packet (1614402
> bytes,
> unitsize = 2).
> cli: Received SR_DF_LOGIC (1614402 bytes, unitsize = 2).
> sr: [00:00.342387] kingst-la2016: Total samples after chunk: 10001524.
> sr: [00:00.342422] kingst-la2016: Download finished, post processing.
> sr: [00:00.343317] kingst-la2016: receive_transfer(): status
> LIBUSB_TRANSFER_CANCELLED received 0 bytes.
> sr: [00:00.344157] kingst-la2016: receive_transfer(): status
> LIBUSB_TRANSFER_CANCELLED received 0 bytes.
> sr: [00:00.344240] kingst-la2016: receive_transfer(): status
> LIBUSB_TRANSFER_CANCELLED received 0 bytes.
> sr: [00:00.344304] kingst-la2016: receive_transfer(): status
> LIBUSB_TRANSFER_CANCELLED received 0 bytes.
> sr: [00:00.344360] kingst-la2016: receive_transfer(): status
> LIBUSB_TRANSFER_CANCELLED received 0 bytes.
> sr: [00:00.344409] kingst-la2016: receive_transfer(): status
> LIBUSB_TRANSFER_CANCELLED received 0 bytes.
> sr: [00:00.344463] kingst-la2016: receive_transfer(): status
> LIBUSB_TRANSFER_CANCELLED received 0 bytes.
> sr: [00:00.345475] session: bus: Received SR_DF_FRAME_END packet.
> cli: Received SR_DF_FRAME_END.
> sr: [00:00.345538] session: bus: Received SR_DF_END packet.
> cli: Received SR_DF_END.
> Device only sent 5001505 samples.
> sr: [00:00.349949] kingst-la2016: Download finished, done post processing.
> sr: [00:00.349987] usb: usb_source_finalize
> sr: [00:00.350061] session: Stopped.
> sr: [00:00.350096] hwdriver: Cleaning up all drivers.
> sr: [00:00.350413] kingst-la2016: Closing device on 1.24 (logical) /
> usb/1-2
> (physical) interface 0.
> _______________________________________________
> sigrok-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sigrok-devel
>
_______________________________________________
sigrok-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to