Bricked 60D - no sign of life except for the SD card light with one ML card

Started by tjrobinson, September 23, 2014, 05:10:32 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

tjrobinson

Whilst using my Canon 60D (Firmware 1.1.1, ML 2.3) I noticed it had apparently frozen up. Unfortunately I can't remember exactly what I then did, but it was probably a good 30 seconds or more before I removed the battery and card. I've not been able to start it up again since. I was taking a 15 second exposure at the time, so didn't notice it had frozen immediately. I'm worried I may have fried it?

I'm seeing nothing at all on the rear screen, LCD display or in the viewfinder, no beeps or clicks, no smells.

The only sign of life I can get is with one of the cards I have Magic Lantern installed on - I get either a single flash when I insert the card or occasionally a double flash - it does this every time but only with that card. No other card does anything at any time. I originally copied Magic Lantern onto two identical 16GB cards. The other card (same version of ML, same card manufacturer) does nothing.

I've copied the contents of both onto my computer the only data difference I can see is that the card which causes a flash when inserted has the SETTINGS folder on it, and some photos. I've even tried copying the contents of the card that does cause a flash onto another card - but the second card won't cause a flash. Very weird.

I've tried the following:

tjrobinson

Configuration file, if it helps:

# Magic Lantern v2.3.60D.111 (7fee07c3b461+ (unified) tip)
# Built on 2012-07-23 16:06:13 by alex@thinkpad
# Configuration saved on 2014/09/21 21:38:39
menu.upside.down = 0
menu.first = 11835118
debug.timed-dump = 0
audio.monitoring = 1
audio.draw-meters = 2
audio.filters = 1
audio.input-choice = 4
audio.alc-enable = 0
audio.o2gain = 0
audio.lovl = 0
audio.mic-power = 1
audio.dgain.r = 0
audio.dgain.l = 0
audio.mgain = 4
buffer.warning.level = 70
bitrate.indicator = 0
time.indicator = 3
h264.bitrate-factor = 10
h264.bitrate-mode = 1
h264.qscale.plus16 = 8
lcd.adjust.position = 0
bmp.color.scheme = 4
preview.saturation = 1
preview.contrast = 3
arrows.bright_sat = 0
arrows.tv_av = 0
arrows.iso_kelvin = 1
arrows.audio = 1
arrows.set = 1
arrows.mode = 0
digital.zoom.shortcut = 1
swap.menu = 0
quick.review.allow.zoom = 0
halfshutter.sticky = 0
play.lv.button = 0
quick.delete = 0
play.set.wheel = 2
play.quick.zoom = 2
af.frame.autohide = 1
burst.auto.picquality = 0
dof.preview.sticky = 0
bv.needed.by.av = 0
bv.needed.by.tv = 0
bv.needed.by.iso = 0
crop.info = 0
movie.log = 0
shutter.display.degrees = 0
battery.drain.rate.rev = 209
display.dont.mirror = 1
lcdsensor.wakeup = 1
electronic.level = 0
defish.projection = 0
defish.preview = 0
idle.rec = 0
idle.display.gdraw_off.after = 0
idle.display.dim.after = 0
idle.display.turn_off.after = 0
spotmeter.position = 1
spotmeter.formula = 0
spotmeter.draw = 1
spotmeter.size = 5
clear.preview.mode = 0
clear.preview.delay = 1000
clear.preview = 0
vectorscope.draw = 0
waveform.bg = 38
waveform.size = 0
waveform.draw = 0
hist.log = 1
hist.warn = 3
hist.colorspace = 1
hist.draw = 1
focus.peaking.grayscale = 0
focus.peaking.color = 7
focus.peaking.thr = 5
focus.peaking.method = 1
focus.peaking = 0
zoom.overlay.split = 0
zoom.overlay.pos = 1
zoom.overlay.x = 1
zoom.overlay.size = 1
zoom.overlay.trig = 3
zoom.overlay = 0
falsecolor.palette = 0
falsecolor.draw = 0
crop.playback = 0
crop.movieonly = 0
crop.index = 0
crop.enable = 0
zebra.rec = 1
zebra.thr.lo = 0
zebra.thr.hi = 99
zebra.colorspace = 2
zebra.draw = 0
global.draw = 3
transparent.overlay.y = 0
transparent.overlay.x = 0
transparent.overlay = 0
disp.mode.x = 197
disp.mode.c = 1
disp.mode.b = 1
disp.mode.a = 1
disp.mode = 0
lv.disp.profiles = 0
bramp.calib.5 = 0
bramp.calib.4 = 0
bramp.calib.3 = 0
bramp.calib.2 = 0
bramp.calib.1 = 0
bramp.calib.0 = 0
bramp.calib.m1 = 0
bramp.calib.m2 = 0
bramp.calib.m3 = 0
bramp.calib.m4 = 0
bramp.calib.m5 = 0
bramp.calib.sig = 0
picstyle.rec = 0
picstyle.rec.sub = 1
bulb.ramping.manual.focus = 1000
bulb.ramping.manual.expo = 1000
bulb.ramping.percentile = 50
bulb.ramping.auto.speed = 100
bulb.ramping.auto = 1
bulb.ramping = 0
motion.trigger = 0
motion.release-level = 8
mlu.auto = 1
bulb.duration.index = 5
bulb.timer = 0
zoom.auto.exposure = 0
zoom.focus_ring = 0
zoom.halfshutter = 0
zoom.sharpen = 0
zoom.disable.x10 = 0
zoom.disable.x5 = 0
silent.pic.sweepdelay = 350
silent.pic.highres = 0
silent.pic.mode = 0
silent.pic = 0
lv_3rd_party_flash = 0
flash_and_no_flash = 0
audio.release-level = 10
focus.trap = 0
interval.stop_after = 0
interval.movie.duration.index = 2
interval.start.timer.index = 3
interval.timer.index = 10
hdr.scripts = 2
hdr.iso = 0
hdr.seq = 1
hdr.delay = 1
hdr.ev_spacing = 16
hdr.frames = 1
hdr.enabled = 0
iso_selection = 0
lvae.disp.gain = 0
lvae.iso.spd = 10
lvae.iso.max = 104
lvae.iso.min = 72
bv.av = 48
bv.tv = 111
bv.iso = 88
bv.auto = 0
rec.notify = 0
screen_layout.ext = 1
screen_layout.lcd = 0
shutter.lock.value = 0
shutter.lock = 0
enable-liveview = 1
movie.rec-key = 0
movie.mode-remap = 0
movie.restart = 0
wbs.ba = 100
wbs.gm = 100
wb.kelvin = 6500
hdmi.force.vga = 0
focus.patterns = 0
movie.af = 0
focus.follow.rev.v = 0
focus.follow.rev.h = 0
focus.follow.mode = 0
focus.follow = 0
focus.step = 5
focus.stack = 0
focus.rack.delay = 2
focus.wait = 1
focus.delay = 1
focus.stepsize = 2
fps.sound.disable = 1
fps.preset = 0
fps.timer.b.off = 1000
fps.timer.a.off = 1000
fps.override.idx = 10
fps.override = 0
hdrv.iso.b = 104
hdrv.iso.a = 72
hdrv.en = 0
digic.cartoon = 0
digic.swap-uv = 0
digic.negative = 0
digic.desaturate = 0
digic.black = 100
digic.iso.gain.photo = 1024
digic.iso.gain.movie = 1024

