[UNMAINTAINED] Canon 5D Classic Firmware ** Beta 4 **

Started by coutts, June 14, 2012, 04:54:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dbanet

Hi, coutts
Glad to see this port working.
I've registered there to thank you for your work and please, do not give up.

If you could find any work I can do, I'll glad to help you with this.
I will be able to test the port after I'll buy the 5Dc, I think this month or the next one.

Your work is amazing.
As far as I understand, it will be easier to run ML to 450D, 40D with your port. That's a really good job.

WBR,
Boris.

coutts

Quote from: walta on August 03, 2012, 03:37:25 AM
Heres a thought. I use the Canon SDK to write EOS apps and don't quite understand the difference between how that works and how the ML software works. But heres an idea.

If we could write something using the SDK that queries some camera settings and writes to the logfile. We could run it on the old models and the newer models and see what the difference is.

I could write the app but I have no idea what camera configuration settings to look for.


Make any sense? At lease the app could run and connect to the camera and not hang up. Just not sure what we could look for.

Walt
The main difference is that ML runs with DryOS, instead of just a layer between DryOS and remote computers (like the SDK). ML can intercept remote commands sent to the camera using the SDK. We can really do anything with ML.

The only difference I know between the 5dc models is the screen (i guess they replaced it in later ones). I called a canon tech tough and he assured me that there is absolutely no difference and the serial number isn't significant.

Obviously he didn't know what he was talking about....

wiranurmansyah

Hello, i tried the firmware. My 5d serial is DS126091 no 470300725.

Got the solid blue LED. After removing the battery it did not work at all. Shutter button disable, but the three small button (iso, af, metering) still work...

coutts

Quote from: wiranurmansyah on August 06, 2012, 06:32:29 AM
Hello, i tried the firmware. My 5d serial is DS126091 no 470300725.

Got the solid blue LED. After removing the battery it did not work at all. Shutter button disable, but the three small button (iso, af, metering) still work...
Sounds like the others. So, another new new: serial #s can start with 4 as well. So what makes it only work on serial numbers starting with 09 and less (like 08, 07, etc). Hmm..

walta

Just downloaded the latest version of the SDK (ver 2.11) and I see that only models after the 40D are now supported. For the 5D and XTi (the ones I use) it says "Remote Control may work but not supported".

I've got all the earlier versions stored away (that do support the 5d) and I'll dig them out and see if there are any differences where you have to handle the older and newer versions of the 5d differently. There are a couple of sample programs that may provide a clue.

Walt
Canon 5Dc and 400D

coutts

I think that if we use g3gg0's cache hack to boot ML, we may be able to make ML work on all 5dc cameras :D

I've been working with him trying to make it work, and also studying the ARM documentation for how it all works. In a nutshell:
The ARM (processor) doesn't read instructions and data directly from the ROM/RAM; rather, it reads them from a cache (to provide a lower latency read method). I don't know many details yet, but essentially when VxWorks reads or writes to/from say address 0x123, the ARM uses 0x123 and applies an index to it, to know where in the cache to look for this value.

So, we can modify this cache to essentially re-write parts of the firmware. So, g3gg0's boot hack works like this:
- Replace the pointer to canon's startup task with a pointer to ML startup task (so canon starts ML startup task instead of its own).
- ML initializes and at the end of the ML startup task it calls the Canon startup task to continue booting like normal.

So instead of re-writing all of the boot code (which appears to be the problem with the 5dc, some cameras work some don't. The ones that don't are halting on the bootcode I have written), we call the camera's normal boot procedure directly and hardly have to do a thing :)

The ARM documentation is actually quite helpful now that I am reading it and not skimming it for key words. We're pretty lucky to have this documentation available to us. The interesting stuff can be found here regarding the Control Coprocessor CP15's registers:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0201d/index.html

coutts

I have also learned that the ARM sets up different memory regions with differing permissions in each. Different permissions can be given for user and supervisor mode (ARM mode) for these regions. The permissions can be like this (taken from ARM docs):


UNP = unpredictable


