Webcam do Sony Vaio com chipset RICOH R587x no Linux

Publicado por Vinicius Cordeiro em 12/11/2008

[ Hits: 10.448 ]

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

Instalando Oracle 10g R2 Enterprise no Mandriva 2007

PUX - Linux Acadêmico Brasileiro

Encode LATIN1 no PostgreSQL

Configurando rota para endereço multicast

A arte dos nicknames

  

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 arthurmatiello 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 arthurmatiello 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts