Câmera comprada em 2001 ou 2002 e uma saga, conseguir fazer com que minha webcam funcionasse no Linux. Neste tempo também tive a necessidade de fazer funcionar um winmodem US Robotics(já aposentado). Muito tempo correndo atrás de drivers e tutoriais para que a saga terminasse bem. Fiquei um ano tentando até desistir pela primeira vez. Alguns meses depois de desistir, comprei o livro “Linux Kernel Driver” e comecei a estudar uma maneira de começar a escrever meus primeiros drivers. Sem ter a quem recorrer para sanar minhas dúvidas, acabei desistindo novamente.
Alguns anos depois, resolvi tentar novamente e entrei em contato com a Clone para ter maiores informações sobre a câmera, já que eu queria começar novamente a escrever um driver. A resposta da Clone foi desanimadora. Eles disseram que não suportavam a webcam no linux e não pretendiam suportar, ainda me ofereceram outra câmera. Como não me falaram nada que pudesse ajudar no desenvolvimento do driver, voltei a entrar em contato e tive mais uma desanimadora resposta. Agora eles me disseram que apenas montam a webcam e não podiam me passar informações sobre o fabricante.
O passo seguinte foi tentar desmontar a webcam para descobrir qual era o chip que ela utilizava. Outra surpresa, os parafusos estavam sem rosca e não tinha como tirar a placa para ver o chip. Fiz algo que causa risada de muitos, furei a traseira da webcam, com uma chave philips quente, para poder ler o modelo do chip e enfim descobri que o chip usado é o “SPCA508A”. Esta informação foi a mais importante para começar a caminhar na direção certa.
Pesquisando pela internet consegui descobrir que o driver “gspca” suportava o chip “SPCA508″ e então tentei baixar o driver para ver se minha webcam funcionava. Nada de surpresa, a webcam não deu sinal de vida. Novamente desisti por mais um tempo.
Enfim conheci o grupo Tchelinux e o Douglas. Este cara me incentivou a mexer no driver gspca para fazer com que a webcam funcionasse. Com o incentivo do Douglas fui tentando por alguns meses até que em um evento eu disse pra ele que estava desistindo novamente e que iria doar a webcam para ele. O Douglas me disse para ficar com a webcam porque estavam negociando a entrada do driver gspca na árvore do kernel e então o Douglas poderia me ajudar muito mais.
Passaram alguns dias e o driver entrou na árvore e o Douglas fez algumas alterações baseadas em informações que eu passava para ele. Na primeira madrugada tentando já conseguimos fazer o led da webcam ligar. Na segunda madrugada o Douglas mostrou todo seu talento e achou as modificações necessárias para que a webcam funcionasse. Ficamos os dois em estado de graça com a façanha.
Ainda tem coisa para fazer no driver para melhorar a captura que está com média de 5 quadros por segundo mas pode chegar a 15.
Como não poderia ser diferente, entrei em contato com a clone para notificá-los que a webcam estava começando a ter o suporte da comunidade Linux. A resposta foi a mesma que recebi quando comecei minhas tentativas. Veja abaixo o texto do email que recebi:
“Prezado Ivan,
Conforme solicitado, informamos que a Web Cam Clone cód.:11043 é compatível com Windows 98SE / ME / 2000 / XP, não sendo compatível com Linux, onde infelizmente não existe previsão para a disponibilidade de drivers.”
Ok, eles não leram meu primeiro email e então respondi este email tentando deixar mais claro o meu texto. A resposta foi a seguinte:
“Prezado Ivan,
Conforme solicitado, informamos que os drivers não são desenvolvidos no Brasil, sendo que seguimos as especificações do produto onde, para um processo de homologação para compatibilidade com um determinado sistema operacional são necessários vários testes durante um período considerável, onde também não seria viável disponibilizarmos os drivers somente de um modelo de web cam para Linux.
Acreditamos que em breve essa possibilidade será revista, porém, sem previsão para o desenvolvimento de drivers compatíveis com Linux.
Desculpe-nos pelo transtorno e colocamo-nos à disposição para maiores esclarecimentos.”
Voltei a responder o email e dessa vez perdi a linha e expliquei para eles como fazer o download do driver, como compilar e como subir os módulos. Posso ter feito errado mas tratei eles como crianças ignorantes que não sabem ler emails e muito menos compilar um programa. Me indignei e fiz questão de relatar isto neste artigo.
Agora que a história foi toda contada vamos ao que interessa, como botar tudo para funcionar.
Primeiramente instale o mercurial em seu computador com o seguinte comando:
$ sudo apt-get install mercurial
digite o seguinte comando:
$ hg clone http://linuxtv.org/hg/v4l-dvb
Depois de baixar todos os arquivos, entre no diretório criado e digite os seguintes comando:
$ sudo rmmod videodev
$ sudo rmmod gspca_spca508
$ make
$ sudo make install
$ sudo modprobe videodev
$ sudo modprobe gspca_spca508
Agora é só plugar a webcam e usufruir de mais um dispositivo SUPORTADO PELO LINUX já que a grandessíssima Clone não é capaz de fazer o seu trabalho. Na versão 2.6.27 estes passos não serão mais necessários, será necessário apenas plugar a webcam e sair usando.
É importante lembrar que são necessárias aplicações com suporte a v4l2 para que as imagens sejam capturadas corretamente. Eu testei com o aMsn, motion e cheese e estes mostraram as imagens normalmente. O programa camorama não utiliza v4l2 e não é uma boa aplicação para testar webcams.
Para finalizar só tenho que agradecer mais uma vez ao Douglas por ter se envolvido e resolvido este meu problema. Como já dito Douglas, eu sou seu fã.