I'd like to do something quite simple ... in my mind.

I've got an "old" photo frame with an usb port and SD card slot (but without networking) that I would like to keep in sync with my NAS "Photo folder"

Since I'm looking forward to buy a PI, I'd like to know how I could achieve this ... in a cheap way ($ and computing power).

My main guess would be to connect both on USB.

Looking at other answers I found Serve up PC hard drive as USB mass storage and USB WiFi dongle device that can emulate a virtual mass storage device for a home video player and on the PI board itself Emulate USB mass storage device

So from what I found so far I have two options : an Host-to-Host USB cable or a Wifi-to-USB adapter (Both as expensive as the PI itself)

The problem is that both device are Windows only and neither seem to allow to select a specific folder to share.

Getting back to my goal, does any of you have an idea on how to to connect both on USB ?

Bonus question : is there a way to do this multiple times on the same "server" to connect different folders to differents clients (other frames/radios/...) ?

Thanks for the time spent reading my (long) question !

  • @MizukiOshiro I will but, from what I found yet, this won't be possible due to the USB specification design. I posted this question just in case I missed something – Cerber May 30 '12 at 13:19
  • Some photo frames have a "second monitor" feature, that allows pushing JPEG encoded frames from the PC to the photo frame trough it's slave port. I use this feature to display RRDTool-generated graphs for my server monitoring. Example: youtube.com/watch?v=OINZfcV7EQ0 – user305251 Mar 5 '14 at 13:04
  • The new IO board shipped with Compute Module Development Kit seems to have USB slave connector... how can one get it working? – Kozuch Oct 1 '14 at 9:47
  • 2
    I know this is old, but it's easy nowadays: raspberrypi.org/magpi/pi-zero-w-smart-usb-flash-drive – multithr3at3d Dec 30 '18 at 17:21
  • I also know that this is quite old, but may still be up to date. This could be a solution: superuser.com/questions/215466/make-nas-appear-as-a-usb-drive/…. – Matthias W. Dec 31 '20 at 12:48

Basically USB protocol requires one device to act as a Master, and others as Slaves. Master-master connections are not supported. Master devices typically have A-type connectors: computers, photo frames that support external USB media, etc. Slaves are your typical USB sticks, mice, etc. Master supplies power to slave over USB bus.

To cloud the water, USB OTG specification allows devices that support it to behave both as a master and as a slave (some Android phones, etc.).

Your photo frame is a master device, you need your Raspberry Pi acting as a slave. As far as I know, it is rather tricky, if possible at all: As a computer, Raspberry Pi supports USB master mode, but apparently USB slave mode also should be possible on some devices. Quoting the forum you mentioned in your question:

The model B has a built in 2 port USB hub, which does not know how to act as a USB device. The model A directly connects the processor USB interface, which can be configured either as a USB device or USB host.

Obviously, that won't work until people have Model A's to develop on, and someone has the talent, the time, the inclination, and the documentation, to write the device driver.

Bit-banging a slow speed USB device over GPIO should be possible on the model B.

This all will require some very significant hacking, many hours of programming/debugging time. In my opinion, waste of time.

My suggestion: Throw out your photo frame, get some second-hand/cheap small LCD display, connect it to your Raspberry Pi and use it as a photo frame. Much easier, faster, etc.

  • 2
    Or just interface the existing frame display via the LCD or GPIO connectors. – Ignacio Vazquez-Abrams Jun 9 '12 at 17:24
  • From my experience, interfacing LCDs via LVDS is very far from trivial. – haimg Jun 9 '12 at 17:33
  • Well anyway, both of you seem to hold the good solution to my question : don't waste time with the USB connector :) – Cerber Jun 10 '12 at 16:03
  • The new IO board shipped with Compute Module Development Kit seems to have USB slave connector... how can one get it working? – Kozuch Oct 1 '14 at 9:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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