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 device xhci
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 sistma SANE provê o acesso ao scanner via backends (graphics/sane-backends). Consulte http://www.sane-project.org/sane-supported-devices.html para determinar qual backend suporta o scanner. Uma interface gráfica é fornecida por aplicações terceiras como Kooka (graphics/kooka) ou XSane (graphics/xsane). Os backends do SANE são suficientes para testar o scanner.
Para instalar os backends do pacote binário:
#
pkg install sane-backends
Alternativamente, para instalar a partir da Coleção de Ports
#
cd /usr/ports/graphics/sane-backends
#
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:000:002' is a Epson GT-8200 flatbed scanner
Neste segundo exemplo,epson2
é o nome do backend e libusb:000:002
significa que /dev/ugen0.2
é o 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:000:002' 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. Aplicações como Kooka ou XSane são interfaces de digitalização populares. Eles oferecem recursos avançados, como vários modos de digitalização, correção de cores e digitalizações em lote. O XSane também pode ser usado como um plugin 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
Acontece do nó do dispositivo mudar com a adição ou remoção de dispositivos, então você pode querer dar acesso a todos os dispositivos USB usando esse conjunto de regas:
[system=5] add path 'ugen*' mode 0660 group usb add path 'usb/*' mode 0666 group usb
Veja devfs.rules(5) para mais informações sobre este arquivo.
Em seguida, ative o conjunto de regras no arquivo /etc/rc.conf:
devfs_system_ruleset="system"
E, reinicie o sistema devfs(8):
#
service devfs restart
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>.