7.7. Scanners de Imagem
Anterior | Capítulo 7. Multimídia | Próxima

## 7.7. Scanners de Imagem

Escrito por Marc Fonvieille.

No FreeBSD, o acesso aos scanners de imagens é fornecido pelo SANE (Scanner Access Now Easy), que está disponível na Coleção de Ports do FreeBSD. O SANE também usará alguns drivers de dispositivos do FreeBSD para fornecer acesso ao hardware do scanner.

O FreeBSD suporta os scanners SCSI e USB. Dependendo da interface do scanner, são necessários drivers de dispositivos diferentes. Certifique-se de que o scanner seja suportado pelo SANE antes de executar qualquer configuração. Consulte http://www.sane-project.org/sane-supported-devices.html para obter mais informações sobre os scanners suportados.

Este capítulo descreve como determinar se o scanner foi detectado pelo FreeBSD. Em seguida, ele fornece uma visão geral de como configurar e usar o SANE em um sistema FreeBSD.

### 7.7.1. Verificando o Scanner

O kernel `GENERIC` inclui os drivers de dispositivos necessários para suportar scanners USB. Usuários com um kernel personalizado devem garantir que as seguintes linhas estejam presentes no arquivo de configuração do kernel personalizado:

    device usb
    device uhci
    device ohci
    device ehci

Para verificar se o scanner USB foi detectado, conecte-o e execute o comando `dmesg`, sendo então possível ver se o scanner aparece no buffer de mensagens do sistema. Em caso afirmativo, deve ser exibida uma mensagem semelhante a esta:

    ugen0.2: <EPSON> at usbus0

Neste exemplo, um scanner EPSON Perfection® 1650 USB foi detectado em `/dev/ugen0.2`.

Se o scanner usar uma interface SCSI, é importante saber qual placa controladora SCSI será usada. Dependendo do chipset SCSI, um arquivo de configuração do kernel personalizado pode ser necessário. O kernel `GENERIC` suporta os controladores SCSI mais comuns. Consulte `/usr/src/sys/conf/NOTES` para determinar a linha correta a ser adicionada a um arquivo de configuração de kernel personalizado. Além do driver de adaptador SCSI, as seguintes linhas são necessárias em um arquivo de configuração de kernel personalizado:

    device scbus
    device pass

Verifique se o dispositivo é exibido no buffer de mensagens do sistema:

    pass2 at aic0 bus 0 target 2 lun 0
    pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
    pass2: 3.300MB/s transfers

Se o scanner não foi ligado na inicialização do sistema, ainda é possível forçar manualmente a detecção executando uma varredura de barramento SCSI com o comando `camcontrol`:

    # camcontrol rescan all
    Re-scan of bus 0 was successful
    Re-scan of bus 1 was successful
    Re-scan of bus 2 was successful
    Re-scan of bus 3 was successful

O scanner deve agora aparecer na lista de dispositivos SCSI:

    # camcontrol devlist
    <IBM DDRS-34560 S97B>              at scbus0 target 5 lun 0 (pass0,da0)
    <IBM DDRS-34560 S97B>              at scbus0 target 6 lun 0 (pass1,da1)
    <AGFA SNAPSCAN 600 1.10>           at scbus1 target 2 lun 0 (pass3)
    <PHILIPS CDD3610 CD-R/RW 1.00>     at scbus2 target 0 lun 0 (pass2,cd0)

Consulte scsi(4) e camcontrol(8) para mais detalhes sobre dispositivos SCSI no FreeBSD.

### 7.7.2. Configuração do SANE

O SANE possui um sistema dividido em duas partes: os backends (graphics/sane-backends) e os frontends (graphics/sane-frontends ou graphics/xsane). Os backends fornecem acesso ao scanner. Consulte http://www.sane-project.org/sane-supported-devices.html para determinar qual backend suporta o scanner. Os frontends fornecem a interface de varredura gráfica. graphics/sane-frontends instala o xscanimage enquanto o graphics/xsane instala o xsane.

Para instalar as duas partes de pacotes binários:

    # pkg install xsane sane-frontends

Alternativamente, para instalar a partir da Coleção de Ports

    # cd /usr/ports/graphics/sane-frontends
    # make install clean
    # cd /usr/ports/graphics/xsane
    # make install clean

