Table of Contents
faq-header&nofooter
General
¿Qué es esto?
Magic Lantern es una mejora en el firmware original de Canon que libera tu Canon DSLR, que permite utilizar muchas características útiles. Se trata de un código abierto (GNU) para el desarrollo de extensiones para el software oficial.
¿Magic Lantern reemplaza completamente el firmware de Canon?
No. Magic Lantern se ejecuta desde la tarjeta de memoria como un complemento (add-on) sobre el firmware estándar de Canon. Se tendrá acceso siempre a todas las funcionalidades del firmware de Canon.
Para regresar al firmware original de Canon, se debe de:
- Mantener presionado el botón de
SET
mientras se enciende la cámara. - Formatear la tarjeta de memoria.
- Deshabilitar la bandera de reinicio (esto desinstalara ML de la cámara; para hacer esto, correr
Firmware Upgrade
y seguir las instrucciones).
¿Está hecho Magic Lantern sólo para video?
No. Las primeras versiones fueron desarrolladas por filmakers independientes y adaptadas para la producción de video en la 5D Mark II. Las cosas han cambiado cuando Magic Lantern fue llevado a cámaras más pequeñas (APS-C) tales como: la 550D, 60D, 600D y 500D, las cuales atrajeron a desarrolladores interesados en ambas cosas: la fotografía y el vídeo.
¿Es legal?
Esto es esfuerzo en ingeniería inversa (cleanroom
/ caja negra
) y como tal, debería de estar bien.Preguntas frecuentes acerca de la ingeniería inversa conducido a preguntas de legalidad.
Magic Lantern no contiene ni una parte de código de Canon. Además, nosotros no distribuimos código con derechos de autor ni secretos criptográficos, ni de Canon ni de algún tercero. Todo el conocimiento usado para el desarrollo fue obtenido analizando el código ARM, experimentando con él, y por documentación obtenida legalmente.
¿Es seguro?
No. Magic Lantern fue creado con ingeniería inversa y con un sistema no documentado que controla el hardware de la cámara. Por lo tanto, nosotros no podemos estar seguros que ML es 100% seguro.
Magic Lantern no reemplaza el código de Canon (que esta guardado en la ROM), pero si cambia los ajustes (que estan guardados en una posición de memoria no volátil). Si Magic Lantern pusiera valores incorrectos para determinados ajustes, pudiera causar que la cámara ya no inicie (incluso sin Magic Lantern en la tarjeta de memoria).
El mismo riesgo esta presente si se utiliza software de terceros para los controles remotos USB. Estos programas usan la misma API para cambiar los ajustes de la cámara (propiedades), y el código de Canon no siempre checa la validez de los ajustes antes de guardarlos en la NVRAM. Aquí una prueva. Incluso los desarrolladores de los software de control USB, queiens usan el SDK de Canon, están de acuerdo con esto.
Imagine que los archivos de configuración se dañan y no se puede simplemente borrar y empezar de nuevo. Nosotros consideramos esto una falla en el diseño de Canon. Nosotros nos encontramos con dichos problemas durante el desarrollo, pero nosotros pudimos recuperar los archivos. Para detalles técnicos, visite Unbricking.
Probablemente la manera más segura de ejecutar Magic Lantern es usando los modos personalizados - en estos modos, el código de Canon no guarda los ajustes del usuario en la NVRAM
En nuestra práctica, nosotros hacemos nuestro mejor esfuerzo para prevenir estas situaciones, y miles de usuarios están disfrutando Magic Lantern sin problemas. Sin embargo, esto no garantiza nada - úselo bajo su propio riesgo.
De hecho, usando Magic Lantern nosotros hemos podido unbricked con éxito una 5D Mark II dañada por un control remoto USB.
¿Invalidará la garantía?
Un usuario de Magic Lantern escribió esto en dpreview:
Acabo de hablar a CPS Canon (servicio profesional en Reino Unido) y ellos me han avisado que es posible hacer un downgrade del firmware desde la nueva versión a una más vieja PERO ellos me dijeron que mandara la cámara a Canon para hacerle pruebas. Un mínimo cargo por servicio será aplicado pero esto podrá estar hecho mientras Espero.
Curiosamente, ellos también me dijeron que el firmware de Magic Lantern no tendría por qué invalidar mi garantía con Canon dado que no es una modificación de hardware. Aunque estaré aquí para ver si sí es verdad
Y otro usuario escribió esto en t2iforum:
Yo contacté al servicio de soporte de Canon Portugal preguntanto acerca de ML, la respuesta fue la siguiente:
Cita
(…) el uso de firmware manipulado o de algún otro tercero con nuestro equipo invalidará la garantía del producto SI SE PRUEBA que las fallas del funcionamiento del producto fue causado por el uso de éstos.
Canon respeta los derechos que los consumidores tienen para decidir que accesorios o firmware usar, sin embargo, nosotros no recomendamos su uso, y nosotros no somos responsables por algún daño al equipo
El firmware de Magic Lantern es distribuido SIN GARANTÍA. Puede que funcione. Puede que no. Hasta el momento no ha destruido ninguna cámara, pero quién sabe.
¿Cómo se comportará con actualizaciones de Canon a futuro?
Nosotros hemos actualizado Magic Lantern para que trabaje con la más reciente versión de firmware de Canon en todas las cámaras soportadas. Este es un proceso manual para encontrar los símbolos en cada nueva versión, aunque herramientas como estas: patchdiff2, Gensig/Finsig yGPL Tools/match.py lo hace mucho más sencillo. Cada nueva versión debe de estar estaticamente ligada a la dirección en el firmware de la ROM como si fuera una librería, la cual requiere la localización de todo el set de símbolos.
Despite this tight integration, Magic Lantern software does not contain any Canon code. It is entirely a clean-room implementation that runs along side the official Canon firmware as a separate DryOS task. A pesar de esta estrecha integración, Magic Lantern no contiene ni un pedazo de código de Canon. Es totalmente una implementación de cleanroom que se ejecuta a lo largo de el firmware oficial de Canon como una tarea Dryos separada.
Uso
¿Cómo veo el menu de Magic Lantern?
Presionando el botón de DELETE
.
¿Por qué veo solo algunas opciones en el menú?
Quizá este en el modo Sencillo de menú, donde Magic Lantern solo muestra las características consideradas como básicas. Este menú peude variar dependiendo del modo en el que se encuente la cámara (modo de foto, modo de vídeo, LiveView, HDMI etc).
Presione MENU
para abrir el menú avanzado, donde todas las opciones serán mostradas.
¿Cómo puedo restaurar los valores iniciales de ML?
Borrando el archivo de configuración (MAGIC.CFG
) y reiniciando la cámara.
¿Cómo puedo borrar todas las imágenes sin borrar ML de la memoria?
Desde el menú de Canon → Format → Format card, mantiene Magic Lantern.
¿Cómo grabar videos de más de 12 minutos?
- Bajando el `bitrate`_ (CBR 0.4 dejará grabar vídeos continuos de hasta 30 minutos).
- Usando `Movie restart`_, pero se perderán algunos segundos mientras el nuevo archivo es creado.
- Para grabar continuamente por más de 30 minutos, se necesará usar un grabador HDMI. Active la opción de
Clear Overlays
para ocultar el cuadro de enfoque y las barras de la proporción 16:9, e impida que LiveView se apague después de 30 minutos presionando el botón de shutter a la mitad.
Técnicamente, No hay un límite de 12 minutos. Hay un límite de 30 minutos y uno de tamaño de 4 GB, lo primero que se cumpla. Con los valores por default de bitrate, el límite de los 4 GB de tamaño se alcanzará aproximadamente a los 12 minutos (más o menos).
¿Cómo se puede tomar fotografías de más de 30 segundos de exposición?
Usando:
- `Bulb timer`_ (para una sola foto).
- `HDR`_ bracketing en el modo manual.
- `Bulb ramping`_ (para timelapse).
¿Cómo ver el contador de disparos / temperatura del sensor CMOS?
Se encuentra el el menú de `Debug`_.
try disabling exposure simulation.
¿Se puede utilizar LiveView en completa oscuridad?
Si. Incrementando la ganancia de la pantalla, usando un bajo nivel de FPS (con un override), o ambos.
También viendo los esquemas de color oscuro optimizados para tiro nocturno, o desactivando la simulación de exposición.
¿Cómo hacer un timelapse?
Se tienen varias opciones:
- Intervalómetro- la manera clásica. Se tendrá que juntar todas las fotografías tomadas para obtener la película final. En este modo, se tiene que acceder a opciones avanzadas como BULB y focus ramping, HDR timelapse o exposiciones de muy larga duración.
- FPS override - Simplemente seleccionando un valor bajo de FPS (alrededor de 0.2 FPS) y ML grabará un timelapse.
- Silent picture timelapse. Solamente para usuarios muy experimentados.
I want to use my camera as fast as possible. Can ML help me?
Yes. Check out these features:
- Shortcut keys for commonly used functions.
- Display presets - create custom LiveView modes (for example, your favorite settings for checking exposure, focus, framing and so on).
- Ultra fast zoom in playback mode.
- Change image review mode to PLAY - after taking a picture you can press Zoom In right away and check critical focus in a split-second.
- Navigate the menu using the scrollwheels - much faster than with arrow keys.
- Simple menu - only display the essentials, so you don't have to scroll through lots of menus.
Does Magic Lantern consume more power than standard Canon firmware?
In LiveView it draws 3-5% more power (measured on 60D and 5D Mark II with zebra and focus peaking active). You can do your own tests if you have a 60D.
Magic Lantern can reduce power consumption by dimming or turning off the LCD screen, or by pausing LiveView without moving the mirror. See `Power saving`_ for details.
In plain photo mode with display off, the power draw is a bit higher, because Magic Lantern disables CPU powersaving features (otherwise, intervalometer and other ML functions would stop running). We have measured 6% / hour on 60D (compared with 4% / hour with Canon firmware), and 10% / hour on 5D Mark II (compared with 5% / hour with Canon firmware).
Why the audio is so quiet / noisy after disabling AGC?
You will have to adjust the volume manually; use the audio meters to determine the proper level.
Best audio is obtained by use of a preamp system fed to the camera. As a general rule, the use of a quiet preamp to send the signal to the camera will result in better the sound recorded in camera. Use of a preamped XLR adapter like the JuicedLink CX231 or a field mixer will give superior results. You may also use a recorder like Zoom H1, H2 or H4n, but since the line out level is much higher than the mic level, you will have to turn the output down from your recorder or use a pad cable.
For more info, check out the Canon DSLR Audio thread on dvxuser and AGC Disable - Magic Lantern vs. Juicedlink? on dvinfo.
Installation
How do I install it?
Follow the install guide. You will have to copy Magic Lantern files on your card and run Update firmware from the menu. The running firmware shuts down, loads the file into RAM and starts it running. Rather than reflashing the ROMs, this new program starts the DryOS boot process to install itself.
How do I uninstall it?
Simply format the card. The bootflag will be still there, but it will not affect normal operation (except for EyeFi cards).
To remove the bootflag (for using EyeFi cards), run Firmware Update from a ML card and follow the instructions.
What if I try to use it on a wrong firmware version?
It will not boot. Magic Lantern checks firmware version before attempting to run - if it doesn't match, the card LED will start blinking and you'll have to take the battery out.
Sometimes you have the right version number, but a different sub-version number (there are 3 more version digits, which are not displayed on the screen). If it happens, simply upgrade Canon firmware from the links mentioned in the install guide.
Does ML do any persistent changes to my camera?
Yes. Besides the bootflag (which is required for auto-boot), there are a couple of other changes which are saved into NVRAM. These are:
- ISO, shutter, aperture, white balance;
- Exposure compensation, drive mode;
- Picture style and associated parameters;
- Flash settings (enabled/disabled, exposure compensation, red eye reduction);
- AF points, AF mode in LiveView, focus box position;
- Exposure simulation setting (in Expo menu; disabled temporarily when using 5x/10x zoom modes);
- Backlight level (for example, it's lowered temporarily if you use `Dim display`_ for power saving);
- Autofocus is moved temporarily to back (
*
) button whenever ML has to take a picture without autofocusing. This includes HDR bracketing and bulb exposures. - Autofocus is moved temporarily to half-shutter when you use `AF patterns`_, while changing the AF point;
- Sound recording is disabled temporarily when you use `FPS override`_;
- On 600D, video mode may be changed via ML shortcut key;
- On 50D, movie recording function is changed from ML menu (yes, this is a persistent Canon setting, but it's not present in Canon menus).
With few exceptions, these settings can also be changed from Canon menus or controls.
A few settings are changed temporarily during certain operations (for example, autofocus for bracketed shots), but these settings are saved by Canon firmware in NVRAM. If you take the battery out in the middle of the operation (for example, in the middle of taking a picture), ML won't be able to restore these settings back to your initial values, and you'll have to change them back from Canon menus.
To the best of our knowledge, all these settings are restored to default values when you run Clear camera settings
and Clear custom functions
from Canon menu.
All persistent changes can be seen in ML source code by examining the calls to prop_request_change
. Some of the changes are not persistent (for example, LiveView zoom level), and they were not included in the above list.
Troubleshooting
It won't boot!
- If the LED is blinking continuously, you have the wrong Canon firmware version.
- Make sure you didn't delete AUTOEXEC.BIN from your ML card. If you did, format the card, take the battery out, and reboot.
- If you still have problems, ask on the forum.
What happened with movie mode remap?
We had serious problems with it, so it was disabled. The problems were confirmed with a minimal example code, so the issue is either in Canon firmware (which was probably not designed for dynamic mode remapping) or in the way we request the mode remapping procedure.
The only way to get it back is to show us a safe way to change the shooting mode. For this you need to point out what's wrong with this call: prop_request_change(PROP_SHOOTING_MODE, &new_mode, 4)
, and suggest a different method - which can only be done by examining Canon code and understanding how mode switching works.
Testing will not help - the probability of things going wrong is very low, but nonzero.
Why does the camera take pictures when pressing the shutter half-way?
`Trap focus`_ may be active.
Why do I have to press the shutter button twice to take a picture?
Mirror Lockup (MLU) is active.
Why did the autofocus stop working?
It was probably moved to back button (*
or AF-ON
). Check your custom functions. It may happen if you take the battery out in the middle of photo shooting.
Anyway… any serious DSLR user should set AF to back button ;)
Why picture style X does not appear in movie mode?
You may need to register it from Canon menu. This is not related to ML, but people tend to blame ML for Canon quirks.
My camera freezes / I get ERR70/80/99 / I get corrupted files. Why?
- Format your card from the camera. Some of these problems are caused by filesystem corruption or cheap card readers. Always use the safe removal feature before you unplug your card from your computer.
- If you get ERR70, you will also get a crash log on your card, under ML/LOGS directory. Please send this file to developers.
- Run the stability tests from the Debug menu. If the tests fail, report a bug and send your config file to developers.
- To report bugs, go here.
What about ERR20 when taking pictures?
This problem is not related to (or caused by) Magic Lantern.
You will get this error when your shutter mechanism no longer works properly. Contact your Canon service center.
Consider entering your shutter count in the Camera Shutter Life Database.
Why feature X doesn't work properly?
- Read the manual. Some features may not be 100% intuitive, or it may be a known issue.
- Look in the forum. If you don't find the solution, ask for help.
Technical
Does it work with CHDK?
We have used some of the CHDK tools to learn about Canon firmware files, but this is all new code. They have done an amazing job of supporting hundreds of different camera models across multiple architectures and operating systems. At some point in the future chdk might be ported to the 5D Mark 2, but this project is much more focused on just the 5D Mark II and the needs of film makers. CHDK is a great project for Canon's Point-and-Shoot cameras. Without their initial effort in understanding DryOS, Canon's firmware files and the boot process, I wouldn't have been able to make as much progress as quickly as I did. While I was able to use modern tools to analyze dump files of ROM images thanks to their efforts, they got started bitbanging a UART via the status LED on a camera body. That's truly hardcore.
Why the name change?
Originally the project was called just 5D Mark Free
, but out of an abundance of caution it seemed best to avoid Canon's trademarks.
What is it written in? Can I get the source?
The firmware hack is in C, with some inline assembly for boot strapping. The firmware build tools are in Perl and use Makefiles for dependency tracking. You need an arm-linux-elf build of gcc and binutils. Most of the code analysis has been done with objdump, strings and the IDA demo. No tech support will be provided. If it breaks you get to keep both pieces. If you know what all of these terms mean and aren't scared of the possibility of breaking your camera, you can download the Magic Lantern firmware source code.
How do I get a ROM0.bin firmware image?
We do not distribute ROM images, nor IDA .idb files, since they are verbatim copies of Canon's copyrighted code. You can generate the ROM images from your own camera by compiling with CONFIG_DEBUGMSG=1
and then selecting Dump ROM
from Debug menu.
What are all of the 0xff81beef things and funny names like EP_SetManualMovieMode()?
These are the addresses in the official ROM firmware for different functions and names that we have given to functions. If you load the ROM0.bin image into IDA or use objdump you can trace through the instructions to determine how the software works. If you are just using the camera, they don't need to mean anything to you, but they give other developers a place to look in the firmware image.
The function names are unlikely to be the same as the ones in Canon's source code, which we have never seen. We name functions based on what they seem to do, or debugging / diagnostic strings embedded in the function. It isn't perfect, but it is sufficient to locate the important things for task creation, file I/O and GUI operation.
Misc
Has Canon contacted you?
No one at Canon has contacted us regarding Magic Lantern or software development for their DSLR cameras. We are very eager to discuss the project with them, however, so if you have any technical contacts inside of Canon's software team, please put them in touch with us.
Docutils System Messages
System Message: ERROR/3 (faq.rst
, line 118); backlink
Unknown target name: bitrate
.
System Message: ERROR/3 (faq.rst
, line 119); backlink
Unknown target name: movie restart
.
System Message: ERROR/3 (faq.rst
, line 130); backlink
Unknown target name: bulb timer
.
System Message: ERROR/3 (faq.rst
, line 131); backlink
Unknown target name: hdr
.
System Message: ERROR/3 (faq.rst
, line 132); backlink
Unknown target name: bulb ramping
.
System Message: ERROR/3 (faq.rst
, line 137); backlink
Unknown target name: debug
.
System Message: ERROR/3 (faq.rst
, line 172); backlink
Unknown target name: power saving
.
System Message: ERROR/3 (faq.rst
, line 215); backlink
Unknown target name: dim display
.
System Message: ERROR/3 (faq.rst
, line 217); backlink
Unknown target name: af patterns
.
System Message: ERROR/3 (faq.rst
, line 218); backlink
Unknown target name: fps override
.
System Message: ERROR/3 (faq.rst
, line 245); backlink
Unknown target name: trap focus
.