Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Maqs

Pages: [1] 2
Reverse Engineering / Re: JTAG / UART & more
« on: April 07, 2016, 10:02:58 PM »
See also (some hints for ISP).

Reverse Engineering / Re: JTAG / UART & more
« on: April 01, 2016, 10:47:17 AM »
@g3gg0 and @a1ex. Got a screenshot from EOSM's Flash Chip Winbond 25Q64 (8MB or 32MB?).

I should be able to read it out if used in other cams too but can't judge atm what it will contain? Only Firmware or maybe more? While still waiting for delivery I wanted to ask if someone already tried to backup the flash or can I skip this step as we are already able to dump the whole chip contents (ROM0/1.BIN)?

25Q64 has 64 megabits, so 8 MB.

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: July 01, 2015, 08:20:34 AM »
Current state: there are (almost) no audio features implemented.

Nightly ML for the 6D has almost NO audio support yet (with audio meters being an exception, see feature page), however there's a new-sound-system branch that fully supports 6D.116 and can help bringing more audio features to the camera. I only helped implementing here what I could test, so at least playback (e.g. beeps), recording and input source selection are supported. In theory, as the audio ic is the same as in the 5D3, everything available for the 5D3 should become available as well, as long as it uses the new-sound-system API (g3gg0: correct me if I'm wrong). The new sound system is still under development and not in the nightly yet.

I don't use the camera for filming, which is why I don't have any audio equipment to test the more advanced features. Therefore those features are not on my to-do list. As you can hopefully understand, I don't want to make code or binaries available to the masses that are not tested extensively, since I don't want to risk being responsible for bricked cameras.

Of course, anybody willing to contribute to ML is very welcome. You can be the one to change this.  ;)

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: June 27, 2015, 09:52:56 AM »
I tried using 2 different after market batteries, one I don't even know the manufacturer, the other is a Wasabi . . . neither one of them are recognized and each gives me a different message when I power up:

Unknown - "Cannot communicate with battery, Use this battery?"

Wasabi - "Communication with Canon LP-E6/LP-E6N battery is irregular.  Continue to use this battery?"

They power the camera if I choose to continue but I'm not sure how correct the battery percentages are.  I'll stick with the original OEM Canon batteries just to be safe.

I have the same warning every first time I start the camera after inserting the battery, but I can choose "yes" and the camera works just fine. I don't think that there's any further impact.

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: June 25, 2015, 09:01:51 PM »
What about sound in this version of ML?

For sound in the nightly, we need to wait for new-sound-system to be merged. Otherwise you'd have to compile a version by hand and merge in the new-sound-system branch. Maybe you can find somebody who's willing to share his/her compiled version every now and then.

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: June 24, 2015, 09:48:59 AM »
FYI: I updated my GPS Info module to support 6D.116 in addition to 6D.113.

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: June 21, 2015, 08:33:57 PM »
I should have written: First, time to uninstall.

Everythings works as it did before. I have a new one, Load H264.ini in video mode, but it is emty.

This should work as for the 5D3 and loads bitrate settings from ML\H264.ini. The tragic lantern bitrate functions had been removed from 6D113, so I thought it may be a good idea to at least enable .ini loading (again?) in 6D116, as it seems way more safe.

See for example H265-alli.ini and H264-ipb.ini (for 5D3).


here's some stuff I found. Doesn't work in LV though, as Canon locks the resources it needs (see ResLock stuff thread).

The following is by no means complete:

Code: [Select]
// start image player (driver only)
// there's also StartImagePlayer(...)
// start image play driver, returns handle
void *img_play_driver_handle = StartImagePlayDriver();

// do something with it
void *handle = Execute.....(img_play_driver_handle, params, cb, cb_priv);
wait for Execute... to finish, i.e. using a semaphore
// delete handle

// stop image play driver by handle
// stop image player

