Instalando webcam Ali M506x no Ubuntu Edgy

O chipset Ali M560x é muito encontrado em webcams, especialmente as embutidas em notebooks, algum tempo atrás não havia suporte para essa Webcam e mesmo muita gente reclamando com a Asus (quase todos os notebooks da Asus usam essa webcam) nunca houve um suporte eficiente para essa webcam no Linux. Isso mudou, e a partir de agora já existe um driver (módulo) eficiente para essa webcam e a promessa dessa webcam ser incorporada a versões posteriores do kernel do linux. Fiz uma instação recente dela num notebook de um amigo e resolví detalhar um passo-a-passo com os leitores. Vale lembrar que a promessa para embutir esse módulo era para o kernel 2.6.19, portanto se os planos não foram mudados haverá suporte nativo para essa webcam no Ubuntu Feisty. Eis o passo-a-passo :

1) Atualize sua biblioteca de hardwares PCI e USB :

sudo update-pciids
sudo update-usbids

Os passos acima não garantem nada e podem ser suprimidos, eles apenas atualizam uma biblioteca de informações para que os comandos ‘lscpi’ e ‘lsusb’ descrevam melhor os dispositivos encontrados.

2) Instale algumas dependencias :

sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev
sudo apt-get install subversion
sudo apt-get install linux-source

3) Descompacte os fontes do kernel :

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

4) Crie um diretorio para manter os fontes e compilar

cd ~
mkdir m560x-source
cd m560x-source

5) Baixe os fontes :

svn checkout https://m560x-driver.svn.sourceforge.net/svnroot/m560x-driver

Se voce precisar atualizar novamente, não é preciso baixar todos os fontes novamente, apenas vá até a pasta m560x-source e digite no prompt :

svn update

6) Para compilar :

cd m560x/trunk/km_m560x
make

Se o compilador reclamar com o erro :

…/m560x/trunk/km_m560x/m560x_core.c:35:29: error: media/v4l2-dev.h: Arquivo ou diretório inexistente
make[2]: ** […/m560x/trunk/km_m560x/m560x_core.o] Erro 1
make[1]: ** […/m560x/trunk/km_m560x] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.17-11-generic’
make: ** [all] Erro 2

É porque voce está usando uma versão de kernel inferior a versão desejada (2.6.18), mas calma aí, tem um jeito de enganar o programa, faça isso :

sudo ln -s /usr/src/linux-headers-2.6.17-10-386/include/media/v4l2-common.h /usr/src/linux-headers-2.6.17-10-386/include/media/v4l2-dev.h

Com isso, voce repete novamente :

make

E depois :

sudo make install

7) Feita a instalação, confirme que os módulos necessários estejam carregados :

sudo modprobe videodev
sudo modprobe v4l1-compat

Se perceber que os módulos acima não estão sendo carregados automaticamente no boot, então acrescente-os à lista /etc/modules, neste caso acrescente apenas os nomes videodev e v4l1-compat, um módulo por linha.

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

