Thank you for the suggestions. I should have mentioned that I tried two
different PCs, one with linux and one with windows. Unfortunately, reducing
the sample rate is not an option for my application, however I can try just
to see if it helps.

On Thu, Aug 7, 2025, 20:33 Adrian Godwin <[email protected]> wrote:

> 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