During development of my AFMAC software, I occasionally caused an “Err 70″ message to appear on my 7D (it never happened with the 5Dmk2). Switching the camera off and then on again solved the problem, until one time when every time I powered the camera up, it just showed the dreaded error screen.
I tried a whole series of things to get my camera working again:
All of these ended up with the same results. When you power up the camera, the top LCD shows a flash of valid values, then just says “Err 70″, and the first thing you see on the back screen is the “Err 70″ screen.
At this point, I tried to contact Canon, but as expected they were useless. I tried both Canon directly, and some of their service agents, and I was always met with the same response of the camera will have to be sent in. I dug out my Canon CPS pack and filled out the form ready, but I wasn’t finished trying yet. As my camera was out of warranty, I knew it was going to cost to “repair” it and I was going to try my best to get it done myself.
The only information generally available on the internet is the official Canon notes on how to recover from an Err 70 (see here for the original – it’s for the 600D but I couldn’t find the same information for the 7D, and it applies to all EOS cameras):
|Shooting is not possible due to an error. Turn the camera off and on again.||
-Turn the power switch to < ON > to turn on the power again.
-Remove and re-install the battery.
-Use a Canon lens.
-If the instructions above do not solve the problem, please contact your nearest Canon Service Center. (*1)
I’d already tried all this, and hadn’t managed to get it to work.
After a bit more playing around, I found out that in the C1/C2/C3 mode, the camera seemed to work as normal. I could take pictures, change settings etc. However, you’re restricted in these modes to not being able to use some of the menu options of the camera – including things like “Clear Camera Settings”. But, it started to give me an idea of what was going wrong.
The answer came when a guy called Dennis posted some information on the POTN forum post about my software, as a few other people had been having the same Err 70 problem…
What I’m posting below is a method which gets the camera working again in most situations. It may need some steps done in a different order, or to be repeated etc, but playing with this set of operations gets it up and running again:
It turns out with the Canon SDK that you can tell the camera to do pretty much anything – whether it’s legal or not. For instance, you can tell it to choose an image quality mode that it doesn’t support (for example a legacy mode that was supported by cameras like the 10D but is not recognised by the 7D).
If this happens, the camera will happily accept the setting and store it in it’s internal memory. When you try to take a picture, it applies the settings from it’s internal memory, which (most likely) causes an internal exception and throws the Error 70.
If the information is written directly to non-volatile storage (i.e. storage that persists even if you remove power), then you have a problem. Taking the battery out will NOT solve the Error 70, as it’s remembered.
So why does the C1/C2/C3 mode work? Well (and this is hypothesis) – the C1/C2/C3 modes allow you to register the current state of the camera so you can quickly restore a bunch of settings. For instance, you could set C1 up with settings for fast moving telephoto work, and C2 up for closer, slow moving lower light work and quickly switch between them. The fact that the C1/C2/C3 modes store the camera settings is critical here – it implies that they duplicate the parameter structures from the “main” settings memory.
My guess is that when you corrupt the “main” settings parameters, this applies to all modes except the C1/C2/C3 modes – so you lose Auto, P, Av, Tv, M etc. And by powering off the camera in C1/C2/C3 mode and powering up again in CA mode, you seem to restore the main parameter memory – maybe with a copy from the last settings (i.e. the valid C1/C2/C3 settings).
If you send your camera to Canon, what happens?
Well, this annoys me immensely. They switch you camera and see “Err 70″. They take your camera apart, pull out the WHOLE of the main board (which contains the non-volatile storage chip, along with the one or two Digic processors, SDRAM, power supply etc…) and put another one in. Then they send you a bill for a few hundred pounds.
Because it’s easy. It takes them half an hour to do this, whereas trying to diagnose the cause of the “Err 70″ message could potentially take longer. And as you’re paying for it, why do they want to take longer than they need?
I’ve been developing embedded software for the last 20 years, and in almost ALL cases I add features to reset the storage memory in case of corruption or problems like this. Hopefully you never use it, but when you need it, it’s the most useful thing ever! Feel free to ask Canon why they don’t do this…