There's quite a list of things you can do:
  • void *ExecuteJpegAnalysis(void *img_play_driver_handle, struct jpeg_decode_params, void (jpeg_decode_cb)(void *cb_priv, int err), void *cb_priv);
    Analyze (as in decode, but return meta data only) a JPEG
  • void *ExecuteJpegDecoding(void *img_play_driver_handle, struct jpeg_decode_params, void (jpeg_decode_cb)(void *cb_priv, int err), void *cb_priv);
    Decode a JPEG
  • void *ExecuteYuvResizing(void *img_play_driver_handle, struct yuv_resize_params, void (yuv_resize_cb)(void *cb_priv, int err), void *cb_priv);
    Resize YUV buffer
  • void *ExecuteYuvRotating(void *img_play_driver_handle, struct yuv_rorate_params, void (yuv_rorate_cb)(void *cb_priv, int err), void *cb_priv);
    Rotate YUV buffer
  • void *ExecuteLowPassFilter(void *img_play_driver_handle, struct lpf_params, void (lpf_cb)(void *cb_priv, int err), void *cb_priv);
    Some low pass filter?
  • void *ExecuteRectangleCopy(void *img_play_driver_handle, struct rect_copy_params, void (rect_copy_cb)(void *cb_priv, int err), void *cb_priv);
    Rect to rect copying
  • void *ExecuteRectangleColoring(void *img_play_driver_handlestruct rect_color_params, void (rect_color_cb)(void *cb_priv, int err), void *cb_priv);
    Guess what ;-)
  • void *ExecuteJpegEncoding(void *img_play_driver_handle, struct jpeg_encode_params, void (jpeg_encode_cb)(void *cb_priv, int err), void *cb_priv);
    Encode jpeg

All the functions above result in a call to the specified callback with the specified value as the first and an error code (0 meaning success) as the second parameter. They immediately return with the return value being an image play driver handle that needs to be deleted _after the operation finishes_ using
Code: [Select]
DeleteImagePlayDriverHandle(void *handle);
The uninit functions can also be called from the callback, but Canon code usually uses a semaphore to wait after calling the Execute* function (GiveSemaphore in the callback, TakeSemaphore after the function call).

I only checked ExecuteJpegDecoding/ExecuteJpegAnalysis and ExecuteJpegEncoding so far. The parameters should be something like that:
Code: [Select]
struct jpeg_decode_params
  struct memSuite *in_suite; // needed!
  unsigned int in_size; // needed!
  int unknown_1;
  int unknown_2;
  int unknown_3;
  int out_addr; // address of output
  int out_size; // size of buffer for output?
  int x;
  int y;
  int width;
  int height;
  int Pfil;
  int PreRes;
  int xxa;
  int xxb;
  int xya;
  int xyb;

struct jpeg_encode_params
  int yuv_maybe; // always 1?
  void *baseAdd; // address in memory
  unsigned int baseW;
  int x;
  int y;
  int width;
  int height;
  int Pfil; // 1
  int PreRes; // 1
  int xxa; // 8
  int xya; // 8
  int jpgAdd; // allocated buffer for output
  unsigned int maxSize; // size in output buffer
  int unknown; // 2
  int Qscal; // 2
  unsigned int *size; // used to return real size, must not be NULL

