Looking to dump SX30 IS firmware. Who can help?! - Firmware Dumping - CHDK Forum

Looking to dump SX30 IS firmware. Who can help?!

  • 32 Replies
  • 15246 Views
Looking to dump SX30 IS firmware. Who can help?!
« on: 04 / November / 2010, 20:30:48 »
Advertisements
I will read the info here on the forums regarding the firmware dumping procedures, but wanted to see if there would be someone available to assist afterward.

Thanks,
Keith

Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #1 on: 05 / November / 2010, 13:01:48 »
hi heres what ive found.
there are quite simple and much more sophisticated methods, it seems:
http://chdk.wikia.com/wiki/Porting_the_CHDK#Q._How_can_I_get_a_firmware_dump.3F

*

Offline reyalp

  • ******
  • 13454
Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #2 on: 05 / November / 2010, 16:57:09 »
I strongly suggest trying the canon basic method first.

As for "someone available to assist afterward" it's not clear what is being asked for. If you mean "do the port" that generally requires a developer who has that particular camera and the requisite time and skill set. This is a non-trivial task, and if there is such a developer, then they can get the dump themselves.

If you are a developer, there are certainly people who will be willing to provide advice and assistance, but as the person with the camera, most of the work will be up to you. http://chdk.wikia.com/wiki/Adding_support_for_a_new_camera has a good overview of what needs to be done.
Don't forget what the H stands for.

Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #3 on: 06 / November / 2010, 22:56:34 »
Thanks for the responses guys.  I guess I am not the right person to be doing the work.  I certainly don't have the experience with Basic to successfully perform the port for this camera.  I did try the Canon Basic method as best I could, but again, I don't have the programming experience to be able to set my SD card up with the Basic script in order to perform the dump.  I also tried the Card Tricks version in both NewDryOS and DryOS mode to get the camera to dump to the "empty" file, but for what ever reason nothing happened.

Would anyone be able to setup a .zip file with the proper scripts and files for an SD card in order to perform the dump?  By the way, wouldn't the port for the Canon SX20 IS be relatively similar to the one needed for the SX30 IS considering they use the same DIGIC IV processor and DryOS, etc?  Maybe I don't understand enough about the process.  Thanks again guys!
« Last Edit: 06 / November / 2010, 23:01:06 by kandrews »


*

Offline reyalp

  • ******
  • 13454
Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #4 on: 07 / November / 2010, 00:32:47 »
cardtricks + udumper will definitely not work, there is no point in trying it. The canon basic dumper http://chdk.wikia.com/wiki/Canon_Basic/Scripts/Dumper is the only method that might work out of the box.
Quote
Would anyone be able to setup a .zip file with the proper scripts and files for an SD card in order to perform the dump?
No, preparing a canon script disk requires the steps described at http://chdk.wikia.com/wiki/Canon_Basic/Card_Setup
Modifying the boot sector cannot be done by just placing files on the card.
Quote
By the way, wouldn't the port for the Canon SX20 IS be relatively similar to the one needed for the SX30 IS considering they use the same DIGIC IV processor and DryOS, etc? 
It would be a similar amount of effort to any other port.  I'm 50-60 hours of actual working time into the D10 port.
Don't forget what the H stands for.

Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #5 on: 13 / November / 2010, 09:05:33 »
someone just posted a firmware dump: http://chdk.wikia.com/wiki/SX30#Firmware_dumps

now some talented people have to have some time :=)


regards

*

Offline philmoz

  • *****
  • 3332
    • Photos
Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #6 on: 21 / November / 2010, 00:19:11 »
New to this; but I have a fair amount of programming experience and am keen to see if I can help port CHDK to SX30.
I've used the script dumper to extract the firmware from my SX30 and loaded it into IDA.
Copied the SX20 platform code, updated the platform id, and added stubs for the missing functions.
Updated GUI.c and KBD.c to fix compile errors (assuming it's the same as SX20 stuff for now).
So I can compile and build CHDK.

The I added LED blink code to loader/sx30/main.c; but all I get is a frozen camera with no blinking LED's. Tried using the same LED address as SX20 and also code that tries all addresses from 0xC0220060 to 0xC02200FF; but no blinking.

Camera freezes if I power on using either the dedicated play button or the main on/off button.

Not sure if I'm just missing the right LED address or if it's completely hanging and not even getting to the loader code.

Any suggestions as to what to try next?

Regards,
Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline reyalp

  • ******
  • 13454
Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #7 on: 21 / November / 2010, 00:35:09 »
The I added LED blink code to loader/sx30/main.c; but all I get is a frozen camera with no blinking LED's. Tried using the same LED address as SX20 and also code that tries all addresses from 0xC0220060 to 0xC02200FF; but no blinking.

Camera freezes if I power on using either the dedicated play button or the main on/off button.

Not sure if I'm just missing the right LED address or if it's completely hanging and not even getting to the loader code.

Any suggestions as to what to try next?

Regards,
Phil.
Welcome. Sounds like you aren't encoding the diskboot with the right dancingbits flavor.  The camera will try to boot an invalid encoding, meaning it will crash before any of your code is run.

Based on fact sx30 is a dryos r45 camera, I'd suggest changing NEED_ENCODED_DISKBOOT to 5 in makefile.inc

If you want to blink an LED as early as possible in the boot sequence, you can use the commented out code in loader/d10/entry.S as an example.
Don't forget what the H stands for.


*

Offline philmoz

  • *****
  • 3332
    • Photos
Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #8 on: 21 / November / 2010, 02:29:34 »
Based on fact sx30 is a dryos r45 camera, I'd suggest changing NEED_ENCODED_DISKBOOT to 5 in makefile.inc

If you want to blink an LED as early as possible in the boot sequence, you can use the commented out code in loader/d10/entry.S as an example.
Thanks for quick reply.
I tried changing the NEED_ENCODED_DISKBOOT to 5 but got the same result.
Also tried the D10 blink code; but no luck there either.
Could the SX30 be using a different encoding again (the strings in the firmware say it is dryos 2.3 release #0045). If so where would I need to look in the firmware to work out what is should be.
Or, more likely, I am just missing something in the process of creating the image.
Forgot to mention previously that I also added a section to camera.h for the SX30, I just copied the SX20 section without changing any values - are any of the values in this likely to affect the image build / boot (sorry if my terminology is wrong, still getting my head around the whole project).
Regards,
Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline reyalp

  • ******
  • 13454
Re: Looking to dump SX30 IS firmware. Who can help?!
« Reply #9 on: 21 / November / 2010, 02:52:03 »
I tried changing the NEED_ENCODED_DISKBOOT to 5 but got the same result.
Also tried the D10 blink code; but no luck there either.
I guess you probably know this, but you would need anLED address valid for your camera in
   LDR     R3, =0xC0220130

Quote
Could the SX30 be using a different encoding again (the strings in the firmware say it is dryos 2.3 release #0045). If so where would I need to look in the firmware to work out what is should be.
It's possible. The function that does the decoding can be found near a reference to the string "not executable". References to "A/DISKBOOT.BIN" and "StartDiskboot" should be earlier in the same function.

Comparison to known cameras should help you find it.
Quote
Forgot to mention previously that I also added a section to camera.h for the SX30, I just copied the SX20 section without changing any values - are any of the values in this likely to affect the image build / boot (sorry if my terminology is wrong, still getting my head around the whole project).
If you can't turn on an LED in loader, none of the main CHDK code matters.

edit:
dacingbits 5 looks correct to me, @FFC31330 in sx30 100h dump.
« Last Edit: 21 / November / 2010, 02:59:24 by reyalp »
Don't forget what the H stands for.

 

Related Topics