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