Feel free to try around and fill in the gaps.  ;)

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: May 26, 2015, 05:47:13 PM »
Yup, what keepersdungeon says.
Use the firmware file that came with the magic lantern download, it's the .fir file.
You can put it on a SD card and and run the firmware update on your camera(it's in the canon menu, see your camera manual).

If you wanna go back to 1.1.6, download the firmware update from the Canon website. (but then 1.1.3 magic lantern won't run anymore)

See first post for ML for 1.1.6. It should have about the same bugs as 1.1.3, otherwise feel free to contact me with details. I'll start fixing them (and adding new features) once 1.1.6 has been merged. If everybody decides to use 1.1.3 instead, there will be nobody testing the fixes anyway. ;-)

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: May 21, 2015, 05:54:54 PM »
To developers: What about new features in ML for 6d 1.1.6?
It's "just" a port, therefore there won't (and shouldn't) be any new features in it. We need to take small steps. The main reason for the port are the auto focus bug fixes by Canon. Bugs that are in ML for 1.1.3 as well need to be found, but can be fixed later.

Audio features is still not implemented.

The new sound system is supported. It does not make sense to implement the old one when a new one is already in development. Once new-sound-system is merged, everything should just work.

Framing in MLV for 1824*xxx resolution is incorrect. Pressing Zoom button while recording MLV crashes the camera. Level indicator is green only in center, why?
Are those 1.1.6 only or do they happen with 1.1.3 as well? Has anybody else experienced the crash?

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: May 05, 2015, 07:39:32 AM »
Interesting, I'd like to know if it's some hardware change on your specific camera that enables this menu or a flag in the nvram. I've asked on CR, maybe someone happens to know over there:

It's just some flag somewhere, no hardware change. You can also hijack some useless sub menu (like the one showing certification information) to the firmware test menu. You can do all kinds of funny tests from there, for example a button test that shows you every button (including the sdcard/battery door buttons, power switch etc.), rendering it impossible to turn off the camera without taking out the battery while the test is running. :-)

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: May 01, 2015, 06:44:28 PM »
I can help you in testing. I have 70D + 6D.  I mostly use them for video. H.264+ some times RAW.

That would be great! Just grab the latest .zip from the first post, try whatever you like and post your experiences. Please also report success or anything different to v1.1.3 that could be a bug in ML for v1.1.6. :)

Camera-specific Development / Re: Canon 6D / Firmware 1.1.6
« on: May 01, 2015, 11:47:23 AM »
The battery Phottix Titan 2000 mAh works well on 1.1.6

In video mode menu ML turns off quickly.
In photo mode menu is not turned off by yourself, just by pressing a button.

These are the first impressions.   :)

Thanks! I think the menu problem is this one. I'm still trying to find a solution to that. It affects the 70D and 6D 1.1.3 as well.

Camera-specific Development / Canon 6D
« on: May 01, 2015, 09:56:15 AM »
ML now has support for 6D.116: Nightly download

Please report any new bugs via the issue tracker. Please include the firmware version in your bug report.

You can find known (and partly obsolete) bugs here.

1) Format the card from the camera.
2) Make sure you are running Canon firmware 1.1.6.
3) Copy ML files on the card and run Firmware Update.

1) Run Firmware Update from your ML card.
2) Follow the instructions.

ML for the previous firmware version 1.1.3 (won't be updated):

Archived porting threads / Re: Canon 6D
« on: May 01, 2015, 09:48:52 AM »
I also agree with what Levas and Walter said: it's more a time issue than a money issue. Even though I'm still in training and can't throw money around, I already have the camera. For me, the main problem is that I am not a 'real' user but rather somebody who enjoys hacking and uses the camera for hobby photography only. That said, it shouldn't be too difficult to port the comparably few things (mostly addresses of functions or structures) that need porting for a new feature. I try to test everything I put in public as good as I can. I'm confident that the 6D.116 port should by now include everything that 6D.113 does and even a bit more (like working sound with the new sound system).

The general problems I see from my point of view:
  • New ports or features need testing. This should ideally be done by actual users who know what they need and how the results should look, but not in a production context.
  • What features are missing? What doesn't work correctly for the 6D? Sadly, what's currently in the bug tracker doesn't really help a lot.

I would also be glad if anyone could confirm that batteries by other manufacturers do not work for 6D.116, as I have both non-Canon batteries and a cheap China AC adapter and both work after answering an initial "Communication with battery not possible. Do you really want to use it?" (or similar) prompt with "Yes" only the first time after inserting the battery.

There are also a few long term goals on my todo list like implementing a http server to browse photos (networking is working fine via DLNA mode), HTTP or FTP uploads of images/videos (the latter may be sloooow), the GPS feature suggested by fdzaebel or maybe getting mjpeg recording to work, but that still needs a lot of testing and benchmarking to see if the encoder would be fast enough to make it feasible at a reasonable frame rate. "Features" like MP3 streaming are just for fun and just to test the networking API. :-)

Feedback is - of course - welcome! :-)

