Magic Lantern Forum

Developing Magic Lantern => General Development => Topic started by: Indy on July 15, 2012, 05:57:15 PM

Title: [SOLVED] 7D problem: how to hijack execution for ML ?
Post by: Indy on July 15, 2012, 05:57:15 PM
Hi,

It seems there currently interest about how to progress on the 7D side. Here is a status below.

Why ML is not running yet on this camera ?
http://magiclantern.wikia.com/wiki/7D_support
Because it is dual digic with dual Dryos Instances.
http://magiclantern.wikia.com/wiki/7D_internals
http://magiclantern.wikia.com/wiki/7d_intercom
No one achieved in hijacking execution like Trammel did with the 5Dm2 and the 550D:
http://magiclantern.wikia.com/wiki/DryOS_boot_process
http://magiclantern.wikia.com/wiki/5d-hack
http://magiclantern.wikia.com/wiki/Autoexec

Existing bootcode is described here by G3gg0
http://magiclantern.wikia.com/wiki/Boot_procedure
but the 7D bootcode is different, at least by doing intercom between the 2 Digics (ARM  + Canon image processing)
See FFFF5F18 ipc_read_interr, for example.

If someone can understand how the 2 DryOs instances are launched (Master at 0xFF810000 and Slave at 0xFF010000) by the bootcode (0xFFFF0000), it could be the good track to follow to discover how to hijack execution for ML...

We are able to patch the Canon slave updater to create a dumper,
https://groups.google.com/forum/?fromgroups#!topic/ml-devel/ljZ4Ko8lu30
blick the drive led
http://magiclantern.wikia.com/wiki/7D_internals#LED
and enable the bootflag.

Please read -carefully- the Wiki pages above before asking questions.

If someone can offer a 7D (even broken but software layer is OK) during several weeks, it can -really- help ML team!

And yes, I failed in solving this problem, so I give the token to more clever / experimented people. I'll help him / her...

I can not attach files to this post :-(

Indy
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: a1ex on July 15, 2012, 08:45:28 PM
My vote goes to G3gg0.

Indy's experiments on 7D were uploaded here: https://bitbucket.org/hudson/magic-lantern/changeset/c8e7044e7b05
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: 3pointedit on July 16, 2012, 01:46:43 AM
There should be plenty of offers to supply cameras, I even saw one being burned on DigitalRevTV recently. They seem to be discarded by 5DIII owners.

Good luck!
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: haeki on July 19, 2012, 10:29:49 PM
Will there come any new chance with the new firmware in august, or is it a problem which is not connected with the firmware?
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: g3gg0 on July 20, 2012, 12:57:44 AM
its not related to the firmware.
its the general problem about how to hijack the original firmware to execute ML.
also not clear: how to make ML run on both digics - and if this is really necessary.

my first task is to execute code on 7D and dynamically patch code in camera.
next is injecting own tasks into the system.

thats enough for the first few weeks :)
but we havy only one camera. ML developers share one body over some continents
thats the main problem.

if anyone can help us out, he would be our hero!
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: Harsher on July 21, 2012, 04:17:02 PM
Well, to answer the question of "how making ML run on both digic?",
I am wondering how work the original firmware at first?
Is one of both digic the main one and the other one a suppleant?
I think I will read more what is in the first post there, but does the behavior
of original firmware not give indications about that?
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: sibero80 on August 02, 2012, 10:54:26 PM
Ideally speaking.. other than inside information and documentation from canon (which is highly unlikely), what tools/resoruces would be needed to successfully reverse engeneer the 7D?

- At least how many 7D bodies to tear appart/brick?
- Special software/equipment?
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: tferradans on August 07, 2012, 02:48:01 PM
You probably know this by now, but, the new firmware has just been released!
Does this affect current ML development for the 7D?
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: ArturoKiwi on August 08, 2012, 10:34:03 AM
@ tferradans
g3gg0 jsut reply to a similar question:

Quote from: g3gg0 on July 20, 2012, 12:57:44 AM
its not related to the firmware.
its the general problem about how to hijack the original firmware to execute ML.
also not clear: how to make ML run on both digics - and if this is really necessary.

