Loading Firmware onto G11 - Beyond CHDK - General Help and Assistance on using CHDK stable releases - CHDK Forum  

Loading Firmware onto G11 - Beyond CHDK

  • 7 Replies
  • 3055 Views
Loading Firmware onto G11 - Beyond CHDK
« on: 29 / December / 2010, 20:20:44 »
Advertisements
Greetings all.

Does anyone know how to load firmware onto a G11 which apparently does not have ANY firmware on it.

I have happily been using CHDK on a G11 for about a year now.  Unfortunately, I damaged my G11 recently. I broke the main PCB board by dropping the camera.  I have taken the entire camera apart, ordered a new PCB board, installed the new board and..... it's clear that the board has NO firmware on it at all. When I boot the camera, only the light next to the viewfinder lights up. The camera doesn't boot, the lens doesn't deploy, nothing ever appears on the screen.

But, when I put the old PCB back in the camera, it boots fine: The lens deploys, I see an on screen display, I can even take pictures...but only if I hold the cracked PCB in JUST the right position.  So I'm pretty convinced that nothing else major is wrong with the camera: I just need to use the new PCB.

I just need to somehow load new firmware into the camera.

Does ANYONE here know how to do this?  Clearly there are firmware downloads available here through CHDK. But, to load these into the G11 when the G11 does not display any on-screen information is eluding me.   How can I get the camera to load firmware onto it's main board?  There must be some method to do so via the card or USB.  

ANY information would be MOST appreciated!!!

Thank you.
« Last Edit: 29 / December / 2010, 20:22:39 by vanceg »

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: Loading Firmware onto G11 - Beyond CHDK
« Reply #1 on: 29 / December / 2010, 23:14:22 »
Does anyone know how to load firmware onto a G11 which apparently does not have ANY firmware on it.
Probably only Canon Support can do this.

I have taken the entire camera apart, ordered a new PCB board, installed the new board and..... it's clear that the board has NO firmware on it at all. When I boot the camera, only the light next to the viewfinder lights up. The camera doesn't boot, the lens doesn't deploy, nothing ever appears on the screen.
Odd. Did you carefully checked all connections? Are you shure the "new" PCB is the same as your old PCB?
Otherwise i suspect the "new" PCB is broken (ether Hardware failture or damaged ROM). It's reather unlikely somebody deleted the ROM (on purpose) before selling it.

I just need to somehow load new firmware into the camera.
If there is a useable JTAG Port at the PCB and with a right Tools and Knowledge is might be possible, but AFAIK nobody tried simular.
« Last Edit: 29 / December / 2010, 23:18:38 by pixeldoc2000 »

*

Online reyalp

  • ******
  • 11923
Re: Loading Firmware onto G11 - Beyond CHDK
« Reply #2 on: 29 / December / 2010, 23:33:18 »
I have happily been using CHDK on a G11 for about a year now.  Unfortunately, I damaged my G11 recently. I broke the main PCB board by dropping the camera.  I have taken the entire camera apart, ordered a new PCB board, installed the new board and..... it's clear that the board has NO firmware on it at all. When I boot the camera, only the light next to the viewfinder lights up. The camera doesn't boot, the lens doesn't deploy, nothing ever appears on the screen.
It could be in factory mode. See my factory mode saga here:
http://chdk.setepontos.com/index.php?topic=4417.msg45035#msg45035

If it is, then you can use modified CHDK code to get out of factory mode.

If it is in factory mode, it should be detected on USB as an unrecognized device, probably with the numbers mentioned in the thread I linked.

The LEDs are turned on in software, so I think it is highly likely your new PCB is in factory mode, or is booting but has some other defect.
Quote
But, when I put the old PCB back in the camera, it boots fine: The lens deploys, I see an on screen display, I can even take pictures...but only if I hold the cracked PCB in JUST the right position.  So I'm pretty convinced that nothing else major is wrong with the camera: I just need to use the new PCB.
How about epoxy to hold it in just the right position ?

Quote
Does ANYONE here know how to do this?  Clearly there are firmware downloads available here through CHDK. But, to load these into the G11 when the G11 does not display any on-screen information is eluding me.   How can I get the camera to load firmware onto it's main board?  There must be some method to do so via the card or USB. 
If the main firmware is missing, there is a bootloader that is also in flash ROM. This should load DISKBOOT.BIN if the main ROM is missing. There is also a reference to "UART switch" which can trigger loading diskboot, but it's not clear to me how you trigger this.

If the bootloader is gone, then the PCB is dead and almost certainly cannot be recovered. Maybe with JTAG

If the bootloader is working, you could potentially write a diskboot that flashes a new firmware... but chances of getting this right on the first try are low, and if you screw up it may be impossible to try again.

One final warning: Canon service would re-calibrate the camera and store camera specific settings in the onboard flash after changing the main PCB. It's unlikely you will be able to do this without access to their manuals and software.
Don't forget what the H stands for.

