Magic Lantern Forum

Using Magic Lantern => General Help Q&A => Camera Emergency Department => Topic started by: leocallejas on December 17, 2020, 04:23:11 PM

Title: [Solved - Power switch / Ants] 60D not turning on.
Post by: leocallejas on December 17, 2020, 04:23:11 PM
Hi,

I've been reading similar posts, including this one https://www.magiclantern.fm/forum/index.php?topic=2221.0 (https://www.magiclantern.fm/forum/index.php?topic=2221.0), but so far haven't been able to get my camera to power on.  I've been using ML for years without any issues, and last time I used it was about a month ago, stored my camera and didn't use it again until 3 days ago.  Now it won't turn on.  The only sign of life is that the led does 2 quick blinks but ONLY if the card with ML is inserted, it won't do anything without a card or with a clean card.  Deleted the ML folder and autoexec.bin and replaced with nightly build, but same result.

If there's any other tools I can try, please let me know.

Thanks!
Title: Re: 60D not turning on.
Post by: Walter Schulz on December 17, 2020, 04:28:23 PM
Copy portable display test autoexec.bin to card.
https://www.magiclantern.fm/forum/index.php?topic=2296.0
Remove battery.
Insert card.
Insert battery.
Close compartment doors.

Results?
Title: Re: 60D not turning on.
Post by: leocallejas on December 17, 2020, 04:37:26 PM
Cool, thanks, that definitely did something:

(https://i.ibb.co/TTh2G14/Whats-App-Image-2020-12-17-at-9-35-09-AM.jpg)
Title: Re: 60D not turning on.
Post by: Walter Schulz on December 17, 2020, 04:42:51 PM
Backup both ROM files!

You have a spare card, right?
- Format card using cardreader.
- Remove battery
- Insert battery
- Insert card
- Close compartment doors.
- Power on camera.

Report back
Title: Re: 60D not turning on.
Post by: leocallejas on December 17, 2020, 04:52:17 PM
Quote from: Walter Schulz on December 17, 2020, 04:42:51 PM
Backup both ROM files!

You have a spare card, right?


Rom files backed up, but *blush I don't have a spare card at the moment.... will get one ASAP and report back.  ( I do have a backup image of the card that I can restore to this one in case it's just a matter of not losing the existing file structure and bootflag on the card, and not a hardware issue with the card ).
Title: Re: 60D not turning on.
Post by: Walter Schulz on December 17, 2020, 04:55:29 PM
Quote from: leocallejas on December 17, 2020, 04:52:17 PM
I don't have a spare card at the moment.... will get one ASAP and report back.

No problem! Spare card doesn't have to be a fast one and anything above  64 MByte (yes, Megabytes) will be sufficient.

BTW: Your PC isn't running Big Sur by any chance?

Title: Re: 60D not turning on.
Post by: leocallejas on December 17, 2020, 05:18:07 PM
Quote from: Walter Schulz on December 17, 2020, 04:55:29 PM

BTW: Your PC isn't running Big Sur by any chance?

Nope, my old lappie is still on OSX Mojave... now that you mention that, I was shooting tethered to that pc last time I used the camera.

Currently on my work computer, tho, Windows 10.
Title: Re: 60D not turning on.
Post by: Walter Schulz on December 17, 2020, 05:23:34 PM
Writing directories to ExFAT cards is Big Sur's problem. Or rather Canon's ... See https://www.magiclantern.fm/forum/index.php?topic=25656
Tethering to Canon cameras doesn't have that option.
Title: Re: 60D not turning on.
Post by: leocallejas on December 18, 2020, 12:58:29 AM
Quote from: Walter Schulz on December 17, 2020, 04:42:51 PM
Backup both ROM files!

You have a spare card, right?
- Format card using cardreader.
- Remove battery
- Insert battery
- Insert card
- Close compartment doors.
- Power on camera.

Report back

