Author Topic: Canon EOS 1300D / Rebel T6  (Read 299425 times)

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #325 on: May 01, 2019, 08:32:07 PM »
@alawiggle - looks to me like you are not on the right branch. Make sure you are using the 1300D branch:

Code: [Select]
cd ~/magic-lantern
hg update 1300D
cd minimal/hello-world
make MODEL=1300D

Next copy the autoexec.bin from the onto the QEMU sd card. I'm on a Mac so I just double click qemu-eos/sd.img, drag in autoexec.bin into the root directory, eject the virtual card and run it.

Maybe this is where I'm lost - thus far I've just been using the ROM dumps that the FIR file gives me. I'm gonna try uninstalling the whole thing and starting new. I'll try and put the steps I've taken that way if anything seems wrong i can pinpoint which it is.

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #326 on: May 01, 2019, 10:10:31 PM »
@alawiggle - looks to me like you are not on the right branch. Make sure you are using the 1300D branch:

Code: [Select]
cd ~/magic-lantern
hg update 1300D
cd minimal/hello-world
make MODEL=1300D

Next copy the autoexec.bin from the onto the QEMU sd card. I'm on a Mac so I just double click qemu-eos/sd.img, drag in autoexec.bin into the root directory, eject the virtual card and run it.


Reinstalled everything - when I run "hg update 1300D" it just says "abort: uncommitted changes
(commit or update --clean to discard changes)"

Which I guess means I'm up to date, but I get the same errors as before "../../platform/Makefile.platform.base:19: FW_VERSION for 1300D is not defined
../../platform/Makefile.platform.base:60: *** ROMBASEADDR is not defined.  Stop."

So must have something to do with that sd card thing?

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #327 on: May 02, 2019, 12:49:32 AM »
Okay, I see - I hadn't switched to the 1300D branch (it wasn't letting me due to an unsaved commit or something).

Still unsure of the mounting of this sd.img card, it just gives me this:

Quote
test@Nicolas:~/qemu-eos$ sudo ./mount.sh
This will mount sd.img and cf.img as a loopback device.
Please enter your password (of course, after reviewing what this script does).
Kernel not configured for semaphores (System V IPC). Not using udev synchronisation code.
/dev/mapper/control: open failed: No such device
Failure to communicate with kernel device-mapper driver.
Check that device-mapper is available in the kernel.
Incompatible libdevmapper 1.02.145 (2017-11-03) and kernel driver (unknown version).
device mapper prerequisites not met
Kernel not configured for semaphores (System V IPC). Not using udev synchronisation code.
/dev/mapper/control: open failed: No such device
Failure to communicate with kernel device-mapper driver.
Check that device-mapper is available in the kernel.
Incompatible libdevmapper 1.02.145 (2017-11-03) and kernel driver (unknown version).
device mapper prerequisites not met
Done.
To remove the device mappings, run:
   sudo kpartx -dv sd.img
   sudo kpartx -dv cf.img

dfort

  • Guest
Re: Canon EOS 1300D / Rebel T6
« Reply #328 on: May 02, 2019, 04:43:21 AM »
Okay, I see - I hadn't switched to the 1300D branch (it wasn't letting me due to an unsaved commit or something).

Use the -C/--clean option, uncommitted changes are discarded.

Code: [Select]
hg update -C 1300D
Still unsure of the mounting of this sd.img card, it just gives me this:

Have you tried just double clicking on the sd.img file icon? It looks like you have a Linux distribution that is using a different method to mount disk image files. The ROM dumps belong in the ~/qemu-eos/1300D directory. Also note that the dump needs to be patched. Check back on Reply #198 for instructions on how to do this.

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #329 on: May 02, 2019, 08:39:36 AM »

Have you tried just double clicking on the sd.img file icon? It looks like you have a Linux distribution that is using a different method to mount disk image files. The ROM dumps belong in the ~/qemu-eos/1300D directory. Also note that the dump needs to be patched. Check back on Reply #198 for instructions on how to do this.

I'm using Windows 10 WSL - which is the problem I think. Can't mount it in windows, it claims it's corrupted. mouning in bash/ubuntu just says unknown filesystem type.

Thanks, I did the -C thing and had already patched the ROM files - Ill figure it out in the morning, should have just used a VM probably would have been easier

critix

  • Contributor
  • Member
  • *****
  • Posts: 194
