Take the 2-minute tour ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

I am trying to control my Canon 550D with the EOS Utility (on my Mac). In theory, this is what I am looking for:

The RPi plugs into the 550D and is connected to a LAN. My Mac is on the same LAN, and is running the EOS Utility. I'd like to make it so the Mac detects the 550D as if it was physically connected to the Mac. I can then use the EOS utility to control all the camera settings (like white balance, shutter speed, focus, start/stop recording, etc).

Is this possible? If so, how?

share|improve this question
    
You might be able to use gphoto2 to control the camera from the Raspberry Pi, but you would need some way to control gphoto2 remotely from the Mac. –  Craig Jan 11 '13 at 23:18
    
@Craig Yes, but as far as I know, gphoto2 doesn't support the 550D fully; shutter speed, aperture, etc... –  daviesgeek Jan 12 '13 at 4:56
add comment

1 Answer

You can share a USB device over the network by installing usbip on your RPi. I found a quick tutorial on the official Raspberry Pi forum (all credits to secretagent, the OP). I haven't tested the solution by myself.

On the Raspberry Pi (server)

  1. On Raspbian/Debian Wheezy, install usbip:

    $ sudo apt-get install usbip
    
  2. From now on, the usbipd daemon is running when you boot your RPi. Load the host driver:

    $ sudo modprobe usbip-host
    
  3. List the USB devices connected to the RPi, and note the device busid you want to share:

    $ sudo usbip list -l
    
  4. Add the device you want to share on the network:

    $ sudo usbip bind --busid <busid>
    

    You should see this message:

    bind device on busid <busid>: complete
    

On the Mac (client)

I don't know if you can install usbip on a Mac.

  1. Load the driver:

    $ sudo modprobe vhci-hcd
    
  2. List the devices shared by your RPi. You should see the same device as in the forth step of the server part. Note the busid.

    $ usbip --list <the RPi IP address>
    
  3. Attach the device:

    $ sudo usbip --attach <the RPi IP address> <busid>
    
  4. Now, you should be able to see on your Mac the device shared on the RPi:

    $ lsusb
    

To list the virtual USB port status:

 $ usbip --port

To detach the device:

$ sudo usbip --detach <the port in the previous step>
share|improve this answer
    
So, in theory, this will be just as if the camera was plugged straight into my Mac? –  daviesgeek Jan 10 '13 at 23:43
    
@daviesgeek Yes –  Morgan Courbet Jan 11 '13 at 6:51
    
Okay...I'm still looking for a Mac version/binary though...doesn't seem like there is one :-/ –  daviesgeek Jan 11 '13 at 7:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.