[Solved - Power switch / Ants] 60D not turning on.

Started by leocallejas, December 17, 2020, 04:23:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

leocallejas

Hi,

I've been reading similar posts, including this one 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!

Walter Schulz

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?

leocallejas

Cool, thanks, that definitely did something:


Walter Schulz

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

leocallejas

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 ).

Walter Schulz

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?


leocallejas

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.

Walter Schulz

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.

leocallejas

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.

Walter Schulz

Well, last try before calling the doctor for help:

- Use EOScard 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


leocallejas

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. :(

Walter Schulz

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 ...

leocallejas

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.

Walter Schulz

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.

leocallejas

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.

a1ex

Here's a test binary that would shed some light over the early boot process (60D 1.1.1):

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. 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.

leocallejas

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.




a1ex

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.

leocallejas

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.

a1ex

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.

Mike Tornado

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.
There is no knowledge that is not power

leocallejas

I connected it to my computer but it was not detected since it technically doesn't turn on so far.


a1ex

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.

leocallejas

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. 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.

Mike Tornado

Did you try connect camera to USB when Err70 is appears?
Sometimes its worked.
There is no knowledge that is not power