Nov 6

Webcams dos Sony Vaio com chipset RICOH R587x no Linux

Tags: ,, , ,

Acabaram os nossos problemas de ficar procurando o módulo r5u870 para nossa webcam funcionar… Atualizei para o Ubuntu Intrepid 8.10 e não existia o módulo ainda para o kernel 2.6.27.7 e minha câmera tinha parado de funcionar… Tentei copiar o módulo do kernel antigo numa tentativa desesperada, mas não funcionou… então achei a página abaixo:

[r5u870-list] [RFT] r5u87x userspace

O Alex Hixon criou um software para carregar a firmware diretamente na webcam, o que não faz mais necessário termos os módulos carregados no kernel… o processo é estupidamente simples, e aqui funcionou perfeitamente… Siga os passos (você vai precisar do módulo uvcvideo compilado, aqui já tinha):

sudo aptitude install mercurial
hg clone http://bitbucket.org/ahixon/r5u87x/
cd r5u87x
make
sudo ./loader
sudo rmmod uvcvideo
sudo modprobe uvcvideo

E pronto, pode olhar o software que você usa pra abrir a webcam que ela estará funcionando. EXCELENTE!

EDITADO: Estou procurando uma forma de como executar este loader toda vez que reiniciar o computador, pois quando reiniciei meu computador a câmera não estava mais funcionando…

Se te ajudei em alguma coisa, e você quiser retribuir, pague-me uma cerveja... ;)



Share and Enjoy:
  • E-mail this story to a friend!
  • Print this article!
  • del.icio.us
  • Digg
  • Google
  • TwitThis
  • Facebook
  • Live
  • StumbleUpon
  • Technorati

4 Comments so far

  1. Jeveaux November 16th, 2008 5:33 pm

    Também instalei este driver mas comigo a imagem fica aparecendo duplicada. A mesma imagem duas vezes na tela, divida ao meio =(. Já abri uma issue pro Hixon faz um tempão, mas nada ainda. Já o problema do restart comigo não acontece.

  2. Vinicius Cordeiro November 17th, 2008 12:07 am

    @Jeveaux: que pena… aqui não deu esse problema… pra resolver isso só o Hixon mesmo… meus conhecimentos ainda não são tão grandes pra mexer no código dele e tentar ver o seu problema… mas se achar solução comenta aqui pra eu lançar um novo post, ok?

    Abraços

  3. Romulo November 21st, 2008 1:58 am

    Comigo nao deu certo e olha soh o que resultou…

    /r5u87x# make
    cc -g -Wall `pkg-config –cflags glib-2.0 libusb` -c loader.c loader.h
    Package glib-2.0 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `glib-2.0.pc’
    to the PKG_CONFIG_PATH environment variable
    No package ‘glib-2.0′ found
    Package libusb was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libusb.pc’
    to the PKG_CONFIG_PATH environment variable
    No package ‘libusb’ found
    loader.c:28:18: error: glib.h: Arquivo ou diretório inexistente
    loader.c:29:25: error: glib/gstdio.h: Arquivo ou diretório inexistente
    loader.c:30:17: error: usb.h: Arquivo ou diretório inexistente
    In file included from loader.c:32:
    loader.h:42: error: expected declaration specifiers or ‘…’ before ‘gint’
    loader.c:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    loader.c:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘force_clear’
    loader.c:36: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘no_load’
    loader.c:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    loader.c:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘dump_ucode’
    loader.c:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘entries’
    loader.c:60: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    loader.c:78: error: expected declaration specifiers or ‘…’ before ‘gint’
    loader.c: In function ‘find_device’:
    loader.c:80: error: ‘gint’ undeclared (first use in this function)
    loader.c:80: error: (Each undeclared identifier is reported only once
    loader.c:80: error: for each function it appears in.)
    loader.c:80: error: expected ‘;’ before ‘i’
    loader.c:84: warning: implicit declaration of function ‘usb_get_busses’
    loader.c:84: warning: assignment makes pointer from integer without a cast
    loader.c:85: error: dereferencing pointer to incomplete type
    loader.c:88: error: dereferencing pointer to incomplete type
    loader.c:88: error: dereferencing pointer to incomplete type
    loader.c:90: error: ‘i’ undeclared (first use in this function)
    loader.c:91: error: dereferencing pointer to incomplete type
    loader.c:92: error: dereferencing pointer to incomplete type
    loader.c:94: error: ‘version’ undeclared (first use in this function)
    loader.c: At top level:
    loader.c:109: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_upload’
    loader.c:191: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_status’
    loader.c:208: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_version’
    loader.c:227: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_enable’
    loader.c:244: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_clear’
    loader.c:266: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘load_firmware’
    loader.c:385: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘main’
    loader.h:21:18: error: glib.h: Arquivo ou diretório inexistente
    loader.h:42: error: expected declaration specifiers or ‘…’ before ‘gint’
    make: ** [loader.o] Erro 1

    :~/r5u87x# ./loader
    bash: ./loader: Arquivo ou diretório inexistente

  4. Vinicius Cordeiro November 21st, 2008 5:40 pm

    @Romulo: ola romulo, o problema é que você não tem o pacote glib-2.0:

    No package ‘glib-2.0′ found

    Tenta o seguinte:

    sudo aptitude install libgtk2.0-0 libglib2.0-0 libglib2.0-dev libgtk2.0-dev

    Acho que deve funcionar… Qualquer coisa volta a comentar aqui que tento te ajudar novamente…

    Abraços

Leave a comment