If you do not fully understand what this is about, do not use this. You have been warned. Others may instruct you to use this tool in certain ways, so make double sure that the circumstances apply to you.
Make sure your battery is fully charged. If your device is not working when you do this, keep it charging for at least a day! No matter what the LED color is!
I've mentioned in the ATK thread
that I'm working on a libusb(x/-1.0) based utility that resembles the flashing functionality of ATK, only a bit more convenient for users of the K3. I finished an early, but seemingly nice-working version of it. It is only tested on Linux as of now.
When running an ATK compatible Windows installation, you can use ATK instead, see the referenced thread. However, it could certainly be compiled on Windows, too, I think.
What's working in k3flasher: switching to RAM kernel, flash info (will always report a wrong size, just like ATK), flash dumping, flash programming. I've successfully read data with it and also programmed kernels.
Also, there's a simple companion shell script now (from v06) that can make a backup of all the system data regions of the flash.
An addition in v05 introduced NBD server functionality. The device's flash is presented as a network block device and can be connected from the host machine, so you have block devices for the flash memory of the device. Mounting, reading and writing was tested and seems to work unexpectedly fine.
: additional to the source code, precompiled binaries for Linux (glibc >= 2.18 - I think, x86 and x86_64 architectures) are provided that are statically linked against libusbx-1.0, should run on most current Linux distributions. You need to run this with sufficient privileges, so if in doubt about my skills and/or intentions check my source code and compile yourself. You're the one who has to take all the risk, after all.
I'm still relying on the RAM kernel from the ATK - which I cannot distribute. Check the README for the filename and scan an ATK folder for the according RAM kernel file. I will certainly stop here and will not create a whole new RAM kernel.