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.
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.
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.
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.
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
para permitir acesso ao scanner:usb
#
pw groupmod usb -m
joe
Para mais detalhes, consulte pw(8).
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>.