Список форумов » Технический форум » Видеонаблюдение » Программные решения

 

Начать новую тему Ответить на тему
Автор Сообщение
 Заголовок сообщения: Motion и VIDIOC_DQBUF: EIO c SAA7134
СообщениеДобавлено: 09 мар 2010, 17:09
  


Зарегистрирован: 05 мар 2010, 22:02
Сообщения: 1
Доброго времени суток!

Столкнулся с такой вот проблемой, постоянно пишиться в лог v4l2_next: VIDIOC_DQBUF: EIO. Использую две карты Hawell HW-LX808E настроенных на ubuntu server 9.10
c modprobe.d "options saa7134 card=33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33" Пробывал завести систему на Debian Lenny, но к сожалению драйвера saa7134 в стандартном kernel debian не позволяют провести настройку двух 8-ми портовых карточек hawell, также запускал motion на модифицированной fedora 8, идущей в поставке с этими картами но эта ошибка не пропадала, тестировал на совершенно различных аппаратных платформах от материнских плат с чипсетом intel 865 до Intel H55, но проблема так и не исчезла.

В логе пишет ежеминутно
Mar 9 16:48:25 videoserver motion: [1] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 0):
Mar 9 16:50:54 videoserver motion: [12] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 1):
Mar 9 16:52:17 videoserver motion: [8] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 16:52:27 videoserver motion: [12] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 16:53:26 videoserver motion: [13] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 0):
Mar 9 16:53:55 videoserver motion: [9] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 16:55:36 videoserver motion: [6] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 0):
Mar 9 16:56:23 videoserver motion: [4] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 2):
Mar 9 16:56:48 videoserver motion: [4] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 0):
Mar 9 16:57:33 videoserver motion: [8] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 16:57:33 videoserver motion: [9] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 16:58:35 videoserver motion: [5] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 2):
Mar 9 16:58:35 videoserver motion: [15] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 16:59:26 videoserver motion: [4] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 1):
Mar 9 17:02:25 videoserver motion: [7] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 17:03:06 videoserver motion: [5] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 0):
Mar 9 17:03:23 videoserver motion: [12] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 17:04:13 videoserver motion: [3] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 17:04:46 videoserver motion: [1] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 1):
Mar 9 17:06:01 videoserver motion: [4] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 2):
Mar 9 17:06:55 videoserver motion: [15] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 17:07:06 videoserver motion: [1] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 0):
Mar 9 17:07:18 videoserver motion: [2] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 2):
Mar 9 17:07:19 videoserver motion: [12] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 2):
Mar 9 17:07:55 videoserver motion: [2] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 0):
Mar 9 17:08:05 videoserver motion: [10] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):
Mar 9 17:11:59 videoserver motion: [9] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 2):
Mar 9 17:12:38 videoserver motion: [8] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 1):
Mar 9 17:15:20 videoserver motion: [8] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 1):
Mar 9 17:15:51 videoserver motion: [12] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 2):
Mar 9 17:16:24 videoserver motion: [15] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 3):

Хотелось бы уточнить кто-нибудь решал данный вопрос ?
Собственно проблема была бы несерьезная, если бы в некоторых случаях при частой повторении ошибки motion просто не блокировал /dev/video* и собственно восстановление камеры решается только перезагрузкой системы.


          Вернуться к началу  
 
 Заголовок сообщения: Re: Motion и VIDIOC_DQBUF: EIO c SAA7134
СообщениеДобавлено: 09 мар 2010, 17:40
  

Аватара пользователя
Администратор

Зарегистрирован: 04 май 2009, 19:04
Сообщения: 168
Откуда: Великий Новгород
Попробуйте для варианта в исходниках моциона в файле video_common.c в функции vid_v4lx_start изменить строку под номером 736 с:
Код:
fd = open(dev->video_device, O_RDWR);

на
Код:
fd = open(dev->video_device, O_RDWR | O_NONBLOCK);

и перекомпилируйте motion

_________________
Да пребудут в целости хмуры и усталы
Делатели ценности профессионалы


          Вернуться к началу  
 
 Заголовок сообщения: Re: Motion и VIDIOC_DQBUF: EIO c SAA7134
СообщениеДобавлено: 09 мар 2010, 18:00
  

Аватара пользователя
Администратор

Зарегистрирован: 04 май 2009, 19:04
Сообщения: 168
Откуда: Великий Новгород
Ещё я бы в моционе использовал бы другой алгоритм переключения индекса буферов. А то там сразу написано, мол, какой запросил я, такой драйвер мне пусть и выдаёт. Не всегда это возможно, устройства разные и со своими возможностями. Лучше разделить запрос на наполнение буфера и запрос на его возврат приложению, дав тем самым временной демпфер "на подумать". Стабильнее работать будет. Плюс, если продолжается серии EIO на VIDIOC_DQBUF лучше остановить поток и заново его активировать (автоматом даже прикольнее).

_________________
Да пребудут в целости хмуры и усталы
Делатели ценности профессионалы


          Вернуться к началу  
 
 
Начать новую тему Ответить на тему



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Показать сообщения за:  Поле сортировки  
Перейти:  

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения


Яндекс цитирования Словенск