Как сбросить соединение между ноутбуком и Nikon D5300?

Используя gphoto2/ gtkam, мне удалось получить изображение с моей камеры в реальном времени на моем ноутбуке. Однако gtkam(или digiKam, если на то пошло) перестает показывать изображение в реальном времени, как только я сделал снимок. Дальнейшие попытки захвата изображения просто не показывают живое изображение. Если я включу и выключу камеру (все еще подключенную к ноутбуку), при следующей попытке будет показан просмотр в реальном времени, а затем цикл продолжится. Переключение камеры громоздко; какие варианты у меня есть от ноутбука?

Когда я переключаю камеру, я слышу звук закрытия затвора. Я предполагаю, что это указывает на то, что камера каким-то образом все еще активна - возможно, если бы я мог ее остановить, мне не нужно было бы ее выключать. Удаление и повторное добавление камеры только из- gtkamза ошибок. Ошибка аналогична ошибке ,could not lock упомянутой в gphoto2документации, но:

  • AFAICT не что иное , как gtkamиспользование камеры;
  • камера иногда отображается в gvfs-mount -lвыводе, но gvfs-umount -s gphoto2не действует.

Я использую Arch Linux, ядро 4.2.5-1​​.

Интересно, стоило ли мне публиковать это в Unix и Linux .
Вы можете опубликовать его как в Unix, так и в StackOverflow. В любом случае, я рекомендую спросить об этом разработчиков.
См. askubuntu.com/q/645/8903 , хотя, возможно, это уже исправлено. Патчи для gphoto2 ходят уже много лет.
Это не вопрос программирования, поэтому не спрашивайте его в StackOverflow. Возможны Unix/Linux и Superuser.

Ответы (1)

Вы можете попробовать отключить и включить USB-соединение. Возможно, вам также придется программно перезапустить программу. Возможно, это поможет вам это сделать: https://www.linux.com/blog/disable-enable-usb-terminal

В первый раз наш модем должен быть подключен к нашему usb. После этого пытаемся подключиться командой wvdial. Упс, я не могу подключиться к оператору связи. Первое решение на долгое время - я вытаскиваю модем из usb и жду несколько секунд, а затем снова подключаю к usb. это очень заставляет меня чувствовать скуку и злость. Итак, чтобы решить проблему, не делая действительно плохой подсказки. В первый раз вы должны открыть терминал и сделать доступ как суперпользователь: «sudo lsusb -t|less», эта команда даст вам список активных usb. И в результате:

 /:  Bus 05.Port 1: Dev 1, class="root_hub", Driver=uhci_hcd/2p, 12M
 /:  Bus 04.Port 1: Dev 1, class="root_hub", Driver=uhci_hcd/2p, 12M
 /:  Bus 03.Port 1: Dev 1, class="root_hub", Driver=uhci_hcd/2p, 12M
 |__ Port 1: Dev 2, If 0, class="HID", Driver=usbhid, 1.5M
 /:  Bus 02.Port 1: Dev 1, class="root_hub", Driver=uhci_hcd/2p, 12M
 |__ Port 1: Dev 6, If 0, class="vend"., Driver=usbserial_generic, 12M
 |__ Port 1: Dev 6, If 1, class="vend"., Driver=usbserial_generic, 12M
 |__ Port 1: Dev 6, If 2, class="vend"., Driver=usbserial_generic, 12M
 |__ Port 1: Dev 6, If 3, class="stor"., Driver=usb-storage, 12M
 |__ Port 2: Dev 3, If 0, class="HID", Driver=usbhid, 1.5M
 |__ Port 2: Dev 3, If 1, class="HID", Driver=usbhid, 1.5M
 /:  Bus 01.Port 1: Dev 1, class="root_hub", Driver=ehci_hcd/8p, 480M
 |__ Port 6: Dev 5, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
 |__ Port 6: Dev 5, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M

После того, как мы узнаем активный usb, который подключается к нашему модему. Выполните эту команду

echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/unbind # <- to make usb disable/turn off

NB: 2-1это процесс, который мы будем убивать. после того, как вы выполните эту команду, USB будет отключен. Повторная попытка набора номера с помощью wvdial. Итак, имеем результат:

eject: unable to find or open device for: `/dev/sr0'
--> WvDial: Internet dialer version 1.60
--> Cannot open /dev/ttyUSB0: No such file or directory
--> Cannot open /dev/ttyUSB0: No such file or directory
--> Cannot open /dev/ttyUSB0: No such file or directory

* Это хорошая информация. Это означает, что USB успешно отключен. Мы снова делаем команду, такую ​​как шаг номер 5, но с другим вводом в конце. Ну вот так:

echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/bind # <- to make usb active again // the different command just in the end of syntax. NB :

2-1это процесс, который будет включен. Повторите попытку с помощью команды wvdial, как и раньше. И.... мне не нужно вытаскивать и снова втыкать модем в usb. Итак, основная команда находится на шагах 5 и 7.

Еще одна возможность - использовать darktable. Он использует тот же бэкенд, но, возможно, у него есть некоторые хитрости в отношении команд, которые отправляются на камеру: https://www.linux.com/learn/how-remote-control-your-camera-darktable-linux .

+1, надеюсь, это поможет кому-то еще, но мой D5300 давно полностью перестал реагировать на USB-кабель (и в Linux, и в Windows). Сейчас пользуюсь картридером. :/