Depois de instalar o pacote ou port graphics/sane-backends, use o comando `sane-find-scanner` para verificar a detecção do scanner pelo sistema SANE:

    # sane-find-scanner -q
    found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3

A saída deve mostrar o tipo de interface do scanner e o nó do dispositivo usado para conectar o scanner ao sistema. O fornecedor e o modelo do produto podem ou não aparecer.

### Nota:

Alguns scanners USB exigem que o firmware seja carregado. Consulte sane-find-scanner(1) e sane(7) para mais detalhes.

Em seguida, verifique se o scanner será identificado por uma interface de digitalização. Os backends SANE incluem o comando `scanimage`, que pode ser usado ​​para listar os dispositivos e realizar uma aquisição de imagens. Use a opção `-L` para listar os dispositivos do scanner. O primeiro exemplo é para um scanner SCSI e o segundo é para um scanner USB:

    # scanimage -L
    device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner
    # scanimage -L
    device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner

Neste segundo exemplo, `'epson2: libusb:/dev/usb:/dev/ugen0.2'` é o nome do backend (`epson2`) e `/dev/ugen0.2` é o nó do dispositivo usado pelo scanner.

Se o comando `scanimage` não conseguir identificar o scanner, esta mensagem será exibida:

    # scanimage -L

    No scanners were identified. If you were expecting something different,
    check that the scanner is plugged in, turned on and detected by the
    sane-find-scanner tool (if appropriate). Please read the documentation
    which came with this software (README, FAQ, manpages).

Se isso acontecer, edite o arquivo de configuração de backend em `/usr/local/etc/sane.d/` e defina o dispositivo de scanner usado. Por exemplo, se o modelo de scanner não detectado for um EPSON Perfection® 1650 e usar o backend `epson2`, edite o arquivo `/usr/ local/etc/sane.d/epson2.conf`. Ao editar, adicione uma linha especificando a interface e o nó do dispositivo usado. Nesse caso, adicione a seguinte linha:

    usb /dev/ugen0.2

Salve as edições e verifique se o scanner está identificado com o nome do back-end correto e com o nó do dispositivo:

    # scanimage -L
    device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner

Depois que o comando `scanimage -L` identificar o scanner, a configuração estará completa e o scanner estará pronto para ser usado.

Embora o `scanimage` possa ser usado para realizar uma digitalização de imagem a partir da linha de comando, muitas vezes é preferível usar uma interface gráfica para executar o escaneamento. O pacote ou port graphics/sane-frontends instala uma interface gráfica simples, mas eficiente, xscanimage.

Alternativamente, o xsane, que é instalado com o pacote ou port graphics/xsane, é outro frontend de digitalização gráfica popular. Ele oferece recursos avançados, como vários modos de digitalização, correção de cores e digitalizações em lote. Ambos os aplicativos são utilizáveis ​​como um plugin do GIMP.

### 7.7.3. Permissões do Scanner

Para ter acesso ao scanner, o usuário precisa ler e gravar as permissões no nó do dispositivo usado pelo scanner. No exemplo anterior, o scanner USB usa o nó do dispositivo `/dev/ugen0.2` que é realmente um link simbólico para o nó do dispositivo real `/dev/usb/0.2.0`. O link simbólico e o nó do dispositivo pertencem, respectivamente, aos grupos `wheel` e `operator`. Adicionando o usuário a esses grupos, será permitido o acesso ao scanner, considera-se inseguro adicionar um usuário a `wheel`. Uma solução melhor é criar um grupo e tornar o dispositivo de scanner acessível aos membros desse grupo.

Este exemplo cria um grupo chamado ``usb``:

    # pw groupadd usb

Então, crie um link simbólico para `/dev/ugen0.2` e o nó do dispositivo `/dev/usb/0.2.0` para ficarem acessíveis ao grupo `usb` com permissões de gravação `0660` ou `0664` adicionando as seguintes linhas ao `/etc/devfs.rules`:

    [system=5]
    add path ugen0.2 mode 0660 group usb
    add path usb/0.2.0 mode 0666 group usb

Finalmente, adicione os usuários a ``usb`` para permitir acesso ao scanner:

    # pw groupmod usb -m joe

Para mais detalhes, consulte pw(8).

Anterior | Acima | Próxima
7.6. MythTV | Principal | Capítulo 8. Configurando o kernel do FreeBSD

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.