Hacking the Canon Powershots

What's new

FAQ

Introduction

The firmware of some Canon cameras has some limitations that seem completely arbitrary. For example, with many models you can take at most 180 seconds of video at resolutions 320x240 and 160x120, and at most 30 seconds of video at resolution 640x480. Marketing reasons, maybe?

Well, anyway. I managed to make a firmware modification that increases the 30 second limit of 640x480 resolution video to 180 seconds. The mod is currently available for the following cameras:

I have personally tested only the A70 version of this mod. Videos under 30 seconds seem to be unaffected as far as I can tell. The camera's own playback mode refuses to open any 640x480 video that is over 30 seconds and just shows the thumbnail and the text "Unidentified image". The video files will work just fine when transferred to the computer; it's just the camera's playback mode that refuses to recognize overly long files. I'm trying to remove that limitation also.

I've been informed that playback of these extended videos is possible with the S230, so there is hope that other cameras could also do that.

I'm not a lawyer, but I think it's legal to perform this modification and to distribute the instructions on how to do it. You bought the camera, so it's yours and you should have the right to do whatever you want to it. Do note that distributing the complete modified firmware probably is illegal, so don't do that if you want to stay on the safe side.

And to all my fans at Canon: I'm just improving your products here - please don't sue me :)

Update instructions

  1. Consider whether or not you are willing to risk damaging your camera for a minor gain in functionality. You are doing this ON YOUR OWN RISK. This mod will probably VOID THE WARRANTY OF YOUR CAMERA and may even BREAK YOUR CAMERA. I won't assume any responsibility for any direct or indirect damage, data loss or emotional scarring caused by this modification. No one has reported any ill effects from these modifications yet, but it is possible that the flashing process itself could fail, rendering your camera useless.
  2. Read the instructions through. If you don't understand something, stop now.
  3. Obtain the proper version of the original Canon firmware update package. No, I'm not going to tell you where to find them and no, I'm not going to send them to you.
  4. Unpack the archive. It should containg the actual firmware update file something.FIR.
  5. Check that the MD5 sum of that firmware update file is correct. If your checksum differs, you have the wrong file.
  6. Using a hex editor (or whatever tool you prefer), make the given changes at the given offsets.
  7. Check that the MD5 sum of the changed file is correct. DO NOT try to update if the checksum doesn't match.
  8. Transfer the modified .FIR file to the root directory of a memory card using either the camera USB cable or a memory card reader.
  9. Check that the camera has fresh batteries or is connected to an AC adapter. If the firmware update is interrupted or fails for some other reason, your camera may well become just an expensive paperweight.
  10. Insert the card into the camera, switch the camera to playback mode and turn it on.
  11. Press MENU, select "Firm Update".
  12. Cross your fingers and select OK. Wait until the camera completes the update and turns itself off. The process takes a few minutes. DO NOT interrupt it! If you do, there's a good chance your camera will be dead.
  13. Turn the camera back on.
  14. Test and enjoy! Also, please send me an email and tell me if you were successful or not, so I know how much testing has been done. Preferably test the maximum length of all resolutions, and report:

Available hacks

The hacks are distributed as human-readable binary patches. If anyone wants to hack together a script that automates applying these patches, then please go ahead.

A70

A75

There are two versions of this hack. One version extends video recording to about 192 seconds, and the other to 180 seconds. The produced file may be corrupted if the length exceeds 180 seconds. I've been told that the file can be repaired by opening and re-saving them with VirtualDub. All files produced by the 180 second version should be fine.

S230

Pro1

SD100

Thanks to...

Feedback

Comments? Questions? Success stories? Failure stories?
--> jplauril at cc dot hut dot fi.