UHS-I / SD cards investigation

Started by nikfreak, July 30, 2014, 05:46:56 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.


Quote from: ahmedvienna on April 15, 2018, 02:33:53 PM
I am trying to implement sd_uhs on my 6d. using the latest nightbuild.  have an error when I do it.  can anyone assist me.

You need to be using the crop_rec_4k build, not latest nightly.
500D/T1i  550D/T2i  600D/T3i  700D/T5i


Thanks @Levas -- here are your changes compared to the latest @a1ex commit. I branched off of the latest in order to include all the Digic 5 cameras and to see if maybe some of the latest changes should be put back in.

@Danne -- I think this might be the version you were looking for.


Wow, good work Dfort, lot's of changes compared to the latest build  :o
I checked my build and Alex first build, and I only deleted 30 lines of code.


Quote from: dfort on April 15, 2018, 09:51:53 PM
Thanks @Levas -- here are your changes compared to the latest @a1ex commit. I branched off of the latest in order to include all the Digic 5 cameras and to see if maybe some of the latest changes should be put back in.

@Danne -- I think this might be the version you were looking for.

Actually, I use a compiled version from a1ex sd_uhs branch(latest code). I'll check into Levas stuff tomorrow. Anyway, this hack is really something else. I hope it won't be abandoned.


Adding 100D and eosm to the early modified code from Levas seems to work:
    if (is_camera("EOSM", "2.0.2"))
        sd_setup_mode       = 0xFF338D40;
        sd_setup_mode_in    = 0xFF338DC8;
        sd_setup_mode_reg   = 1;
        sd_set_function     = 0xFF63EF60;
        SD_ReConfiguration  = (void *) 0xFF641314;

    if (is_camera("100D", "1.0.1"))
        sd_setup_mode       = 0xFF3355B0;
        sd_setup_mode_in    = 0xFF335648;
        sd_setup_mode_reg   = 1;
        sd_set_function     = 0xFF6530A4;
        SD_ReConfiguration  = (void *) 0xFF655458;

Latest code seems more dependent on test runs so I can´t really say why Levas "test bypass" seems to work but it does, at least on my eos 100D.


Hello Danne,

What write speeds did you achieve with the 100D?  Is there a safe module available for download?  Could you post a download link?



It´s pretty fast on 100D. 69-70mb/s when tests are performed with a sandisk extreme pro 95mb card. Only card I tested.
If you know how to compile you can create the sd_uhs module form inside modules folder once you are in sd_uhs branch. Then you simply add that module to your crop_rec_4k build.
If you´re not compiling already I can recommend this to get started:

About safety. My card still works, that´s all can refer to.


Wow, that's a pretty impressive speed!  This means "continuous recording with sound" at 2520x1080 resolution. 


It sure does. Not sure if the card records over 55mb in real life though at least when I tested on my 100D.
Now I wanted to record dual iso 12bit lossless this way and process in Mlv app but that seems to be another can of worms to deal with. 14bit works fine but 12bit lossless do not unfortunately. Anybody wants to tweak dual iso code:


How about overheating, Danne?  My 100D reaches 51 deg. C when continuously recording at 41 MB/s.  I can imagine, that it gets substantially warmer at 69 or 55 MB/s. 

As far as Dual ISO at 2520x1080 resolution is concerned, I remember that I got pretty decent results with no aliasing and moire but you get ugly artifacts in slightly overexposed areas.  I am not sure if those are caused by focus pixels but in most cases I liked the non Dual ISO recordings better.


Overheating ey. I never get to film more than a minute here and there but if you check this thread there are several users that hard tested their set up.


This looks promising. But honestly have no clue on how to test it on my 650D. Can anyone give me a hint, that gets me started? Or a link maybe with the needed module, since the links have been removed...
EOS 650D, 17-50 2.8, Nifty Fifty, Tamron 70-300mm
Sorry if my English is a little bad as I am not a native speaker