Finally got that spare card.  Did all of the above, and I get nothing, not even the led lights up, fresh formatted spare card.
Title: Re: 60D not turning on.
Post by: Walter Schulz on December 18, 2020, 07:59:10 AM
Well, last try before calling the doctor for help:

- Use EOScard (https://web.archive.org/web/20201121233717/https://pel.hu/down/EOScard.exe) to make spare card bootable
- Delete all files and directories from card
- Copy extracted nightly build contents to card
- Remove battery
- Insert card and battery
- Close compartment doors
- Power up cam

Title: Re: 60D not turning on.
Post by: leocallejas on December 19, 2020, 02:00:36 AM
Nope,  nothing.  Hope I'm doing it right, because Eoscard doesn't have a whole lot of confirmation.

Camera not powering on and not even getting led activity. :(
Title: Re: 60D not turning on.
Post by: Walter Schulz on December 19, 2020, 11:38:44 AM
Waiting for the doctor to jump in. He has seen worse ...
Maybe just faulty power switch. Maybe. Portable display test doesn't care about switch position ...
Title: Re: 60D not turning on.
Post by: leocallejas on December 19, 2020, 10:49:30 PM
Quote from: Walter Schulz on December 19, 2020, 11:38:44 AM
Maybe just faulty power switch. Maybe. Portable display test doesn't care about switch position ...

Now that you mention it, the power switch did glitch on me once, months ago, acted like it was loose or something, but the issue never reappeared.
Title: Re: 60D not turning on.
Post by: Walter Schulz on December 19, 2020, 11:09:25 PM
I think a1ex is able to use some of his magic to find out if the power switch is working or not. You can wait for confirmation or just try to fix it yourself or get it fixed.
If you go for the latter: Not by Canon Support, maybe. They have a reputation for using main-PCB replacement as a universal treatment ...
If there is a smartphone repair shop with a good service record around I would put it there.
Title: Re: 60D not turning on.
Post by: leocallejas on December 19, 2020, 11:21:47 PM
Quote from: Walter Schulz on December 19, 2020, 11:09:25 PM
I think a1ex is able to use some of his magic to find out if the power switch is working or not. You can wait for confirmation or just try to fix it yourself or get it fixed.
If you go for the latter: Not by Canon Support, maybe. They have a reputation for using main-PCB replacement as a universal treatment ...
If there is a smartphone repair shop with a good service record around I would put it there.

I wouldn't mind further testing to hopefully confirm the issue.  No Canon support for me all the way down here in Honduras, but I've seen detailed disassembly and it doesn't seem too daunting, even though you have to remove almost the entire shell to get to the switch.  There's also a well know universal camera repair shop here in case I can't gather the courage.
Title: Re: 60D not turning on.
Post by: a1ex on December 21, 2020, 05:05:30 PM
Here's a test binary that would shed some light over the early boot process (60D 1.1.1):

autoexec.bin (https://a1ex.magiclantern.fm/debug/disp-log/60D/level3-mpu/autoexec.bin)

I might be able to tell whether it's the power button, or not, if you record the camera screen while booting this binary. Caveat: tiny fonts that are supposed to be readable in the video.

If you have Arduino-level electronics skills, it's easy to see Canon's debug messages via UART (https://www.magiclantern.fm/forum/index.php?topic=7531.10). This could also give some clues about the power button state, though I haven't tried to identify it specifically yet. The connector on 60D is hard to access without disassembling the camera, but otherwise, the extra hardware needed is a FT232RL module (USB to serial) and a needle.
Title: Re: 60D not turning on.
Post by: leocallejas on December 22, 2020, 02:34:22 AM
Hi a1ex, thanks for taking the time to check on my cam.

Managed to snap a slo-mo video, because it was quite fast.  I'm also including stills.

Really hope that helps!! Let me know if I can check anything else.



(https://i.ibb.co/rZjr8cc/IMG-3373.jpg) (https://i.ibb.co/qdgrPd9/IMG-3375.jpg) (https://i.ibb.co/jTv4cF6/IMG-3377.jpg) (https://i.ibb.co/mJmfR7r/IMG-3379.jpg) (https://i.ibb.co/xgP0z5b/IMG-3381.jpg)
Title: Re: 60D not turning on.
Post by: a1ex on December 22, 2020, 12:05:43 PM
It might be the power button, but can't tell for sure yet. I've been trying to compare startup logs with the power button in both positions, but from 5D3, where the UART connector is accessible without disassembling the camera. No interesting difference yet - other than power being cut somewhere in the middle of logging, nondeterministically, shortly after initializing the MPU. On 60D, the boot process seems to go a little further than that, so I may need to disassemble mine in order to complete the analysis.

You could also check these builds:
https://builds.magiclantern.fm/jenkins/view/Experiments/job/startup-log/
https://builds.magiclantern.fm/jenkins/view/Experiments/job/startup-log-mpu/

If they manage to save any logs, it's not the power button.
Title: Re: 60D not turning on.
Post by: leocallejas on December 22, 2020, 03:07:29 PM
Quote from: a1ex on December 22, 2020, 12:05:43 PM
https://builds.magiclantern.fm/jenkins/view/Experiments/job/startup-log-mpu/

This one didn't do anything besides lighting up the LED.

Quote from: a1ex on December 22, 2020, 12:05:43 PM
https://builds.magiclantern.fm/jenkins/view/Experiments/job/startup-log/

This one, though, did save logs, one empty LOG006.LOG with nothing but the date,
one  DM-0000.LOG:

0302B>       init:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 1)
03151>       init:ff0122e4:8b:16:
K287 ICU Firmware Version 1.1.1 ( 3.3.7 )
03183>       init:ff0122f8:8b:05:
ICU Release DateTime 2012.05.14 13:18:25
032DC>       init:ff02b744:00:03: [SEQ] CreateSequencer (Startup, Num = 6)
033D6>       init:ff02b994:00:02: [SEQ] NotifyComplete (Startup, Flag = 0x10000)
03413>       init:ff02b9f8:00:03: [SEQ] NotifyComplete (Cur = 0, 0x10000, Flag = 0x10000)
03A99>       init:00ca8ffc:00:00: (*) Reallocating logging buffer...
03AD2>       init:00ca9024:00:00: (*) New buffer: 3d33f8, size=524288.
03B0C>       init:00ca908c:00:00: (*) Buffer reallocated (16384 -> 524288).
03B35>       init:00c60cc4:32:03: Magic Lantern startup-log.2018May20.60D111 (9dff88575e96+ (dm-spy-experiments) tip)
03B55>       init:00c60ce0:32:03: Built on 2018-05-20 10:58:21 UTC by jenkins@nightly
03BC2>    Startup:ff02b664:00:05: [SEQ] seqEventDispatch (Startup, 0)
03BFC>    Startup:ff012624:8b:05: startupEntry
0CEEE>    Startup:ff1b9340:81:03: Initialize Adjective & Situation
0D00A>    Startup:00ca9774:00:00: *** mpu_send(06 04 02 00 00), from ff05e1b8
0D068>    Startup:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0D09B>    Startup:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0D0D9> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0D108> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0D1A7>    Startup:ff01b7a0:8a:03: # 1 1 0
0D207> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0D23E> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0D34D> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 00 03 00), from ff1bf420
0D50F>    PropMgr:ff059e80:81:03: AEMode New:3 Last:0
0D59B>    PropMgr:ff1b8f68:81:03: Active Adjective & Situation
0D61B>    PropMgr:ff1b8894:81:03: ReqChangeCBR : Adjective 0, 0
0D65A>    PropMgr:ff1b8944:81:03: Not ExecMultiConvert Already None : Adjective 0, 0
0D6BC>    PropMgr:ff1b8fa0:81:03: Not ExecMultiConvert : Situation 0
0DB7D>    Startup:ff01aebc:8a:03: Variangle State 2
0DC51> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0DC9E> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0DEE4>    Startup:ff01b9cc:8a:03: CreateTask Master End
0E10F> **INT-36h*:00ca97dc:00:00: *** mpu_recv(2c 2a 02 00 03 03 03 00 03 00 00 48 00 00 06 19 64 00 00 00 00 85 06 00 00 04 06 00 00 04 06 00 00 04 00 01 00 00 00 00 53 38 01), from ff1bf420
0E17B> **INT-36h*:ff02b994:00:02: [SEQ] NotifyComplete (Startup, Flag = 0x2)
0E1B6> **INT-36h*:ff02b9f8:00:03: [SEQ] NotifyComplete (Cur = 1, 0x20000002, Flag = 0x2)
0E252> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0E28D> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0E396> **INT-36h*:00ca97dc:00:00: *** mpu_recv(08 07 01 33 00 00 00 00), from ff1bf420
0E43C> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0E482> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0E529> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 20 00 00), from ff1bf420
0E5B3> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0E5EA> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0E6A1> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 21 01 00), from ff1bf420
0E728> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0E760> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0E805> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 22 00 00), from ff1bf420
0E8BD> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0E901> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0E963>    PropMgr:ff059e80:81:03: AEMode New:3 Last:3
0E9CB> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 03 0c 01 00), from ff1bf420
0EA53> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0EA8A> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0EB3E> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 03 0d 01 00), from ff1bf420
0EBD0> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0EC0E> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0ECBE> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 03 0e 01 00), from ff1bf420
0ED4B> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0ED85> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0EE48> **INT-36h*:00ca97dc:00:00: *** mpu_recv(08 06 01 23 00 01 00), from ff1bf420
0EEE1> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0EF20> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0EFB6>    PropMgr:ff1ba404:01:03: Deliv WaitID = 0x80000001, 0xFF1B8BF8(1)
0F01D> **INT-36h*:00ca97dc:00:00: *** mpu_recv(08 06 01 24 00 00 00), from ff1bf420
0F090> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0F0C2> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0F1C9> **INT-36h*:00ca97dc:00:00: *** mpu_recv(08 06 01 25 00 01 00), from ff1bf420
0F276> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0F2B6> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0F366> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 2e 01 00), from ff1bf420
0F3FB> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0F43A> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0F4E6> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 2c 02 00), from ff1bf420
0F576> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0F5BA> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0F679> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 03 20 01 00), from ff1bf420
0F705> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0F741> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0F7E9> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 3d 00 00), from ff1bf420
0F874> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0F8B1> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0F9AE> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 42 00 00), from ff1bf420
0FA40> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0FA7B> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0FBA1> **INT-36h*:00ca97dc:00:00: *** mpu_recv(0c 0b 01 0a 00 01 00 00 00 00 00 00), from ff1bf420
0FC40> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0FC81> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0FD39> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 37 00 00), from ff1bf420
0FDD2> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0FE0B> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
0FECF> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 49 00 00), from ff1bf420
0FF56> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
0FF8E> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
1005D> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 3e 01 00), from ff1bf420
10104> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
10141> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
1024E>    PropMgr:ff1bb510:01:03: Complete WaitID = 0x80000001, 0xFF1B8BF8(0)
102C7> **INT-36h*:00ca97dc:00:00: *** mpu_recv(08 06 01 45 00 10 00), from ff1bf420
1035F> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
1039F> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
103D5>    PropMgr:ff1bb584:01:03: SpecialComplete ID = 0x80000001, 0x80000001 1034
10468> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 48 01 00), from ff1bf420
104EF> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
10526> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
105C8> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 4b 00 00), from ff1bf420
10638> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
1066E> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
10788> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 40 00 00), from ff1bf420
107FD> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
10831> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
108D3> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 41 00 00), from ff1bf420
1093F> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
10978> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
10A18> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 3f 00 00), from ff1bf420
10A8C> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
10AC0> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
10DA4> **INT-36h*:00ca97dc:00:00: *** mpu_recv(1a 18 01 4e 00 00 00 00 00 00 00 00 00 00 00 1e 00 00 00 0f 00 00 00 00 00), from ff1bf420
10E18> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
10E54> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
10F86> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 48 01 00), from ff1bf420
11005> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
11044> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
11166> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 53 00 00), from ff1bf420
111D6> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
11211> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
112D2> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 4a 00 00), from ff1bf420
11341> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
11378> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
1141B> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 50 00 00), from ff1bf420
11490> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
114C5> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
115FC> **INT-36h*:00ca97dc:00:00: *** mpu_recv(08 06 01 51 70 48 00), from ff1bf420
1166D> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
116A4> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
1174C> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 52 00 00), from ff1bf420
117BE> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
117F2> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
1189A> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 01 54 00 00), from ff1bf420
1190F> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
11948> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
11A6D> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 03 37 00 00), from ff1bf420
11AD7> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
11B12> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
11C3C> **INT-36h*:00ca97dc:00:00: *** mpu_recv(0e 0c 02 05 00 00 00 00 00 00 00 00 00), from ff1bf420
11CA6> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
11CD7> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
11DF8> **INT-36h*:00ca97dc:00:00: *** mpu_recv(0a 08 02 06 04 00 00 00 00), from ff1bf420
11E6B> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
11EA5> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
11FF0> **INT-36h*:00ca97dc:00:00: *** mpu_recv(0c 0a 02 07 00 00 01 00 00 00 00), from ff1bf420
12065> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
1209E> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
12217> **INT-36h*:00ca97dc:00:00: *** mpu_recv(0c 0a 02 08 06 05 05 00 00 00 00), from ff1bf420
12284> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
122BB> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
12394> **INT-36h*:00ca97dc:00:00: *** mpu_recv(0a 08 03 2f 00 00 00 00 00), from ff1bf420
123CB> **INT-36h*:ff05aba4:01:03: ALERT DELIVER ARRAY 30
1242C> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
12465> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
12606> **INT-36h*:00ca97dc:00:00: *** mpu_recv(0e 0c 03 2e 00 00 53 13 00 00 78 ed 00), from ff1bf420
1263F> **INT-36h*:ff05aba4:01:03: ALERT DELIVER ARRAY 31
126A4> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
126D9> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
1278B> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 05 03 35 01 00), from ff1bf420
127BF> **INT-36h*:ff05aba4:01:03: ALERT DELIVER ARRAY 32
1281E> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
1285C> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
12A6F> **INT-36h*:00ca97dc:00:00: *** mpu_recv(1c 1b 03 1d 64 03 00 00 00 00 00 4c 50 2d 45 36 00 00 00 00 00 01 00 07 c6 86 98 00), from ff1bf420
12AAF> **INT-36h*:ff05aba4:01:03: ALERT DELIVER ARRAY 33
12B0C> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
12B3C> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
12BDB> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 04 03 36 00), from ff1bf420
12C12> **INT-36h*:ff05aba4:01:03: ALERT DELIVER ARRAY 34
12C70> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
12CAB> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
12D2F> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 04 03 36 00), from ff1bf420
12D65> **INT-36h*:ff05aba4:01:03: ALERT DELIVER ARRAY 35
12DC5> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
12DFB> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
12E82> **INT-36h*:00ca97dc:00:00: *** mpu_recv(06 04 03 36 00), from ff1bf420
12EB8> **INT-36h*:ff05aba4:01:03: ALERT DELIVER ARRAY 36
155E3>    PropMgr:00ca9774:00:00: *** mpu_send(08 06 00 00 02 00 00), from ff05e224
15627>    PropMgr:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
1565A>    PropMgr:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
15689> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
156B3> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
15855> **INT-50h*:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)
158B4> **INT-50h*:ff07206c:00:01: [PM] EnablePowerSave (Counter = 1)
159AD> **INT-36h*:00ca97dc:00:00: *** mpu_recv(08 07 01 55 00 02 01 01), from ff1bf420
159FA> **INT-36h*:ff05aba4:01:03: ALERT DELIVER ARRAY 35
15B46>    PropMgr:ff1b927c:81:16: Clear Adjective & Situation (StartupCondition)
15EA7>    PropMgr:ff1bb080:01:03: MovieParamData
15F02>    PropMgr:ff1baa68:01:03: mode 0 size 0x0 , framerate 0x1e , type 0xf zoom 0x0
1687A>    PropMgr:ff067c54:00:16: [RTC] !! RTC CHECK ERROR !!

