Webcam do Sony Vaio com chipset RICOH R587x no Linux

Publicado por Vinicius Cordeiro em 12/11/2008

[ Hits: 9.587 ]

Blog: http://blog.viniciuscordeiro.com

 


Webcam do Sony Vaio com chipset RICOH R587x no Linux



Neste tutorial ensino o novo modo de instalação das webcams integradas dos notebooks Sony Vaio.

Artigo originalmente publicado em meu blog: Blog do Vinicius Cordeiro

Acabaram os nossos problemas de ficar procurando o módulo r5u870 para nossa webcam funcionar... Atualizei para o Linux Ubuntu Intrepid 8.10 e ainda não existia o módulo para o kernel 2.6.27.7, 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
$ ./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!

Outras dicas deste autor

Fazendo o cedilha funcionar no GTK e no QT (todos os softwares)

Escondendo o cursor do mouse

Renomeando seu pen drive no Linux

Leitura recomendada

Tecla Super (tecla Windows) para todos os logins no modo gráfico

Man pages em português

Tutorial de acesso ao MS SQL Server via Linux

Áudio e vídeo no OpenSUSE

Vídeo-aulas sobre GNU/Linux - Meu novo canal

  

Comentários
[1] Comentário enviado por marcelino.lnec em 12/11/2008 - 22:05h

Fantástico funciona impecável
Obrigado pelas dicas

[2] Comentário enviado por marcelino.lnec em 30/11/2008 - 13:06h

Só um problema....

Tenho de fazer isto toda a vez que ligo o computador...

Sugestões?

[3] Comentário enviado por viniciuscordeiro em 30/11/2008 - 13:19h

Olá Marcelino, entrei em contato com o desenvolvedor para ver como resolver esse problema, infelizmente toda vez que ligar o computador tem que fazer o procedimento... :/

Comenta lá no meu blog que sempre atualizarei 1o. lá o resultado da minha conversa com o desenvolvedor...

[4] Comentário enviado por marcusvcm em 18/01/2009 - 01:28h

Depois do $make apareceu isso:

root@marcus-laptop:/home/marcus/r5u87x# make
cc -g -Wall -DHAVE_CONFIG_H -DUCODE_PATH=\"/usr/lib/r5u87x/ucode/"r5u87x-%vid%-%pid%.fw"\" `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:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
loader.c:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘force_clear’
loader.c:40: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘no_load’
loader.c:42: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
loader.c:43: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘dump_ucode’
loader.c:44: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘reload’
loader.c:46: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘entries’
loader.c:71: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
loader.c:89: error: expected declaration specifiers or ‘...’ before ‘gint’
loader.c: In function ‘find_device’:
loader.c:91: error: ‘gint’ undeclared (first use in this function)
loader.c:91: error: (Each undeclared identifier is reported only once
loader.c:91: error: for each function it appears in.)
loader.c:91: error: expected ‘;’ before ‘i’
loader.c:95: warning: implicit declaration of function ‘usb_get_busses’
loader.c:95: warning: assignment makes pointer from integer without a cast
loader.c:96: error: dereferencing pointer to incomplete type
loader.c:99: error: dereferencing pointer to incomplete type
loader.c:99: error: dereferencing pointer to incomplete type
loader.c:101: error: ‘i’ undeclared (first use in this function)
loader.c:102: error: dereferencing pointer to incomplete type
loader.c:103: error: dereferencing pointer to incomplete type
loader.c:105: error: ‘version’ undeclared (first use in this function)
loader.c: At top level:
loader.c:120: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_upload’
loader.c:202: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_status’
loader.c:219: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_version’
loader.c:238: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_enable’
loader.c:255: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r5u87x_ucode_clear’
loader.c:276: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
loader.c:290: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘load_firmware’
loader.c:412: 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

Será que eu não tenho o módulo uvcvideo compilado?! Como eu faço para saber isso?
PS.: Me desculpa se a pergunta é idiota, mas é que eu sou iniciante no linux.

Obrigado pela dica,
Marcus

[5] Comentário enviado por marcusvcm em 18/01/2009 - 01:53h

Ah descobri o que era... tinha q instalar os pacotes glib-2.0 e libusb. Não eu erro no make. Porem deu erro no ./loader apareceu isso:

marcus@marcus-laptop:~/r5u87x$ ./loader
r5u87x firmware loader v0.2

Searching for device...
Found camera: 05ca:183b

Error: Failed to open /usr/lib/r5u87x/ucode/r5u87x-05ca-183b.fw. Does it exist?

e agora? Por favor me ajude...

[6] Comentário enviado por viniciuscordeiro em 18/01/2009 - 03:16h

Olá marcusvcm... eu não tive esse erro aqui e também não tenho esse diretório... mas os arquivos fw são os firmwares das cams... qual o modelo do seu vaio? Coloca o comentário lá no meu blog tb: http://blog.viniciuscordeiro.com

[7] Comentário enviado por marcusvcm em 19/01/2009 - 11:34h

o modelo do meu vaio é VGN-FZ340N

[8] Comentário enviado por viniciuscordeiro em 19/01/2009 - 13:54h

Ta la no blog marcus

[9] Comentário enviado por thur em 01/05/2009 - 15:07h

Fiz o seguinte script e coloquei na inicialização do debian para funcionar minha webcam sem fazer o mesmo comando toda vez.

# vim /etc/init.d/webcam.sh

#!/bin/bash
sudo apt-get -y install mercurial
sudo hg clone http://bitbucket.org/ahixon/r5u87x/
cd r5u87x
sudo make
sudo ./loader
sudo rmmod uvcvideo
sudo modprobe uvcvideo
cd ..
sudo rm -rf r5u87x

Agora é só dar a permissão para execução:
# chmod 755 /etc/init.d/webcam.sh

Quase pronto, agora é só colocar para inicializar junto com o sistema:
# update-rc.d webcam.sh defaults

Seja feliz! ;D

[10] Comentário enviado por thur em 10/09/2009 - 16:31h

Caso de o erro que deu no nosso amigo marcus, faça o seguinte:
sudo apt-get install libglib-2.0-dev
sudo apt-get install libusb-dev



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts