The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
LIBUSB и /dev/video, !*! pavlinux, 19-Ноя-11, 06:16  [смотреть все]
Дело такое, есть веб-камера, работает как uvcvideo.
Естественно под венду у её софта больше фенек, всякие там скриншоты по кнопке и т.д.
Так вот, от ревиверсинженерил я её малость, поймал нужные байты. Соорудил утиль на libusb.
Естественно функция работает только тогда когда камера включена, но после обращения через
эту утиль отваливается интерфейс.

Камере пофигу, она работает с /dev/video0, утиль же работает через /dev/bus/usb/001/004

---

#define DATA  "\x00\x00\x12\xb5\x11\x00\x00\0x00"

memcpy(buf, DATA, 8);
  
usb_control_msg(devh, USB_TYPE_CLASS + USB_RECIP_INTERFACE, 1, 0x600, 0x400, buf, 8, 1000);
/* В венде этот пакет летит три раза :) */

По отладке в венде видно, что видео и команды идут на разные EP.

---
Как в libusb правильно отправить этот пакет?
libusb вообще умеет работать с уже занятыми устройствами?!

---
Иль, блин опять в ведро лезть?! %)

  • LIBUSB и /dev/video, !*! pavlinux, 10:22 , 20-Ноя-11 (1)
    > Как в libusb правильно отправить этот пакет?
    > libusb вообще умеет работать с уже занятыми устройствами?!
    > Иль, блин опять в ведро лезть?! %)

    В общем так, libusb - говно, и годиться разве только для включения светомузыки на утюге.
    ушёл в ядро.... :)

    ---

    За то у неё есть две интересные функции, deatach_kernel и reset_device,
    собственно первая - отключение текущего драйвера от устройства, ну а вторая понятно.
    Утилитку с этими функциями можно запихать в крон на ежеминутный запуск,
    и наблюдать как сисадмин мучается :)





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру