DFUScript v0.1 - Script to help flashing
antisol at internode.on.net
Sun Sep 14 15:49:28 CEST 2008
Shawn "prjktdtnt" Thompson wrote:
> I would be honored to see my code used in a project that serves a
> wider audience. I wrote the script mainly for my own use and figured I
> would submit it as a community project for those who wanted to use
> and/or improve upon it.
hehe, same here - I modified the original script for my own use, and
decided to put it out there. fortunately for the 'wider audience' you
mention, I'm part of that wider audience insofar as I'm have been known
to make stupid mistakes every now and then, and I like to protect myself
from them! When I say 'Idiot-proofing', I'm usually talking about myself! ;)
> To find multiple DFU devices I would have to type "dfu-util -l" then
> pass "dfu-util -d hexcode -a alternate -R -D imagefile.bin" or some
> similar command to flash my device. Now I type "./dfuscript device
> alternate file.bin" which takes me about half of what it did since I no
> longer need to list to grab the hex or type in additional arguments such
> as -R or -D.
> The hex codes should be static for all Neo1973 or Neo FreeRunners as
> far as I'm aware. If anyone knows otherwise please correct me.
thanks for the info. Adding this to my utility will be a priority once I
get the dfu-util -l output from Bill (you could send it too if you like)
> I think that adding the option to select your device type and then
> what images you would like to update would be great, a setup menu, as
> you suggested, would work for this also.
have you checked out the latest version of my utility? see . The
current version has a setup menu already, I'm thinking that this would
be the place to put this option.
but if dfu-util -l gives hex codes I'll make it an option which will
appear if multiple dfu-capable devices are attached, and it will list
the devices and allow you to choose which one to flash.
> One feature I would love to see is the option you mentioned of
> updating multiple sections at once. Ex: if I have a new kernel and
> rootfs, instead of doing them separately I would be able to select, via
> a checkbox instead of radio-button, both of them, select each file,
> confirm that is what I want to flash to each section and finally be
> advised that I should power into NAND/NOR and press ok for it to loop
> through each section. My script doesn't have this ability but it was
> something I considered as it would make life quite a bit faster in that
This is exactly what my utility does - it has checkboxes instead of
radio buttons, you choose what to flash, then the file(s) you want to
flash, then it shows you a confirmation screen which also advises you to
go to NAND/NOR, you press OK, and it flashes everything you chose.
my tool is (now very loosely) based on the script by rorschach. This is
the one which had radio buttons. I suspect that you're thinking of his
script and not my version. The reason I modified it was to be able to
flash multiple images at once... Then I kept thinking of other things to
(the original list of things I did to rorschach's script can be found at
if you can make it through all my rambling at , you'll see that I
make mention of being able to use my tool via the command-line. This
would also support flashing multiple files at once I envision something
frutil --flash kernel=/path/to/kernelfile.bin
> If I knew more about coding I would love to contribute additional
> code but for now all I can offer is what I have done so far. If any of
> my code could be useful to your script please use it. The fact that two
> open source fans can build upon each-other's work is why I love and back
> open-source wherever I can.
I've become a big open source fan for exactly this reason - the ability
to collaborate like this is IMHO vastly superior to the closed source
> I'm looking forward to seeing more improvements to the gui and
> hopefully eventually seeing my script being made completely obsolete or
> even integrated into your program in some form.
This is high praise and very encouraging, thanks alot! :)
More information about the community