Author Topic: Diagnostic tools  (Read 29579 times)


  • Administrator
  • Hero Member
  • *****
  • Posts: 12353
  • Emergencies only
Diagnostic tools
« on: August 23, 2012, 11:44:46 AM »
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:

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.


  • Hero Member
  • *****
  • Posts: 843
Re: Diagnostic tools
« Reply #1 on: August 23, 2012, 02:10:05 PM »
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.


  • Developer
  • Hero Member
  • *****
  • Posts: 506
Re: Diagnostic tools
« Reply #2 on: November 06, 2012, 11:14:49 PM »


  • Developer
  • Hero Member
  • *****
  • Posts: 506
Re: Diagnostic tools
« Reply #3 on: November 21, 2012, 01:17:36 AM »

I think you wanted to say:

Code: [Select]
dump_big_seg(0xF0000000, CARD_DRIVE"ROM.BIN");