Pular para o conteúdo

Webcam do Sony Vaio com chipset RICOH R587x no Linux

Dica publicada em Linux / Introdução
Vinicius Cordeiro viniciuscordeiro
Hits: 11.160 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Renomeando seu pen drive no Linux

Escondendo o cursor do mouse

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

Instalação do Jboss no Fedora 8 Linux

Sites de manuais, livros, fóruns, programas e pacotes para Slackware

Entrando no mundo Open Source

Lançado Fedora 7 (Moonshine)

Instalando o Backintime no Debian Lenny

#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 é [*****], 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

Entre na sua conta para comentar.