SD Overclocking - DIGIC 5 only

Started by theBilalFakhouri, February 12, 2021, 10:32:15 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

theBilalFakhouri

(New OP 21/9/2022)

Experimental SD Overclocking module with selectable presets (160/192/240 MHz) for DIGIC 5 models only (5D3 1.13 / 5D3.123 / 6D.116 / 70D.112 / 700D.115 / 650D.104 / 100D.101 / EOSM.202 / EOSM2 1.0.3).

Download / Source code / Technical discussion






Stock 700D160MHz192MHz240MHz


How to:
-You need a build based on crop_rec_4k branch (Experiments / crop_rec builds)
-Download sd_uhs_compiled.zip, then extract it somewhere on PC
-Copy sd_uhs.mo to your SD card in "ML/modules" folder
-After loading the module in camera, select a preset (160/192/240) then restart the camera
-Run "Benchmarks" test from Bench.mo in Photo mode
-Share the result, your card name, selected preset.

SD card recommendations:

-Any SD card with W90 label (capable of 90 MB/s write speed) should work with 240 MHz or lower.
-List of SD cards which were tested and they work fine at 240 MHz (pay attention to SD card capacity, lower capacities may not be capable of 90 MB/s write speed):

  • Sandisk Extreme PRO   95 MB/s  (64 GB or higher, SDR50, 32 GB isn't stable at 240 MHz)
  • Sandisk Extreme PRO 170 MB/s  (64 GB or higher, does 32 GB work?)
  • Sandisk Extreme PRO 200 MB/s  (64 GB or higher, does 32 GB work?)
  • Sandisk Extreme R190/W130      (256 GB or higher, do lower capacities work?)
  • Sandisk Extreme Plus R170/W90 (256 GB or higher, do lower capacities work?)
  • Samsung PRO Plus  (128 GB or higher, does 64 GB work?)
  • Samsung EVO Plus (256 GB)
  • Samsung EVO Select (256 GB)
  • Lexar UHS-II V90
  • Lexar Professional 256GB 1066x SDXC UHS-I (Silver Series)
  • Kingston CANVAS Select Plus UHS-I, U3, V30 (128 GB or higher, does 64 GB work?)

-SD cards which doesn't work well at 240 MHz:

  • Kingston Canvas Go!

Notes:
-SDR104 is selected by default which should work on all fast SD cards (UHS-I W90). Only try SDR50 when SDR104 fails. Like with Sandisk Extreme PRO 95 MB/s case.




-Some models will have "(H)" beside some presets which indicates that Hybrid clock speed will be used; clock speeds for read operations will be different (slower) from the one for write operations.
This won't affect write speed performance. Read speed benchmark will not represent the actual read speed for an SD card at an selected frequency (only in (H) case).




-Some SD info can be found in "Show CID info" option.




-Perform "Low Level Format" in camera if you had speed drops, run benchmarks again.

Before:                                                                                                         After:





Danne

Eosm max out on 192Mhz, 5D3 no more than 160Mhz if I recall correctly.
I also don´t trust the same patch routines here for 5D3. I do other stuff when patching 5D3 so beware.
https://bitbucket.org/Dannephoto/magic-lantern_dannephoto_git/src/master/modules/sd_uhs/sd_uhs.c

ArcziPL

Confirmed: 70D can do 240MHz as well.



The card was Sandisk Extreme PRO 170MB/s 64GB.
With the older 95MB/s version of the card the 192MHz preset works well (results like on 700D) but the 240MHz falls back to 20MB/s.

Thumbs up Bilal! Great achievement!
M50.110 [main cam] | G7X III [pocket cam] | 70D.112 [gathers dust] | M.202 [gathers dust] | waiting for M5II

theBilalFakhouri

Nice results! Thanks for testing!

Could you do one more test (Benchmarks) with Sandisk Extreme PRO 170MB/s @ 240 MHz in Video Mode (1080p24 from Canon menu), in that mode on 700D the max write speed ~68 MB/s .

I'd like to see what 70D would perform, it has DIGIC 5+ (700D has DIGIC 5) and more RAM (maybe also faster RAM than 700D).

ArcziPL

M50.110 [main cam] | G7X III [pocket cam] | 70D.112 [gathers dust] | M.202 [gathers dust] | waiting for M5II

theBilalFakhouri

Thanks!

Cool results! 70D could handle continuous recording in higher resolutions better than the entry level cameras like 700D and EOS M.

mynamesriz

Hi there,
I'm trying to figure out how to get this working on my 70D, for some reason only ArcziPL's mar19 build is working on my model, his newer builds aren't. Interestingly it worked for a week and then randomly stopped.

(Heads up I don't know ASM so I'm so sorry if this is a stupid question but I guess we've all got to start somewhere and I'm really hoping I can contribute to the community)


I'm struggling to figure out a few things:


  • When I search for the register addresses in my rom dump I can't find them, can you please advise? I'm sure I'm doing something wrong
  • what do the overclock values actually refer to?

Also If you have any recommendations on resources that would help me understand the above I'd really appreciate it.

Thanks in advance.

theBilalFakhouri

Hello @mynamesriz

Strange. Have you tried another 170 MB/s Sandisk Extreme PRO card? Also try to do "Low level format" in camera, make sure there is no important data in the card.

I am not very familiar with 70D, so can't make/do tests, but ArcziPL's build should work fine . .
Have you tried sd_uhs.mo posted in this thread? download it and put it in ML/modules folder in SD card (you may want to replace it, use latest ArcziPL's build), 192 MHz and 240 MHz should work fine, 160 MHz may not work.

AFAIK sd_uhs.mo in this thread is identical to sd_uhs.mo in ArcziPL's build except for 160 MHz preset (mine doesn't work in 70D, but ArcziPL's 160 MHz version works, I need to update it . .), Anyway try 192 MHz and 240 MHz, do some benchmarks in mv1080 and report back.

These registers founded by looking in QEMU and camera startup LOGs, we don't know what exactly these registers mean, overclocked values founded initially by brute-forcing then by trial and error for 192 MHz and 240 MHz presets.

Long answer, you may want to read in this thread:
https://www.magiclantern.fm/forum/index.php?topic=12862.msg185968#msg185968

mynamesriz

Thanks @theBilalFakhouri

I've actually tried two 170MB/s SD cards a 64GB and 128GB both with the same result.

I just tried again:

  • did a low level format
  • installed ArcziPL's latest build April 04
  • Enabled sd_uhs.mo and rebooted
  • selected the 240mhz preset in photo mode
  • Benchmark reported 95MB/s write and 106MB/s read
  • Then switched to mv1080 and ran the same benchmark and got 20MB/s for both
It's a similar story for 192Mhs preset.

Tried the same as above with your module with the same results.

And thanks I'll take a look at that link. :)


edit: i'm actually getting memory allocation errors in mv1080 read benchmarks, so about 20MB/s writes mem alloc error on read

theBilalFakhouri

Quote from: Danne on February 12, 2021, 11:30:41 PM
I also don´t trust the same patch routines here for 5D3. I do other stuff when patching 5D3 so beware.
https://bitbucket.org/Dannephoto/magic-lantern_dannephoto_git/src/master/modules/sd_uhs/sd_uhs.c

Correct.



-New version:
Added 5D3 sd_uhs patching approach from Danne, added original 160 MHz preset from a1ex (70D didn't work with my 160 MHz preset) now 160 MHz should work on 70D.

Same download links above.

theBilalFakhouri

@mynamesriz

192MHz and 240MHz presets might be unpractical for 70D, same for 5D3 . . nothing to do currently.

Quote from: mynamesriz on May 12, 2021, 12:36:23 PM
...
...
edit: i'm actually getting memory allocation errors in mv1080 read benchmarks, so about 20MB/s writes mem alloc error on read

Turn OFF RAW video before running benchmarks in LiveView.

theBilalFakhouri

-New version:
Added an option to turn ON/OFF SDR104 patch, highlight "SD Overclock" and press Q button.
You can test SD overclock presets with and without SDR104 patch, if you found any difference then report back.

-After you turn ON/OFF SDR104 patch, you have to restart the camera to apply the new setting.
-This option is on by default (in all previous version of sd_uhs it was on).



Same download links in the first post.

z56667895

Any setting errors cause the writing speed to slow down?

My RAW recording can only record about 2 seconds in any mode

I don't know what caused it
My card is Sandisk Extreme PRO 170MB/s 128G

Test the memory card on the computer is no problem

Sorry i don't know how to upload pictures
So I used other websites to upload


https://imgur.com/I24YlVt
https://imgur.com/pNa4VuS
https://imgur.com/undefined

Dmitriy84759

Is it possible to overclock 5dm3 SD-card with this hint or not?

theBilalFakhouri

Quote from: Dmitriy84759 on September 24, 2021, 07:02:36 PM
Is it possible to overclock 5dm3 SD-card with this hint or not?

Best way to find out is to make a test, anyway:

Yes you can, 160 MHz is stable with Sandisk Extreme PRO UHS-I U3 95/170 MB/s cards. (Don't format SD card when the overlock is on)

theBilalFakhouri

Updated the first post with a new sd_uhs version:

- Contain latest Universal sd_uhs code
- Added show CID info option
- Little fixes and modifications

Check it out

- Test "Show CID info" on all models (on 5D3 / 100D / 700D it seem to work fine)
- The module should work fine, report back if there is regression
- Test the module on EOS M2 1.0.3

GullRaDriel

Working fine on my 5D3.
I can see a difference between OFF/160/192/240, but no difference between SD50 & SD104 modes.
Looks like at best that Lexar card can only hit up to 72MB, but now nearly constantly.
At least I'm now able to record using 3k5 centered live view with sound continously :-)

Quote(Don't format SD card when the overlock is on)
I have no problem doing so on my setup, overclocked @240 MHz (yes, I re enabled it in my copy of Danne's source)

theBilalFakhouri

@GullRaDriel

You don't need to change "Access Mode" if SDR104 is working fine with your SD card (already wrote when to change this option in first post). This setting will not affect clock speed.
Formatting SD card with "Keep ML" option with overclocking ON is no longer a problem on 5D3, I have solved this issue in the new versions of sd_uhs :)

Thanks for the test!

GullRaDriel


gabriielangel

Working Fine on my EOS M, but I had to use it with your Jul 31 Build to see the CID (Otherwise it showed a bunch of zeroes). Maybe it needed another restart?

1- Is is ok to post the show CID Info on the forum?
2- Is there a way for me to get the error messages displayed on screen to a file? It used to work a while back, but I don't know how I got it to do it back then.

theBilalFakhouri

@gabriielangel

The build shouldn't matter, CID info should be shown when the overclocking is ON (when you select a preset then restart camera). Could you double check?

1- CID info doesn't include copyrighted material, so it's totally okay. Well, CID info shows also Serial number (PSN) for SD card, I don't know if PSN should be kept in private.
2- Could you share more context? which error message do you mean?

gabriielangel

1- Your're right. It works now regardless of the build. The overclock isn't on by default.

2-I am trying to come up with a repeatable way of testing the record capabilities of a card at various resolutions, as the speed shown in the benchmarks doesn't mean that the camera will record at a certain resolution.
I found out that with certain types of images (Notably if I focus on the LCD monitor too closely) The amount of detail seems to be too much for the Lossless compressor / Data Rate (It just won't record).

I get a bunch of frame corruption and compression messages, but those are displayed too fast for me to read. It would be easier if those messages were saved on the SD card.

Walter Schulz

Quote from: gabriielangel on September 21, 2022, 10:16:04 PM
I get a bunch of frame corruption and compression messages, but those are displayed too fast for me to read. It would be easier if those messages were saved on the SD card.

Sure but you should be able to record display messages with another device and replay them frame by frame.

gabriielangel

If that's the only way, I will take that route then.
It is a different kind of endeavour, as I will need a second tripod, etc.

Walter Schulz

Don't over-engineer. We are not going for IQ. Table setup, some cardboard, some tape, smartphone, low IQ ... anything will do.