16F82>    HotPlug:ff01b510:8a:03: ERASE SW OFF
184FD>    PropMgr:ff01214c:8b:06: ASSERT : Multicast\PropertyState.c, Task = PropMgr
18552>    PropMgr:ff012160:8b:06: ASSERT : Line 539
18582>    PropMgr:ff012174:8b:06: ASSERT : ReportCounter != -1
18605>    PropMgr:ff0121dc:8b:16: ASSERT Time 1899/12/31 0:0:0
1C79B>    Startup:ff0125e4:8b:05: startupPropAdminMain : End
1C7D4>    Startup:ff02b994:00:02: [SEQ] NotifyComplete (Startup, Flag = 0x20000000)
1C806>    Startup:ff02b9f8:00:03: [SEQ] NotifyComplete (Cur = 1, 0x20000000, Flag = 0x20000000)
1C883>    Startup:ff02b664:00:05: [SEQ] seqEventDispatch (Startup, 1)
1C8BB>    Startup:ff01306c:8b:05: startupPrepareProperty
1C91D>    Startup:ff0429fc:24:03: FM_Initialize (0, 1, 0)
1CA53>    Startup:ff04fbe0:27:03: FC_Initialize [drive:3][ClassID:39]
24831>     DbgMgr:ff071ffc:00:01: [PM] DisablePowerSave (Counter = 2)


