Diagnostic tools

Started by a1ex, August 23, 2012, 11:44:46 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.


1) Portable display test

If your camera is not booting, this is the first diagnostic tool you can try, to make sure the hardware is alive.

This tool attempts to print some messages on the display without calling any routine from the main firmware. It only uses the bootloader routines, and works on any ML-enabled camera, any firmware version. More info about this test here.


2) LED blink test

If the display test did not work, here's a simpler test that only blinks a LED.

Works on: 500D, 550D, 600D, 50D, 60D, 5D Mark II, 1100D, all firmware versions.

This test blinks the card LED (C0220134 - SD LED and C02200BC - CF LED) from bootloader.

If it blinks:
- Camera is alive (obvious)
- Bootloader is OK (it loads autoexec.bin)
- We can run diagnostic code on it (for example, computing a checksum of the ROM or examining the boot process).

If it doesn't blink:
- Card is not bootable OR
- Bootflag is not enabled in the camera (ML not installed) OR
- Hardware failure (main board doesn't power up) OR
- Bootloader corrupted (very unlikely) OR
- Unsupported camera model (the LED address is different)

More LED addresses: http://magiclantern.wikia.com/wiki/Led_addresses

3) ROM dumper

From main firmware: at startup, ML will save the ROM contents to ML/LOGS/ROM*.BIN. To get a fresh ROM dump, simply delete those files, start the camera from a ML card, and wait until the card activity LED stops.

From bootloader (use if the main firmware cannot start):
Works on: 550D, 60D, 600D, 5D3 (all firmware versions). Can be updated for any other camera, on request.

4) Startup log

You can get a very detailed log about Canon boot process using the dm-spy-experiments branch.


You can get even more details if you add some stubs (tracing points) and compile from source:


5) Startup log blinker

If the camera is unable to save a log file, we may want to blink Canon's startup messages using the card LED. You may use a second ML-enabled camera, or an Arduino board with a photocell, to decode the messages.



These are just in case of a major problem, right?
Canon EOS 6D, 60D, 50D.
Sigma 70-200 EX OS HSM, Sigma 70-200 Apo EX HSM, Samyang 14 2.8, Samyang 35 1.4, Samyang 85 1.4.
Proud supporter of Magic Lantern.




I think you wanted to say:

dump_big_seg(0xF0000000, CARD_DRIVE"ROM.BIN");


Hello! I have trouble.. I tried putting ML from this page on 450D. Before that, I updated the firmware to 1.10.
Did according to the instructions
But after the start of the upgrade, the screen went out and the blue diode under the WB button lit up.
I waited for a few minutes, the diode was on, after which I turned off the camera, took out the card and the battery, after a while inserted it - the camera was totally dead.
Tried downloading your Diagnostic Tools - but the links don't work!

Walter Schulz

Have you downloaded and installed this build?