Skip to content
bangcorrupt edited this page Sep 22, 2023 · 59 revisions

Firmware Patch

See Bugs for a list of known issues.

If these instructions don't make sense, see #41.

You may want to export the factory samples before continuing.

You may need to refactor existing patterns, as oscillators and samples will be in different slots after patching.


Patching Tutorial

Follow the Hacktribe Tutorial to get the patched firmware files.


Set custom init pattern

Optionally, set custom init pattern:

python scripts/e2s-init-pat.py hacked-SYSTEM.VSB your-init-pattern.e2spat

Install patched firmware

Move hacked-SYSTEM.VSB to SD card System directory and rename to SYSTEM.VSB.

Remove e2sSample.all from Sample directory, if present.

Follow the usual firmware update procedure and reboot.

Create the directory KORG/hacktribe/Sample on the SD card.

Export all samples and reboot again.

Edit any existing e2sSample.all files to start at slot >=501 to prevent memory errors.


Factory Samples

Add factory samples from e2 sampler

Install factory sampler firmware to sampler hardware (black or red).

Boot without an SD card.

Insert SD card and export all samples.

Use a computer to edit the e2sSample.all file so the first sample is in slot 501.

Install hacktribe, boot and import edited e2sSample.all.


Get factory samples from e2 synth

See Dump-Synth-PCM-Samples and #77.


Revert to Factory Firmware

Follow the Hacktribe Tutorial to get the patched firmware files.

Reverting to the factory firmware has minor differences depending on Hacktribe version and original firmware type.

Since commit 3d31b7c, Hacktribe will look for files under the hacktribe directory.

In earlier versions, Hacktribe looked for files under the electribe sampler directory.

If you don't know which version of Hacktribe is installed, use both paths or update to the latest Hacktribe.

If reverting to synth firmware, the header of the firmware update file will need editing to look like sampler firmware.

There is a script to edit the file header, see this comment if you are having difficulties.

The original samples are still stored in the flash, when the factory firmware is installed they will be loaded correctly.

A compressed backup of the factory patterns and global settings is also stored in the flash, a factory reset will restore them.


Factory Sampler

For newer versions of Hacktribe:

Just install factory sampler firmware version 2.02, no editing necessary.

Put the firmware update file at KORG/hacktribe/System/SYSTEM.VSB


For older versions of Hacktribe:

Just install factory sampler firmware version 2.02, no editing necessary.

Put the firmware update file at KORG/electribe sampler/System/SYSTEM.VSB


Factory Synth

For newer versions of Hacktribe:

Use the Hacktribe Tutorial to get synth-revert-SYSTEM.VSB.

Alternatively, edit the header of factory synth firmware version 2.02 to look like sampler firmware:

python e2-header.py SYSTEM.VSB sampler

Put the firmware update file at KORG/hacktribe/System/SYSTEM.VSB


For older versions of Hacktribe:

Use the Hacktribe Tutorial to get synth-revert-SYSTEM.VSB.

Alternatively, edit the header of factory synth firmware version 2.02 to look like sampler firmware:

python e2-header.py SYSTEM.VSB sampler

Put the firmware update file at KORG/electribe sampler/System/SYSTEM.VSB


Other ways to patch

Complete Prepare Files, then follow either Patch with a GUI or Patch with a Script or Patch Manually.

Apply patch to Electribe Sampler firmware version 2.02 only.

Once patched, the firmware will run on either device.


Prepare Files

Clone the repo, including submodules:

git clone --recursive https://github.com/bangcorrupt/hacktribe.git
cd hacktribe

Download Electribe 2 Sampler firmware version 2.02 and move SYSTEM.VSB to hacktribe directory.


Patch with a GUI

Install Hacktribe Editor.

Follow the instructions in the app, pay attention to the log output in the text box.

Installation may fail on Windows.

In that case, run the executable found in the repo at hacktribe-editor/hacktribe-gui.exe.


Patch with a script

Complete Prepare Files step above.

Install dependencies:

pip install argparse bsdiff4

Run e2-firmware-patch.py script to patch the firmware automatically:

python scripts/e2-firmware-patch.py

If installing to factory synth (grey or blue), use -e flag to also modify file header.


You should see:

Hacktribe firmware patcher.

https://github.com/bangcorrupt/hacktribe

Source file hash                 : 1d0f0689d5a12c8a8bde9f821f2a59adc5f6cd6012ddb201ebb192b72468a646 

Electribe 2 Sampler firmware version 2.02 found.

Patching firmware for Electribe 2 Sampler...

Target file hash                 : 42aca7cd6451e82628f3af7aa3e9361496b658aea6369a26a8d744cbf17bba7e
Destination file hash            : 42aca7cd6451e82628f3af7aa3e9361496b658aea6369a26a8d744cbf17bba7e 

Firmware patched successfully.

Copy 'hacked-SYSTEM.VSB' to 'SD:/KORG/electribe sampler/System/SYSTEM.VSB' and update firmware.

The hashes for target and destination files should match each other (they will be different from those shown above). If you see Firmware patched successfully, the hashes match and the firmware is patched correctly.


Patch manually

Alternatively, apply the patch manually:

sha256sum -c hash/SYSTEM.VSB.sha
bspatch SYSTEM.VSB hacked-SYSTEM.VSB patch/hacktribe-2.patch
sha256sum -c hash/hacked-SYSTEM.VSB.sha

Make sure both checksums match, otherwise you get a brick. <-- That's important.

^^ That's really important. ^^

What the hash is a checksum?

You should see:

SYSTEM.VSB: OK
hacked-SYSTEM.VSB: OK

If you see OK for both files, the hashes match and the firmware is patched correctly.


Edit header (only if installing on e2 synth):

python scripts/e2-header.py hacked-SYSTEM.VSB sampler