pellettiero / V60Mini-firmhack

A project to disassemble the KBParadise V60 Mini keyboard firmware.
GNU General Public License v3.0
26 stars 2 forks source link
arm armv7 custom-firmware firmware-updates keyboard thumb2 v60mini v60mini-firmware

KBParadise V60Mini Custom Firmware Project

A project to disassemble the KBParadise V60Mini keyboard firmware.

With help from the following people:

Without your help, this project would not have been possible. Thanks everyone!

WARNING

I take ABSOLUTELY NO responsibilities if your keyboard turns into an expensive brick! Use this at your own risk.

Usage

First, make sure your keyboard is:

THIS IS VERY IMPORTANT!
Use the updater from Windows to update the keyboard if not already done.
(WIP Note: this might not be necessary anymore)

You can find the original and patched version of the firmware exe in the firmware/ folder, along with their SHA1 sums:
https://github.com/pellettiero/V60Mini-firmhack/tree/master/firmware

Run this on Windows as Administrator to unlock the keyboard.
Remember to check the SHA1 sums just to be sure to avoid a brick.

Disassemble and Unlock

If you want to do it the manual way, or just to disassemble the firmware itself:

Flash backup

You can then try to dump the flash by using pok3rtool:
Prerequisites: cmake git libusb libusb-compat

  1. Clone the repo

    $ git clone https://github.com/pok3r-custom/pok3rtool
  2. Build

    $ cd pok3rtool
    $ git submodule update --init && cmake . && make pok3rtool

    It will take a while, be patient.

  3. Reboot into bootloader

    $ sudo ./pok3rtool -t kbpv60 bootloader
  4. Dump flash and reboot to firmware

    $ sudo ./pok3rtool -t kbpv60 dump flash.bin
    $ sudo ./pok3rtool -t kbpv60 reboot

    Now you have a backup of the entire flash! Store this in a safe place, just in case of bricks.
    It can be restored using a JTAG programmer/debugger.

Set a firmware version

You also might want to set a different firmware version to remind yourself this keyboard is now unlocked.
To do so:

$ sudo ./pok3rtool -t kbpv60 bootloader
$ sudo ./pok3rtool -t kbpv60 setversion 1.0.7u
$ sudo ./pok3rtool -t kbpv60 reboot

Just remember the small u means "unlocked".
You'll be able to check the version using
sudo ./pok3rtool list
or
sudo ./pok3rtool -t kbpv60 version
(this command might only work with the keyboard in bootloader mode)

Roadmap

Notes

Bugs