And CRASH02.LOG:

ASSERT: ( (PMULTI_BATTERY_REPORT_T)pPropertyList->pvCurrentProperty )->Number == ReportCounter
at Multicast\PropertyState.c:540, PropMgr:ff1ba938
lv:0 mode:0

PropMgr stack: 110e68 [110f68-10ff68]
0xUNKNOWN  @ ff07b8cc:110f60
0xUNKNOWN  @ ff1dcb80:110f38
0xFF1DC5DC @ ff05a868:110f20
0xUNKNOWN  @ ff1dc60c:110f10
0xUNKNOWN  @ ff1dc694:110ef0
0xFF1BA8A4 @ ff1baf70:110ec0
0xFF013EC0 @ ff1ba934:110ea0
0x00C60478 @ c60588:110e68

Magic Lantern version : startup-log.2018May20.60D111
Mercurial changeset   : 9dff88575e96+ (dm-spy-experiments) tip
Built on 2018-05-20 10:58:21 UTC by jenkins@nightly.
Free Memory  : 470K + 769K


Oh, and an Err 70 on both the top and main LCDs.
Title: Re: 60D not turning on.
Post by: a1ex on December 22, 2020, 09:40:37 PM
This is getting interesting. Please send me a copy of your ROM, so I can attempt to reproduce in QEMU.

