ALi Corp. M5602 Video Camera Controller - Skype de siyah ekran -Ubuntu 14.04 x64

Başlatan gnukarabatak, 31 Mayıs 2014 - 01:23:25

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

if

udevadm control --reload-rules
sudo udevadm trigger
ls -l /dev/vid*
çıktılarına bakayım.

gnukarabatak


gnukarabatak@ubuntuevim:~$ sudo udevadm control --reload-rules
[sudo] password for gnukarabatak:
gnukarabatak@ubuntuevim:~$ sudo udevadm trigger
gnukarabatak@ubuntuevim:~$ ls -l /dev/vid*
ls: /dev/vid*'e erişilemedi: Böyle bir dosya ya da dizin yok
gnukarabatak@ubuntuevim:~$
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

if

Yeniden başlatınca geleccek o /dev/video0'da sürücüyü yükledik udev kurallarını yükledik yine gelmedi.

sudo modprobe -v gspca_m5602 gspca_main videodev usbcore

gnukarabatak


gnukarabatak@ubuntuevim:~$ sudo v4l2-ctl --all /dev/video0
[sudo] password for gnukarabatak:
unknown arguments: /dev/video0
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

if


gnukarabatak

Bilgisayarı resetledim. Komutu şu şekilde tam device adıyla yazınca çalıştı. Diğer türlü sonuç getirmiyor.

gnukarabatak@ubuntuevim:~$ ls -l /dev/video0
crw-rw----+ 1 root video 81, 0 Haz  3 16:03 /dev/video0
gnukarabatak@ubuntuevim:~$
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

if

ls -l /dev/vid* yazınca yeniden başlatmadan sonra crw-rw----+ 1 root video 81, 0 Haz  3 16:03 /dev/video0 şeklinde bir çıktı üretmiyor mu yani?

Skype'ı kapattıktan sonra sudo modprobe -r gspca_m5602
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo modprobe gspca_m5602 gspca_main videodev
ardından vlc'yi açınca ne diyor bakalım.

gnukarabatak

Söylediğiniz gibi bilgisayarı açıp kapatınca

gnukarabatak@ubuntuevim:~$ ls -l /dev/vid*
crw-rw----+ 1 root video 81, 0 Haz  3 16:03 /dev/video0

bu şekilde çıktıyı üretti.

Daha sonra şu komutları uyguladığımda :


gnukarabatak@ubuntuevim:~$ sudo v4l2-ctl --set-ctrl auto_exposure=1
[sudo] password for gnukarabatak:
gnukarabatak@ubuntuevim:~$ $ sudo v4l2-ctl --set-ctrl blue_balance=122
$: komut bulunamadı
gnukarabatak@ubuntuevim:~$ sudo v4l2-ctl --set-ctrl blue_balance=122
gnukarabatak@ubuntuevim:~$ LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so skype


Skype açıldı. Seçenekler kısmından video aygıtının verdiği (/dev/video0) görüntüyü yani kendimi gördüm. Sonra Skype yi kapattım ve aşağıdaki komutları sırayla uyguladım


gnukarabatak@ubuntuevim:~$ sudo modprobe -r gspca_m5602
gnukarabatak@ubuntuevim:~$ sudo udevadm control --reload-rules
gnukarabatak@ubuntuevim:~$ sudo udevadm trigger
gnukarabatak@ubuntuevim:~$ sudo modprobe gspca_m5602 gspca_main videodev
gnukarabatak@ubuntuevim:~$ vlc

Ve vlc açıldı. Fakat aygıt listesinin açılır kutusunda listenen bir video aygıtı görünmedi. Aynı şeyi Peynir programı çalıştırdığımda gördüm."Aygıt bulunamadı".
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

if

Skype kullanımından sonra kamerayı kullanan diğer uygulamaların siyah görüntü vermesini engellemek için önce v4l2-ctl komutuyla uyguladığımız değişiklikleri geri almayı denedik, olmadı. Sürücüyü kaldırıp geri yükletmeyi denedik, olmadı. /dev/video'yu geri getiremiyoruz.

