Сначала необходимо убедиться, что Ваш сканер вообще будет работать во FreeBSD. Проверить это можно на сайте sane-project.org.
Если сканер поддерживается, например Canon CanoScan LiDE 110, то обычно его достаточно просто физически подключить к компьютеру и воспользоваться установленной программой skanlite или установить программу с большим набором возможностей xsane:
pkg install -r latest xsane
Для того, чтобы к сканеру имел доступ не только root, но и пользователи из группы operator, необходимо создать файл /usr/local/etc/devd/scanner.conf с правилами для devd:
notify 100 {
match "system" "USB";
match "subsystem" "DEVICE";
match "type" "ATTACH";
match "vendor" "0x04a9";
match "product" "0x1909";
action "chmod g+rw /dev/$cdev";
};
Этот пример для сканера Canon CanoScan LiDE 110. Узнать точные значения vendor и product для вашего сканера можно набрав в консоли команду:
usbconfig dump_device_desc
Если подключается и настраивается МФУ (принтер/сканер), то возможно потребуется создать немного другой конфигурационный файл. Подробнее об этом можно узнать набрав в консоли команду:
pkg info -D sane-backends
Однако, возможен и другой вариант. Рассмотрим его на примере сканера Epson Perfection 1670. Этот сканер требует загрузки прошивки (firmware) перед началом сканирования. Прошивку можно найти на диске с програмным обеспечением к сканеру. Это файл ESFW30.BIN. Копируем его в каталог /usr/local/share/sane/snapscan/. Редактируем файл /usr/local/etc/sane.d/snapscan.conf. Прописываем в нем загрузку прошивки:
firmware /usr/local/share/sane/snapscan/ESFW30.BIN
/dev/ugen0.1 bus=usb
Вторая строка нужна только если сканер без нее не обнаруживается. В ней прямо указывается имя вашего устройства (в данном примере это /dev/ugen0.1) и интерфейс (в данном примере это usb). В файле /usr/local/etc/sane.d/epson.conf необходимо закомментировать все строки, кроме строки со словом usb.
Если вы подключили сканер и проверили его работоспособность, то можно открыть к нему доступ из локальной сети. Для этого нужно прописать в /etc/rc.conf следующие строки для запуска демона saned:
saned_uid="operator"
saned_enable="YES"
Также необходимо в файле /usr/local/etc/sane.d/saned.conf прописать адреса машин, которым разрешается доступ к сканеру. Можно прописать сразу всю локальную подсеть. На клиентских машинах в файле /usr/local/etc/sane.d/net.conf необходимо прописать IP-адрес сервера, на котором работает сервис saned, а также проверить наличие слова net в файле /usr/local/etc/sane.d/dll.conf.
После этого удаленный сканер можно использовать так же, как и при подключении его локально.