I can also attempt to bypass the error and reset camera settings that way - feel free to join the IRC or Discord chat room for that.
Title: Re: 60D not turning on.
Post by: Mike Tornado on December 24, 2020, 12:31:43 AM
Usually (a lot of cases on this model), it's a camera eeprom corruption, rare cases is mpu flash data corruption, or props corruption in digital part, but no errors about props in your's log, for test need to wrote a good one dump, but backup original before. If it helps, need to extract important data from corrupted eeprom and build a new good one and wrote back. Is camera able to connect to computer? If its detected by USB, its recoverable without disassembly, if not - uart and disassemble required.

Also 50/50 chance is repair it with Service Firmware, and update flag.
Title: Re: 60D not turning on.
Post by: leocallejas on December 24, 2020, 04:12:48 AM
I connected it to my computer but it was not detected since it technically doesn't turn on so far.

Title: Re: 60D not turning on.
Post by: a1ex on December 24, 2020, 07:12:07 AM
ROM files from OP and MPU messages from the above log will boot the camera in QEMU, although with main display off, but menu works on the virtual camera. So, I'm not sure what's going on.

The above error is actually a bug in my logging code, or - rather - a side effect of the overhead of capturing debug messages. Small timing differences in PropMgr task could cause this message on this particular camera, at least.

