Linux on your Canon DSLR? Why not?

Started by a1ex, April 01, 2015, 08:00:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

g3gg0

i just published the patch to linux-3.19 and the sample init. d2c975f 2bcf4b8

but beware, its not simple to build it. it took me about 5 nights to get it that far.
fiddled a lot with uClibc, busybox etc but didnt get a clean build.

if there are some linux gurus out there: please help us!
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

SenorClean

It doesn't seem to play nice with my 6D - popped the card in and it was completely unresponsive with blank screens until I pulled the battery.

.. cool development though, and my camera is fine now that I've removed the linux autoexec.bin

a1ex


Danson Delta-40

So I don't mean to be a troll buuuuuuuuuttt....

With this, the canon DSLRs can be recoded from the ground up to do what we want?

DOES THIS MEAN PRORESES AND 4'S OF K?!?!?!?! :D :D :D

But seriously, does this mean smoother operation, and one thing which I am super wondering about, raw video via HDMI for recording, or use it to help supplement raw to CF? Like recording part of it on a CF card or SD card and then the other part of HDMI for max output?
GOING POSTAL SINCE 1995 BABY

a1ex

And french fries (might be even easier to implement that).

vertigopix

Or maybe a Swiss cheese fondue ?   ;)

SenorClean


a1ex

And you get no display at all with the Linux binary? Not even backlight, or just no text?

SenorClean

No backlight or text - all I get is a single fairly long activity LED blink, and that's it.

NedB

550D - Kit Lens | EF 50mm f/1.8 | Zacuto Z-Finder Pro 2.5x | SanDisk ExtremePro 95mb/s | Tascam DR-100MkII

Walter Schulz

We're more than a few steps away from running Mathematica on DSLR ...

jagnje

so what are the options here? I`m just about to buy a new camera...should I stick to my t2i for a while? :)

Licaon_Kter

EOS M1

Insert card, close door, autostart(!?) yields a stuck loader...



Pull the battery, close the door, autostart(!?) yields a success...



Pressing the power button while stuck ( normal or not ) yields a blinking green light only.



Is it normal to autostart like this on door close?

Walter Schulz


Levas

This is an April fool joke, right  :D

Come on, april the 1st, Alex tells us he managed to run Linux and FreeDOS on a Canon DSLR  :P





g3gg0

about the "calibrating delay loop..." hang:
i wasnt able to make the interrupt stable enough. its a bit hackish too.
so sometimes it doesnt get the timer interrupt, or looses it and it wont fire again.
working on that.

card door:
yeah when the door is closed, the digic ALWAYS boots. canon original firmware then asks the MPU if the power switch is ON.
we are working on MPU communication ;)

BR,
g3gg0
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

kitor

Too many Canon cameras.
If you have a dead R, RP, 250D mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

nikfreak

Quote from: a1ex on April 02, 2015, 07:59:17 AM
And you get no display at all with the Linux binary? Not even backlight, or just no text?

Quote from: SenorClean on April 02, 2015, 08:15:32 AM
No backlight or text - all I get is a single fairly long activity LED blink, and that's it.

Same here on 70D. Hopefully this may end up with a unified solution for ML boot process  :P
[size=8pt]70D.112 & 100D.101[/size]

lourenco

What is the goal with running Linux on the Canon DSLR? Is this to lead towards completely custom firmware for the camera? or just to say my camera can run Linux? I just wondering if there is going to be a real useful reason to have Linux on the camera. 
5D Mark III, CF Lexar 1000X 32GB, 24-105 F4L

ali farahani

 Can someone explain me with runing linux on camera what features will be added?
5DIII,Samyang 14 T3.1, zeiss planar 50mm f1.4 ze,  Zacuto view finder , komputerbay 64gb , RawVideo Lover

kitor

ML is hacking it's way around Canon's code running on camera. By running own kernel/operating system (and if hardware will be well understood to write drivers for all devices), ML won't need DryOS hacking anymore.
Features like raw recording or full-res silent pictures are hacks running on top of Canon's code. This way it would be possible to implement them clean way, as we will have direct access to hardware.
Also (I believe) there were some features that was possible to implement, but were not implemented if they existed in "better" camera models. By running everything Linux based, Canon won't have any rights to interfere in ML development (in theory even if they decide to work on 1dx/dc ;) ).

BTW: Is it possible to build test binary for 30D? I'd like to try on this unsupported camera, if possible :)
Too many Canon cameras.
If you have a dead R, RP, 250D mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

[email protected]

It seems to me that the key technology is to be able to read directly from the sensor and then process that information rather than going through Canon's OS.  Experts on the Canon 5DIII's bus architecture would know if the hardware is in place to be able to address and access all of the sensor's pixels, or if Canon just put in place what it needed for the feature set it wanted to market.  If the entire sensor can addressed and accessed, then for video it becomes a matter of sampling the sensor periodically (30, 60 or 120 times per second) and then processing and storing that data.  The internal hardware and bus architecture will be a limiting factor at some point. Just what that point is determines what can be done. 

a1ex

Quote from: lourenco on April 02, 2015, 06:35:11 PM
What is the goal with running Linux on the Canon DSLR? Is this to lead towards completely custom firmware for the camera? or just to say my camera can run Linux? I just wondering if there is going to be a real useful reason to have Linux on the camera. 

Does it really have to be a goal? Some people tend to forget that we are doing all this for fun.

The biggest immediate gain for us is a deeper understanding of camera internals (for now: interrupts, timers, MPU communication, bootloader routines, and portable code that runs on all cameras).

At some point, we hope to be able to intercept buttons (which requires a good understanding of MPU communication). We might be able to drive the sensor and take a picture as well, but I wouldn't bet on it (it may take anywhere between a few weeks and several years, and I wouldn't call it "the goal"). A related quest is to emulate the entire Canon firmware in QEMU - again, with no immediate benefit for regular users.

MPU communication is quite useful - there have been some feature requests about changing focus or aperture during a long exposure. If there's a way to do it, that would be via MPU.

About direct sensor access: we can already do whatever we want with it from playback mode, because Canon code does not use the sensor there. No need to run a custom OS for that. But since we don't know how to drive the sensor, we have no feature that makes use of this yet.

We also hope to attract more developers to the project. By running a separate OS, the risks of soft-bricking your camera with bad code are much lower than with a user task running on top of Canon firmware. Why? because Canon code saves settings periodically, by reflashing the ROM. Since we have no MMU, a out-of-range write (or invalid pointer) and some bad luck can be enough to cause Canon code to write gibberish in their settings area. Just ask @chris_overseas what happened with his 5D3 recently.

@kitor: keep an eye on the display thread, I'll build a binary for that first. The display code did not work on 5D classic (also a VxWorks camera), so...

rbrune

@ a1ex & g3gg0: have you tried using buildroot ( http://buildroot.uclibc.org/ ) to build a FLAT arm init+userspace?

sooda

Confirmed for 700D.





This is awesome. I want to help. I know something about Linux source (I play with it for a living) and am willing to study whatever is necessary. For plain ML code too, of course.

(yiss, this is my first actual post.)