Câmera Microdia no Ubuntu 8.04

Eu já havia postando anteriormente como fazer funcionar câmeras Microdia usando um driver proprietário e cheio de restrições. Boas novas. Agora desenvolvedores se uniram para construir um driver livre para essa série de câmeras e o driver livre já está bem melhor que o proprietário!

Câmera integrada

Antes de mais nada, nesse post eu estou usando o Ubuntu 8.04, seguindo de perto os passos do blog de Indra Gunawan, um notebook Amazon PC FL 31, a minha câmera é essa da foto acima e ela é lista em um lsusb como:

Bus 005 Device 002: ID 0c45:624f Microdia

Os números 0c45: já indicam que essa é uma câmera Microdia. No momento em que eu escrevo, o driver livre suporta as câmeras Microdias 6242, 624e, 624f, 6270, 627b, 62bb, 145f:013d e 045e:00f4. Para uma lista mais atualizada dê uma olhada no site oficial do driver livre.

Então o primeiro passo é você abrir um terminal e dar um lsusb e observar a saída. Outra coisa importante para você saber é a versão do seu Kernel. Dê um uname -a no terminal e observe a saída. Essa é a minha:

2.6.24-16-generic

Se essa não é sua versão do Kernel, não há alarde, é possível que também funcione com você, mesmo se com outra versão do Kernel ou mesmo outro sabor de Linux.

Vamos precisar de alguns pacotes adicionais, use o seu gerenciador de pacotes (no meu caso o APT) para instalar alguns pacotes que vamos precisar. A partir daqui você precisará estar logado como root.

apt-get install git-core gitk git-gui git-doc curl ctags build-essential

Se você também quiser compilar a documentação do driver, adicione o doxygen à lista. Agora baixamos a última versão do driver usando o git. De preferencia execute esse comando no seu diretório home, pois ele vai criar um diretório microdia que você pode querer preservar.

git clone http://repo.or.cz/r/microdia.git

Se você não recebeu nenhuam mensagem de erro e todo o código-fonte foi baixado, entre no diretório microdia e simplesmente digite:

make

Se tudo deu certo o código-fonte será compilado e você encontrará entre outras coisas um arquivo microdia.ko. Se você teve algum erro, provavelmente foi por algum pacote que você não tinha, baixe esse pacote tente compilar novamente.

Vamos carregar o módulo, como root:

modprobe videodev
insmod microdia.ko

Depois disso, dê um dmesg |grep Microdia -i.

[   39.799824] microdia: Microdia USB2.0 webcam driver startup
[   39.799873] microdia: Microdia USB2.0 Webcam – Product ID 624F.
[   39.799876] microdia: Release: 0100
[   39.799878] microdia: Number of interfaces : 1
[   39.801100] microdia: Microdia USB2.0 Camera is now controlling video device /dev/video0
[   39.801133] usbcore: registered new interface driver usb_microdia_driver
[   39.801138] microdia: v0.0.0 : Microdia USB Video Camera

Se você teve uma saída assim, então as coisas vão indo bem. Você já pode testar sua câmera. Você pode usar um software específico para isso como o Camorama ou usar o próprio Mplayer:

mplayer tv:// -tv driver=v4l:width=640:height=480:device=/dev/video0 -vo x11

Eu sugiro testar primeiro o Camorama porque esses parâmetros do Mplayer funcionam comigo e eu não posso garantir que vão funcionar também com a sua câmera. Principalmente, por conta da resolução que eu usei.

Mas não vá embora agora, quando você reiniciar o computador tudo isso vai pelo espaço. Vamos fazer para que esse módulo seja carregado sempre que você ligar o computador. Vamos cópiar o arquivo .ko para o diretório de módulos do kernel.

cp microdia.ko /lib/modules/`uname -r`/kernel/drivers/media/video/usbvideo/

Se você executou a algusn passos atrás o insmod, então limpe o driver da memória com um rmmod microdia. Agora rode depmod -a para gerar um novo modules.dep e mapear os arquivos no diretório de módulos.

Para terminar, adicione o módulo ao kernel com um

modprobe microdia

Agora o módulo vai ser carregado sempre que você iniciar o computador.

Agora alguns outros e brincadeiras úteis para você fazer com sua webcam. :-D

