Hi,
there are several ways to get all 16 channels of a Hantek 6022bl working.
Methode one:
– copy fx2lafw-sigrok-fx2-16ch.fw to fx2lafw-saleae-logic.fw. But for me this is NOT RELIABLE:
This must be done each time you connect the Hantek to the PC!
Backup firmware
1 | cp /usr/share/sigrok-firmware/fx2lafw-saleae-logic .fw /usr/share/sigrok-firmware/fx2lafw-saleae-logic .fw.bak
|
Copy 16 Channel firmware over fx2lafw-saleae-logic.fw
1 | cp /usr/share/sigrok-firmware/fx2lafw-sigrok-fx2-16ch .fw /usr/share/sigrok-firmware/fx2lafw-saleae-logic .fw
|
Load firmware to the device
1 2 3 | sigrok-cli --scan
.....
fx2lafw:conn=1.15 - Saleae Logic [S /N : Saleae Logic] with 16 channels: D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15
|
Then ( I ) have to copy the old firmware back
1 | cp /usr/share/sigrok-firmware/fx2lafw-saleae-logic .fw.bak /usr/share/sigrok-firmware/fx2lafw-saleae-logic .fw
|
And pulsview can be started. As I said really applicable.
Methode two:
– Changing the eeprom Hantek 6022bl => To difficult, see this link
In my opinion the best way is to build an own package. But be aware that the full speed of 24Mhz is not reachable with 16 channels.
Add Source repository to
to
1 | /etc/apt/sources.list.d/official-package-repositories.list
|
Update repository
1 2 | michael@debdev ~
michael@debdev ~
|
1 2 | michael@debdev ~
michael@debdev ~ /fx2lafw-build
|
Install build depedencies
1 2 | michael@debdev ~ /fx2lafw-build
michael@debdev ~ /fx2lafw-build/libsigrok-0 .5.2
|
Apply the patch to src/hardware/fx2lafw/api.c
1 | michael@debdev ~ /fx2lafw-build/libsigrok-0 .5.2
|
Modifing src/hardware/fx2lafw/api.c. Open for edit, go to line 74 and replace
with
1 | DEV_CAPS_16BIT, NULL, NULL},
|
To create a patch for further usage use:
1 | michael@debdev ~ /fx2lafw-build/libsigrok-0 .5.2
|
This creates a file like this
1 2 3 4 5 6 7 8 9 10 11 | --- src/hardware/fx2lafw/api.c 2019-12-25 21:29:19.000000000 +0100
+++ src/hardware/fx2lafw/api.c 2025-03-31 20:30:26.463457393 +0200
@@ -71,7 +71,7 @@
*/
{ 0x0925, 0x3881, "Saleae", "Logic", NULL,
"fx2lafw-saleae-logic.fw",
- 0, NULL, NULL},
+ DEV_CAPS_16BIT, NULL, NULL},
/*
* Default Cypress FX2 without EEPROM, e.g.:
|
which can be later applied by
1 | michael@debdev ~ /fx2lafw-build/libsigrok-0 .5.2
|
then update the change log
1 2 3 4 5 6 7 | michael@debdev ~ /fx2lafw-build/libsigrok-0 .5.2
libsigrok (0.5.2-5.1ubuntu1) UNRELEASED; urgency=medium
* Build for 16 channel support.
-- Michael Albert <michael@albert-hetzles.de> Wed, 19 Mar 2025 21:17:34 +0100
|
Start build
1 2 3 | michael@debdev ~ /fx2lafw-build/libsigrok-0 .5.2
michael@debdev ~ /fx2lafw-build/libsigrok-0 .5.2
michael@debdev ~ /fx2lafw-build/libsigrok-0 .5.2
|
Remove sigrok and pulseview
1 2 3 4 | michael@debdev ~ /fx2lafw-build
michael@debdev ~ /fx2lafw-build
michael@debdev ~ /fx2lafw-build
michael@debdev ~ /fx2lafw-build
|
Install libsigrok4 and libsigrokcxx4, may be you must adjust the version
1 2 3 | michael@debdev ~ /fx2lafw-build
michael@debdev ~ /fx2lafw-build
michael@debdev ~ /fx2lafw-build
|
And install sigrok again
1 | michael@debdev ~ /fx2lafw-build
|
Be aware that the manual installation of deb package could break some update dependencies. If happens: simply remove libsigrok4, update your system and rebuild and install a new libsigrok4.
Michael