User Tools

Site Tools


unbricking

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
unbricking [2012/07/09 17:20] – [Solution 2] a1exunbricking [2012/07/09 17:23] (current) – [Solution 1] a1ex
Line 22: Line 22:
   * PROP_VIDEO_MODE (0x80000039 on 5D Mark III 1.1.2)   * PROP_VIDEO_MODE (0x80000039 on 5D Mark III 1.1.2)
  
-==== **Solution 0** ====+==== Solution 0 ====
 **Simply reboot the camera without a card and clear the settings.** **Simply reboot the camera without a card and clear the settings.**
  
-==== **Solution 0.5** ====+==== Solution 0.5 ====
 **Go to C mode, change the affected setting back and forth from Canon menu, reboot in CA mode, then reboot in M mode. [[http://www.reikan.co.uk/photography/blog/?p=1550]]** **Go to C mode, change the affected setting back and forth from Canon menu, reboot in CA mode, then reboot in M mode. [[http://www.reikan.co.uk/photography/blog/?p=1550]]**
  
Line 33: Line 33:
 If you know what property you have changed last time, should be easy (you need to know a valid value to restore it). If you know what property you have changed last time, should be easy (you need to know a valid value to restore it).
  
-If you don't know... save a debug log (call "dumpf", see [[Debugging|Magic Lantern]]) and look for failed asserts. You'll see something like:+If you don't know... save a debug log (call "dumpf", see [[Debugging Magic Lantern]]) and look for failed asserts. You'll see something like:
  
      11:    50.637 [[STARTUP]] ERROR ASSERT : PropertySatellite.c, Task = PropMgr      11:    50.637 [[STARTUP]] ERROR ASSERT : PropertySatellite.c, Task = PropMgr
Line 39: Line 39:
      13:    50.779 [[STARTUP]] ERROR ASSERT : TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON      13:    50.779 [[STARTUP]] ERROR ASSERT : TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON
  
-So... let's look at the code (with [[GPL|Tools/ARM console]]):+So... let's look at the code (with [[GPL Tools/ARM console]]):
  
- **s TempMovSoundRecord** +    s TempMovSoundRecord 
- ff85e364: 'TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON'+    ff85e364: 'TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON'
    
- **r ff85e364:** +    r ff85e364: 
- PROP_HANDLER:str:PROP_MOVIE_SOUND_RECORD_FOR_CREAT+420: +    PROP_HANDLER:str:PROP_MOVIE_SOUND_RECORD_FOR_CREAT+420: 
-  ff85e22c: 028f0e13 addeq r0, pc, #304 ; *'TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON' +     ff85e22c: 028f0e13 addeq r0, pc, #304 ; *'TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON' 
-  'TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON'+     'TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON'
  
 Let's decompile this: Let's decompile this:
  
- **dec PROP_HANDLER:str:PROP_MOVIE_SOUND_RECORD_FOR_CREAT** +    dec PROP_HANDLER:str:PROP_MOVIE_SOUND_RECORD_FOR_CREAT 
-  +   
- [[...]]  +    [...] 
-    if arg0 == 67764263/2: +       if arg0 == 67764263/2: 
-        DebugMsg(129, 3, msg='PROP_MOVIE_SOUND_RECORD %d %d %d %d ######', *0x2708, *(arg2), *0x270C, *0x2710, *(arg2), ...) +           DebugMsg(129, 3, msg='PROP_MOVIE_SOUND_RECORD %d %d %d %d ######', *0x2708, *(arg2), *0x270C, *0x2710, *(arg2), ...) 
-        if *(arg2) == 0: +           if *(arg2) == 0: 
-            TH_assert('TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON', 'PropertySatellite.c', 0x270) +               TH_assert('TempMovSoundRecord != PROP_MOV_SOUND_RECORD_ON', 'PropertySatellite.c', 0x270) 
- [[...]+    [...]
  
 Looks like property 67764263/2 = 0x2050013 should not be zero. Valid values are 1,2,3 (with property spy on a healthy camera, or with guesswork if you don't have one). Looks like property 67764263/2 = 0x2050013 should not be zero. Valid values are 1,2,3 (with property spy on a healthy camera, or with guesswork if you don't have one).
unbricking.1341847235.txt.gz · Last modified: 2012/07/09 17:20 by a1ex