Git Product home page Git Product logo

Comments (9)

domenzain avatar domenzain commented on June 7, 2024

Hi @WIsbrecht ,

Sorry for the delay. It seems the camera itself does not respond to the request.
I will have a look at Sony's extension to see if there is something essential missing.

Currently no extension is implemented in PTPy for Sony cameras.

Best,

from sequoia-ptpy.

domenzain avatar domenzain commented on June 7, 2024

From 2d9e551, there is an ongoing implementation of the Sony extension.

from sequoia-ptpy.

WIsbrecht avatar WIsbrecht commented on June 7, 2024

Hey,

i did a quick single step debug session and found that the timeout error occurs even before

extension = choose_extension(device_info)

is called.
Actually the timeout occurs when this is called:
device_info = plain_camera.get_device_info()

An exception is thrown at this location:
try:
ep.write(transaction)
except usb.core.USBError as e:
# Ignore timeout or busy device once.
if (
(e.errno is None and
('timeout' in e.strerror or
'busy' in e.strerror)) or
(e.errno == 110 or e.errno == 16 or e.errno == 5)
):
ep.write(transaction)

from sequoia-ptpy.

domenzain avatar domenzain commented on June 7, 2024

Hi,

The write transaction to get the camera details is timing out. It is ignored the first time, but the second time around it fails.

I've reduced the maximum transfer size in the latest master.
Could you give it a go?

Also, have you enabled the remote control in the options in the camera?

from sequoia-ptpy.

WIsbrecht avatar WIsbrecht commented on June 7, 2024

Hey,

just tried the latest master. No dice.
I can control the camera with gphoto2 though.
Could it be the udev rules which come with gphoto? Is there a way to actually make sure that ptpy can talk to my camera?

from sequoia-ptpy.

domenzain avatar domenzain commented on June 7, 2024

Usually all it takes is to disable automatic volume mounting (or manually ejecting the camera volume before running your script).
But by the looks of it, it is not the camera being busy that fails but rather that it times out.

from sequoia-ptpy.

WIsbrecht avatar WIsbrecht commented on June 7, 2024

Hey,

so it seems as though automatic volume mounting is already disabled, hence gphoto2 is able to control the camera.
How would you proceed with debugging this further? Would be nice if someone with another Sony camera could give ptpy a try and report back.

from sequoia-ptpy.

domenzain avatar domenzain commented on June 7, 2024

Hi @WIsbrecht ,

I have a couple of Sony cameras at hand for testing.
There should be no issue in instantiating the camera.
Please try with the latest master and ensure the camera is not mounted.

FYI, the Ubuntu interface uses libgphoto2 so it might handle handing the camera back and forth. This is not the case for PTPy, it is fully independent.

A full implementation of the Sony extension is on the works.

Best,

from sequoia-ptpy.

holistech avatar holistech commented on June 7, 2024

Hi,
just an update regarding Sony camera support.
I have setup a raspberry pi 4 and my Sony a6000 camera.
I tried the latest master branch of ptpy (28 December 2020).

Catching the device information with the example script print_device_info.py works fine:
https://pastebin.com/DJXAnnsq

However, i tried the trigger.py and the download_all_images.py scripts and got usb.core.USBError: [Errno 32] Pipe errors.
The debug output for trigger.py is available here:
https://pastebin.com/AJxES4kv

The debug output for download_all_images.py is available here:
https://pastebin.com/7g5GMyTz

I would love to use PTPy for my Sony camera project instead of gphoto2.
What could be the reasons for the errors?

Best

from sequoia-ptpy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.