Pixeldoc2000 (talk | contribs) m (SX210 added) |
m (link) Tag: sourceedit |
||
(19 intermediate revisions by 12 users not shown) | |||
Line 6: | Line 6: | ||
* The keys are not hosted in the SVN, read more about it in this thread: http://chdk.setepontos.com/index.php/topic,2995.0.html |
* The keys are not hosted in the SVN, read more about it in this thread: http://chdk.setepontos.com/index.php/topic,2995.0.html |
||
+ | |||
+ | * latest (2015-08-09, by srsa_4c) fi2 encode/decoder tools package including source: http://chdk.setepontos.com/index.php?topic=2995.msg113041#msg113041 |
||
==About the keys== |
==About the keys== |
||
Line 25: | Line 27: | ||
''Developers - pls. fill in the information here...'' |
''Developers - pls. fill in the information here...'' |
||
− | {| |
+ | {| border="1" cellpadding="3" cellspacing="0" align="left" |
|Camera |
|Camera |
||
|Encoding |
|Encoding |
||
Line 31: | Line 33: | ||
|Offset FI2KEY |
|Offset FI2KEY |
||
|Offset FI2IV |
|Offset FI2IV |
||
+ | |- |
||
+ | |[[g12]] |
||
+ | |d4b |
||
+ | |G12-100G |
||
+ | |0x7E36AC |
||
+ | |0x495FE8 |
||
|- |
|- |
||
|[[G9]] |
|[[G9]] |
||
Line 37: | Line 45: | ||
|0x7E31F0 |
|0x7E31F0 |
||
|0x3154D0 |
|0x3154D0 |
||
+ | |- |
||
+ | |[[S100]] |
||
+ | |d4c |
||
+ | |S100-101A |
||
+ | |0xFF3B28 |
||
+ | |0x63AF20 |
||
+ | |- |
||
+ | |[[S110]] |
||
+ | |d4c |
||
+ | |S110-101B |
||
+ | |0xFF3CD0 |
||
+ | |0x934D88 |
||
+ | |- |
||
+ | |[[S110]] |
||
+ | |d4c |
||
+ | |S110-102B |
||
+ | |0xFF3CD0 |
||
+ | |0x934610 |
||
+ | |- |
||
+ | |[[S110]] |
||
+ | |d4c |
||
+ | |S110-103A |
||
+ | |0xFF3CD0 |
||
+ | |0x9345F8 |
||
|- |
|- |
||
|[[SD4000]] |
|[[SD4000]] |
||
Line 44: | Line 76: | ||
|0x405130 |
|0x405130 |
||
|- |
|- |
||
− | |[[SX210|SX210 |
+ | |[[SX210|SX210 ]] |
− | ]] |
||
|d4a |
|d4a |
||
|SX210-100C |
|SX210-100C |
||
|0x7E3570 |
|0x7E3570 |
||
|0x41522C |
|0x41522C |
||
+ | |- |
||
+ | |[[SX30]] |
||
+ | |d4b |
||
+ | |SX30-100H |
||
+ | |0x7E3680 |
||
+ | | |
||
+ | 0x475204 |
||
+ | |- |
||
+ | |[[SX40]] |
||
+ | |d4c |
||
+ | |SX40-100F |
||
+ | |0xFF3B48 |
||
+ | |0x61A4FC |
||
+ | |- |
||
+ | |[[SX50]] |
||
+ | |d4c |
||
+ | |SX50-100C |
||
+ | |0xFF3C7C |
||
+ | |0x71CA90 |
||
+ | |- |
||
+ | |[http://chdk.wikia.com/wiki/SX220 SX220] |
||
+ | |d4c |
||
+ | |SX220-100A |
||
+ | |0xFF3610 |
||
+ | | |
||
+ | 0x49B4CC |
||
+ | |- |
||
+ | |[http://chdk.wikia.com/wiki/SX230 SX230] |
||
+ | |d4c |
||
+ | |SX230-100C |
||
+ | |0xFF3610 |
||
+ | | |
||
+ | 0x4A6674 |
||
+ | |- |
||
+ | |[http://chdk.wikia.com/wiki/SX510HS SX510HS] |
||
+ | |d4e |
||
+ | |SX510HS-101A |
||
+ | |0xFF39BC |
||
+ | | |
||
+ | 0x68A0E4 |
||
+ | |- |
||
+ | |[http://chdk.wikia.com/wiki/ELPH520 IXUS500 / ELPH520] |
||
+ | |d4c |
||
+ | |ELPH520-101a |
||
+ | |0xFF3CE0 |
||
+ | | |
||
+ | 0x629F2C |
||
+ | |- |
||
+ | |[[ELPH140]] |
||
+ | |d4f |
||
+ | |IXUS150_ELPH140-100c |
||
+ | |0x2744 |
||
+ | |0x492B74 |
||
+ | |- |
||
+ | |[[IXUS160]] |
||
+ | |d4g |
||
+ | |IXUS160_ELPH160-100a |
||
+ | |0x296C |
||
+ | | |
||
+ | 0x4BE1AC |
||
+ | |- |
||
+ | |[[SX530HS]] |
||
+ | |d4h |
||
+ | |SX530-100c |
||
+ | |0x44A4 |
||
+ | | |
||
+ | 0x81876C |
||
|} |
|} |
||
[[Category:Development]] |
[[Category:Development]] |
Revision as of 20:09, 30 April 2016
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.
- The keys are not hosted in the SVN, read more about it in this thread: http://chdk.setepontos.com/index.php/topic,2995.0.html
- latest (2015-08-09, by srsa_4c) fi2 encode/decoder tools package including source: http://chdk.setepontos.com/index.php?topic=2995.msg113041#msg113041
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:
- the fi2 encoding key set (d3, d3enc, d4, d4a, d4b)
- a full, clean reference firmware dump file
- 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 | d4b | G12-100G | 0x7E36AC | 0x495FE8 |
G9 | d3 | G9-100F | 0x7E31F0 | 0x3154D0 |
S100 | d4c | S100-101A | 0xFF3B28 | 0x63AF20 |
S110 | d4c | S110-101B | 0xFF3CD0 | 0x934D88 |
S110 | d4c | S110-102B | 0xFF3CD0 | 0x934610 |
S110 | d4c | S110-103A | 0xFF3CD0 | 0x9345F8 |
SD4000 | d4a | SD4000-100D | 0x7E366C | 0x405130 |
SX210 | d4a | SX210-100C | 0x7E3570 | 0x41522C |
SX30 | d4b | SX30-100H | 0x7E3680 |
0x475204 |
SX40 | d4c | SX40-100F | 0xFF3B48 | 0x61A4FC |
SX50 | d4c | SX50-100C | 0xFF3C7C | 0x71CA90 |
SX220 | d4c | SX220-100A | 0xFF3610 |
0x49B4CC |
SX230 | d4c | SX230-100C | 0xFF3610 |
0x4A6674 |
SX510HS | d4e | SX510HS-101A | 0xFF39BC |
0x68A0E4 |
IXUS500 / ELPH520 | d4c | ELPH520-101a | 0xFF3CE0 |
0x629F2C |
ELPH140 | d4f | IXUS150_ELPH140-100c | 0x2744 | 0x492B74 |
IXUS160 | d4g | IXUS160_ELPH160-100a | 0x296C |
0x4BE1AC |
SX530HS | d4h | SX530-100c | 0x44A4 |
0x81876C |