my first task is to execute code on 7D and dynamically patch code in camera.
next is injecting own tasks into the system.

thats enough for the first few weeks :)
but we havy only one camera. ML developers share one body over some continents
thats the main problem.

if anyone can help us out, he would be our hero!

What I didn't understand is if you need a body to dismantle or only a borrow to make some test.
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: g3gg0 on August 08, 2012, 12:37:45 PM
the only thing i will open is the card slot to swap CF card and the battery slot if the camera locks up ;)
both will be done a few hundred times i guess.

my SD card reader slot in my PC is already defective due to plugging/unplugging the card too often :)

Title: Re: 7D problem: how to hijack execution for ML ?
Post by: jplxpto on August 10, 2012, 04:21:18 PM
Quote from: g3gg0 on August 08, 2012, 12:37:45 PM
the only thing i will open is the card slot to swap CF card and the battery slot if the camera locks up ;)
both will be done a few hundred times i guess.

my SD card reader slot in my PC is already defective due to plugging/unplugging the card too often :)


The card reader of your camera is still working properly?
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: g3gg0 on August 10, 2012, 04:24:34 PM
that works reliable without any dropout yet.
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: a1ex on September 18, 2012, 11:24:45 AM
g3gg0 just did the impossible:

(http://a1ex.magiclantern.fm/bleeding-edge/7D/7d-hello-small.jpg) (http://upload.g3gg0.de/pub_files/584018e15f467b17fc8e41ba2b054007/IMG_3864_corr.jpg)
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: Michael Zöller on September 18, 2012, 12:20:45 PM
Uhm... ... !!!
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: ilguercio on September 18, 2012, 12:22:15 PM
Hello 7D, welcome to the family ;)
I guess this means "Welcome to the 1D4!" as well.
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: 3pointedit on September 18, 2012, 01:26:43 PM
Oh no, a good friend just sold his 7D for a BMCC! Great news, I wonder what can done with that camera?
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: Svein on September 18, 2012, 04:36:56 PM
Fantastic!  :)
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: Andy600 on September 18, 2012, 05:13:36 PM
Congrats g3gg0  ;D Just read the news on Canonrumors.com
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: JohnN on September 18, 2012, 07:17:15 PM
Same here - very well done  ;D
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: Marsu42 on September 19, 2012, 12:00:51 AM
Congratulations - I hope this gives quite a $$$ boost to development, too.
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: Paioco on September 19, 2012, 12:25:44 AM
Hi!! I'm an italian's filmaker! please developed ML for Canon 7D! I contributed by making a donation :)
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: scrax on September 19, 2012, 05:32:21 PM
Quote from: a1ex on September 18, 2012, 11:24:45 AM
g3gg0 just did the impossible:

(http://a1ex.magiclantern.fm/bleeding-edge/7D/7d-hello-small.jpg) (http://upload.g3gg0.de/pub_files/584018e15f467b17fc8e41ba2b054007/IMG_3864_corr.jpg)
Missed this post yesterday, but after checking source code went here to find out that nice news :)
congrats g3gg0!
I've never considered buying a 7D because the lack of ML compatibility after using it on my 600D.
This means that ML can use both DIGIC processor? If yes what could be improved by that?(ok, just finish to read the post on canonrumors.com and planet5d.com).

Again great news and congrats!
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: Eddie on September 20, 2012, 10:51:37 PM
Very good news! I'm interested to see what will be available on the 7D.

To bad i especially bought a 600D to use with ML two weeks ago, but its always good to have a backup camera ;)
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: sparks.nl on October 04, 2012, 09:27:29 PM
How far is the 7d firmware version of ML?
I really would like to try it on my 7d.
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: g3gg0 on October 05, 2012, 12:01:41 AM
i am preparing the alpha.
Title: Re: 7D problem: how to hijack execution for ML ?
Post by: RenatoPhoto on October 05, 2012, 05:47:47 PM
Excellent, I will get the booze and fireworks ready!   8)