Something unusual: log files are saved if and only if an ERR70 appears on the main screen. Otherwise, the camera probably does not initialize file I/O for some reason. To be investigated, but I cannot exclude the power button at this stage.

I've tried to compare the MPU messages with the power button in both positions (on or off), from my 60D, but couldn't find any difference. Rather, it seems to me that MPU decides to power down the camera while main CPU (ICU) code is still executing (early boot), but before the SD card is initialized. There may be some event or flag or whatever, that allows the MPU to power down the camera, but I haven't identified it yet.
Title: Re: 60D not turning on.
Post by: leocallejas on December 24, 2020, 04:42:58 PM
Quote from: a1ex on December 21, 2020, 05:05:30 PM
If you have Arduino-level electronics skills, it's easy to see Canon's debug messages via UART (https://www.magiclantern.fm/forum/index.php?topic=7531.10). This could also give some clues about the power button state, though I haven't tried to identify it specifically yet. The connector on 60D is hard to access without disassembling the camera, but otherwise, the extra hardware needed is a FT232RL module (USB to serial) and a needle.

I will look into this, ordered the boards, but they'll arrive here after Jan 10th.  I'll let you know when I have the hardware.  Le me know if there's something I could should read up on the topic while I wait.
Title: Re: 60D not turning on.
Post by: Mike Tornado on December 24, 2020, 09:38:54 PM
Did you try connect camera to USB when Err70 is appears?
Sometimes its worked.
Title: Re: 60D not turning on.
Post by: leocallejas on December 25, 2020, 12:32:34 AM
Quote from: Mike Tornado on December 24, 2020, 09:38:54 PM
Did you try connect camera to USB when Err70 is appears?
Sometimes its worked.

Worth a shot, but it didn't work.  Then again, the err 70 lasts only bout 1 second, and it disappears I'm assuming as soon as it starts saving the logs.  And I don't get the err message on the main screen now, only the top.
Title: Re: 60D not turning on.
Post by: Mike Tornado on December 25, 2020, 11:03:48 AM
Try to start it without memory card and connected to PC before start.
Title: Re: 60D not turning on.
Post by: leocallejas on January 25, 2021, 01:34:47 AM
Update.  It was the power switch, but the real culprit was not discovered ultil I started disassembling trying to get to the serial port.

Turned out ants made it into the camera, probably through the side ports, because I misplaced the side rubber cover.  The power switch was completely clogged with ant remains, and the contacts were corroded.  Managed to clean the switch, and it finally turns on without a problem.

The rest of the camera was less invaded, but I cleaned as best I could with a soft brush.  I do want to open it up again and do a deeper clean, but I really don't know what kind of liquid cleaner I can use to remove the oily/sugary gunk that's left in some areas.  Any suggestions?

Thanks Walter, Mike and a1ex for all the help, I'm so relieved to have a functioning camera again.

Cheers,

Leo

(https://i.ibb.co/tXssdnH/AEE42-FD3-9-FB2-4-F05-8-C5-F-5-B9-D7-B902-D1-A.jpg) (https://ibb.co/Kwqq1B5)
(https://i.ibb.co/Kz55KWJ/8978-E059-8-C76-49-CB-B224-ED2938-FA86-DB.jpg) (https://ibb.co/2YFFZdT)
(https://i.ibb.co/s39GVp5/A34977-F5-7420-4-E9-E-AC1-B-C5-A11-ED64452.jpg) (https://ibb.co/4NRGVws)
Title: Re: 60D not turning on.
Post by: Walter Schulz on January 25, 2021, 01:59:18 AM
60D went ant farm. This is a first or what you mean, a1ex?

Sugary stuff: 70% Isopropanol (or higher) should do. Will not work for protein remnants. I'm not that good in chemistry but can ask a friend.
Title: Re: 60D not turning on.
Post by: garry23 on January 25, 2021, 08:38:29 AM
A real hardware bug!  ;)  :)
Title: Re: 60D not turning on.
Post by: a1ex on January 25, 2021, 09:18:06 AM
Quote from: garry23 on January 25, 2021, 08:38:29 AM
A real hardware bug!  ;)  :)

