I recently installed a ubuntu mate on a Rpi3 (with an SD of 128Go). I installed a full prepared image installed "nafabox" it is a mate distrib with all tools already installed, very easy). I read many posts with some equivalent troubles with canon DSLR, sometimes it gets resolved but solution is not described. I spent nights testing many settings and i can't get away from having troubles with the camera connected to the pi3 & indi.... So i finally come here to seek for help as i am totally lost.
On the config side : i want to control everything from the rPI3 : Meaning : the mount (NEQ6) and the DSLR and store my night session shoots also. I will control from a wifi tablet everything.
In Ekos all seems OK at first view : the DSLR is recognized and connected, i can change settings (ISO, etc..) the control seems all perfect.
but, If i try a "preview" from ekos or a shooting of 2 exposures, the camera starts and finish the exposure at the right time expected, but the file cannot be retrieve from the camera. Then i cannot try again, i have to cycle power off from the camera, stop the indi then restart everything back.
I tried many many times with many many different settings :
- i unchecked firstly the preview to avoid loading the shoot on the screen, avoiding maybe filling too much of memory
- tried with FITS, tried in Native. [expecting FITS takes longer and may add troubles]
- tried with RAM saving, tried in SD (option save and delete) [expecting the RAM was getting filled?, but i would be surprised]
- tried with fast exposure 0,2 and tried with 20sec : same results
- When i do a "live view" from ekos control panel : i can see the live view. when i stop it stops well (note than from time to time the miror doesn't go back and the software is not able to start a shooting.. but it appears rarely to be honest)
- I tried to do firstly a live view of a few seconds then the shooting : same results.
- i tried to also do a first shoot from the camera body prior to start the shooting from ekos/indi : same results
- Lately i also tried with the gphoto driver and redid all same config testing... [ i read in several posts than for canon DSLR it was sometimes better to use gphoto]
-> the results with gphoto is that i get a message box saying the indi driver crashed (always at the end of the exposure) ! (independently of the settings FITS/NATIVE/RAM/SD etc...)
- i updated the full packages (update & upgrade) indi, ekos and kstar.
-> redid all testing, but same results
- I also downloaded "gphoto2" but i don't know how to know if it is used by indi or not ... there is no list of a driver "gphoto2" in equipment list available at configuration
- It seems the software is not able to get the file from the camera, and the software stayed blocked at the end of exposure 1 and cannot start exposure 2.
I thought about a memory problem, so i created a large swapfile on the linux side (10Go !).
-> again doing all testing again, and nothing better and swapfile is not filled more than 5Mo
To be highlighted : Yesterday after swaping from SD to RAM it works once !! i thought it was OK, but i redid the same shooting a second time and it didn't work anymore .. i did the same manipulation once again : swapping from SD to RAM and shoot => no result
Also to be highlighted : I was able to make it work but changing from RAW shooting to JPG shooting ! ... but clearly i cannot work like that ... All seems pointing a problem because of a too big file to transport ... but a 40Mo RAW file is not that much !
I am trying to attach you Two log file of the ekos/indi : First one with the normal indi_canon driver, and second one with the gphoto driver. (with FITS and NATIVE testing on each one) At each end of exposure i received a "unknown event" error in the log then the driver crashed or stay blocked...
I hope some of you can get some ideas and could help me on that,
thank you very much to each of you for reading me and helping
- i format the memory card on the DSLR , same results
I saw in the log that sometimes he was mentioning the right file to download "/DCIM/100EOS5D/xxx.cr2", as I have 2 memory card in the camera i thought maybe he was looking a place where the photo was not, so i tried alternatively with both cards, but same result. I ended by recording in the DSLR parameters in CR2 on the two memory card (to avoid any problem) : but still same issue,
When i select in the "indi control panel - Kstar" window in "image settings" :
I can choose for "capture target" from "RAM" or "SD"
I assumed RAM (was the camera RAM) and "SD" was the memory card (SD or CF by the way)
When i select RAM, i have same error, but when i need to turn off the camera, it tries to send the file from the memory (without success)
when i select SD, i have same error unable to retrieve the file in the rPi3/indi, and of course when i turn off the camera, it doesn't try to send any file.
Hope there are some people who can help on that .. because i am getting a bit crazy looool
Are you using the Canon DSLR driver or the GPhoto CCD driver? The Canon DSLR driver can only handle one camera at a time so when something goes wrong you need to power cycle it. I am using my Canon 700D with RAW images and the GPhoto CCD driver on an RPi3 and have no problems at all.
Wouter van Reeven
ASI6200MM and 7 slot 2" filter wheel with a SkyWatcher Esprit 80 ED on a SkyWatcher HEQ5-Pro
ASI1600MM-Pro Cooled and 5 slot 1.25" filter wheel with an 8" TS Ritchey-Chrétien on a SkyWatcher EQ6-R
I did all tests alternatively with both drivers (canon_DSLR and gphoto driver).
Thanks for the remark about managing only one camera, it could be helpful for me later, but at the moment i only have one camera on the set.
Unfortunately symptoms are the same with both drivers
Then run KStars, and create a new Ekos profile with two devices: Canon DSLR & Telescope Simulator.
Set it to remote, save profile and then start INDI. Take a capture, when it crashes, go back to the terminal and type bt to get the backtrace. Paste it here or attach a file.
I was trying a fresh new install on a different SD card ... but i can't get the file you were asking ... i just (in case) tried a capture and the result was pretty the same :
I first did a try without changing anything (only FITS to NATIVE) => the first picture was displayed as preview and recorded on the pi3 but at same time the driver crashed. The second attempt without any still without any modification : driver crash and i don't even get the file.
Now, back on my normal SD card installed.
I did get the debug driver and start the gdb.
i created a new profile and switch to REMOTE (usually i stay in local)
when i try to start the indi it says it cannot connect to localhost with port 7624
yes correct, this is what i did.
first get the driver, then the gdb, then kstars and create a new profile with "telescope simulated" and "Canon DSLR".
Is it important the "remote" or local ? Because all my set is local on the rpi3. I use a VNC to connect to the rpi3 from my desktop computer
can't use the "remote" as can't connect to localhost port 7624.
I did the profile in LOCAL, and i don't get a crash of the driver, but only a status : "[WARNING] Could not wait for event" (indi keep running, photo was taken but still in the memory of the camera, need to power off the camera and restart"
if i go on the terminal and ask the backTrace it gives :"no stack"
I tried this after :
1/erase the new profile, quit the gdb. close kstars.
2/ start new gdb command, open kstar, create new profile (LOCAL)
3/ start indi
4/ switch from RAM to SD (in the parameter)
5/ take a shoot in ekos.
6/ the driver says it crashes
7/ request bt on terminal where is gdb, result : "no stack"
i'm kinda lost
Thank you so much for your help knro i'm not so noob in linux but that issue i can't really think properly of the problem
Still trying to find a way .. i did investigate a bit more.
For any "crash", i don't get anything in gdb after the bt command
In order to dig further, i started a gdb with gphoto driver, then i created a profile with the gphoto driver (indi_gphoto_ccd) ) - but still no stack after the "crash"
One important note :
If i request to shoot in mRAW or sRAW or even JPG : it works fine and i get the file.
Only the RAW format get the crash
=> Here attached, the log extract of the sucess (sRAW) and the failure (RAW)
Additional info on my config :
Rapberry pi3 with Sandisk class10 128Go microSD + Canon 5D3
indi library : INDI Library: 1.6.3 - Code $Rev$. Protocol 1.7.
INDI source : PPA (from all prepared image NAFAbox from Gilles (gehelem) & Patrick(Patdut) )
Nafabox is based on Ubuntu Mate v16.04 (there were some topics on the forum, it's a french version)
kernel version : Linux nafabox-pi 4.9.76-v7+ #1076 SMP Wed Jan 10 17:34:49 GMT 2018 armv7l armv7l armv7l GNU/Linux
But the error displayed is not always the same (even having the same profile and configuration in indi & ekos each time), even if not displayed the same, the symptoms are identical : i am blocked at end of exposure 1, can't get the file (stuck in camera memory if RAM, or in memoryCard if SD as target). Here are the two version i can get from time to time :
1- sometimes i have in the status bar : "Error downloading image from camera: I/O problem" (also in the indi_canon_ccd logfile) -> and ekos stay in a waiting cycle at end of exposure 1
2- sometimes I have a window popup saying "KStars detected INDI driver indi_canon_ccd crashed. Please check INDI server log in the Device Manager."> and ekos stay in a waiting cycle at end of exposure 1
Let me know if i can give you more data or info to try to figure out what is happening.
No guarantees, but my hunch is your SanDisk microSD card is the problem. Class10 is not the same as Class10, i.e. although the card may state it is fast doesn't mean it is fast. I have used a "budget" Class10 card in my Pi that by all specifications is rated virtually the same as the 128GB Samsung EvoSelect microSDXC UHS-I card I am using and the Pi froze to a speed slower than a dinosaur during an ice age. Your microSD card must be able to record and play 4K video without stuttering, then it should also work in the Pi3.
My suggestion: Either use a faster SD card, or, alternatively, if you have an external 2.5" hard drive or SSD, attach that and save your images to that hard drive. You can set that target either in the capture module or under the Options tab.
My gut feeling is that the large 40MB RAW file runs against the I/O bottleneck of the SD card, fails to save and then crashes the program. Using the faster USB2 transfer to the external drive may solve that problem. Or it may not, because the initial transfer of the image file from the DSLR will be transiently stored in the /tmp folder on the SD card. In that case, move the /tmp folder also to your external drive (by symlink) and see if that fixes the problem.
Last thoughts I would try: In the capture module, specify a delay of 10s after capture and before the next image is initiated. That may also give the Pi3 time to clear the pipe. Not sure about whether that is likely to work, but it is easy enough to try. More likely, the communication between the Canon and the Pi3 times out and goes into deep freeze because of an I/O problem.
Jasem, would that make sense based on how the data flow is being handled?
Atlas Pro AZ-EQ, ASI1600MM-Pro, ASI120MM-S, ES102ED, WO-Z61, Nikon D3300, ASI-EFW, ZWO LRGB,Ha,O3,S2 filter set
I would recommend bringing up the system monitor and watching the memory usage while you try to take images. You should see a spike when the image downloads then it should go back down if you dont have the FITS viewer come up, or level off at a spot below the peak but higher than before if it is using FITS viewer. I would particularly pay attention to how high the spike gets when downloading the different size images and how long it takes for the spike to appear after the image completes. When you do the full size image, you can check if it actually tries to download and how high the memory usage gets. I have found that the raspberry pi needs a swap file in order to do the full raw DSLR image and it sometimes takes a few seconds to download.
You mentioned that you made a swap file. This is good as I mentioned above, but bad from the standpoint that it is reading and writing from the SD card which has a limited life and limited speed. I would recommend trying zram, which is basically a compressed swap file in ram. Of course that is a little slower than running in normal ram, but it is faster than reading and writing to a file. I found that it works just fine with my DSLR. There is a zram package you can install that configures and sets everything up. I believe it is called zram-config.
Same experience here. Only thing that works is liveview. Capturing or Preview gets the errors as above. My EOS700D is directly connected to a powerful notebook (LenovoT470) running a linuxmint 18.3, so I don't think it's a performance issue. I tried canon driver and gphoto, looks the same. Attached logs for trial with gphoto.