# Принт-сервер и сетевой сканер на Raspberry PI _МФУ Samsung SCX3405W_ ## Печать Подразделени Samsung, которое занималось производством принтером было куплено компанией HP, поэтому справедливо установить драйвера HP и свободные драйвера ```bash sudo apt-get update sudo apt-get install hplip printer-driver-splix -y ``` Установить службу печати линукс CUPS ```bash sudo apt-get install cups -y ``` Необходимо добавить пользователя в группу lpadmin ```bash sudo usermod -a -G lpadmin da2001 sudo reboot ``` Следующим этапом необходимо отредактировать конфигурационный файл службы печати ```bash vim /etc/cups/cupsd.conf ``` строку `Listen localhost:631` необходимо изменить на `Port 631` добваить две строки ``` BrowseRemoteProtocols CUPS dnssd BrowseAddress @LOCAL ``` Внести изменения в секцию Location, привести к виду: ``` Order allow,deny Allow all ``` В секции Location /admin закомментировать строку `Order allow,deny` ``` ``` Перезапустить службу печати ```bash sudo systemctl restart cups ``` Если всё настроено верно, должен отобразиться web-интрефейс https://print-server-ip:631 ![web](images/cups_web.png) На вкладке Администрирование необходимо добавить новый принтер. В случае с Samsung SCX3405W, его нет в списке, но есть Samsung SCX3200 - он также подойдёт. С настройкой принтера закончено, теперь он должен быть доступен в локальной сети. ## Сканирование Необходимо установить пакет sane ```bash sudo apt install sane -y ``` Далее необходимо убедиться, что сканер опознан в системе ```bash sudo sane-find-scanner ``` _пример вывода_ ```bash da2001@printserver:~ $ sudo sane-find-scanner # sane-find-scanner will now attempt to detect your scanner. If the # result is different from what you expected, first make sure your # scanner is powered up and properly connected to your computer. # No SCSI scanners found. If you expected something different, make sure that # you have loaded a kernel SCSI driver for your SCSI adapter. # Also you need support for SCSI Generic (sg) in your operating system. # If using Linux, try "modprobe sg". found USB scanner (vendor=0x04e8 [Samsung Electronics Co., Ltd.], product=0x344f [SCX-3400 Series]) at libusb:001:004 found USB scanner (vendor=0x0424, product=0xec00) at libusb:001:003 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. # Not checking for parallel port scanners. # Most Scanners connected to the parallel port or other proprietary ports # can't be detected by this program. ``` Можно попробовать выполнить Сканирование ```bash sudo scanimage -L ``` пример вывода: ```bash Created directory: /var/lib/snmp/cert_indexes device 'xerox_mfp:libusb:001:004' is a Samsung Samsung SCX-3400 Series multi-function peripheral ``` свидетельствует о готовности сканера Непосредственно само сканирование ```bash scanimage > ~/test-scan-file.pnm ``` Получить информацию о созданном файле ```bash file test-scan-file.pnm ``` ### Сетевое сканирование Изменить конфигурацию для включения демона saned ```bash sudo vim /etc/default/saned ``` добавить строку `RUN=yes` В основном конфигурациооном файле `/etc/sane.d/saned.conf` необходимо указать сеть доступности сканирования ``` 192.168.13.0/24 ``` кроме этого необходимо раскомментировать строку ``` data_portrange = 10000 - 10100 ``` Также необходимо изменить разрешения, чтобы демон saned мог запускаться не от рута. В части вывода `sane-find-scanner` было показано ``` found USB scanner (vendor=0x04e8 [Samsung Electronics Co., Ltd.], product=0x344f [SCX-3400 Series]) at libusb:001:004 ``` `libusb:001:004` сообщает, что сканер находится по адресу /dev/bus/usb/001/004 Проверим права этого файла ```bash da2001@printserver:~ $ ls -l /dev/bus/usb/001 итого 0 crw-rw-r-- 1 root root 189, 0 мая 6 19:37 001 crw-rw-r-- 1 root root 189, 1 мая 6 18:09 002 crw-rw-r-- 1 root root 189, 2 мая 6 18:09 003 crw-rw-r--+ 1 root lp 189, 3 мая 6 19:39 004 ``` как видно из вывода, файлом владеет root с группой lp (linux print). Нам нужно добавить демона sane в группу lp, чтобы дать ему необходимые разрешения: ```bash sudo adduser saned lp ``` В конце необходимо запустить saned ```bash sudo systemctl enable --now saned.socket ```