First 7D alpha released!

Installation

(1)
Update camera firmware to 2.0.3

(2)
Format your CF card from the camera

(3)
Extract contents of ML .zip into your card's root folder

(4)
Run "firmware upgrade" once again

(5)
Voilà. Magic Lantern. (press DELETE for menu)

Finally, the first Magic Lantern release for the 7D is here!

It is still an early alpha version, so here are a few things you should know:

  • it was primarily tested on one 7D, and a few days on three other 7D's;
  • during those tests we took 1000 photos and gigabytes of videos;
  • there were no crashes or strange behaviors during our tests;
  • this release will not alter any data in your camera's permanent memory;
  • this release will not directly alter any so-called "properties" (persistent camera settings);
  • this means, some functions like HDR photos, HDR videos, bulb ramping etc will not work yet;
  • it is not a firmware upgrade, despite the camera saying "Firmware update program";
  • we have disabled all features that are not yet working perfectly;
  • please don't beg for adding feature XYZ, it will be added as soon as it works without issues.

But:
  • If anything goes wrong, we don't pay for repairs. Use Magic Lantern at your own risk!

Key Features:
  • Audio meters while recording
  • Zebras
  • Focus peaking
  • Magic Zooom (via half-shutter, or focus ring)
  • Cropmarks, Ghost image
  • Spotmeter
  • False color
  • Histogram, Waveform
  • Vectorscope
  • Movie logging
  • Movie auto stop
  • Trap focus
  • LiveView settings (brightness, contrast...)
  • Level indicator
  • Image review tweaks (quick zoom)
  • and a lot more

Known issues:
  • When using trap focus, opening card door won't shut down the camera. Simply power off using power switch.
  • Formatting the card will also remove Magic Lantern files.
  • You have to reload Magic Lantern every time you use it.

Technical Details

Why did it take so long to get Magic Lantern running on the 7D?

This is a long story. The workings of single-DIGiC cameras are already well understood. We know how to forge FIRs and we can execute code using this method. Our code gets executed without any interruption to the cameras proper function, we can hook into startup code and simply restart the camera or update the bootflag needed for execution of autoexec.bin. Same applies to autoexec.bin if the bootflag is enabled.

But not so on the Dual-DIGiC 7D cameras.

One DIGiC is called "Master" and the other "Slave." All ML related stuff like GUI, LV etc is running in Slave. The Master cares about focusing, lens communication and some other related technical stuff. So there are two processors that both load the (forged) firmware update program which contains Magic Lantern. But we could not simply reboot the Slave into normal firmware while the firmware update loader is executed. With some tricks like patching the original firmware updater, it was possible to enable the bootflag for autoexec.bin. But even running Magic Lantern in autoexec.bin failed silently. This was the point where our first investigation started stuttering.

After some deeper investigation with new methods like - lets call it "virtual flash patching" by manually patching the processors cache content - we found out that the Master is still running and waits for the Slave to send synchronization signals. If they don't arrive, Master is disabling the Slave where our code runs. Henceforward it was a job of just two weeks to find out what to do and make Magic Lantern start up cleanly and then another two weeks for updating all defines, macros and constants to get the important features running smoothly.

This alpha is a snapshot of what is working reliably enough to begin testing it widely.

Who was involved in developing Magic Lantern for the 7D?

Definitely everyone! As all the features in Magic Lantern came from the many developers contributing to ML.

Although, beyond the usual suspects, there are two key players for the 7D port: Hudson and Indy. They spent an extraordinary amount of time getting the bootflag enabled and building .FIRs that would run perfectly. Without their hard work, there would definitely be no 7D version.

What is still missing?

We can run Magic Lantern from autoexec.bin, but we still can not reliably enable the bootflag to execute it. This means, virgin cameras will only be able to run the .FIR version of ML for now. We know ways to enable the bootflag, but they would involve copyright issues. And that's something we want to avoid.

Also missing is the FPS override feature. We are not sure if this will be possible as it has been in other models.

