As with many others, I have had problems with gphoto2 running on the RPi due to USB issues. It works for a single capture, if that, and then dies. There is a lot of discussion out there about solutions with the idea of resetting the USB Bus high among them. Others may have had success with this but I can not seem to get it to work. I downloaded the code from this thread in the RPi forum, got it compiled, but on execution, could not get it to work as discussed!
I have, however, come up with another idea courtesy of angryelectron. Their observation was that the problem occurs from opening and closing the camera as gphoto2 does for every transaction. If you do a bunch of stuff between the open and the close you don't have a failure (until you do another open/close).
The above suits me fine as I was not planning on using gphoto2 command line but was really looking to use libgphoto2 from Python via a wrapper developed by alexdu / piggyphoto.
My initial experiments are positive though I am still encountering failures though not until a significant number of previews and captures have been done. I am going to continue to head down this direction.