edit: You'll find a new 6D.116 thread here to disentangle it from general discussion: Canon 6D / Firmware 1.1.6

Archived porting threads / Re: Canon 6D
« on: April 26, 2015, 11:43:16 PM »
did you already verify the state-objects (6D.116 / include / platform / state-object.h)?

Ooops, you are completely right, thanks! My bad, I overlooked those. Fixed them and raw recording works now - at least here. :)

So here are the new test images:

Quote from: Maqs
For those willing to test 1.1.6:

As for ML itself, using those builds is at your own risk. I use those (and more unstable/testing ones) on a daily basis, but not for important work. You can always start your camera without ML by keeping SET pressed while turning it on. This also comes in handy dealing with April's fool jokes. If you experience any strange behaviour like freezing, crashes, stuff turning weird, the best way usually is to take the battery out and put it back in.

Archived porting threads / Re: Canon 6D
« on: April 26, 2015, 09:37:01 PM »
Hello Norm,

thanks for testing! You're right, something's wrong there. I already tripple-checked most of the stubs used there, so I need to look at this at a deeper level, which may take some time. :-/

Archived porting threads / Re: Canon 6D
« on: April 22, 2015, 10:11:16 PM »
It works now, thanks. However, I dunno if this is a fault of a nightly or something you have done latelly, but the battery level doesnt show up at start anymore (the percentage). the standard screen is starting up with no modifications, but i still can start ML with trash can.

I can see the battery percentage, but it takes a while after starting the camera for ML to come up.

Hi Maqs,

got some time to chime in? I gues it applies still to 6D.116, right?

70D suffers from same problem and I already tried some canceltimers starting at line 307++ but haven't been lucky

I'll see what I can find, that bug seems pretty annoying.

Archived porting threads / Re: Canon 6D
« on: April 22, 2015, 09:33:11 PM »
Tried the 116-version, and the dualiso plugin is broken of what I checked (only loaded that and ETTR).

Thanks a lot for testing and reporting! The module was missing the check for 6D 1.1.6 and should work now (same link, new file):

For those willing to test 1.1.6:

Archived porting threads / Re: Canon 6D
« on: April 21, 2015, 01:31:16 PM »
Hey everybody,

starting from g3gg0's included in the -nss (new-sound-system) version of the 6D.116 test firmware, I implemented a proof-of-concept for streaming mp3 from the web. The radio station is hard coded (rbb Fritz), as it is only a proof-of-concept. Please do not report bugs for this, it's only to show what could be done.

To try it on your 6D with firmware version 1.1.6, you need the -nss version and this module: MP3 streaming proof-of-concept (6D.116 + nss only)

You can find the source here: source (.tar.bz2).

To test it
  • use the 6D.116 nss version
  • copy the .mo file to ML\modules\ on your sd card
  • enable the module, make sure mp3_play is disabled
  • restart the camera to load the module
  • enable WIFI
  • set WIFI mode to DLNA
  • connect to WIFI, make sure gateway is set properly
  • go to games tab, select MP3 Streamer, select Play

Although it is very unlikely, your camera might explode, turn into a Ferrari or other horrible things may happen, so trying this is at your own risk. You have been warned.

Have fun! :-)

Archived porting threads / Re: Canon 6D
« on: April 21, 2015, 10:27:23 AM »
I plan to buy a 6D and use Magic Lantern on it. One thing I am not happy about is the "last fix repeat" behavior when the camera is not able to detect the satellites (e.g. within in buildings). As far as I know the 6D keeps the last GPS coordinates for 10 minutes and after this time it simply stops to save geo information within the pictures.

My question: Did Magic Lantern address this issue and if not, is it planned to be addressed, e.g. by simply saving the last coordinates within the pictures for more than 10 minutes (better than no information)? I searched the forum but did not see any discussions on this.

It is not on my to-do list at the moment, but I could look into it once all issues with the port are solved. The 6D is the only camera with a built-in GPS that is supported by ML. The 7D Mk II has one as well, but is not supported by ML (yet?). Therefore we should maybe go for implementing all the GPS related features in a module. Maybe some features can be used from cameras with external GPS support as well.

