Automatic Simple SDM 2.2 Installation Setup Tool (ASSIST)
for Windows, OSX and Linux (Ubuntu)
Thanks to Werner Bloos there is a German version of ASSIST here.
ASSIST is a Java application designed to make the process of installing SDM Version 2.1 on your Canon camera as simple as possible. It does for SDM what my STICK app does for CHDK. If you don't have Java installed, here is the official download site (for Mac OSX, Windows and Linux).
All you have to do is drop a photo taken by your camera on the ASSIST window and it will:
- download the appropriate build,
- prepare an SD card (partition, formatting and making bootable as necessary),
- and copy the appropriate files to the card.
The cameras that SDM Version 2 supports are listed here.
ASSIST runs under Windows (from XP onwards), Mac OSX (from 10.4 onwards) and Linux (Ubuntu 11.x and 12.x at least).
To make things as easy as possible all you have to do is press a button to make ASSIST continue to the next step and on-line help
is just a button-click away.
Here's a picture of ASSIST just after a photo has been dropped.
Downloading and Installing ASSIST
Download the Assist zip file and unzip it. You'll get a folder called 'assist' which you can relocate anywhere you fancy. Inside the folder are the following files:
- 'assist.jar' - the java executable
- 'assist.bat' - a bat file for Windows XP and Vista
- 'assistx.cmd', 'elevate.cmd' and elevate.vbs' - command files and script for Windows 7, 8 and later (see below)
- 'assist.command' - a shell script for OSX 10.5-10.7
- 'assistML.command' - a shell script for OSX 10.8 and later (see below)
- 'assistx.sh' - a shell script for Linux (see below)
- 'asseng32.dll' and 'asseng64.dll' - dynamic link libraries containing java native methods for Windows (32-bit and 64-bit versions).
Double-click the appropriate script file (bat, cmd, command or sh file), depending on your Operating System. For OSX or Windows XP, double-clicking the jar file should work.
ASSIST can't currently reformat exFAT cards as FAT32 or repartition them into FAT16 and FAT32 partitions, at least not reliably. If ASSIST finds an exFAT card it will will issue a warning message, asking for another card to be inserted. In such a situation reformat the card as FAT32 and try ASSIST again. Note that Windows cannot format cards bigger than 32GB as FAT32 - if you have such a card try one of the 3rd-party formatting tools such as this one or this one.
ASSIST does not copy all the files to the card, only DISKBOOT.BIN and the contents of the SDM folder. The remaining files are retained in a sub-folder of the assist folder whose name is the model name and build of the camera (e.g. "a570-101a).
Note - the Common_files folder contains the SDM User Manual and other documentation.
ASSIST will also detect if a build has been previously downloaded and if so, let you skip the download step. This can be useful if you want to prepare another card for your camera, but of course skipping the download step may mean you don't get the latest SDM build.
Note for Mac OSX Users
Starting with Mountain Lion (10.8) OSX requires root access to make changes to cards. As a result, ASSIST will fail with a "permission refused" message unless it has root access. To run ASSIST under these versions of OSX (Mountain Lion, Mavericks, Yosemite, El Capitan and later), use the assistML.command script. Double-clicking the script will bring up a terminal window and sudo will ask you to type your logon password so ASSIST can get root access. ASSIST will run when you press return.
Note for Windows Users
For cards larger than 4GB in pre-2011 cameras, ASSIST will create two partitions - a small FAT16 one containing DISKBOOT.BIN and a large FAT32 one for photos. Note that Windows will only let you see one partition at a time - use my WASP utility to switch between them.
Under the covers ASSIST issues commands and makes API calls that require administrator privileges under Windows 7, 8 and later. If you run ASSIST when logged on as a general user, without admin permission, ASSIST will diagnose the problem and display the message:
ASSIST needs Administrator permission - start it by double-clicking ASSISTX.CMD
On a 64-bit system, even if you are logged on as an Admin, you will have to start ASSIST using ASSISTX.CMD, otherwise ASSIST will display the message:
ASSIST needs permission to analyse disk
If you see this message, or are running a 64-bit Windows system, terminate ASSIST and double-click the ASSISTX.CMD file. This will display a dialog allowing you to temporarily 'elevate' yourself to Admin level by selecting a user account with these privileges. ASSIST will then run properly.
Unfortunately this temporary elevation breaks drag-and-drop (it's a known Windows problem) so you will have to use the Browse button to locate a photo.
Note for Linux Users
Assist needs sudo permission for some of the commands it issues. Currently that means you need to run it from a terminal window, setting the current directory to the folder containing the jar file and typing:
sudo java -jar assist.jar or ./assistx.sh
When you run it it will ask you to type in your admin (logon) password and then run ASSIST
Pressing the 'Help' button when ASSIST is running will display one of the following pages in your default browser:
- the 'startup' page - showing ASSIST when it's just been started
- the 'download' page - showing ASSIST when a photo has been dropped on the window and suitable SDM build is available
- the 'already downloaded' page - showing ASSIST when a photo has been dropped on the window and suitable SDM build has been previously downloaded
- the 'build not found' page - what to do if there's no build for your camera
- the 'downloading' page - while a build is being downloaded
- the 'build downloaded' page - after a build has been successfully downloaded
- the 'download failed' page - what to do if downloading failed
- the 'scanning' page - while ASSIST is scanning your computer for attached cards
- the 'scan completed' page - when ASSIST has finished scanning your computer for attached cards
- the 'back to scan' page - when you've asked ASSIST to return to the 'scan' step
- the 'prepare' page - showing what ASSIST will do to the card if you give permission
- the 'preparation' page - while ASSIST is preparing the card
- the 'prepared' page - when ASSIST has prepared the card
- the 'ejected' page - when ASSIST has ejected the card that is now ready for use
ASSIST has some extra features that can be enabled by changing its properties file, "assist.properties", (which you will find in the same folder as the app once you've run it). These features are:
- the ability to specify the maximum size card the app will handle via the 'maxsize'
property. By default the properties file contains the line:
which sets the limit at 64000MB or 64GB. Changing it to 32000 would make the limit 32GB.
- the ability to specify the maximum size card on which to allow one partition via the 'max1size'
property. By default the properties file contains the line:
which sets the limit at 4GB cards. Changing it to 2000 would make the upper limit 2GB, so that 4GB cards would have to be formatted as two partitions.
- the ability to specify the size of the small partition when two partitions are to be created.
By default the properties file contains the line:
which sets the size to 16 MB (plenty large enough to hold DISKBOOT.BIN). Changing it to "1G" would make the small partition 1GB in size.
- the font name, size and boldness used for text.
By default the properties file contains the lines:
fontname=SansSerif fontsize=12 fontbold=NO
but fontname can be set to "Serif", "Monospaced", or the name of any of the installed fonts, such as "Century Schoolbook". You can see the names of fonts by selecting the Font menu option in a Text Editor.
- the ability to switch on debug mode, which causes ASSIST to write a lot more information
to the log by adding the line:
Note that the log is written to a file ('assistlog.txt') when ASSIST terminates.
- The properties file also remembers the size and position of the window ('height=...', 'width=...', 'xpos=...' and 'ypos=...').
- 2.20A - February 2017 - fix long-standing Linux problem with /dev/mmcblk device names
- 2.20 - January 2017 - support SDM 2.2
- 2.03 - October 2016 - support Mac OSX Sierra
- 2.02 - July 2016 - issue warning for exFAT cards
- 2.01 - May 2016 - support ASSIST 2.1
- 2.0 - March 2016 - support new version of ASSIST and A620
- 1.12 - January 2016 - fix bug analysing cards under OSX 10.11 (El Capitan)
- 1.11 - June 2015 - download new test version of SDM (with language selection option)
- 1.10 - January 2014 - improve diagnosis of Windows problems
- 1.09 - September 2013 - fix problem when AT16 card used for FAT32 camera
- 1.08 - July 2013 - test if build already downloaded and offer to use it
- 1.06 and 1.07 - private builds
- 1.05 - March 2013 - fix incorrect download bug, add Left/Right camera customisation
- 1.04 - February 2013 - support SDM 1.86 rather than 1.85. To download an SDM 1.85 build, go to the old SDM download site.
- 1.03 - January 2013 - support new 1.86 builds:
- 1.02 - January 2013 - add Browse button and fix Linux mount bug when partitioning large cards
- 1.01 - January 2013 - add Linux (Ubuntu) support
- 1.00 - December 2012 - initial release (Windows and OSX only), no SDM customisation
There's a companion app, STICK, which will install CHDK in just the same way.
Comments, suggestions and bug reports welcome. Dave@zenoshrdlu.com.
All my apps are freeware, but if you've found them useful and would like to thank the author, you can make a donation (for example £1, €1 or $1) to show your appreciation for the many hours spent working on them!
For other SDM and CHDK-related stuff of mine, see here