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

