Canon 1000d / Rebel XS

Started by coutts, August 14, 2012, 02:41:27 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ant123

Quote from: Levas on December 06, 2016, 09:19:13 PM
We're gonna use our 1000D as christmass decoration this year, hanging in a tree with blinking leds ;D
So you need to rename this topic again - and you will celebrate till 2018.  ;D

shmadul

I am hoping to port ML, but at this point any custom firmware like chdk or ML works :)

shmadul

OHhhh so the autoexec.bin file is if you already have ML installed,
The .fir file gotten from the assemble_fw file patches the script into the .fir file !!!

Levas

Good work by the way, Syscall.
You now a lot more about the technical side then I do.

So you set the bootflag, can you share the FIR file you did it with?
This way we could just run autoexec.bin at startup, no more firmware updates.
I'm just new to the magic lantern source files and finding my way to find addresses in firmware.
So I hope I can help when you're a little further in finding your way in magic lantern.

Levas

@shmadul
You're right.
Normally to run ML you don't need the fir file.
Once you enabled the bootflag, ML runs with autoexec bin file and the ML files in the ML directory on your SD card

shmadul

any ideas ? I found this on the web :)
" I finally figured out why my code did not work with autoboot before, one tweak should fix things:
in link.script, change:
Quote
first 0x800120 :
to:
Quote
first 0x7F0000 :

Also, add this function to main.c:
Quote
void COPY() {
        int i;
       
        long *from = (long*) 0x800000;
        long *to   = (long*) 0x7F0000;
       
        for (i = 0; i < 0x100000; i++) {
                to = from;
        }
}

and in entry.S modify it to look like this(I have bolded the one addition):
Quote
.text
.org 0
.globl _start, start

start:
_start:
        BL    COPY
        BL    my_LedBlueOn
        B      loc_FF810054


The problem was that before, the link script said to link the code to 0x800120, but the makefile linked it to 0x7F0000. This doesn't work because the code is actually loaded to 0x800000 by the bootloader. We first need to copy our code from 0x800000 to 0x7F0000 (a safe spot in memory, 0x800000 will be overwritten by the canon firmware during the boot process). Then our code will be executed from there.
"

Ant123

Quote from: SysCall on December 08, 2016, 07:36:12 PM
I'm not able to set the boot flag each time I disable it. Sometime it works, sometime it does not.

Try to use modified 5DC installer. Maybe it will be more stable...

shmadul


SysCall

I'm out of the game.

I just successfully bricked my camera.

I managed to enable and disable the boot flag a few times in row without any issues and then ...

Now the boot flag says BOOT=-348549156

Camera can still read the autoexec.bin after removing the battery and put it back.

Black screen when no SD card or none bootable SD card is inserted.

Picture:
https://1drv.ms/f/s!AsC1K_kH7N9pbYhpDPUbSuC8Iss

shmadul

@Syscall
"Funktion" is German for Function (2 years of German finally paying off LOL)
unless i'm mistaken Canon is a Japanese company.... Not sure why German is being used here, Could be part of the issue ??

shmadul

@syscall :'(
Have you checked ur battery, Sounds Stupid, but its been my battery many many times just try plugging your battery in for 20-30 mins and then try and boot up your camera
(Try without SD)

Ant123

Quote from: shmadul on December 08, 2016, 10:18:39 PM
@Ant123 Where's that located ??
On your computer.
But first you need to modify and complie this code

Quote from: SysCall on December 08, 2016, 10:25:47 PM
I'm out of the game.

I just successfully bricked my camera.

I managed to enable and disable the boot flag a few times in row without any issues and then ...
http://www.magiclantern.fm/forum/index.php?board=45.0

Levas

Wow, you bricked your 1000d camera ?

I just wanted to post that I want to check out setting the bootflag this weekend, but now I'm scared :o
Anything here:
http://www.magiclantern.fm/forum/index.php?board=45.0

SysCall

@shmadul

Quote"Funktion" is German for Function (2 years of German finally paying off LOL)

It has nothing to do with the naming.

Coutts was german himself that is why he named it "Funktion", you can name it whatever you want even Ffuisdb() would work. 

shmadul

@Syscall
Did Some Digging Try these


Re: How do disable Bootdisk flag on a 5D Mk III
« Reply #36 on: September 24, 2013, 04:12:57 PM »
Hi all.
First of all, Thank you all developer.

