[BAD MPU?] EOS 60D does not start

Started by ulmi, March 20, 2019, 08:30:54 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ulmi

Hello,

my EOS 60D isnt starting up. I tried with different Battery and without Card but nothing happens. Whenever I insert a card with ML the red LED is flashing (7 times a "double" flash).
I tried the diagnostic tools and the display test worked as well as the ROM dumper. The only strange thing is, that the ROM files were dumped to the root folder nad not to the ML/LOGS/...

But I can't get the camera working, no matter what I try.

Can anybody help me?

Best regards
Silvio

a1ex

ML version?

I'm afraid I don't recognize this flashing pattern. The only flashing pattern in current builds is 3 blinks 500ms on / 500 ms on, followed by 3 blinks 100ms on / 500 ms on, repeated forever with 1 second delay between them. That error condition means "autoexec.bin too large", is tested in QEMU and cannot be triggered by faulty hardware (i.e. it cannot be present in current nightly build).

If firmware version is wrong, or otherwise the ROM contents are invalid, ML prints an error message with portable display routines (of course, if Canon bootloader is still up and running). If portable display test worked, ML should be able to print this error, as it uses the same routines.

ulmi

Quote from: a1ex on March 20, 2019, 09:14:22 AM
ML version?
Latest Nightly build (2018Jul03.60D111)
Firmware is 1.1.1

a1ex

OK, please PM me a copy of your ROMs (the ones saved by portable ROM dumper should be fine).

Also, a video of the LED blinking pattern, please.

a1ex

Got the following log:



The MPU appears to cut off the power as soon as it receives the initialization message. It does not reply back.

As long as the main CPU does not attempt to communicate with the MPU, camera remains on.

Otherwise, the ROMs saved by the portable ROM dumper are working fine in QEMU, so it's likely something on the MPU side.

Not sure how to proceed from here, other than attempting to dump the MPU firmware without sending the initialization message (if that's even possible). Help?

Walter Schulz

What happens if cam is connected to PC via USB?

a1ex

I doubt it will work, as main firmware stops very early (it does not start the USB tasks).

Maybe a Magic Shoe dongle could be helpful, as that one appears to talk directly to the MPU. Never used one, so I'm not sure what to expect.

ArcziPL

Can you try turning on with CA mode selected (on the mode dial).
M50.110 [main cam] | G7X III [pocket cam] | 70D.112 [gathers dust] | M.202 [gathers dust] | waiting for M5II

ulmi

Quote from: ArcziPL on March 25, 2019, 08:20:40 AM
Can you try turning on with CA mode selected (on the mode dial).
I'll try when I am back home this evening.
Quote from: Walter Schulz on March 22, 2019, 02:57:46 PM
What happens if cam is connected to PC via USB?
This has no effect .

ulmi

Quote from: ArcziPL on March 25, 2019, 08:20:40 AM
Can you try turning on with CA mode selected (on the mode dial).
Ich tried but it didnt work

ulmi

It looks like the camera recognizes at least USB connection, but is not shown in device manager

a1ex

What are the signs of recognizing the USB connection?

ulmi

There is a message on the display

connect:
InT-44hex:ff01b088 USBDetectISR 0
Hotplug :ff01b278 USB Connect ->->->-> 0


disconnect:
InT-44hex:ff01b088 USBDetectISR 0
Hotplug :ff01b298 USB Connect <-<-<-<- 0


a1ex

Ah, the hotplug task.

I can attempt to fake the MPU messages and start the firmware on the main CPU (I'm actually doing that for emulating the firmware), but if the MPU is not responding, I'm not sure what it will solve. You'll be able to see Canon menus, and I will be able to navigate them with some pre-programmed sequence, but I believe anything trying to talk to the MPU will fail. I can probably enable the USB communication, too, but again - without a real MPU, I doubt it will help with the actual issue.

I'd rather attempt to debug this via JTAG, assuming the MPU is accessible from there, but I have no experience with that (I can learn it, but... it may take a while). The MPU is not very verbose on the UART, so even if we get something from that, I doubt it will help.

ulmi

Would it be possible to completely reset the Camera from outside then? Or would the possibly eraneous MPU config still be active?
This was my last thought on how to reset the camera.

In my experience JTAG debugging is very hard if you don't have control over the debuggee. I used to debug some FPGAs via JTAG and it was always a little bit tricky.

If the reset via USB won't work, I think the camera will find it's way to ebay for spareparts.

a1ex

I believe the problem is not on the main CPU side (the one I'm familiar with), but with the MPU. I can fake the MPU messages to confirm (or deny) this hypothesis; that should be a useful diagnostic tool in itself, now that I'm thinking about it.

If the JTAG allows one to dump the MPU ROM and to reprogram the EEPROM, that should work. I doubt it's a hardware defect - the MPU turns off the power as soon as it receives the init message, but does not do anything with other messages.

Background - we have tried swapping the init message for MpuMonOpen, i.e. the first step required to dump the MPU memories, but the camera didn't reply to it (neither did my 60D, so it's expected), but it no longer turns off either. That special build is able to print Hotplug events, including USB messages.

If I were familiar with the MPU firmware and architecture, I'd try to emulate that dump and reproduce the error; maybe a MMIO trace for the MPU could be useful, if the CPU architecture allows this.