51

Re: драйвер для камеры кинетик

Ant :

1). При их запуске Кинетик ругается на блок "waitrestart)" (я уже писал выше). Если его удалить, то всё ok.

Правильнее скобки убрать вот так - http://code.google.com/p/zyxel-keenetic … &r=592

Но это ни на что не влияет. Дальше Вам потребуется помощь xakep666 (у меня нет камеры, чтобы помочь).

1. Определите - нашлась ли камера. Есть ли в логе подобное этому
http://forum.zyxmon.org/post8517.html#p8517
2. Если нашлась, разбираться с прогами (motion или mjpg-streamer).

Лучше перезагрузите роутер и начните заново.

52

Re: драйвер для камеры кинетик

Zyxmon :

1. Определите - нашлась ли камера. Есть ли в логе подобное этому

А в логе эти записи после какой операции должны появится? Сразу после загрузки Кинетика, или надо что-то из-под SSH запустить?

53

Re: драйвер для камеры кинетик

Ant, после загрузки модулей ядра и подключения камеры к usb.

54

Re: драйвер для камеры кинетик

Я так понял, для лога важно, чтобы камера была физически воткнута в USB после загрузки модулей - тогда это смогу сделать только когда окажусь дома (камера воткнута в USB и в настоящий момент нет возможности её оттуда извлечь).

Сейчас после перезагрузки Кинетика (удалённо; камера подключена) и после этого загрузки вручную модулей ядра, с логах видно следующее:

2 ноя 17:19:58    kernel    Linux video capture interface: v2.00
2 ноя 17:20:04    kernel    usbcore: registered new interface driver uvcvideo
2 ноя 17:20:04    kernel    USB Video Class driver (SVN r209)

Вечером попробую загрузить модули и только после этого воткнуть камеру.

55

Re: драйвер для камеры кинетик

Ant :

Я так понял, для лога важно, чтобы камера была физически воткнута в USB после загрузки модулей

Думаю неважно - до или после. Но она должна появиться в логе. Только после этого имеет смысл запускать программы.

56

Re: драйвер для камеры кинетик

Скрипт (полностью исправный и работающий, сам проверял) для mjpg-streamer

#!/bin/sh

SYS=/media/DISK_A1/system
PROG=$SYS/usr/bin/mjpg_streamer
MODDIR=$SYS/lib/modules/2.6.23-rt
DEV=/dev/video0
YUV=true #define if your cam supports ONLY yuv
WWW=$SYS/www/webcam
FPS=5
RESOLUTION='640x480'
PORT=9000
DRIVER=uvcvideo #define uvcvideo, pwc (philips cams) ,sn9c102, cpia2
DELAY=10 #seconds. using if "waitrestart" defined

insmods () {
echo Loading video drivers
logger Loading video drivers
insmod "$MODDIR/v4l1-compat.ko"
insmod "$MODDIR/v4l2-common.ko"
insmod "$MODDIR/compat_ioctl32.ko"
insmod "$MODDIR/videodev.ko"
insmod "$MODDIR/$DRIVER.ko"
}

rmmods () {
echo Unloading video drivers
logger Unloading video drivers
rmmod $DRIVER
rmmod videodev
rmmod compat_ioctl32
rmmod v4l2-common
rmmod v4l1-compat
}


start () {
    insmods
    if $YUV; then
        YARG='-y'
    else
        YARG=''
    fi
    $PROG -b -i "$SYS/usr/lib/input_uvc.so $YARG -d $DEV -f $FPS -r $RESOLUTION" -o "$SYS/usr/lib/output_http.so --www $WWW --port $PORT"
}

stop () {
    killall -9 mjpg_streamer
    sleep 5 #без этого драйверы не выгружались
    rmmods
}

case "$1" in
    start)
      start
    ;;
    stop)
      stop
    ;;
    restart)
      stop
      start    
    ;;
    link_up)
    ;;
    ppp_up)
    ;;
    link_down)
    ;;
    ppp_down)
    ;;
    waitrestart)
       stop
       sleep $DELAY 
       start
    ;;
    *)
        echo "Usage: $0 {start|stop|restart|link_up|link_down|ppp_up|ppp_down|waitrestart}"
    ;;
esac

Для motion

#!/bin/sh