Re: Canon EOS 1300D / Rebel T6
« Reply #330 on: May 02, 2019, 09:11:00 AM »
For copy to img, use:
Code: [Select]
./mtools_copy_ml.sh ../magic-lantern/minimal/hello-world/zip/
Canon 1300D, 500D, EOS M, EOS M2

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #331 on: May 02, 2019, 06:10:54 PM »
For copy to img, use:
Code: [Select]
./mtools_copy_ml.sh ../magic-lantern/minimal/hello-world/zip/

I didn't have a ML directory yet (I don't think) so did this:

Quote
https://bitbucket.org/hudson/magic-lantern/src/qemu/contrib/qemu/README.rst#rst-header-running-magic-lantern

# from the magic-lantern directory
cd platform/1300D.110
make clean; make
make install

But it throws these errors after make install:

Quote
WARNING: module edmac failed to build, deleting
********************************************************

make[5]: Entering directory '/home/test/magic-lantern/modules/edmac'
[ RM       ]   edmac.o edmac_util.o edmac_test.o md5.o edmac.mo edmac.sym edmac.dep edmac.zip module_strings.h hgdiff.tmp *.o *.d *.dep *.sym hgstamp
make[5]: Leaving directory '/home/test/magic-lantern/modules/edmac'
make[4]: Leaving directory '/home/test/magic-lantern/modules/edmac'
make[3]: Leaving directory '/home/test/magic-lantern/modules'
[ MKDIR    ]   ML directory structure...
cp ../modules/*/*.mo /ML/modules/
cp: cannot stat '../modules/*/*.mo': No such file or directory
Makefile:31: recipe for target 'install' failed
make[2]: *** [install] Error 1
make[2]: Leaving directory '/home/test/magic-lantern/modules'
../../Makefile.inc:27: recipe for target 'CONFIG_MODULES_install' failed
make[1]: *** [CONFIG_MODULES_install] Error 2
make[1]: Leaving directory '/home/test/magic-lantern/platform/1300D.110'
../../Makefile.inc:34: recipe for target 'install' failed
make: *** [install] Error 2

calle2010

  • Contributor
  • New to the forum
  • *****
  • Posts: 47
Re: Canon EOS 1300D / Rebel T6
« Reply #332 on: May 02, 2019, 07:22:22 PM »
I think this is the error if no module was built on install and install_qemu targets.

There's a simple fix for that:

https://bitbucket.org/calle2010/obsolete-magic-lantern/commits/7c425ae2c0d0e17855e4811dcb6ac0ae998dc00f

I think I should create a PR.

Also you can save a lot of time if you add

Code: [Select]
ML_MODULES=

to your make comand line. It will skip module builds which anyways fail at this stage.

critix

  • Contributor
  • Member
  • *****
  • Posts: 194
Re: Canon EOS 1300D / Rebel T6
« Reply #333 on: May 02, 2019, 07:22:29 PM »
mtools_copy_ml.sh is in qemu directory.
Please read here:
https://www.magiclantern.fm/forum/index.php?topic=2864.msg190596#msg190596
For "Hello Word":
Code: [Select]
hg update 1300D
cd minimal/hello-world
make MODEL=1300D

Code: [Select]
make install not work yet on 1300D.
Canon 1300D, 500D, EOS M, EOS M2

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #334 on: May 02, 2019, 07:56:32 PM »
I think this is the error if no module was built on install and install_qemu targets.

There's a simple fix for that:

https://bitbucket.org/calle2010/obsolete-magic-lantern/commits/7c425ae2c0d0e17855e4811dcb6ac0ae998dc00f

I think I should create a PR.

Also you can save a lot of time if you add

Code: [Select]
ML_MODULES=

to your make comand line. It will skip module builds which anyways fail at this stage.

Thanks, this helped.



I think I got it, now it's showing this:



Is this normal? Never seen this screen before so it's progress on my end to me. Sorry for the back and forth, I see this info is available it just seems spread out a lot, especially if it's for a camera that isn't working yet -  this is to be expected of course though

critix

  • Contributor
  • Member
  • *****
  • Posts: 194
Re: Canon EOS 1300D / Rebel T6
« Reply #335 on: May 06, 2019, 11:26:58 AM »
If I'm not mistaken, it seems like this error is when you have another version of ROM than the one you work with.
Canon 1300D, 500D, EOS M, EOS M2

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #336 on: May 06, 2019, 04:38:05 PM »
If I'm not mistaken, it seems like this error is when you have another version of ROM than the one you work with.

Not sure how that can be - ive only used the only one I have?

I was told to comment out the ROM0 size line in model_list.c to fix to - perhaps that's it?