I'm thinking about this problem. And yesterday, I built magiclantern compiling system.
I modified latest source code, and made special autoexec.bin.
This modification is calling "Disalbebootdisk" at auto save toggle.
I was dumping address at before and after modification, call"Disablebootdisk"
I checked these dumping result. Offset+4 address from 0xF8000000 is changing from 0xFFFFFFFF
to 0x00000000. This is clearing boot flag. But, I found some different point at other address. woo... :'(
May be, some developer is thinking that this result is occerd a bad influence on camera function.

After disable boot flag, I updated canon firm V1.2.1.
At present, I can't find a problem.
System boot time become so fast. and Eye-fi card is enable.

void
config_autosave_toggle(void* priv)
{
#if 0
    config_flag_file_setting_save(CONFIG_AUTOSAVE_FLAG_FILE, !!config_autosave);
    msleep(50);
    config_autosave = !config_flag_file_setting_load(CONFIG_AUTOSAVE_FLAG_FILE);
#endif
    bmp_printf(FONT_LARGE, 50, 50, "disable flag start");
    call( "DisableBootDisk" );

    bmp_printf(FONT_LARGE, 50, 50, "disable flag end");
}

Good Luck also Source :https://www.magiclantern.fm/forum/index.php?topic=6035.25

SysCall

Interesting, if I set the dial to macro mode and push the shutter button the flash opens XD

Levas

 :o  :D
@Syscall
Just wondering, is the 1000d your main camera, your one and only camera?

SysCall

@Levas

It was my backup, time lapse and magic lantern dev camera.

My main camera is the Canon 80D, maybe I should hang the 1000d on my tripod now to stabilize it :P

Levas

Ah, good it was not your main camera 8)
But you need to unbrick it, otherwise I don't dare to try more stuff on the 1000d

My main camera is a 6d, but I'd rather have my 1000d as a backup cam instead of a brick to stabilize my tripod :P

SysCall

I just removed my instruction on how to set the boot flag to prevent others from bricking their cameras.

shmadul

Wait so Did anything above help ?
also what bricked it ? was it the fact that you set the bootdisk to a - value or the fact that you enabled it at all ?

shmadul

@syscall so you are still able to boot into magic lantern recovery ??
Please Report wether you get this fixed and how because unlike you, The 1000D is my main Camera and i cant risk it bricking :P
Whats next after we have bootdisk enabled ?


shmadul

@syscall any Luck ?
@a1ex, Whats next after we have bootdisk enabled ?

SysCall

@ a1ex

Thank you very much for your help.


Here is my observation so far if someone is interested.
----------------------------------------------------------------------------------------------

What happened:
After enabling and disabling the boot flag several times the camera stops booting.

Why would I enable and disable multi times?
I want to make sure that it works stable, before posting it.

Camera still load autoexec.bin if the SD card was prepared for autoboot.

Observation:
Camera stays black after turning on, regardless of normal SD card or if it was made bootable.
Camera still functioning, if looking through the view finder, settings like aperture or exposure time can still be changed.
Taking picture is not possible only focus when pressing the shutter button.

Test 1:
-------
Putting display test (Magic Lantern Rescue) autoexec.bin on a bootable SD card shows:

Boot flags:
FIR=1610949440
BOOT=-348549156
RAM=-304267216
UPD=-1

Test 2:
-------
Putting (RAMEXEC fix) autoexec.bin from a1ex on the bootable SD card:

Camera boots up into canon menu, camera operates normal, taking pictures also possible now.
Magic Lantern Rescue still shows the same values.
Then did "clear setting" in canons menu, no changes.

Test 3:
-------
Same configuration as Test 2 plus canon original firmware update (e6kr5107.fir):

After updating the firmware, the FIR was reseted to zero. Rest still the same.

Boot flags:
FIR=0
BOOT=-348549156
RAM=-304267216
UPD=-1


Test 4:
-------
Same configuration as Test 2, now with the .fir that I compiled myself and was using to disable the boot flag.
After booting up and executed the .fir in menu update, camera boots up normal.

Looking again in the Magic Lantern Rescue shows:

Boot flags:
FIR=0
BOOT=0
RAM=-304267216
UPD=-1


The only thing that is not reseted is the RAM, which is still RAM=-304267216 instead of RAM=-1.

But now the camera still need a bootable SD card and the RAMEXEC fix autoexec.bin (or valid autoexec.bin) to boot into orignal firmware. When booting without SD card, the camera shows black screen, but still focus if press shutter button.

The interesting part is, even the Magic Lantern Rescue menu shows BOOT=0, the camera still auto execute the autoexec.bin.

Also, usually if the camera has the latest update it says "latest firmware installed" or something similar and
refuse a firmware update, but I'm still able to update the original firmware update as many time as I want.