SYS=/media/DISK_A1/system
MODDIR=$SYS/lib/modules/2.6.23-rt
MOTION=$SYS/usr/bin/motion
CONFIG=$SYS/etc/motion.conf
DRIVER=uvcvideo #define uvcvideo, pwc (philips cams) ,sn9c102, cpia2
DELAY=10 #seconds. using if "waitrestart" defined

insmods () {
echo Loading video drivers
logger Loading video drivers
insmod "$MODDIR/v4l1-compat.ko"
insmod "$MODDIR/v4l2-common.ko"
insmod "$MODDIR/compat_ioctl32.ko"
insmod "$MODDIR/videodev.ko"
insmod "$MODDIR/$DRIVER.ko"
}

rmmods () {
echo Unloading video drivers
logger Unloading video drivers
rmmod $DRIVER
rmmod videodev
rmmod compat_ioctl32
rmmod v4l2-common
rmmod v4l1-compat
}

start () {
insmods
$MOTION -c $CONFIG
}

stop () {
killall motion
sleep 5 #без этого драйверы не выгружались
rmmods
}

case "$1" in
    start)
      start
    ;;
    stop)
      stop
    ;;
    restart)
      stop
      start    
    ;;
    link_up)
    ;;
    ppp_up)
    ;;
    link_down)
    ;;
    ppp_down)
    ;;
    waitrestart)
       stop
       sleep $DELAY
       start
    ;;
    *)
        echo "Usage: $0 {start|stop|restart|link_up|link_down|ppp_up|ppp_down|waitrestart}"
    ;;
esac

При подключении камеры, если модули подгружены и она определилась правильно, в лог выдается примерно то же самое, что я привел на 1-ой странице (vid:pid, имя производителя, формат выдаваемого потока, разрешения и т.п.), и не важно, в каком порядке дейстовать (подгружать модули, подключать камеру). Если используете mjpg-streamer, то настоятельно рекомендую закрыть порты из интернета, ниже скрипт для firewall.d

#!/bin/sh
iptables -I INPUT -i ppp0 -p tcp --dport PORT -j REJECT
iptables -I INPUT -i eth2.2 -p tcp --dport PORT -j REJECT

значение PORT заменить на то, которое указано в скрипте запуска; организуйте защищенный туннель до кинетика (openvpn,ssh). Связано это с тем, что данная ревизия mjpg-streamer не поддерживает авторизацию по логину/паролю.

Отредактировано xakep666 (2012-11-03 15:39:31)

57

Re: драйвер для камеры кинетик

Господа! Тут форум по кинетикам. Владельцам других железок - на другой форум.

58

Re: драйвер для камеры кинетик

К сожалению, моя камера Microsoft, по ходу дела, не UVC, все таки.

После загрузки драйверов и подключения камеры, выдаётся следующее:

3 ноя 11:29:08    kernel    Linux video capture interface: v2.00
3 ноя 11:29:13    kernel    usbcore: registered new interface driver uvcvideo
3 ноя 11:29:13    kernel    USB Video Class driver (SVN r209)
3 ноя 11:29:27    kernel    usb 1-1.1: new full speed USB device using dwc_otg and address 5
3 ноя 11:29:27    kernel    usb 1-1.1: configuration #1 chosen from 1 choice

Пока изучал вопрос, нашёл список UVC совместимых камер http://ideasonboard.org/uvc/

На следующей неделе попробую подключить свой старую камеру Logitech - но думаю, ввероятность очень небольшая что заработает.

59

Re: драйвер для камеры кинетик

Попробуйте другие модули,. В архиве, который я выкладыавл, есть еще три модуля

60

Re: драйвер для камеры кинетик

Модули ядра и пакеты motion и mjpg-streamer в репе. Благодарим за проделанную работу xakep666.

Прошу следующие тесты делать с пакетами из репы.

61

Re: драйвер для камеры кинетик

xakep666 :

Попробуйте другие модули,. В архиве, который я выкладыавл, есть еще три модуля

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

3 ноя 17:00:40    kernel    usb 1-1.4: new full speed USB device using dwc_otg and address 6
3 ноя 17:00:40    kernel    usb 1-1.4: configuration #1 chosen from 1 choice
3 ноя 17:00:40    kernel    usb 1-1.4: SN9C105 PC Camera Controller detected (vid:pid 0x045E:0x00F5)
3 ноя 17:00:40    kernel    usb 1-1.4: No supported image sensor detected for this bridge