Benim bu işleri bire bir denemem gerek.

gnukarabatak

Yardımların çok sağol @if. Zaten skype kamerasını çalıştırmayı başardık. Bu kadar çalışma boşa gitmedi, ondan emin ol. Bu çözümde senin sayende oldu. Diğer türlü sıkıntının bu Cbox dizüstünün usb veriyollarındaki böcekle alâkalı olduğunu düşünmekteyim. Çünkü ikide bir gömülü usb-ethernet kendi kendine kayboluyor, wifi bağlıyorum bazen o da gidiyor. Kısacası bu seri cbox lar çok dandik maalesef. Benim aklıma kodla usb aygıtını resetlemek geliyor. Bunun içinde şu kodu denemeyi düşünüyorum, derleyebilirsem :)



// kaynak : http://www.clearchain.com/blog/posts/resetting-the-usb-bus-under-linux
//derlenmesi :  To compile use: gcc -o resetaygit resetusb.c -lusb

#include <stdio.h>
#include <usb.h>

int main(void)
{
      struct usb_bus *busses;
      usb_init();
      usb_find_busses();
      usb_find_devices();
      busses = usb_get_busses();
      struct usb_bus *bus;
      int c, i, a;
      /* ... */
      for (bus = busses; bus; bus = bus->next) {
        struct usb_device *dev;
        int val;
        usb_dev_handle *junk;
        for (dev = bus->devices; dev; dev = dev->next) {
          char buf[1024];
          junk = usb_open ( dev );
          usb_get_string_simple(junk,2,buf,1023);
          if ( junk == NULL ){
            printf("Can't open %p (%s)\n", dev, buf );
          } else {
            val = usb_reset(junk);
            printf( "reset %p %d (%s)\n", dev, val, buf );
          }
          usb_close(junk);
        }
      }
}


Birde şu adresde ubuntu yu reboot etmeden usb aygıt resetlenmesini anlatmış.

http://davidjb.com/blog/2012/06/restartreset-usb-in-ubuntu-12-04-without-rebooting/



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 03 Haziran 2014 - 19:02:21

@if bu kadar uğraştın istersen Teamviewer ile kontrolü sana bırakayım. Tabi  istersen..? Mesaj atman yeterli..
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

if

Hmm, geçtiğin bağlantıdaki yöntem işe yarayabilir. Aklımda olsun.

if

Benim kameranın kullandığı sürücüleri kaldırıp tekrar yüklediğimde /dev/video0 kendi kendine oluşuyor.
sudo v4l2-ctl --set-ctrl exposure_auto_priority=1
komutu gibi ayarları değiştirdiğimde Skype'dan çıktıktan sonra diğer aygıtlardaki görüntüde de bir sorun yok. VLC'de normal şekilde başlıyor. Yani, hatayı tekrarlayamadım @gnukarabatak.

gnukarabatak

Dediğin komutu uygulayıp bir deneme yapmak istedim. Sonuç şu şekilde

gnukarabatak@ubuntuevim:~$ sudo v4l2-ctl --set-ctrl exposure_auto_priority=1
[sudo] password for gnukarabatak:
unknown control 'exposure_auto_priority'
gnukarabatak@ubuntuevim:~$
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

if

O komut sende çalışmaz @gnukarabatak. O benim kamerama özel bir ayar. Sende yok o ayar. Sendeki karşılığı auto_exposure=1. Örnek olsun diye yazdım zaten komut. Demek istediğim /dev/video0 kayboluyor ya sizin bilgisayarda, ben de kaybolmuyor. Bu durumda /dev/video0'ı geri getirmek için sunacağım çözüm önerisi şu an yok. En uygun çözüm Skype kullandıktan sonra bilgisayarı yeniden başlatmak, eğer VLC gibi /dev/vide0'ı kullanan başka bir uygulama kullanacaksanız.

gnukarabatak

Eyvallah hocam, O kadar zamanını bizim için harcadın. Her şey için teşekkürler.
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.