Ошибка PTP в gphoto2, работающем под ядром Linux 2.6.21.3 - PullRequest
0 голосов
/ 11 февраля 2009

В надежде, что там будет гуру ядра gphoto или Linux, я задаю этот вопрос здесь. Я пытаюсь создать пользовательский интерфейс для библиотеки Linux libgphoto2. На данный момент я использую gphoto2, чтобы позвонить в библиотеку. Я выполняю это на образе виртуальной машины Etch (Debian 4.0) в качестве моей машины для тестирования. Я вытащил источник из ствола репозитория gphoto-suite svn и собрал его без проблем. Я только что собрал части пакета libgphoto2 и gphoto2, потому что это все, что мне нужно. Когда я пытаюсь подключиться к своей камере (Canon EOS Rebel XTi), я получаю сообщение об ошибке PTP, а затем появляется сообщение «В библиотеке ввода-вывода произошла ошибка (« Неопределенная ошибка »)». Я нашел несколько ссылок на ошибку, которая казалась похожей на libgphoto2, разбросанную по нескольким дистрибутивам Linux с несколькими разными ядрами. Похоже, что самая последняя из них была в 2.6.28, специально объявленной командой gphoto-suite как ошибка в ядре. Ссылки здесь и здесь

Я получил эту библиотеку для работы с этой камерой раньше на Харди Хероне Убунута, так что я знаю, что она работала в прошлом. Поскольку моей целевой платформой является одноплатный компьютер с ядром 2.6.21, я обновил ядро ​​Etch VM до версии 2.6.21.3 и получил ту же ошибку.

Тогда мой вопрос: кто-нибудь знает, действительно ли это ошибка ядра в драйверах USB, которая зависает в течение некоторого времени и устраняется в ядрах 2.6.28.4 или более поздней версии, или это действительно проблема с версия gphoto2? Поскольку я не могу легко обновить свой встроенный дизайн до нового ядра, я надеюсь, что это ошибка gphoto. В то же время я собираюсь попробовать сделать несколько старых версий gphoto.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2009

Очевидно, это ошибка в пользовательском пространстве. Сборка версии 2.4.4 gphoto-suite на том же образе виртуальной машины и последующая работа работает хорошо. Хорошая комбинация выглядит как libgphoto2-2.4.2 и libgphoto2_port-0.8.0 вместе с gphoto2-2.4.2. Возможно, в списке рассылки gphoto-devl будет ответ, почему.

0 голосов
/ 11 февраля 2009

Создайте libgphoto с символами отладки (т.е. CFLAGS = $ (CFLAGS) -g в make-файле), затем попытайтесь отловить ошибку в GDB. Просмотр действительного кода даст гораздо больше информации о том, является ли это ошибкой ядра или пользовательского пространства, чем сверхчеткое сообщение об ошибке.

...