Getting the Kingst LA2016 Logic Analyzer Working on Linux with Sigrok

A step-by-step guide to getting the Kingst LA2016 logic analyzer working with sigrok and PulseView on Linux.

Here's how I got the Kingst LA2016 logic analyzer working on Linux with the open-source sigrok/PulseView software.

Kingst LA2016 Logic Analyzer

The Problem

When you first plug in the LA2016 and try to scan for devices with sigrok, you'll likely see something like this:

$ sigrok-cli --scan
sr: resource: Failed to open resource 'kingst-la-01a2.fw'
sr: kingst-la2016: MCU firmware upload failed.
The following devices were found:
demo - Demo device with 13 channels: D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4

Or possibly it won't show up at all:

sigrok-cli --scan
The following devices were found:
demo - Demo device with 13 channels: D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4

Two issues here:

  1. Old sigrok version - The Kingst LA2016 driver was added to libsigrok relatively recently. The version in Ubuntu/Debian repositories (0.5.2) is too old.

  2. Missing firmware - The LA2016 needs firmware uploaded to its MCU and FPGA each time it's connected. This firmware isn't open source and must be extracted from Kingst's official software.

Here's how to fix both.

Step 1: Get the Nightly Sigrok Builds

Grab the nightly AppImages directly from sigrok.org:

cd ~/Software  # or wherever you keep things
mkdir logic-analyzer && cd logic-analyzer

wget https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-x86_64-release.AppImage
wget https://sigrok.org/download/binary/sigrok-cli/sigrok-cli-NIGHTLY-x86_64-release.AppImage
chmod +x *.AppImage

These contain a much newer libsigrok with full Kingst support.

Step 2: Download the Kingst Linux Software

Download KingstVIS for Linux from: https://www.qdkingst.com/en/download

tar -xzf KingstVIS_v3.6.5.tar.gz

Step 3: Extract the Firmware

Clone the sigrok-util repository, which contains the extraction script:

git clone https://github.com/sigrok/sigrok-util.git

Now run the extractor against the Linux binary:

python3 sigrok-util/firmware/kingst-la/sigrok-fwextract-kingst-la2016 KingstVIS/KingstVIS

You should see output like:

resource fwusb/fw01A2, file kingst-la-01a2.fw, size 5430, checksum 720551a9
resource fwfpga/LA2016, file kingst-la2016-fpga.bitstream, size 178542, checksum 20694ff1
...

The script extracts firmware for the entire Kingst product line. For the LA2016, you need kingst-la-01a2.fw and kingst-la2016-fpga.bitstream.

Step 4: Install the Firmware

Copy the firmware files where sigrok can find them:

sudo mkdir /usr/share/sigrok-firmware
sudo cp kingst-la*.fw /usr/share/sigrok-firmware/
sudo cp kingst-la*-fpga.bitstream /usr/share/sigrok-firmware/

Step 5: Set Up Permissions

Create a udev rule so you don't need root to access the device:

sudo tee /etc/udev/rules.d/60-kingst.rules << 'EOF'
# Kingst Logic Analyzers
SUBSYSTEM=="usb", ATTR{idVendor}=="77a1", ATTR{idProduct}=="01a2", MODE="0666", GROUP="plugdev"
EOF

sudo udevadm control --reload-rules
sudo udevadm trigger

Unplug and replug your LA2016.

Step 6: Verify It Works

./sigrok-cli-NIGHTLY-x86_64-release.AppImage --scan

You should now see:

The following devices were found:
kingst-la2016 - Kingst LA2016 with 16 channels: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Launch PulseView:

./pulseview-NIGHTLY-x86_64-release.AppImage

Select the Kingst LA2016 from the device dropdown and you're ready to capture.

Quick Capture Test

From the command line, capture 1000 samples at 1 MHz:

./sigrok-cli-NIGHTLY-x86_64-release.AppImage -d kingst-la2016 --config samplerate=1M --samples 1000 -O ascii

Troubleshooting

"Cannot open device" or permission denied

  • Check lsusb | grep 77a1 to confirm the device is connected
  • Verify udev rules: cat /etc/udev/rules.d/60-kingst.rules
  • Make sure you replugged the device after adding rules

"Failed to open resource" errors

  • Firmware files aren't where sigrok expects them
  • Try SIGROK_FIRMWARE_DIR=/path/to/firmware ./pulseview-NIGHTLY-x86_64.AppImage

Device detected but capture fails

  • Try a lower sample rate first (1 MHz)
  • Check USB connection - use a good cable and preferably USB 3.0 port

Tested with Kingst LA2016, KingstVIS v3.6.5, and sigrok nightly builds from January 2026.