Re: Loading Firmware onto G11 - Beyond CHDK
« Reply #3 on: 30 / December / 2010, 16:56:21 »
Thank you. I did buy this board directly from Canon.  I've now talked to their factory techs and they say "Oh, yeah, none of those boards ship with firmware on them. They won't boot, or they will boot into a Factory Mode.  You need our software to load the firmware onto the board. Send it in to us and have it 'repaired'.

But I'd rather not pay for that at this point. Might as well go buy a G12.

But I'm going to follow the thread about getting out of Factory mode and see if I can make that work.

Thanks to all!

Does anyone know how to load firmware onto a G11 which apparently does not have ANY firmware on it.
Probably only Canon Support can do this.

I have taken the entire camera apart, ordered a new PCB board, installed the new board and..... it's clear that the board has NO firmware on it at all. When I boot the camera, only the light next to the viewfinder lights up. The camera doesn't boot, the lens doesn't deploy, nothing ever appears on the screen.
Odd. Did you carefully checked all connections? Are you shure the "new" PCB is the same as your old PCB?
Otherwise i suspect the "new" PCB is broken (ether Hardware failture or damaged ROM). It's reather unlikely somebody deleted the ROM (on purpose) before selling it.

I just need to somehow load new firmware into the camera.
If there is a useable JTAG Port at the PCB and with a right Tools and Knowledge is might be possible, but AFAIK nobody tried simular.


Re: Loading Firmware onto G11 - Beyond CHDK
« Reply #4 on: 30 / December / 2010, 22:38:13 »
Well, I can see that it's VERY likely that my camera is in Factory mode, and I can see that apparently it's possible to get it out of Factory Mode using a modified set of the CHDK code.  And I can see that I need to include the ()Clear Factory Mode command.

But I have little to no idea where or how to do this. I'm great at following instructions, and can SLOWLY figure out many of these hacks by reading through the copious documentation, but I'm not really well versed at it.

If anyone has a helping hand they can lend on how to get a G11 out of factory mode, I would be MOST appreciative of even semi-step-by-step instructions.