Espelho: muito útil no dia-a-dia, vale a pena criar um atalho na barra de tarefas ou no seu Desktop. Para usar o Mplayer como um espelho:

mplayer tv:// -tv driver=v4l:device=/dev/video0:width=640:height=480:noaudio -x 800 -y 600 -vf-add pp=hb:a/vb:a,hqdn3d,mirror

Effectv: O effectv é o melhor brinquedo para quem tem uma webcam. E agora ele já está disponível nos repositórios do Ubuntu:

apt-get install effectv

Para usa-lo, aqui eu chamo assim:

effectv -device /dev/video0 -size 640×480

Use as teclas para baixo ou para cima para mudar os efeitos. A tecla espaço reseta o efeito. As teclas numéricas acionam variações. Tab inverte horizontalmente, como em um espelho. Aqui alguns efeitos legais.

Edgeblurtv

HolographicTv

OpTv

SimuraTv

MatrixTv

54 thoughts on “Câmera Microdia no Ubuntu 8.04”

  1. Olá, Silveira!

    Muito legal saber isso! Eu atualizei pro 8.04 e formatando, e ainda não fui atrás de instalar a câmera.

    Eu entrei no grupo logo quando ele foi criado, mas as discussões eram muito técnicas para mim e eu deixei de acompanhar as mensagens. Agora vou instalar esse módulo livre. \o/

  2. E ai Silveira.. beleza? Bom, primeiramente, acho um ABSURDO o estande da UFC ter ficado vazio na Infobrasil. Mas, como não é o assunto desse tópico, deixa pra lá :P

    Sim cara, o programa mais legal pra webcam no Ubuntu que eu achei, pra ficar brincando, é o Cheese (apt-get install cheese).

    Ele tem todos vários desses efeitos que você postou acima, mas com uma inteface gráfica super amigável. Show de bola, vale a pena usar. Ah, da pra gravar vídeos com ele também

    Como estão as coisas por ai?
    Um abraço cara.

  3. Mais um programinha legal é o xine. Executa um:
    $ xine -R v4l://
    Que ele coloca a imagem da webcam como plano de fundo da área de trabalho. Ideal para os mais narcisistas ;-)

  4. Caro Silveira, seu tutorial é ótimo, minha cam ta funcionando novamente.

    QUERIA TE PERGUNTAR COMO FAZER PARA ALTERAR AS CONFIGURAÇÕES DE COR, SATURAÇÃO, ETC. POIS ESSAS CONFIGURAÇÕES FICAM “TRAVADAS” NO MEU AMSN. E AS CORES SÃO EXTRANHAS… MINHA MÁQUINA TB É UMA FL31 DA AMAZON PC.

    Abraços.
    Diego.

  5. so complementando a pergunta acima.

    testei com o comando: mplayer tv:// -tv driver=v4l:device=/dev/video0:width=640:height=480:noaudio -x 800 -y 600 -vf-add pp=hb:a/vb:a,hqdn3d,mirror

    e funcionam as cores muito bem, mas no amsn não funcionan, e nao da para trocar pois os comandos estão travados, como posso solucionar isso?

  6. @Diego, no mplayer eu mudo essas configurações usando o teclado numérico (1,2,3..0). Cada um corresponde ao acréscimo ou decrescemo de alguma propriedade.
    Já no effectv é a mesma coisa mas você usa o F1, F2, … F12.
    Comigo, as configurações são sempre as configurações que eu deixei da última vez que eu usei o programa, mas deve dar pra congelar elas usando os arquivos de configuração do mplayer e do effectv.

  7. CAro Silveira

    Fiz tudo como está no tutorial, e estava indo tudo bem, mas qdo dei o comando make, eis o resultado:

    sudo make
    make -C /lib/modules/2.6.24-16-generic/build SUBDIRS= modules
    make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.24-16-generic’
    CHK include/linux/version.h
    CHK include/linux/utsrelease.h
    UPD include/linux/utsrelease.h
    HOSTCC scripts/basic/fixdep
    HOSTCC scripts/basic/docproc
    make[2]: *** Sem regra para processar o alvo `arch/x86/kernel/asm-offsets.c’, necessário por `arch/x86/kernel/asm-offsets.s’. Pare.
    make[1]: ** [prepare0] Erro 2
    make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.24-16-generic’
    make: ** [driver] Erro 2

    Por favor vc pode me ajudar me dizendo onde errei?

    Obrigado pela atenção

    Um abraço

  8. Ola! Amigo! Bom tutorial. Gostaria de uma informação quanto a minha webcam, já tento a muito tempo configura-la no Linux sem sucesso, consegue me ajudar?
    Fiz os seus passos mas este drive não funcionou com minha webcam, um lsusb retorna:
    Bus 002 Device 002: ID 0c45:6100 Microdia

    Se puder me ajudar ficarei muito grato!
    Obrigado!

  9. Mais uma vêz a câmera do meu Amazon AMZ31 voltou a funcionar graças a suas dicas. Valeu mesmo.
    Quanto ao Cheese aquí também não funciona não, mas no Skype agora eu posso usar as chamadas com vídeo.
    Agora Silveira en off depois que eu instalei o hardy o LED do meu Wi-fi parou de funcionar, porém a rede continua conectando, o seu ficou assim também?

  10. Ola Siveira.
    Segui o tutorial sem receber msg de erro.
    o meu ambiente é:
    camera BraView 760MP chip SN9C105+K82
    2.6.24-19-generic #1 SMP Wed Jun 4 16:35:01 UTC 2008 i686 GNU/Linux
    (instalado imediatamente antes do tutorial)
    Bus 002 Device 002: ID 0c45:60c0 Microdia
    camorama nao consegue capturar imagem e termina abruptamente se View diferente de Medium.
    Voce tem alguma sugestão ?
    Obrigada,
    Rosa

  11. Muito bom kara.. parabéns pelo tutorial… apanhei bastante antes de achar o seu rs… ajudou pra caramba!

    To com um outro problema rs… em outro PC tenho uma WebCam “0c45:6128 (SN9C325 + OM6802)” também da Microdia e não to conseguindo achar nada que me auxilie na instalação dela…. Se vc tiver alguma coisa ae a respeito ou puder ajudar ficarei grato.

    Abração.. Vlw..

  12. Poxa, tambem tenho uma Amazon L83, e tive os mesmos problemas que o Xpf citou: webcam funciona no camorama mas não funciona no cheese, e a wireless funciona perfeitamente, mas a luz não acende. Se alguém conseguir corrigir esse problema, por favor, me avise! T+

  13. Olá,
    Tentei seguir passo a passo o tutorial para a instalação da web cam (no caso a minha é uma sn9c120). Tudo foi OK até o comando insmod microdia.ko. A msg que aparece é insmod: error inserting ‘microdia.ko’: -1 File exists
    Alguma dica?

    Obrigado

  14. iai brother! eu consegui instalar minha webcam sem erro mas a imagem ta bem escura. completamente diferente dela no windows. mesmo se ir no amsn e aumentar o brilho, so muda q fica cinzenta mas a escuridao eh a mesma. o maximo q eu consigo ver eh a claridade da janela se eu virar pra ela. vc sabe pq ta assim? se puder, me mande um email para virtual_spy@hotmail.com

  15. agora alem da webcam ta escura demais, o amsn nem entra mais. fica dando isso wish: error while loading shared libraries: libtcl8.4.so.0: cannot open shared object file: No such file or directory

    :@

  16. Olá, Silveira

    Estou tentando instalar a webcam no amazon hel81 com ubuntu 8.04 mas não consigo compilar, faço passo a passo mas acaba dando erro.

    no comando lsusb aparece

    Bus 005 Device 003: ID 0c45:624f Microdia
    Bus 005 Device 001: ID 0000:0000
    Bus 004 Device 001: ID 0000:0000
    Bus 003 Device 001: ID 0000:0000
    Bus 002 Device 001: ID 0000:0000
    Bus 001 Device 004: ID 1267:0210 Logic3 / SpectraVideo plc
    Bus 001 Device 001: ID 0000:0000

    vc poderia me ajudar?

    obrigado
    Daniel

  17. Olá pessoal, segui esse tutorial um tempo atrás e funcionou perfeitamente, tentei novamente após uma nova instalação, estou usando o kernel 2.6.24-19 e não funcionou mais, alguém está conseguindo utilizar com esse novo kernel? e foi preciso fazer alguma modificação??

  18. ai cara aqui ñ deu certo!!
    deu erro camorama cluld not connect to video device dev/video0
    please check connection

  19. Silveira, tudo bom?
    Ao executar make:

    mauro@nbub:/home/microdia$ sudo make
    make -C /lib/modules/2.6.24-19-generic/build SUBDIRS= modules
    make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.24-19-generic’
    CHK include/linux/version.h
    CHK include/linux/utsrelease.h
    make[2]: *** Sem regra para processar o alvo `arch/x86/kernel/asm-offsets.c’, necessário por `arch/x86/kernel/asm-offsets.s’. Pare.
    make[1]: ** [prepare0] Erro 2
    make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.24-19-generic’
    make: ** [driver] Erro 2
    mauro@nbub:/home/microdia$
    mauro@nbub:/home/microdia$

    Puxa sou novato em linux, poderia me ajudar?
    Obrigado

  20. kara ve se pode me ajudar

    root@SERVIDOR:/home/lanos/microdia# mesg |grep Microdia -i
    root@SERVIDOR:/home/lanos/microdia# dmesg |grep Microdia -i
    [16414.356000] microdia: Microdia USB2.0 webcam driver startup
    [16414.372000] microdia: Microdia USB2.0 Webcam – 0C45:6242 found.
    [16414.372000] microdia: Release: 0100
    [16414.372000] microdia: Number of interfaces : 1
    [16414.528000] microdia: Microdia USB2.0 Camera is now controlling video device /dev/video1
    [16414.528000] usbcore: registered new interface driver usb_microdia_driver
    [16414.528000] microdia: v0.0.0 : Microdia USB Video Camera
    root@SERVIDOR:/home/lanos/microdia#

    ae executei o comando

    mplayer tv:// -tv driver=v4l:width=640:height=480:device=/dev/video0 -vo x11

    ai abriu o programa mplayer mais nao apareceu a imagem da webcam

    obs nao tenho o camorama e tambem nao consigo estalar ele.

  21. Olá Silveira,

    Parabéns pelo seu artigo pois com ele consegui fazer minha câmera funcionar, seguindo sua receita, apesar de estar no Linux (Big Linux) a 5 meses.

    Obrigado.

  22. Olá Silveira
    Na parte de carregar o modulo como root dá erro.

    “modprobe videodev
    insmod microdia.ko”

    qdo digito o insmod microdia.ko dá a seguinte msg:
    insmod: error inserting ‘microdia.ko’: -1 File exists

    é por causa do Kernel ?
    Abraços!

  23. Fale! Fiz tudo que voce disse e funcionou! Mas a imagem da camera está meio chuviscada, nada parecida com a que voce postou aqui no blog. Alguma ideia de como posso melhorar a qualidade?

  24. Comprei uma web cam wc31100 Multilaser no entanto ela não faz captações de imagens noturnas o que devo faze? Deste j[a agradeço.

  25. Oi gente, adorei o post e fiz tudo só q da um erro, no meu ubuntu 8,10 x64:

    shallwe@shallwe-desktop:~/microdia$ dmesg |grep Microdia -i
    [ 1663.277447] microdia: Microdia USB 2.0 webcam driver loaded
    [ 1663.278056] microdia: Microdia USB 2.0 Webcam – 0C45:6270 plugged-in.
    [ 1663.291670] microdia: Error: MT9V111/MI0360SOC (I2C-slave 0x5c): read of reg0x01 (address space selection) failed !
    [ 1663.293654] microdia: Microdia USB 2.0 Webcam is now controlling video device /dev/video0
    [ 1663.293763] usbcore: registered new interface driver usb_microdia_driver
    [ 1663.293765] microdia: v2008.10 : Microdia USB 2.0 Webcam Driver

    Dicas? vlwww

  26. Não poderia sair do seu blog sem agradecer.
    Muito obrigado mesmo.
    Estava doido tentando instalar minha webcam do meu amazon pc l81.
    fiquei semanas tentando e até pensar em não usar mais ubuntu nele.
    Obrigado novamente…

  27. Olá pessoal tenho a web igual a esse no notebook só que não esta funcionando segue abaixo o comando que dei… alguem pode ajudar.

    root@ubuntu:/home/jair# dmesg |grep Microdia -i
    [ 579.120279] microdia: Microdia USB 2.0 webcam driver loaded
    [ 579.120985] microdia: Microdia USB 2.0 Webcam – 0C45:624F plugged-in.
    [ 579.120992] microdia: Detected SN9C20X Bridge
    [ 579.135996] microdia: Detected OV9650 Sensor
    [ 579.230292] microdia: Microdia USB 2.0 Webcam is now controlling video device /dev/video0
    [ 579.231152] usbcore: registered new interface driver usb_microdia_driver
    [ 579.232710] microdia: v2008.11 : Microdia USB 2.0 Webcam Driver
    [ 764.088949] microdia: Microdia USB 2.0 Webcam unplugged
    [ 764.089026] microdia: Microdia USB 2.0 Webcam releases control of video device /dev/video0
    [ 885.842372] microdia: Microdia USB 2.0 Webcam – 0C45:624F plugged-in.
    [ 885.842379] microdia: Detected SN9C20X Bridge
    [ 885.855851] microdia: Detected OV9650 Sensor
    [ 885.947160] microdia: Microdia USB 2.0 Webcam is now controlling video device /dev/video0
    [ 886.638652] microdia: Microdia USB 2.0 Webcam unplugged
    [ 886.638723] microdia: Microdia USB 2.0 Webcam releases control of video device /dev/video0
    [ 926.616100] microdia: Microdia USB 2.0 Webcam – 0C45:624F plugged-in.
    [ 926.616107] microdia: Detected SN9C20X Bridge
    [ 926.648611] microdia: Detected OV9650 Sensor
    [ 926.751682] microdia: Microdia USB 2.0 Webcam is now controlling video device /dev/video0

    Desde já agradeço a ajuda de todos

  28. Eu tenho um notebook igual ao seu mas estou usando o ubuntu 8.10 intrepid ibex, tentei usar estes procedimentos, aparece na lista de drives a webcam mas ela não funciona… o que devo fazer? será que muda alguma etapa dos procedimentos?

  29. Silveira,
    Preciso reinstalar minha webcam, mas não tenho mais o driver. Preciso baixar um driver seguro da net, mas não encontro. Poderia me ajudar?
    Marca da Webcam: Multilaser
    Modelo da Webcam: WC31100

    Obrigada!

  30. No Ubuntu 8.10 também não consegui fazer funcionar. No 8.04 funcionava perfeitamente. A minha webcam é uma 0c45:6270 Microdia PC Camera

  31. No Linux com o Kernel 2.6.24-19-generic ela tem funcionando nativamente sem a necessidade de instalar nenhum módulo adicional, mas só tem funcionado bem com o Cheese, não mais com o effectv.

  32. Caro Silveira, estou usando pela pela primeira vez o ubuntu 9.04 e estou tentando instalar a camera microdia us 001 Device 002: ID 0c45:624f Microdia PC Camera (SN9C201) do meu notebook mirax 6600 e esta dando o seguinte erro:

    jair@ubuntu:~$ sudo su
    [sudo] password for jair:
    root@ubuntu:/home/jair# apt-get install git-core gitk git-gui git-doc curl ctags build-essential
    Lendo listas de pacotes… Pronto
    Construindo árvore de dependências
    Lendo informação de estado… Pronto
    E: Impossível achar pacote git-core
    root@ubuntu:/home/jair#

    Silveira voce tem como me ajudar? Desde já agradeço a sua ajuda.

  33. Passo a passo feito, masssss… O <> procurei e não encontrei, o que falta e como posso adquirir, o que faço agora??? Peço ajuda e agradeço muiiiito.

    soares@soares-desktop:~$ cd microdia
    soares@soares-desktop:~/microdia$ make
    make -C /lib/modules/2.6.28-11-generic/build SUBDIRS=/home/soares/microdia modules
    make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.28-11-generic’
    CC [M] /home/soares/microdia/sn9c20x-usb.o
    CC [M] /home/soares/microdia/sn9c20x-v4l2.o
    CC [M] /home/soares/microdia/sn9c20x-sysfs.o
    CC [M] /home/soares/microdia/sn9c20x-dev.o
    CC [M] /home/soares/microdia/sn9c20x-queue.o
    CC [M] /home/soares/microdia/sn9c20x-bridge.o
    CC [M] /home/soares/microdia/omnivision.o
    CC [M] /home/soares/microdia/micron.o
    CC [M] /home/soares/microdia/hv7131r.o
    CC [M] /home/soares/microdia/sn9c20x-debugfs.o
    LD [M] /home/soares/microdia/sn9c20x.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /home/soares/microdia/sn9c20x.mod.o
    LD [M] /home/soares/microdia/sn9c20x.ko
    make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.28-11-generic’

  34. depois do make vc pede pra eu usar esses comandos:
    modprobe videodev
    insmod microdia.ko

    mais quando uso n acontece nada
    poderia ser mais especifico de como eu poderia fazer????
    sou novo na interface linux e ainda estou meio q perdido, principalmente com os codigos.
    se puder da uma ajuda eu agradeço.

  35. Olá, eu consegui compilar o driver. Notei que o novo driver se chama sn9c20x ao invés de microdia. No meu demesg obtenho

    dmesg |grep sn9c
    [50441.305575] sn9c20x: SN9C20X USB 2.0 Webcam – 0C45:6260 plugged-in.
    [50441.718063] sn9c20x: Detected OV7670 Sensor.
    [50441.718199] sn9c20x: Webcam device 0C45:6260 is now controlling video device /dev/video0
    [20153.061320] sn9c20x: Using yuv420 output format
    [20153.061352] usbcore: registered new interface driver sn9c20x
    [20153.061355] sn9c20x: SN9C20x USB 2.0 Webcam Driver v2009.04 loaded
    [25854.173818] sn9c20x: Using yuv420 output format

    Não consegui fazer a camera funcionar. Quando abro o Camorama vem uma mensagem de erro que diz que o device /dev/video0 não pode ser conectado. Mesmo se abro como root. Porém o /dev/video0 existe.

  36. Oi xet. Abre um terminal, sigita “sudo su” sem as aspas e dá um enter. Coloca a sua senha e dá um enter. Se aparecer um # então você está como root. Se não der certo, tenta o mesmo com “su -“.

  37. No Hardy até consegui fazer funcionar só no Skype, mas no Karmic Koala nada.

    root@maquiel-desktop:/home/maquiel/microdia# ls

    Doxyfile
    Module.markers
    sn9c20x-bridge.h
    sn9c20x.mod.c
    sn9c20x-usb.o

    hv7131r.c
    modules.order
    sn9c20x-bridge.o
    sn9c20x.mod.o
    sn9c20x-v4l2.c

    hv7131r.o
    Module.symvers
    sn9c20x-debugfs.c
    sn9c20x.o
    sn9c20x-v4l2.o

    Kconfig
    omnivision.c
    sn9c20x-debugfs.o
    sn9c20x-queue.c
    tags

    Makefile
    omnivision.h
    sn9c20x-dev.c
    sn9c20x-queue.o

    micron.c
    omnivision.o
    sn9c20x-dev.o
    sn9c20x-sysfs.c

    micron.h
    README
    sn9c20x.h
    sn9c20x-sysfs.o

    micron.o
    sn9c20x-bridge.c
    sn9c20x.ko
    sn9c20x-usb.c

    root@maquiel-desktop:/home/maquiel/microdia#

    make
    make -C /lib/modules/2.6.31-14-generic/build SUBDIRS=/home/maquiel/microdia modules
    make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.31-14-generic’
    Building modules, stage 2.
    MODPOST 1 modules
    make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.31-14-generic’

    # modprobe videodev
    # insmod sn9c20x.ko
    insmod: error inserting ‘sn9c20x.ko’: -1 File exists

    Tentei assim:
    # insmod ./sn9c20x.ko
    insmod: error inserting ‘./sn9c20x.ko’: -1 File exists

    Tentei isso:
    modprobe compat-ioctl32
    FATAL: Module compat_ioctl32 not found.

    Como resolver isso ?

Leave a Reply

Your email address will not be published. Required fields are marked *