Busca:

14/03/2007

Hamacker

Webcam Syntek Semicon DC-1125 Driver no Ubuntu Feisty

(Atenção : quando você ver - -, serão dois traços juntos e não separados como está aparecendo)

Os modelos de notebook Asus mais recentes da série a6j incluem uma webcam de 1.3 mega pixel, mas não tem muita serventia para usuários do sistema do pinguim, visto que não há drivers para eles. No entanto, essa situação começou a mudar.

Na página http://syntekdriver.sourceforge.net começou o desenvolvimento para tal dispositivo. O driver serve tanto para a webcam embutida nos notebooks da Asus como também alguns modelos de câmera digital de mão do mesmo fabricante que podem ser plugados na USB e também funcionam como uma webcam.

Vou novamente detalhar um passo-a-passo de como compila-lo em seu Ubuntu Feisty :

1) Atualize sua biblioteca de hardwares PCI e USB :

sudo update-pciids
sudo update-usbids

Os passos acima apenas atualizam uma biblioteca de informações para que os comandos ‘lscpi’ e ‘lsusb’ descrevam melhor os dispositivos encontrados.

2) Voce tem realmente uma webcam syntek ?

Para saber a resposta rode o comando ‘lsusb’ :

$ lsusb
Bus 005 Device 003: ID 174f:a311
Bus 005 Device 001: ID 0000:0000
Bus 001 Device 004: ID 045e:007d Microsoft Corp. Notebook Optical Mouse
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000

Se aparecer na sua listagem o ID 174f:a311 então a resposta é ‘Sim’, se não aparecer na listagem então desencana que sua webcam não é uma sintek do modelo que esse passo-a-passo irá atender.

3) Instale algumas dependências :

sudo apt-get install build-essential bin86 kernel-package \
libqt3-headers libqt3-mt-dev \
libncurses5-dev libusb-dev libsane-dev \
libsane-extras-dev subversion linux-source \
exuberant-ctags camorama

4) Descompacte os fontes do kernel :

cd /usr/src/
sudo tar tar jxvf linux-source-2.6.20.tar.bz2
sudo ln -s /usr/src/linux-source-2.6.20 /usr/src/linux

5) Remova o ‘dash’

sudo apt-get remove - -purge dash

Isso é necessário porque alguns make files de compilação usam o /bin/sh que por padrão no Feisty é o ‘dash’, quando deveria ser o ‘bash’. Apenas remover o ‘dash’ do seu sistema vai tornar o bash como padrão. Se você não quer remove-lo então use o comando ’sudo update-alternatives’ para fazer o /bin/sh apontar para /bin/bash. No momento que estou escrevendo este artigo foi impossivel usar update-alternatives para trocar o sh, provavelmente arestas a serem consertados neste release preliminar do Feisty.

6) Compile o kernel, mas não se assuste, você não terá de trocar de kernel, você vai apenas compila-lo para satisfazer algumas dependências de compilação do módulo ’syntek’ :

cd /usr/src/linux
sudo make oldconfig
sudo make prepare
sudo make-kpkg clean
sudo fakeroot make-kpkg - -initrd - -append-to-version=-custom kernel_image kernel_headers

(prepare-se porque a compilação é bastante demorada)

7) Crie um diretorio para manter os fontes e compilar

cd ~
svn co https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver syntekdriver

cd syntekdriver/trunk/driver/
make driver (ignore os Warnings)

Infelizmente, enquanto escrevo este artigo o ‘make install’ ainda não funciona (syntek revisão número 32), mas visto que esta página ficará estatica então talvez quuando voce for experimenta-lo o ‘make install’ talvez já funcione, por isso, faça sempre o teste do ‘make install’ e se não funcionar o ’sudo insmod’ detalhado abaixo fará o resto do trabalho.

Para testar o seu funcionamento, siga o procedimento (use essa mesma ordem) :

sudo modprobe videodev
sudo modprobe v4l1-compat
sudo insmod ./stk11xx.ko

Se alguma mensagem de erro ocorrer é porque a compilação falhou em gerar o modulo ’stk11xx.ko’, caso contrario dê um ALT+F2 e digite “camorama” e veja se a câmera esta funcionando de acordo.

O driver/modulo ’stk11xx.ko’ precisará ser carregado diretamente do seu local de origem, isto porque o script ‘make install’ como eu havia dito simplesmente não funciona, se funcionasse copiaria tal modulo para a pasta /lib/modules/<versao-do-seu-kernel>/kernel/drivers/media/video e criaria os aliases necessários para autoreconhecimento. Como não quero complicar este artigo então vou carrega-lo através dos scripts de boot do próprio Ubuntu.

8) Dê um ALT+F2 e execute ‘gksu gedit /etc/modules’ e acrescente as linhas :

# modulos para infraestrutura de suporte a video
videodev
v4l1-compat

9) Dê um ALT+F2 e execute ‘gksu gedit /etc/rc.local’ e acrescente a seguinte linha :

insmod /home/<seulogin>/syntekdriver/trunk/driver/stk11xx.ko

(essa linha deverá ser acrescentada antes da ultima linha onde diz ‘exit 0;’)

Toda vez que modificar a versão do seu kernel - e no feisty beta haverá muitas - voce terá que recompilar o módulo novamente a partir do passo 6.

10) Faça um teste com algum programa de sua prefência.

Há toneladas de programas diferentes, eu prefiro usar o camorama (já instalado inicialmente) por ser mais simples. A maioria dos programas de video funcionaram comigo, a única excessão ficou por conta do Ekiga, onde as imagens ficaram completamente borradas. Meu teste :

Minha quase foto usando a webcam Syntek embutida no notebook Asus ACJ6.

Observações Finais :

  • O driver/modulo já torna utilizável a webcam 1.3mpixel que veio com o meu notebook Asus A6CJ(série A6000), apesar deste driver/módulo não ser nem beta, eu não tenho do que reclamar, pois antes essa webcam era um peso morto e agora consigo ver a sí mesmo. Lindo não ?
  • Meus agradecimentos ao Jonh Wendell <wendell [no-endereco] ubuntu.com> que me ajudou a lidar com os problemas de dependência de kernel.

[Comentar este artigo] - [Mais artigos deste autor]

Por hamacker em 14/03/2007 - 14:46     (Permalink)

   

Developed by Mário Meyer ©, 2005