@ _DK_ - things are gradually developing - afaik presently there are no 650D builds that support these fast card speeds but I'm sure something stable will come eventually..


Actually, 650D seems supported in the code. I added the sd_uhs.mo module here but try with caution:

Module to be put in modules folder with crop_rec_4k build.

There are more cameras this module works on. Check the sd_uhs branch and the code for what cameras.



   If going to test "sd_uhs.mo" on SL1, should the "sd_uhs.mo" that is within

"magiclantern-Nightly.2018Apr18.100D101_sd_uhs" be used or the "sd_uhs.mo"

that You have posted this Morn' be used ?

                     ORR ~ DeanB
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)


@Danne - thanks!

the sd_uhs build that you posted seems to work on the 650D - I managed two passes of 3100 frames each lossless 14bit 1920x1076 - the best I've managed yet! (both old glass and 50/1.8) - so that continuous ever so nearly FULL HD 14bit raw from a 2013 camera...


I also tested it on my 100Dwith the SanDisk extreme Pro and I get a strange bug. While running the new module it first gets really high transfer speeds but suddenly it gets lower than without the module to around 24mb/s.  After it finished I run the benchmark test and get the same speeds. Any idea why ?
100D.100B ; Canon 18-55 STM ; Canon 50 1,8 II ; Canon 75-300 4,0 - 5,6 III ; Sigma 17-50 2,8


perhaps you switched the phone off or (I can't be certain) perhaps you went back to photo mode - I think at present the patch is not persistent - no doubt this will change in time.


I have an 5 year old sandisk extreme, which gives about 46Mb/s write speed at most settings, but at highest settings(160Mhz) it drops to 21Mb/s.
Seems that not every card out there can handle the higher speeds.

Tony Weller

Quote from: Levas on April 15, 2018, 08:59:53 PM
This stuff is too good not to be used, thanks Alex  :D
I deleted one line with 'show console' and I deleted a bunch off the lines where most of the settings are tested.
I only kept the highest 160Mhz setting in it.

Is this for download as a module as I cant-wont-couldn't compile C unless it's Arduino  ::)

I'm ready to go if someone would be so kind.
700D 1.1.5, EOSM 202, 4k_crop_rec 160MHz UHS-1 overclock

Walter Schulz

Tony Weller

Thanks, missed that !
Works a treat, thanks Danne  :)
700D 1.1.5, EOSM 202, 4k_crop_rec 160MHz UHS-1 overclock


so after trying it out for 1 week. the overclock was able to give me a result of 66-67mb/sec.  However, due to stability reasons I decided to downgrade to 60mb/sec which gave me a resolution of 1824x830.  It's pretty great I have to say.  so far very stable.  I think I recorded RAW easily 100GB.  No problems whatsoever with the card or the camera.  It used the following:

SD104 @ 160 MHz: r 69mb/s w: 67mb/s . W: 64mb/s R: 72mb/s

of course the drain on the battery is quite amazing, but understandable.  Overall I am really quite happy about this. it gave my camera (canon 6d + sand disk extreme pro 95mb/sec) another life. 

I wonder when this will be part of the mainstream built.  I just hate having to run this overclock every time I run the camera.
Canon 6D + 50 USM + 35 IS USM
Sandisk extreme pro 95mb/sec 32GB


Hey everyone,
I ran a test with an EOS M and a new Sandisk 128GB ExtremePRO.
I used "magiclantern-Nightly.2018Apr17.EOSM202_sd_uhs.zip"/2018-04-17 and "sd_uhs.mo"/2018-04-19 from Danne.

And I found these Memory patches... though I dont really know if it is of any value...

However I did not quite catch how to enable the overclock for the actuall recording -

I think this was already disclaimed, but I got an error message when trying to run the test whilste a couple other modules where still enabled.
Do we already know which modules produce this error?

Which other stepps need to be taken next to move this module forward?


Quote from: whothe on April 23, 2018, 05:02:24 PM
However I did not quite catch how to enable the overclock for the actuall recording

The procedure is described here in detail: