CHDK Wiki
Line 31: Line 31:
 
|Offset FI2KEY
 
|Offset FI2KEY
 
|Offset FI2IV
 
|Offset FI2IV
  +
|-
  +
|[[g12]]
  +
|??
  +
|G12-100G
  +
|0x7E36AC
  +
|0x?????
 
|-
 
|-
 
|[[G9]]
 
|[[G9]]

Revision as of 02:39, 1 May 2012

Background

Canon's firmware update files for the Powershot series cameras are encoded by the manufacturer, the camera rejects unencoded files or files with a wrong encoding. To start the CHDK binary with Canon's firmware update mechanism, the file must be encoded with the correct keys. The automated build process of the Autobuild Server knows the required settings and keys and delivers correct encoded CHDK binaries (ps.fi2 files).

  • To create your own CHDK ps.fi2 files (e.g. with the CHDK-Shell), the OPT_FI2 option in /buildconf.inc must be turned on and the file /platform/fi2.inc must hold the keys.

About the keys

The keys can be extracted from a full firmware dump file when the starting offset is known.

To get the keys for a camera, the following things are needed:

  1. the fi2 encoding key set (d3, d3enc, d4, d4a, d4b)
  2. a full, clean reference firmware dump file
  3. the offset where the key starts in the reference firmware dump
  • The keys are always 16 bytes long, starting from the offset listed below, written without any delimiter like this sample section:
ifeq ($(KEYSYS), d3)
FI2KEY=112233445566778899AABBCCDDEEFFGG
FI2IV =112233445566778899AABBCCDDEEFFGG
endif

Offset table

Developers - pls. fill in the information here...

Camera Encoding Reference FW Dump Offset FI2KEY Offset FI2IV
g12 ?? G12-100G 0x7E36AC 0x?????
G9 d3 G9-100F 0x7E31F0 0x3154D0
SD4000 d4a SD4000-100D 0x7E366C 0x405130
SX210 d4a SX210-100C 0x7E3570 0x41522C
SX30 d4b SX30-100H 0x7E3680

0x475204

SX220 d4c SX220-100A 0xFF3610

0x49B4CC

SX230 d4c SX230-100C 0xFF3610

0x4A6674