dmilligan

for the blink test and the other diagnostic tools to work, you need to have made the card "bootable" (if you reformatted the card, it is no longer bootable, if you never installed ML on the card, it is also not "bootable"), EOSCard and macboot utilities can do this for you.

QuoteI've even tried copying the contents of the card that does cause a flash onto another card - but the second card won't cause a flash. Very weird.
same reason as above, the card needs to be "bootable"

walter_schulz

Remove card (an empty one, preferable), remove battery, switch dial to M.
Insert card into cardreader, format card using NTFS or any other filesystem but not FAT (=FAT, FAT16, FAT32, FAT64/exFAT).
Insert card into cam, insert battery and startup.
Expected: Cam will tell you to format the card. Do so and restart.

Post results.

dmilligan

also, have you tried starting in C mode (with no card)?

you might have a bad property saved in NVRAM (see: http://wiki.magiclantern.fm/unbricking)

if you can get into the Canon menu in C mode, reset all camera settings

tjrobinson

Thanks for the suggestions.

Using EOScard to make it bootable, I can now get the LED blink test to work.

I've re-tried the Startup log a couple of times but there's no log file created on the card.

walter_schulz, I tried your steps but nothing happened. I wasn't prompted to format the card. I tried this in M and C modes.

dmilligan

Quote from: tjrobinson on September 23, 2014, 08:27:00 PM
Using EOScard to make it bootable, I can now get the LED blink test to work.
That's a good sign.

PM a1ex, he's pretty much the only person with enough expertise to help you from this point

tjrobinson

I'm working with a1ex over PM. There's been some progress - we've managed to get a ROM dump.


walter_schulz

Why someone local?
And if it is really neccessary: Why not telling your location?

dmilligan

Quote from: walter_schulz on September 26, 2014, 02:50:48 PM
Why someone local?
You need another camera to decode the messages. Though, I should think it might be possible simply record a video with a smartphone or webcam and post it, and let someone here decode it.

tjrobinson

Is anyone able to compile this for a 60D (1.1.1)? I'm a C# software developer but I'm a bit lost when it comes to C (and the related ecosystem).

I'm in Berkshire, England - if anyone happens to be nearby!

tjrobinson

Update: compilation problems now solved

I've got this far, what might cause this error?

tjrobinson@magiclantern:~/magic-lantern$ make
make -C  /home/tjrobinson/magic-lantern/platform/50D.109
make[1]: Entering directory `/home/tjrobinson/magic-lantern/platform/50D.109'
[ VERSION  ]   ../../platform/50D.109/version.bin
[ VERSION  ]   ../../platform/50D.109/version.c
[ CC       ]   version.o
make -C ../../tcc
make[2]: Entering directory `/home/tjrobinson/magic-lantern/tcc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/tjrobinson/magic-lantern/tcc'
make[1]: *** No rule to make target `../../src/libs/dietlib-0.33-Os/dietlibc.a', needed by `strrchr.o'.  Stop.
make[1]: Leaving directory `/home/tjrobinson/magic-lantern/platform/50D.109'
make: *** [50D] Error 2


dmilligan

do a 'make clean' before 'make' and I recommend using a pre-built compiler if you're not already: https://launchpad.net/gcc-arm-embedded

tjrobinson

Update: compilation problems now solved

Thanks, I've got a bit further using that. Now onto this...

[ AR       ]   newlib-libc.a
[ CP       ]   newlib-libm.a
[ CP       ]   gcc-libgcc.a
[ LD       ]   magiclantern
debug.o: In function `stub_test_task':
debug.c:(.text+0x4530): undefined reference to `printf'
debug.c:(.text+0x4540): undefined reference to `printf'
debug.c:(.text+0x4564): undefined reference to `printf'
exmem.o: In function `_srm_malloc_suite':
exmem.c:(.text+0x650): undefined reference to `printf'
exmem.c:(.text+0x708): undefined reference to `printf'
exmem.o:exmem.c:(.text+0x7b0): more undefined references to `printf' follow
dm-spy.o: In function `debug_intercept':
dm-spy.c:(.text+0x178): undefined reference to `dm_spy_extra_install'
dm-spy.c:(.text+0x1a4): undefined reference to `dm_spy_extra_uninstall'
make[1]: *** [magiclantern] Error 1
make[1]: Leaving directory `/home/tjrobinson/magic-lantern/platform/60D.111'
make: *** [60D] Error 2


tjrobinson

Update: blink video available below

Ok, progress. I've finally built an autoexec.bin from the dm-spy-experiments branch. I get a solid light though, no blinking. Anything specific I should check?

tjrobinson

Branch: dm-spy-experiments
Revision: 11899
Changeset: 6caaf883e18f3745063ffd480ab37e4230275517 [6caaf883e18f]

Steps:

  • make clean
  • make
  • (inside platform/60D.111) make zip
  • copy zip contents to SD card
  • usual EOSCard.exe steps, remove battery, etc

Here's the Makefile.user I'm using under Cygwin on Windows:

# Supported camera models
SUPPORTED_MODELS:=60D

# Supported camera models for "UNIFIED" builds (Digic IV only)
SUPPORTED_UNIFIED_MODELS:=60D

# GCC-related stuff
# for yagarto or the official ARM toolchain use ARM_ABI=none-eabi otherwise use ARM_ABI=elf
ARM_ABI=none-eabi
GCC_VERSION=-4.8.4
ARM_PATH=/cygdrive/c/Progra~2/GNU/4.82014q3

# Intercept all DebugMsg's
CONFIG_DEBUG_INTERCEPT = y
CONFIG_DEBUG_INTERCEPT_STARTUP = y
CONFIG_DEBUG_INTERCEPT_STARTUP_BLINK = y

tjrobinson

Update: blink video available below

I've defined PRINT_EACH_MESSAGE in dm-spy.c and am now seeing some blinking - no sign of the 5 synchronization blinks, but something at last!

tjrobinson

Blink video, taken by a Canon compact camera in 240fps mode, 1/8th normal speed, (the only other camera I have access to at the moment):

https://www.dropbox.com/s/ceo3v2d3v6ovgmh/blinkvideo1.mov?dl=0

tjrobinson

I've watched the video a few times and tried to decode it manually, and it appears to just be showing the 0xA5 pattern five times - no actual debug messages.

tjrobinson


Walter Schulz


tjrobinson

Thanks, didn't realise it was his personal connection that was struggling.


Datadogie

Why does everyone suspect ML as the cause of a bricked camera. send it back to Canon.
T3i and Kiss X4 (550d (T2i)) Tamron 18-200mm, Sigma 28-70mm f2.8 (need firmware upgrade) Olympus 50mm f1.8  Olympus 28mm f2.8 and Olympus 24mm f2.8
Fancier 370 tripod and LCD hinged loupe. DIY Slider and crane.