gphoto2: Nie można odebrać urządzenia USB


11

Próbuję użyć My Canon 100D jako kamery internetowej w systemie Ubuntu 17.10.

Czy spróbuję uruchomić:

gphoto2 --capture-movie

Zwracam błąd:

Wystąpił błąd w bibliotece io („ Nie można zgłosić roszczenia do urządzenia USB ”): Nie można zgłosić roszczenia do interfejsu 0 (urządzenie lub zasób zajęte). Upewnij się, że żaden inny program (gvfs-gphoto2-volume-monitor) ani moduł jądra (taki jak sdc2xx, stv680, spca50x) nie korzysta z urządzenia i masz do niego dostęp do odczytu / zapisu.

Kamera jest wykrywana przez system - mogę z niej przesyłać dane.

lsusbPokazuje również to urządzenie:

Magistrala 001 Urządzenie 020: ID 04a9: 3270 Canon, Inc.

Całkiem szczegółowy opis, ale to wszystko.

Może powinienem ... Tak, od czego zacząć?


Czy twój aparat ma tryb kamery internetowej lub podobny? Jeśli nie, to spodziewaj się, że nie będzie działał tak, jak chcesz i po prostu jako typowe urządzenie pamięci masowej, dzięki któremu system operacyjny go „zobaczy” i nic więcej.

Istnieje wiele kamer obsługiwanych przez gphoto2 . To jest naprawdę świetne, ponieważ jakość jest lepsza niż w przypadku typowej kamery internetowej.
PeterM,

Odpowiedzi:


13

Okazało się, że tak naprawdę gvfs-gphoto2-volume-monitorw tle był proces.

Uruchom ps aux | grep gphoto, który może mieć dane wyjściowe takie jak:

peter    25802  2.1  0.1 302504  8736 ?        Ssl  13:10   0:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
peter    25814  2.2  0.1 441508 11176 ?        Sl   13:10   0:00 /usr/lib/gvfs/gvfsd-gphoto2 --spawner :1.3 /org/gtk/gvfs/exec_spaw/21
peter    25835  0.0  0.0  22676  1096 pts/0    S+   13:10   0:00 grep --color=auto gphoto

Pierwsze kolumny to PID (identyfikator procesu), zabij je:

kill -9 25802
kill -9 25814

Teraz gphoto2 może teraz połączyć się z aparatem.


Co zrobić, jeśli proces „gvfs-gphoto2-volume-monitor” zaczyna się od nowa? Czy musimy zawsze ręcznie zabijać proces?
Zythyr

To dobre pytanie. Nie wiem, jak go usunąć ze startu. Zadaj kolejne pytanie lub popraw tę odpowiedź, jeśli się zorientujesz.
PeterM,

0

Odpowiedź PeterM działa w zasadzie. Aby było to prostsze i szybsze, proponuję następującą procedurę:

Najpierw znajdź wszystkie procesy związane z gphoto2

pgrep -fla gphoto2
1236 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
1345 /usr/lib/gvfs/gvfsd-gphoto2 --spawner :1.4 /org/gtk/gvfs/exec_spaw/1

jeśli są pokazane powyżej, możesz je bezpiecznie zabić

pkill -f gphoto2

i chętnie rób zdjęcia

gphoto2 --capture-image-and-download --filename pic0001.jpg
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.