Плюс, на камере загорелся зеленый индиикатор (раньше не горел).

Однако при попыке запуска приложений, эффект тот же - не работают с теми же ошибками в журнале.

62

Re: драйвер для камеры кинетик

что выдает ls /dev/video* и ls /dev/v4l ?
измените в скрипте запуска uvcvideo на sn9c102

Отредактировано xakep666 (2012-11-03 16:25:59)

63

Re: драйвер для камеры кинетик

Если это камера Microsoft VX-3000, то ей, возможно, нужны другие дрова gscpa
http://osdir.com/ml/linux.drivers.uvc.d … 00259.html

64

Re: драйвер для камеры кинетик

xakep666 :

что выдает ls /dev/video* и ls /dev/v4l ?

/media/DISK_A1/system/etc/init.d # ls /dev/video*
ls: /dev/video*: No such file or directory

/media/DISK_A1/system/etc/init.d # ls /dev/v4l
ls: /dev/v4l: No such file or directory

xakep666 :

измените в скрипте запуска uvcvideo на sn9c102

Поменял, все как и в прошлый раз. Все запустилось, индикатор загорелся, а в логах следующее:

3 ноя 17:50:14    root    Loading video drivers
3 ноя 17:50:15    kernel    Linux video capture interface: v2.00
3 ноя 17:50:15    kernel    sn9c102: V4L2 driver for SN9C1xx PC Camera Controllers v1:1.47
3 ноя 17:50:15    kernel    usb 1-1.4: SN9C105 PC Camera Controller detected (vid:pid 0x045E:0x00F5)
3 ноя 17:50:15    kernel    usb 1-1.4: No supported image sensor detected for this bridge
3 ноя 17:50:15    kernel    usbcore: registered new interface driver sn9c102
3 ноя 17:50:15    MJPG-streamer [2019]    starting application
3 ноя 17:50:15    MJPG-streamer [2019]    enabling daemon mode
3 ноя 17:50:15    MJPG-streamer [2022]    MJPG Streamer Version.: 2.0
3 ноя 17:50:15    MJPG-streamer [2022]    Using V4L2 device.: /dev/video0
3 ноя 17:50:15    MJPG-streamer [2022]    Desired Resolution: 640 x 480
3 ноя 17:50:15    MJPG-streamer [2022]    Frames Per Second.: 5
3 ноя 17:50:15    MJPG-streamer [2022]    Format............: YUV
3 ноя 17:50:15    MJPG-streamer [2022]    JPEG Quality......: 80
3 ноя 17:50:15    MJPG-streamer [2022]    init_VideoIn failed

Zyxmon :

Если это камера Microsoft VX-3000

Да, именно она.

65

Re: драйвер для камеры кинетик

Кстати, хотел спросить, а что дальше делать после запуска K33mjpgstreamer? В браузере набрать http://ip:9000 - я правильно понял? Просто у меня этот адрес не открывается...

66

Re: драйвер для камеры кинетик

И действительно, моя камера есть в списке поддерживаемых - http://mxhaard.free.fr/spca5xx.html

Можно ли как-то этот драйвер собрать для Кинетика?

67

Re: драйвер для камеры кинетик

Будьте так добры написать подробную инструкцию, как устанавливать. Спасибо!

68

Re: драйвер для камеры кинетик

Тестим gspca_keenetic.tar.gz. Прошу прощения за ошибки, сторонние модули собираю впервые

69

Re: драйвер для камеры кинетик

xakep666 :

Тестим gspca_keenetic.tar.gz. Прошу прощения за ошибки, сторонние модули собираю впервые

Вот сейчас камера вроде определилась - по крайней мере в логе уже выдаются данные о разрешении камеры.