(Yes, I did look at the other thread referenced here...but didn't find any further links to bring me to information on where to put the Clear Factory Mode command or how to get the system running after that.)

Not a hacker - Not a standard consumer...somewhere in between....thats me....

*

Online reyalp

  • ******
  • 11923
Re: Loading Firmware onto G11 - Beyond CHDK
« Reply #5 on: 30 / December / 2010, 22:39:31 »
Hi Vance. I got your PM, but figured I might as well reply to everything hiere.
I did buy this board directly from Canon.
Do you mind sharing how you bought it (what part of Canon you contacted, if you have to be a camera dealer or something), and what you paid ? I wouldn't have expected them to sell a bare board to anyone but their service reps, and I'm sure some of the community would be interested.

Do you have the option of returning it ? If you just want a camera, not a hacking adventure, I'd suggest returning it for a refund and getting a G12. If you do want a hacking adventure, read on...

Regarding clearing factory mode:
It should be quite easy. All I had to do was call the Even procedure called ClearFactoryMode().  To do this, you will need
- CHDK bootable SD card, as described in http://chdk.wikia.com/wiki/Bootable_SD_card
- A custom build of CHDK hard coded to call this eventproc somewhere in startup (you could technically do this with lua, but you'd need to build a custom CHDK to do that anyway) I would suggest simply finding the event proc address, and calling it directly from CreateTask_spytask. I don't remember exactly where I called it when I recovered my cam, but I think it was near the start of spytask somewhere. Whims gui may help you make a build http://chdk.setepontos.com/index.php?topic=845.0
- This leads to another problem: there are several known G11 firmwares, which need different CHDK builds. You could try them all, or do some LED debugging to figure out which it is.

Note that my camera was a Digic II/VxWorks camera so there is definitely no guarantee yours will be the same. However, the same eventproc still exists in new cameras.

If you don't have the programming ability to do the above, or would like some tips one on the code, some folks here might be willing to help you. I'm frequently in the IRC channel (#CHDK on freenode) in the evenings US Pacific time.

There are some things you should consider:
- Is your camera in factory mode, or is it a blank ROM with just a bootloader ? My guess is if there is only the boot loader, it will NOT show up on USB, while in factory mode it should show up with DCP Connect. If it is in blank ROM, your chances of getting a working camera are much lower, but some experiments on a camera in this sate could be very valuable to the CHDK community. It may be possible to load firmware code from a firmware dump, but this will take some serious hacking, and have a high chance of completely bricking the board. Doing the procedure to clear factory mode on a camera in this state will probably do no harm, it should crash very early in the boot process.

- If your camera is in factory mode and you manage to clear it, your problems aren't necessarily over. As I mentioned before, there is some factory configuration required if you replace major components. Replacing the board means ALL adjustments have to be performed, unless you figure out how to transfer them from the old cameras ROM. Each camera has an "adjustment table" stored in ROM, and that should be set for your specific camera. You will probably not be able to do this without Canon service software and some additional hardware, and the camera may not work at all without it, or may perform poorly. If you can find a factory service manual for a digic II or later camera (google), you can get an idea of whats involved. Pre-digic II manuals are easy to find, but not applicable.

Some people have done board transplants successfully without this adjustment, but a board that had never been initialized might be different, even if it has the ROM code on it.
« Last Edit: 30 / December / 2010, 22:41:47 by reyalp »
Don't forget what the H stands for.

Re: Loading Firmware onto G11 - Beyond CHDK
« Reply #6 on: 30 / December / 2010, 22:54:51 »
Hi Vance. I got your PM, but figured I might as well reply to everything hiere.
I did buy this board directly from Canon.
Do you mind sharing how you bought it (what part of Canon you contacted, if you have to be a camera dealer or something), and what you paid ? I wouldn't have expected them to sell a bare board to anyone but their service reps, and I'm sure some of the community would be interested.

Do you have the option of returning it ? If you just want a camera, not a hacking adventure, I'd suggest returning it for a refund and getting a G12. If you do want a hacking adventure, read on...


I simply called Canon Parts USA and said I wanted to buy the main PCB board for a G11.  They asked the part numbmer, I read it off the part I had removed (clearly damaged in the camera). They quoted me $93. I gave them a CC number. The board showed up at my door. 

Just disassembling the camera wasn't all that hard. I do the same sort of thing with audio equipment all the time...but with the audio gear...I typically don't have to worry about the entire programming side of things.  I'm not a programmer at all (other than object oriented visual programming for audio and video systems...very basic stuff).  My hope had been that simply finding out what I broke when I dropped the camera and replacing it would do the trick.  But it sounds from your description that there is a lot more that I might have to deal with to get this camera back up and running. I'm especially concerned about the adjustment table. 

I think what I will do is keep the new board in the camera, reassemble it, and send it to Canon repair who have a flat labor charge of $149.  Hopefully they can get it up and running.  I cannot return the board, but if Canon repairs it, they would need to charge me for a new board anyway....so I figure I'm not out all that much for the part.

I love a good DIY project, but I have about 30 here at the house which could end up advancing my personal work and my new business...whereas this camera project was just to save a few bucks and learn a thing or two.  Looks like THAT didn't work out as planned: I learned there's more to it than I want to deal with.

I may still eventually get a G12, but not till CHDK runs on it!  I gotta have my intervalometer!

Thank you VERY much for your help in all of this.








Regarding clearing factory mode:
It should be quite easy. All I had to do was call the Even procedure called ClearFactoryMode().  To do this, you will need
- CHDK bootable SD card, as described in http://chdk.wikia.com/wiki/Bootable_SD_card
- A custom build of CHDK hard coded to call this eventproc somewhere in startup (you could technically do this with lua, but you'd need to build a custom CHDK to do that anyway) I would suggest simply finding the event proc address, and calling it directly from CreateTask_spytask. I don't remember exactly where I called it when I recovered my cam, but I think it was near the start of spytask somewhere. Whims gui may help you make a build http://chdk.setepontos.com/index.php?topic=845.0
- This leads to another problem: there are several known G11 firmwares, which need different CHDK builds. You could try them all, or do some LED debugging to figure out which it is.

Note that my camera was a Digic II/VxWorks camera so there is definitely no guarantee yours will be the same. However, the same eventproc still exists in new cameras.

If you don't have the programming ability to do the above, or would like some tips one on the code, some folks here might be willing to help you. I'm frequently in the IRC channel (#CHDK on freenode) in the evenings US Pacific time.

There are some things you should consider:
- Is your camera in factory mode, or is it a blank ROM with just a bootloader ? My guess is if there is only the boot loader, it will NOT show up on USB, while in factory mode it should show up with DCP Connect. If it is in blank ROM, your chances of getting a working camera are much lower, but some experiments on a camera in this sate could be very valuable to the CHDK community. It may be possible to load firmware code from a firmware dump, but this will take some serious hacking, and have a high chance of completely bricking the board. Doing the procedure to clear factory mode on a camera in this state will probably do no harm, it should crash very early in the boot process.

- If your camera is in factory mode and you manage to clear it, your problems aren't necessarily over. As I mentioned before, there is some factory configuration required if you replace major components. Replacing the board means ALL adjustments have to be performed, unless you figure out how to transfer them from the old cameras ROM. Each camera has an "adjustment table" stored in ROM, and that should be set for your specific camera. You will probably not be able to do this without Canon service software and some additional hardware, and the camera may not work at all without it, or may perform poorly. If you can find a factory service manual for a digic II or later camera (google), you can get an idea of whats involved. Pre-digic II manuals are easy to find, but not applicable.

Some people have done board transplants successfully without this adjustment, but a board that had never been initialized might be different, even if it has the ROM code on it.

[/quote]

*

Online reyalp

  • ******
  • 11923
Re: Loading Firmware onto G11 - Beyond CHDK
« Reply #7 on: 30 / December / 2010, 23:12:11 »
But it sounds from your description that there is a lot more that I might have to deal with to get this camera back up and running. I'm especially concerned about the adjustment table. 
If you are interested, I can make some builds that call ClearFactoryMode for the various g11 versions. If you are sending it to Canon anyway, it probably won't make things any worse (no guarantee though!)
Don't forget what the H stands for.


 

Related Topics