Rather, a colony of bugs :)


Quote from: Walter Schulz on January 25, 2021, 01:59:18 AM
This is a first or what you mean, a1ex?

First time seeing such a defect? Definitely. TBH, I haven't disassembled any cameras yet, other than removing the back cover from my 5D3 for troubleshooting this issue (https://www.magiclantern.fm/forum/index.php?topic=23622.0).

However, it's not the first case of a camera that doesn't turn on because of a faulty power switch. Another recent example here (https://www.magiclantern.fm/forum/index.php?topic=25692.0).

Thanks for the pictures - shared the story on Twitter (https://twitter.com/autoexec_bin/status/1353598517709836290) :)




BTW, checking the state of the power switch is not straightforward with code running on the main CPU (this switch is handled by the MPU), but the experiments mentioned earlier in this thread might provide a reasonably good heuristic for diagnosing such issues. That is, manually triggering an ERR70 (e.g. via some invalid call to AllocateMemory) should be able to save a log file from main firmware, even if the camera is started with the power switch off (or with the card/battery door open). TODO: prepare a test build and cross-check the hypothesis on different camera models.

If the camera can be tricked into saving a log file from main firmware, that means the boot process goes far enough, so the camera is at least halfway alive (both hardware and main firmware, including sane property data structures etc). That's one step further, compared to "just" being able to run the portable ROM dumper (which runs from the bootloader context, not from main firmware - see this flowchart (https://www.magiclantern.fm/forum/index.php?topic=23641.msg213338#msg213338) for details).
Title: Re: [Solved - Hardware issue] 60D not turning on.
Post by: Walter Schulz on January 25, 2021, 07:39:32 PM
Bad news. My friend (nowadays teaching chemistry and stuff) checked pics of your cam and cannot offer a solution (sorry, lame pun) which will dissolve ants and ant's remnants without dissolving camera, too. You may try to mechanical cleanup cam with careful appliance of fluids (water, isopropanol). But verdigris standard treatment involves acids and protein stains require detergents with enzyms. Both will harm electric circuits.

Sorry!
Title: Re: [Solved - Hardware issue] 60D not turning on.
Post by: leocallejas on January 25, 2021, 09:03:55 PM
Quote from: Walter Schulz on January 25, 2021, 07:39:32 PM
Bad news. My friend (nowadays teaching chemistry and stuff) checked pics of your cam and cannot offer a solution (sorry, lame pun) which will dissolve ants and ant's remnants without dissolving camera, too. You may try to mechanical cleanup cam with careful appliance of fluids (water, isopropanol). But verdigris standard treatment involves acids and protein stains require detergents with enzyms. Both will harm electric circuits.

Sorry!

It was worth the shot tho! Thanks for asking anyways.  I will perform a deeper careful cleanup with isopropanol now that I know what I'm against, and feel more comfortable with the disassembly process which is really not that difficult.  That should get it as clean as can be, at least to function properly and give me some peace of mind.

Funny disassembly story... at one point, when taking apart the mode dial selector, there's a bearing ball that's held in place by a tiny spring.  Removing this is pretty straightforward, but putting the spring back proved to be trickier.  On my first try I managed to send it rocketing out the window when I lost the pressure over it with my screwdriver.  I don't even know how I was lucky enough to find it again, lol.  Needless to say, the next attempt was done with the whole piece (and most of my head) inside a big plastic bag.