Note: from what I have found, the ARM is put into supervisor mode at FF81008C (during early boot) and isn't changed back to user mode ever. I guess it always runs in supervisor mode while the camera is booted/running. The only thing supervisor mode really does is provide a few extra registers to use, so not very important.

coutts

Here is where the different memory regions are setup. This is one of the early functions called when the bootloader starts:




It kind of makes sense! Some regions overlap, but the permissions for all are the same so overlapping doesn't mean much.
Region 0 is the total addressable space of the 32-bit ARM (0x0-0xFFFFFFFF).
Region 1 could represent 1gb of RAM area, in the bootloader it references the RAM area as 0x0-0x40000000.
Region 2, not sure about. I know the flag area is at 0xF8000000 so maybe related to that.
Region 3 looks to possibly be the DIGIC Register area, since anything in the 0xC range maps to digic registers (from what we know).
Region 4 is 8mb starting at 0xFF800, sounds a lot like the 8mb firmware ROM :)
Region 5 is 128mb starting at 0x0, I think this is the cacheable RAM area. From strings in the bootloader I think the camera has 256mb of RAM total, and if you look at my notes above it sets only regions 4 and 5 as cacheable, so I think the other half of RAM is uncacheable. There are allocate memory functions for cacheable and uncacheable memory, so maybe this is all related.

Just probing around, don't mind me :P

g3gg0

Quote from: coutts on August 08, 2012, 04:45:11 PM
Region 2, not sure about. I know the flag area is at 0xF8000000 so maybe related to that.

Region 2 is data flash. this must not be cached else flashing will not work as expected.

Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

g3gg0

Quote from: coutts on August 08, 2012, 03:16:47 PM
So instead of re-writing all of the boot code (which appears to be the problem with the 5dc, some cameras work some don't. The ones that don't are halting on the bootcode I have written), we call the camera's normal boot procedure directly and hardly have to do a thing :)

yep, thats the point about the cache hack :)
minimally invasive patching of instructions "pseudo-in-place"

unfortunately we got weird results on models like 60D, i was not able to explain :(
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Stedda

Another serial number

1721201604

Same issues as others above... got the solid blue light but only the top buttons work... formatted card and it's back to normal.

Thanks
Eric
5D Mark III -- 7D   SOLD -- EOS M 22mm 18-55mm STM -- Fuji X-T1 18-55 F2.8-F4 & 35 F1.4
Canon Glass   100L F2.8 IS -- 70-200L F4 -- 135L F2 -- 85 F1.8 -- 17-40L --  40 F2.8 -- 35 F2 IS  Sigma Glass  120-300 F2.8 OS -- 50 F1.4 -- 85 F1.4  Tamron Glass   24-70 2.8 VC   600EX-RT X3

takitibi

Helló!
I already have 5D classic, and I dont't have money to change it 5D MK2.
The ML firmware will came to be a clever to 5D Mk2 tricks!
Many thanks to develop to you, and respect!
I want to donate you, if you done an 1.0 5D Classic stable version firmware!
(ISO 6400, smaller jpg picture in the CR2 file (thumb), ... )
How to donate? >> Paypal?
Have a nice day! :-)
TakiTibi

coutts

Quote from: takitibi on August 09, 2012, 02:22:43 PM
Helló!
I already have 5D classic, and I dont't have money to change it 5D MK2.
The ML firmware will came to be a clever to 5D Mk2 tricks!
Many thanks to develop to you, and respect!
I want to donate you, if you done an 1.0 5D Classic stable version firmware!
(ISO 6400, smaller jpg picture in the CR2 file (thumb), ... )
How to donate? >> Paypal?
Have a nice day! :-)
TakiTibi
paypal: [email protected]
Any donations greatly appreciated :D thanks!

ponk


hacksawbob

Ds126091
0430104112

Working! :)

Did my first timelapse last night all working as expected, some times the canon menu flashes up briefly when in ml menu but functionally all good.

cluhn

Just tested it:
Same issue as the other ones. Back-buttons do not work. :(

DS126091
Serial: 2931209424

How can i help to solve the Problem? :)