Há toneladas de programas diferentes, eu prefiro usar o camorama por ser mais simples.


		
Anúncios
  1. #1 por DudaNogueira em 6 \06\UTC março \06\UTC 2007 - 20:53

    Ae!

    Parabéns pelo artigo! Dúvidas como essas são mto boas de serem resolvidas e esclarecidas!
    Ponto pra “nois”!

    Abraços!

  2. #2 por João Ferreira em 26 \26\UTC março \26\UTC 2007 - 16:12

    Oi cara.

    Muito bom tutorial, depois de ter andado muito tempo á procura de uma forma de instalar a minha webcam!

    Corro o tutorial todo, sem erros, mas o camorama continua a dizer que nao encontra o /dev/video0

    Tens ideia do que possa ser ?

    Se for preciso logs ou algo para perceber melhor o que se passa, deixo o meu contacto.

    Desde já o meu obrigado e espero que me possas responder.

    João Ferreira

  3. #3 por freedreamer em 29 \29\UTC março \29\UTC 2007 - 14:56

    Hi, i’m italian an i have a laptop with a webcam ali m5062.
    I don’t understand .. I can read you language :) can you use the webcam in feisty?

    can you post a screenshot please?
    thanks a lot

    Freedreamer

  4. #4 por hamacker em 29 \29\UTC março \29\UTC 2007 - 16:43

    Hi, Italian guy.
    No, my notebook does not use Ali M506x.

    I have to configure one to my friend, and its run fine !
    I wrote step by step because documentation will be fine to me and others.

    I have a notebook Asus Ac6J and I use Syntek 1.3mp webcam, that can you see here:
    https://hamacker.wordpress.com/2007/03/14/webcam-syntek-semicon-dc-1125-driver-no-ubuntu-feisty/

  5. #5 por freedreamer em 29 \29\UTC março \29\UTC 2007 - 17:27

    so it really runs ?great!!
    but i don’t understand this step..

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

    can you explain me?

    Marco

  6. #6 por Khristian em 15 \15\UTC abril \15\UTC 2007 - 15:10

    opa
    eu tenho um notebook similar da acer (sem a webcam) e meu problema é instalar a placa de vídeo ATI Radeon XPress 1100 que vem junto… Só consigo aceleração 2d, de jeito nenhum consigo 3d. até pra assistir vídeos na velocidade máxima ele fica lento.
    Chegaste a instalar isso também?
    Abraço
    Khristian

  7. #7 por Murilo R. Assunção em 15 \15\UTC abril \15\UTC 2007 - 18:52

    Caro colega, tudo bem?
    Fiz tudo como manda o figurino, até fiz o make na mão pois o link simbólico não funcionava para o referido diretório.
    Mas após a instalação e módulo carregado infelizmente não funcionou.
    Tenho o Ubuntu 6.11 em um Acer Aspire 3100, a webcam é da Ali corp.
    Tem bem uns 3 meses que estou na tentativa de instalar esta webcam mas nada consegui.
    Se puder me dar uma luz mais forte ainda eu agradeço!

  8. #8 por arriero em 15 \15\UTC abril \15\UTC 2007 - 19:19

    Perdona por preguntar en español, pero mi portugues escrito es malisimo. :-)
    Solo preguntar si en la compilacion para um AMD64 no es necesario el paquete bin86, si te soy sincero no he probado nada, pero es lo mas cercano que he encontrado para la instalacion de una webcam con chipsets m560x de Ali.corp.Gracias espero tu respuesta.

  9. #9 por arriero em 26 \26\UTC abril \26\UTC 2007 - 19:23

    Bueno me respondo a mi mismo, pues por ahora no sirve pues me deja frito los puertos usb, con o sin bin86 asi q ajo y agua. :-(

  10. #10 por Rubens Oliveira em 8 \08\UTC maio \08\UTC 2007 - 18:29

    E ai Hamacker, blz?
    Fiz tudo certinho, não deu erro (só uns warnings na hora de compilar) mas não funcionou…to usando Ubuntu Feisty 7.04, kernel 2.6.20-15-generic. O Feisty não tem suporte nativo como parecia eu creio…alguma idéia? Obrigado.

  11. #11 por hamacker em 8 \08\UTC maio \08\UTC 2007 - 18:59

    Não incluiram esse driver no 2.6.20 usado no Feisty.
    Se essa webcam aparecer novamente na minha mão aí eu vou reescrever este artigo para o Feisty, até lá fica complicado eu poder ajudar sem ter a webcam em mãos. []’s e boa sorte na resolução do seu problema.

  12. #12 por kislley em 9 \09\UTC maio \09\UTC 2007 - 5:23

    Olá hamacker, parabéns pelo texto, está muito bem elaborado. A compilação aqui foi tranquila. Porém ao chamar o CAMORAMA a seguinte mensagem de erro aparece:

    “Could not connect to video device (/dev/video0). Please check connection.”

    O que pode estar ocorrendo, visto que a compilação foi bem sucedida.

    Um abraço!!!

  13. #13 por Luiz Oliveira em 10 \10\UTC maio \10\UTC 2007 - 17:25

    Pois eh, comigo aparece a mesma msg…

    Could not connect to video divice (/dev/video0)

  14. #14 por Rubens Oliveira em 11 \11\UTC maio \11\UTC 2007 - 2:29

    Hamacker, como disse acima, instalei o driver mas não funcionou. E agora parece que as minhas portas USB não funcionam mais tambem – inclusive impressora USB. O comando lsusb não retorna mais nada e trava. Parece que com o Arriero aconteceu isso tambem…como faço pra reverter as mudanças do passo-a-passo?

  15. #15 por JEAN CARLOS KENUP PIUMBINI em 11 \11\UTC maio \11\UTC 2007 - 19:52

    cd /usr/src/
    sudo tar jxvf linux-source-2.6.17.tar.bz2
    tar: linux-source-2.6.17.tar.bz2: Não é possível open: Arquivo ou diretório não encontrado
    tar: Erro não é recuperável: saindo agora
    tar: Child returned status 2
    tar: Saída por erro atrasada pelos erros anteriores
    Ai qual é esse problema?
    Tenho um acer 50503233 uso debian 4.

  16. #16 por Julio Novais em 19 \19\UTC junho \19\UTC 2007 - 14:47

    Poxa estou com o mesmo problema de uma galera ae, o camorama reclama de não ter achado o dev/video0, e eu dei uma conferida no /dev e não existe este dispositivo. Tentei com diversos outros, tipo camorama -d /dev/vcs, mas ele dá a mesma mensagem de erro.
    Alguém tem alguma idéia de qual dispositivo deve ser usado, ou se é necessário instalar mais alguma coisa.
    Só pra deixar claro, a instalação foi um sucesso completo e os módulos estão bonitinhos na memória.

  17. #17 por GeXKinG em 22 \22\UTC julho \22\UTC 2007 - 17:04

    I want to remove them, as I make?

  18. #18 por dmatrix em 23 \23\UTC novembro \23\UTC 2007 - 13:50

    O camorama não vai rolar com esse driver, o camorama suporta v4l e esse driver é v4l2, tente o ekiga ou amsn 0.9.7

  19. #19 por Jonatan em 9 \09\UTC janeiro \09\UTC 2008 - 18:56

    Fiz tudo conforme descrito acima e não ocorreu nenhum problema na instalação. Contudo, no camorama obtenho a mensagem do camorama que reclama de não ter achado o dev/video0. Dei um ls /dev e lá não aparece esse dispositivo. Tentei camorama -d /dev/vcs, vcs1, vcsa1 mas ele dá a mesma mensagem de erro.

    Também instalei ekiga, mas ele não achou o dispositivo.

    Alguém tem alguma idéia de onde está o problema e como resolvê-lo?

  20. #20 por Jonatan em 9 \09\UTC janeiro \09\UTC 2008 - 19:10

    depois de reiniciar o laptop, o dispositivo video0 apareceu em /dev. Mas, camorama ainda dá erro, ekiga e kopete não conseguem detectar o dispositivo.

    Estou usando kubuntu 7.10 em Asus A3N. Kernel 2.6.22-14-generic.

  21. #21 por Fly em 27 \27\UTC abril \27\UTC 2008 - 11:56

    Caro amigo…
    Sou brasileiro a viver em Portugal. Aqui, a comunidade Linux ainda é muito incipiente e de difícil acesso para se conseguir ajuda para configurações e reparações de sistema. Estou a usar o Ubuntu 8.04 Hardy Heron e estou muito satisfeito com ele, apesar de ser um usuário curioso, com pouco conhecimento técnico, tenho conseguido virar-me bem com o Linux.
    Ao instalar o Ubuntu, ele reconheceu quase tudo em meu computador portátil ASUS A6J, apenas um detalhe bastante importante par ao meu dia-a-dia de trabalho, que foi a webcam. Esta máquina vem com uma web cam integrada “Ali Corp. Video Camera Controller” (que no Windows é identificada por Bison Cam).
    Bom, eu não sei se é a mesma cam do tutorial que descreves acima, mas resolvi segui-lo para tentar pô-la em funcionamento. Correu tudo bem, com apenas algumas alterações que tive de fazer no comando a partir do passo 4, pois o arquivo que obtive chama-se “m560x-driver” e o que tu descreves é apenas “m560x”. Imaginei que isso foi alterado no repositório actual, fui alterando nos passos seguintes.
    Aconteceu um erro, já previsto por você, no item 6, quando fui compilar, o tal:

    …/m560x/trunk/km_m560x/m560x_core.c:35:29: error: media/v4l2-dev.h: Arquivo ou diretório inexistente
    make[2]: ** […/m560x/trunk/km_m560x/m560x_core.o] Erro 1
    make[1]: ** […/m560x/trunk/km_m560x] Erro 2
    make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.17-11-generic’
    make: ** [all] Erro 2

    Segui tua orientação de tentar “enganar o programa” com o

    sudo ln -s /usr/src/linux-headers-2.6.17-10-386/include/media/v4l2-common.h /usr/src/linux-headers-2.6.17-10-386/include/media/v4l2-dev.h

    mas, não resultou. Mesmo eu alterando para o headers-2.6.24.16, que foi o que eu obtive quando baixei os fontes.

    O que poderia fazer para concluir essa instalação? Existe outra forma de por essa cam a funcionar? Eu estou provado de usar o Linux por não conseguir usar a CAM, sou obrigado a usar o Windows pois viajo muito e preciso me comunicar com colegas de trabalho e a cam é-nos fundamental. Tentei usar outras CAM conectadas pela USB, mas, igualmente, não funcionaram, e já que tenhod e resolver, queria arranjar logo essa para evitar de ter de estar a carregar mais um equipamento com cabos e tal.

    Fico no aguardo de uma resposta a este amigo brasileiro a viver em Portugal.

  22. #22 por Luciano em 31 \31\UTC agosto \31\UTC 2008 - 13:01

    Olá fera,

    li e gostei do seu tutorial. No entanto, hoje dia 30 de agosto de 2008 prossegui com as dicas descartando a versão do kernel e instalação dos fontes pois já uso o Ubuntu 8.04 kernel 2.6.24.19-generic e fui direto pra instalar o module da webcam. No entanto o arquivo que menciona v4l2-dev.h já está no local e mesmo assim ocorreu o seguinte:
    root@bohr:/home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x# make
    make -C /lib/modules/2.6.24-19-generic/build SUBDIRS=/home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x modules
    make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.24-19-generic’
    CC [M] /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.o
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘show_model’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1615: aviso: initialization from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘show_in_use’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1616: aviso: initialization from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘show_streaming’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1617: aviso: initialization from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘show_palette’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1618: aviso: initialization from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘show_frames_total’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1619: aviso: initialization from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘show_frames_read’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1620: aviso: initialization from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘show_packets_dropped’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1621: aviso: initialization from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘show_decoding_errors’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1622: aviso: initialization from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘m560x_create_sysfs_files’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1626: aviso: passing argument 2 of ‘video_device_create_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1627: aviso: passing argument 2 of ‘video_device_create_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1628: aviso: passing argument 2 of ‘video_device_create_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1629: aviso: passing argument 2 of ‘video_device_create_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1630: aviso: passing argument 2 of ‘video_device_create_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1631: aviso: passing argument 2 of ‘video_device_create_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1632: aviso: passing argument 2 of ‘video_device_create_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1633: aviso: passing argument 2 of ‘video_device_create_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘m560x_remove_sysfs_files’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1638: aviso: passing argument 2 of ‘video_device_remove_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1639: aviso: passing argument 2 of ‘video_device_remove_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1640: aviso: passing argument 2 of ‘video_device_remove_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1641: aviso: passing argument 2 of ‘video_device_remove_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1642: aviso: passing argument 2 of ‘video_device_remove_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1643: aviso: passing argument 2 of ‘video_device_remove_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1644: aviso: passing argument 2 of ‘video_device_remove_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:1645: aviso: passing argument 2 of ‘video_device_remove_file’ from incompatible pointer type
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c: Na função ‘usb_m560x_probe’:
    /home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.c:2831: erro: ‘struct video_device’ has no member named ‘hardware’
    make[2]: ** [/home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x/m560x_core.o] Erro 1
    make[1]: ** [_module_/home/luciano/WORK/Downloads/drivers/m560x-source/m560x-driver/m560x/trunk/km_m560x] Erro 2
    make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.24-19-generic’
    make: ** [all] Erro 2

    O que fiz de errado? Como poderia resolver?

    Alguma dica … muito obrigado!!

    abraços,

    Luciano

  23. #23 por xoen em 10 \10\UTC setembro \10\UTC 2008 - 11:29

    Hola Hamacker, I’ve written something similar in italian here : http://xoen.wordpress.com/2008/09/10/webcam-ali-m560x-una-nuova-speranza/ , now I’ve found your post :).
    It doesn’t work yet but the steps should be these…sorry for the little spam.

    ITALIANI potete leggere questo post che ho scritto, magari può aiutarvi : http://xoen.wordpress.com/2008/09/10/webcam-ali-m560x-una-nuova-speranza/

  24. #24 por Tarço Murilo em 14 \14\UTC setembro \14\UTC 2008 - 18:23

    o meu tb naum funcionou… :\..
    se puder me ajuadar por e-mail

%d blogueiros gostam disto: