Using USB API (MTP) with libghoto2 and Python bindings on MacOS, Raspberry Pi, Linux, ROS

Thank you for all your work and insight.

  1. I changed the title of the topic to reflect the actual discussion which evolved beyond MacOS
  2. I added a note to the very top post from the “moderator” to let people know that the topic changed

I’ll also try and help test this. There’s been a new surge in interest in the USB API, possibly driven by the increased demand for virtual surveillance.

BTW, if anyone with a good business opportunity is looking to partner with a company with experience in the USB API and streaming, please check out the article on FOX Sewer Rover and consider contacting Hugues with a great business opportunity. :slight_smile: Note the followup posts covering his modifications.

@Hugues is the VendorID, the same as the VendorExtensionID?

From the MTP Specification.

If so, I can run it against the cameras I have. I believe the extension ID is 0x00000006 on all of them, but I can check. In the libptp source code, this ID is assigned to Microsoft.

Z1

Camera information
==================
Model: RICOH THETA Z1
  manufacturer: Ricoh Company, Ltd.
  serial number: '10010104'
  device version: 1.50.1
  extension ID: 0x00000006
  extension description: (null)
  extension version: 0x006e

V

Camera information
==================
Model: RICOH THETA V
  manufacturer: Ricoh Company, Ltd.
  serial number: '00105377'
  device version: 3.40.1
  extension ID: 0x00000006
  extension description: (null)
  extension version: 0x006e

SC2 for business

This is the same as the SC2. The firmware number is different, but everything else should be the same for our purposes.

Camera information
==================
Model: RICOH THETA SC2
  manufacturer: Ricoh Company, Ltd.
  serial number: '40100146'
  device version: 06.12
  extension ID: 0x00000006
  extension description: (null)
  extension version: 0x006e

@NaokiSato102, I have not looked into the GitHub pull request. Please proceed with your testing and I can try and support your efforts. To do a pull request, you’ll need to fork the project first and do the modification, then test the modifications, then do the pull request.

My status:

  • I have compiled libghoto2 from source with no problems on Ubuntu 20.04 on x86
  • I have not installed or tested it as I think I need to first uninstall my existing libghoto2 and I am afraid my system will stop working
  • I have not applied the modifications

My plan:

  • I’ll attempt to compile it from source on a Raspberry Pi. If it’s possible, I’ll experiment with the modifications
  • if it takes too long due to the size of the project, I will try a different computer or a VM.
  • I will report back here
3 Likes