If it work on my 5D i will donate too.

Blahpix

Just tested and same issue here as well:
1. Installing and Solid blue light
2. no rear inputs would work, no info in viewfinder. Buttons WB/AF/ISO working but shutter didn't
3. Removed battery put in regular card (ML 50D installed on it) didn't work
3. Removed battery put in regular card (without ML installed), worked fine. RELIEF! I thought the cam died!!!!

However,
- CF-Card with ML 50D installed still works in 50D but not on 5D
- CF-card without ML works on 5D (big relief) and on 50D
- CF-Card I used to install ML 5D seems dead on both camera's :-(
My question is how I can reboot it and make it work again or is it destroyed? Please help :-)


Serial: DS126901 3431300439

walta

Quote from: Blahpix on August 14, 2012, 11:29:18 PM
Just tested and same issue here as well:
1. Installing and Solid blue light
2. no rear inputs would work, no info in viewfinder. Buttons WB/AF/ISO working but shutter didn't
3. Removed battery put in regular card (ML 50D installed on it) didn't work
3. Removed battery put in regular card (without ML installed), worked fine. RELIEF! I thought the cam died!!!!

However,
- CF-Card with ML 50D installed still works in 50D but not on 5D
- CF-card without ML works on 5D (big relief) and on 50D
- CF-Card I used to install ML 5D seems dead on both camera's :-(
My question is how I can reboot it and make it work again or is it destroyed? Please help :-)


Serial: DS126901 3431300439

I'm confused as to why the ML 50D is part of the discussion. Did you think it would work with the 5D?

To answer your question, I formatted the card I used to install the ML 5D (with my PC) and all works fine now.



Canon 5Dc and 400D

Blahpix

I just used a CF-card with ML 50D installed on it (I have to such cards). I figured that since it contained 50D, 60D, etc. fir-files adding the 5D file would work just fine. Also both CF-cards worked fine on both body's prior to adding 5D-files. After adding 5D file to one CF-card both did no longer work on 5D. It acted as I described.

The one I added 5D did not work on either body.
I managed to solve the problem (partially) by follow described steps in your users guide (to go back to canon firmware). It now works on 50D and 5D again. (Formatting my the CF-card on my mac did not work.)

The one I did not add 5D fir-file, still does not work on 5D but works fine on 50D. I guess I'll have to uninstall ML 50D and then re-install it to get it to work on both body's I guess.

Do you think I should also re-install canon firmware on my 5D?

p.s. At a given moment the 100CANON folder got renamed 100NIKON!?

Ah, figured out where the NIKON came from ... i copied it from a very old CF-card that worked on a NIKON ages ago to the new CF-card I had ML 50D and 5D installed on. Since it didn't have ML 50D installed I figured it might work on 5D and it did. Then I started copying the files to the corrupted CF card. I kinda lost it fearing the 5D died I guess ;-)

jplxpto


p.s. At a given moment the 100CANON folder got renamed 100NIKON!?


NIKON?!!!

walta

Andrew needs to answer your question but I think having multiple ML versions on a card that moves between cameras will cause problems - not the least of which is a difficulty in troubleshooting anything.

Especially a beta-version.

Walt
Canon 5Dc and 400D

misha

WoW I just bricked my 5d :) I guess I'm the first one!
So cool to first even in bad :)

Camera powers on, I can see stuff on small LCD, can change ISO, modes, can change shooting mode. But no Menu, no shooting possible, camera cannot be recognized via USB :(

I was positive firmware  was 1.1.1 (updated some time ago), followed the instruction.

In same time was working on 7d, now it has 2.0.0 and works cool, so I'm just some lame noob :)

Any ideas?

Francis

Format the card in your computer. See if that fixes it. What you are describing is what many of the other users described in the forum. As they stated, formatting should fix it.

misha

Good news! I left camera without battery and went to see Bourne movie... came back home and put battery back in camera! It works, FW is 1.1.1
Will try to reformat.

PS. This cryptic captcha is simply retarded.... especially when you loosing your message when it is wrong  :'(

scrax

I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-