One thing though, I can't get the md5 to match on the ROM0 (I think) - no matter what I do, what SD card size I use, it's always the same md5 and never matches.

calle2010

  • Contributor
  • New to the forum
  • *****
  • Posts: 47
Re: Canon EOS 1300D / Rebel T6
« Reply #337 on: May 06, 2019, 07:57:55 PM »
Is this normal?

The model detection error comes up if the computed ROM signature doesn't match the one in fw-signature.h. What did you define there?

At least in the digic6-dumper branch in reboot.c if you compile with CONFIG_QEMU=y it will print in Qemu the expected signature. Just put this to fw-signature.h.

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #338 on: May 07, 2019, 12:01:29 AM »
The model detection error comes up if the computed ROM signature doesn't match the one in fw-signature.h. What did you define there?

At least in the digic6-dumper branch in reboot.c if you compile with CONFIG_QEMU=y it will print in Qemu the expected signature. Just put this to fw-signature.h.

alex helped me in IRC, apparently I had firmware 1.1.0 / 4.4.7 37(0b) instead of 1.1.0 / 4.4.6 37(0b).

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #339 on: May 20, 2019, 09:20:02 PM »
could anyone confirm if this is the right address for this:

Code: [Select]
NSTUB(0xFE14BCE4,  LightMeasure_n_Callback_r0)              /* present on 7D.203, 5D2.212 */     

Not sure if it's even important for that on the 1300d, but wanna make sure I'm doing this right.

dfort

  • Guest
Re: Canon EOS 1300D / Rebel T6
« Reply #340 on: May 21, 2019, 07:25:43 AM »
I'm just doing simple pattern checking but that doesn't look right. What camera are you checking this against? Only the 7D and 5D2 seem to have it.

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #341 on: May 21, 2019, 06:26:02 PM »
I'm just doing simple pattern checking but that doesn't look right. What camera are you checking this against? Only the 7D and 5D2 seem to have it.

None - I don't have any other cameras. Alex was saying that it's not used in the 1300D  - he also said they leave stuff in they don't use. I had "found" this stub before I knew that though, so wanted to see if I had the right idea.

alawiggle

  • New to the forum
  • *
  • Posts: 24
Re: Canon EOS 1300D / Rebel T6
« Reply #342 on: May 23, 2019, 06:11:26 PM »
I was wondering, is there anyone who knows exactly what needs to happen with this, what I can do (or anyone else) can do to make some progress? I know there's the "next steps" post, but it seems like those are already done - if they aren't, Im not sure what isn't done.

Just want to try and move this along and help any way I can.

dfort

  • Guest
Re: Canon EOS 1300D / Rebel T6
« Reply #343 on: May 24, 2019, 07:10:25 PM »


atrayan

  • Just arrived
  • *
  • Posts: 1
Re: Canon EOS 1300D / Rebel T6
« Reply #345 on: May 28, 2019, 04:21:45 PM »
Though I dont have expertise in reverse Engineering ROMs but yet I tried to dump the ROM which was a pretty easy task....



Now what do I do?

juvo

  • Just arrived
  • *
  • Posts: 1
Re: Canon EOS 1300D / Rebel T6
« Reply #346 on: June 24, 2019, 10:15:22 PM »
Hi, is there a ML ROM available for 1300D? I went through the thread but I am bit confused, seems like work in progress, right?

Bringer

  • Just arrived
  • *
  • Posts: 1
Re: Canon EOS 1300D / Rebel T6
« Reply #347 on: July 14, 2019, 02:17:31 PM »
Hi, is there a ML ROM available for 1300D? I went through the thread but I am bit confused, seems like work in progress, right?

Same question from me.

dfort

  • Guest
Re: Canon EOS 1300D / Rebel T6
« Reply #348 on: July 14, 2019, 04:46:48 PM »
Start reading this topic from the beginning. If you want to get involved download the firmware dumper for this camera and dump the ROM, set up a development environment -- including QEMU, patch the ROM, clone the ML repository and get started. Make sure you also check out the pull requests posted by critix, he has worked on this camera up a point where it is almost ready to run on real hardware.

Now, the hard part - clean up the code and commit it :D

Still need to find a general solution for patching arbitrary functions in Canon code (i.e. to implement long jump support in the patch manager).

If anyone has a deep enough understanding of ARM code to help figure this out then maybe we'll get ML working on this camera.

ROME

  • New to the forum
  • *
  • Posts: 3
Re: Canon EOS 1300D / Rebel T6
« Reply #349 on: December 30, 2019, 07:01:17 PM »
Has their been any movement on this ML build since July's post?