3 ноя 22:20:53    kernel    Linux video capture interface: v2.00
3 ноя 22:20:53    kernel    /home/vbox/keenetic/build_dir/target-mipsel_r2_uClibc-0.9.30.3/gspcav1-20071224/gspca_core.c: USB GSPCA camera found. SONIX JPEG (sn9c1xx)
3 ноя 22:20:53    kernel    /home/vbox/keenetic/build_dir/target-mipsel_r2_uClibc-0.9.30.3/gspcav1-20071224/gspca_core.c: [spca5xx_probe:4275] Camera type JPEG
3 ноя 22:20:53    kernel    /home/vbox/keenetic/build_dir/target-mipsel_r2_uClibc-0.9.30.3/gspcav1-20071224/gspca_core.c: [spca5xx_getcapability:1249] maxw 640 maxh 480 minw 160 minh 120
3 ноя 22:20:53    kernel    usbcore: registered new interface driver gspca
3 ноя 22:20:53    kernel    /home/vbox/keenetic/build_dir/target-mipsel_r2_uClibc-0.9.30.3/gspcav1-20071224/gspca_core.c: gspca driver 01.00.20 registered
3 ноя 22:20:53    MJPG-streamer [1934]    starting application
3 ноя 22:20:53    MJPG-streamer [1934]    enabling daemon mode
3 ноя 22:20:53    MJPG-streamer [1936]    MJPG Streamer Version.: 2.0
3 ноя 22:20:53    MJPG-streamer [1936]    Using V4L2 device.: /dev/video0
3 ноя 22:20:53    MJPG-streamer [1936]    Desired Resolution: 640 x 480
3 ноя 22:20:53    MJPG-streamer [1936]    Frames Per Second.: 5
3 ноя 22:20:53    MJPG-streamer [1936]    Format............: YUV
3 ноя 22:20:53    MJPG-streamer [1936]    JPEG Quality......: 80
3 ноя 22:20:54    kernel    /home/vbox/keenetic/build_dir/target-mipsel_r2_uClibc-0.9.30.3/gspcav1-20071224/gspca_core.c: [gspca_set_isoc_ep:945] ISO EndPoint found 0x81 AlternateSet 8
3 ноя 22:20:54    MJPG-streamer [1936]    init_VideoIn failed

Но вроде как MJPG-streamer таки не доконца заводится ("init_VideoIn failed"). И не горит огонёк у камеры.

При этом с motion совсем что-то не понятно. Один раз каким-то образом ему даже получилось сделать снимки с камеры (правда на изображениях непонятно вообще, что там оторажается). Но после этого сколько раз не пытался, при его запуске система тормозит и с ним совсем не понятно, что происходит.

70

Re: драйвер для камеры кинетик

При этом ls /dev/video* выдаёт "/dev/video0", а "ls /dev/v4l" - "video0".

То есть, как я понимаю, камера таки через новый драйвер подключается... Только вот как теперь MJPG-streamer заставить с ней работать... Пробовал YUV ставить в false (в файле K33mjpgstreamer) - всё одно. Пишет

Error opening device /dev/video0: unable to query device.
Init v4L2 failed !! exit fatal
i: init_VideoIn failed

71

Re: драйвер для камеры кинетик

Вот здесь интересная информация про v4l2 и V4l и мою камеру: http://lindev.blogspot.ru/2009/02/micro … linux.html

Не знаю, что это такое, но уже второй раз натыкаюсь на то, что моя камера должна работать в "режиме" V4l. А сейчас, по ходу используется v4l2. Может быть в этом ошибка?

72

Re: драйвер для камеры кинетик

А без модуля v4l2-common работает?

73

Re: драйвер для камеры кинетик

xakep666 :

А без модуля v4l2-common работает?

Без модуля v4l2-common не загружается gspca.

Loading video drivers
insmod: cannot insert '/media/DISK_A1/system/lib/modules/2.6.23-rt/videodev.ko': unknown symbol in module (-1): No such file or directory
insmod: cannot insert '/media/DISK_A1/system/lib/modules/2.6.23-rt/gspca.ko': unknown symbol in module (-1): No such file or directory
MJPG Streamer Version.: 2.0
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 5
i: Format............: MJPEG
ERROR opening V4L interface: No such file or directory
Init v4L2 failed !! exit fatal
i: init_VideoIn failed

На сколько мне позволяют понять мои познания, надо чтобы модуль gspca был собран с настройкой работы через v4l. Хотя я точно не уверен.

74

Re: драйвер для камеры кинетик

Попробуйте DEV=/dev/v4l/video0

75

Re: драйвер для камеры кинетик

xakep666, вроде бы в openwrt принято собирать модули ведра с исходниками в виде KernelPackage - см. wiki и примеры в их репе (libs/zaptel и т.д.).
PS Это не значит, что Вы собрали неправильно.