All HDR features, bulb ramping, and features that require "properties" could possibly work as soon we enable them. For now we will keep the risk at a minimum and slowly test feature after feature - your feedback is important at this stage.


Troubleshooting

After starting the firmware upgrade, if there is only a black screen, but auto-focus works:

  • reinstall the firmware v2.0.3 from the links on the right;
  • make sure the 7D000203.FIR checksum is correct.
  • 7D000203.FIR checksum
    SHA-1: 613439A489A46D2691FB54F0DB22232F17E2AA8E
    MD-5: 29AF55CF2B404D2A60220BC9CC579EFD
    WinMD5: www.winmd5.com

The camera shows no magic lantern, but a standard firmware

  • reinstall firmware again, format card and copy ML files again.

What is next?

We have to better understand what Master and Slave are doing exactly. Which one processes MPEG data, which one compresses JPEGs and what could Magic Lantern achieve by understanding this relationship? As the lens communication seems to be handled by the Master – maybe we can change the lens protocol so you can use lenses that have known bugs, or even lenses with a totally different protocol? Maybe we can read the level sensor at higher rates and embed that data into images for automatic leveling? Or even embed into videos?

But first we have to analyze the firmware. And for this we would love to buy a copy of IDA Pro with Hex-Rays Decompiler for ARM for our developers, and we cannot afford it easily without your help.

We gave our best, our time, and considerable knowledge. So please be kind and support our work!

Thanks to your help, we have covered all our funding needs for now. Please consider donating to EFF for us, they do a great work in defending your digital rights, including the right to run third party software on your own devices!

Magic Lantern is a community effort, and you are now part of that community!

(first 10 replies)
Re: First 7D alpha released! -- RenatoPhoto
Friday, 12 October 2012 20:39
Congratulations and thank youuuuu!!!  ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D
Re: First 7D alpha released! -- Stedda
Friday, 12 October 2012 20:41
Congrats to all involved and thanks for you huge efforts!
Re: First 7D alpha released! -- JoeNoPhoto
Friday, 12 October 2012 20:44
wow. talk about timing. I just donated today! Thanks. Can't wait to give this jawn a try!
Re: First 7D alpha released! -- exe
Friday, 12 October 2012 20:46
Awesome work!!! It's prople like you that make a difference in the world and make it a better place! Congrats!!!!!!!!! :):):) you made a lot of people happy!
Re: First 7D alpha released! -- ArturoKiwi
Friday, 12 October 2012 20:47
Yuppie! Congratulations and thanks a lot! :)
Re: First 7D alpha released! -- Stedda
Friday, 12 October 2012 20:50
Works like a charm... no issues here.

Will be using my camera all day tomorrow... will report back if any thing funny happens.

Time to make another donation... pony up people... lets get these guys what they need to make these Canon cameras even better!
Re: First 7D alpha released! -- Papa schulz
Friday, 12 October 2012 20:50
THX IS WORK ^^ :)
Re: First 7D alpha released! -- ilguercio
Friday, 12 October 2012 20:55
Nice job guys.
As for those prices... damn, i didn't know they were so high.
So let's say you get all this stuff, how much can it improve ML? Is that like the last 10% to discover all the good stuff that mother Canon doesn't want us to have?
I hope for more donations anyway, this porting and the upcoming ones should bring some money to your cause.
;)
Re: First 7D alpha released! -- g3gg0
Friday, 12 October 2012 20:59
Quote:

So let's say you get all this stuff, how much can it improve ML? Is that like the last 10% to discover all the good stuff that mother Canon doesn't want us to have?


well, it helps us to make our reverse engineering work easier.
there were days where i sat 10 hours in front of the computer, so many of the devs do.

this tool might reduce the time we need to analyze code by factor 2 or more.
Re: First 7D alpha released! -- exe
Friday, 12 October 2012 21:01
Is it possible for the 7d to brick if I use another phottix battery instead of the original canon one? Thank you so much waiting for a reply!