Archived porting threads / Re: Canon 6D
« on: April 20, 2015, 11:28:57 PM »
An assert getting in the way :-p ... that's exactly what 1% patched out in his TL build :->. He didn't find a way 'round it, I hope you have more luck as this is definitely outside my scope of expertise.

Yes, already done and working. I'd also like to thank g3gg0 for his help. The thing is that StopASIFDMADAC cannot be called from the callback, as the semaphore is already taken there, which will result in TakeSemaphore in StopASIFDMADAC to time out, then ASSERT (ERR 70). There's still a problem with arkanoid beeps, but I'll have a look at that tomorrow.

edit: Here's the pull request for those interested. Other new cameras (like the 70D) could have similar problems.

Archived porting threads / Re: Canon 6D
« on: April 20, 2015, 08:03:46 PM »
Thanks for looking into the sound system crash, but it could be difficult as no dev around here has a 6d and will be able to help you - I faintly remember the 6d using some rather exotic sound chip? I'll wait for you reporting back here on this.

The 6d has the same audio codec as the 5d3, so this shouldn't be a big problem. However, they use different interfaces (I2C on 6d, SPI on 5d3). :-)

At the moment, the only problem left seems to be something with StopASIFDMADAC (will ASSERT and then show ERR 70). Seems to be some semaphore thing, not toooo difficult I hope. I'll keep you updated. I will also try to provide updates in form of full nightly-like .zip files with the installer, but I will most likely start a new thread for 6D.116.

Archived porting threads / Re: Canon 6D
« on: April 20, 2015, 06:08:59 PM »
Maqs just to sure are you using 1.1.3 or 1.1.6 I upgraded to 1.1.4 and lost use of my power supplies they would let me record for 10 minutes then shut the camera off.  Right now I have an issue with using an external audio device while on 3rd party power supplies. I keep getting mic plugged in mic unplugged constantly . And the camera will not record. Thinking of trying 1.1.6 to see if the power supply works and if the audio issues goes away.. If it does not work I'll revert to 1.1.3 and ML

I'm using 1.1.6. So the exact problem is that the camera does not record with non-Canon batteries?

For those willing to test 1.1.6:

The latter does not have raw_rec in it, as the module does not compile properly. Do not expect all sounds to work properly (the mp3 player and beep testing does, but arkanoid crashes) due to some problem I'm trying to investigate. Also let me mention that new-sound-system is no "productive" branch and you may find other problems with it.

An installer (new one) for 6D.116 is included for your convenience. Once again, as for ML itself, using those builds is at your own risk. I use those (and more unstable/testing ones) on a daily basis, but not for important work. You can always start your camera without ML by keeping SET pressed while turning it on. This also comes in handy dealing with April's fool jokes. If you experience any strange behaviour like freezing, crashes, stuff turning weird, the best way usually is to take the battery out and put it back in.

Please report problems to me via IRC or a direct message, as I am not in the forum often.

Archived porting threads / Re: Canon 6D
« on: April 20, 2015, 08:36:34 AM »
Just want to throw my .02 in on this point as a 6D ML user --
Basically, I've not seen any real reason to upgrade to 116,  so even less reason to have been paying attention to ML's 116 update. If I'm not mistaken the 6D gains almost nothing from 116, but loses 3rd party battery support, which is my main resistance to updating. As far as 6D users interested in using and testing ML, we are out here, maybe just not all of us  are ready to switch to 116 and give up our 3rd party batteries. I'd love to be mistaken on the battery issue.

Are you sure about the batteries? I'm using a cheap china ac adapter for development and it just shows a message the first time I start after putting it in, saying something like "Could not connect to battery. Use this battery?". I then select "OK" and I can use the camera. I have to take it out(or disconnect the power) for the message to show again, just turning the camera off and on again won't trigger it. It should however not be impossible to get rid of that message.

For my PATONA LP-E6 battery, the camera does not complain at all.

Pages: [1] 2