Сканирование по сети – это просто
- Подключаем роутер к компьютеру через Ethernet(через любой из lan-портов)
- Переводим роутер в режим восстановления – выключаем питание роутера, зажимаем кнопку Reset/Restore, включаем питание, удерживаем кнопку до тех пор, пока индикатор питания не начнет моргать
- Никаких настроек ip-адресов делать не надо, разве что присвоить компу адрес из 192.168.1.0/255.255.255.0 отличный от 192.168.1.1, и запустить пинг на 192.168.1.1
- Запускаем программу Firmware Restoration, отключаем фаервол(об этом просит программа), выбираем файл прошивки с расширением .trx
Первым делом меняем пароль роутера:
Настраиваем доступ в интернет:
Настраиваем сервер DHCP, и меняем адрес, если не устраивает 192.168.1.1. Я меняю его на 192.168.11.1, в дальнейшем вся настройка будет на этот адрес:
СканированиеДалее, переходим к настройке пакетов.
- nano – более дружелюбный, чем vi, редактор
- sane-backends, sane-frontends
- xinetd – для доступа по сети
- kmod-usb-printer, kmod-usb-ohci, kmod-usb-uhci, kmod-usb2, kmod-usb-storage – поддержка различных USB-устройств на уровне ядра
Подключаемся к роутеру по ssh. Команда sane-find-scanner должна выдать примерно следующее: found USB scanner (vendor=0x04e8 [Samsung], product=0x341b [SCX-4200 Series]) at libusb:001:004 # 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. Заметьте значения vendor=0x04e8 , product=0x341b , libusb:001:004 , они нам понадобится.
Теперь, либо вам повезет, либо придется сделать дополнительные настройки. Мне не повезло: root@OpenWrt:
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).
Тут можно узнать, какой модели сканера какой backend соответствует. Samsung SCX-4220 соответствует backend sane-xerox_mfp.5. Тут можно посмотреть мануал, из которого видно, что конфиг находится в файле /etc/sane.d/xerox_mfp.conf Редактируем его:
Добавляем в файл строчку
usb 0x04e8 0x341b
и, на всякий случай, эту строку, как советуют на форумах
Версия backends в этой прошивке 1.0.20, и, что интересно, при использовании последней версии(кажется, 1.0.22, версия ядра 2.6), которую я устанавливал на прошивке от Олега, сканер у меня так и не определился. Описание такой ситуации я тоже встречал на форумах, поэтому выбрал прошивку с версией ядра 2.4
Сохраняем файл, проверяем:
# scanimage –L device `xerox_mfp:libusb:001:004' is a SAMSUNG ORION multi-function peripheral
Сканер определяется, все хорошо.
Теперь настроим доступ по сети:
Добавляем в файл строчку 192.168.11.0/24 (необходимо указать подсеть вашего роутера)
Добавляем в файл следующие строки:
service saned
Запускаем xinetd в режиме вывода отладочной информации:
# xinetd -d Service defaults Bind = All addresses. Only from: All sites No access: No blocked sites No logging
Service configuration: saned > flags = IPv4 socket_type = stream Protocol (name,number) = (tcp,6) port = 6566 wait = no user = 0 group = 0 Groups = no PER_SOURCE = -1 Bind = All addresses. Server = /usr/sbin/saned Server argv = saned Only from: All sites No access: No blocked sites No logging
11/9/2@07:43:31: DEBUG: 29656 Started service: saned 11/9/2@07:43:31: DEBUG: 29656 mask_max = 6, services_started = 1 11/9/2@07:43:31: NOTICE: 29656 xinetd Version 2.3.14 started with loadavg options compiled in. 11/9/2@07:43:31: NOTICE: 29656 Started working: 1 available service 11/9/2@07:43:31: DEBUG: 29656 active_services = 1
Как видно, сервис запущен.
Если сервис не запустился, проверьте, чтобы в файле /etc/services была строчка saned 6566 , и, если она отсутствует, то добавьте.
Теперь скачаем и установим SaneTwain В архиве инструкция и 2 файла – sanetwain.ds и scanimage.exe запускаем scanimage.exe, указываем в настройках адрес роутера:
перезапускаем scanimage.exe:
Смотрим записи syslog в веб-интерфейсе: Sep 2 07:59:19 OpenWrt daemon.debug saned[31278]: saned (AF-indep+IPv6) from sane-backends 1.0.20 starting up Sep 2 07:59:19 OpenWrt daemon.debug saned[31278]: check_host: access by remote host: 192.168.11.139 Sep 2 07:59:19 OpenWrt daemon.debug saned[31278]: check_host: getaddrinfo for local hostname failed: Name or service not known Sep 2 08:02:52 OpenWrt daemon.warn xinetd[29722]: Exiting.
Путем поиска по форумам выясняем, чтобы в этой ситуации все заработало, надо добавить в hosts запись с именем для адреса роутера:
killall xinetd xinetd
Перезапускаем scanimage.exe(он глючный, возможно, только со второго раза все будет ок)
Видим, что все работает. Ура.
Теперь надо включить автозапуск xinetd в веб-интерфейсе роутера:
Перезапускаем роутер, проверяем работу еще раз.
Теперь копируем второй файл, sanetwain.ds, в каталог C:\Windows\twain_32\ После этого в программах с поддержкой twain можно пользоваться сканером, в том числе и в замечательной программе для создания скриншотов Screenshot Captor:
ПечатьТеперь настроим печать по сети: Устанавливаем пакет luci-app-p910nd.
Делаем следующие настройки в веб-интерфейсе роутера:
Убедимся, что сервер запустится при перезагрузке роутера:
и то, что он действительно запустился:
# ps|grep p9100 32079 root 680 S /usr/sbin/p9100d -b -f /dev/usb/lp0 0
Жмем «Пробная печать», ура! Печать по сети на всех прошивках, которые я смотрел, настраивалась без проблем, так что я уверен, что у вас проблем тоже не возникнет.
Освобождение места на роутере под другие программыПодключаемся по ssh. Идея в том, чтобы удалить ненужные нам backends. backends находятся в папке /usr/lib/sane/ Как видно из man, файлы нашего backend — libsane-xerox_mfp.so.1 и libsane-xerox_mfp.so.1.0.20 Соответственно, если вы не планируете подключать другой сканер, все остальные можно невозбранно удалить что освободит root@OpenWrt:/usr/lib/sane# cd /usr/lib/sane/ root@OpenWrt:/usr/lib/sane# du -m 7 . Около 3.5 мб! Почему 3.5 а не 7? Потому что в этом каталоге ровно половина файлов – символические ссылки на библиотеки, расположенные в этом же каталоге.
Способ удаления не самый изящный, но, тем не менее, действенный(mc установить не предлагать, под него уже нет места): root@OpenWrt:/usr/lib/sane# rm libsane-a* root@OpenWrt:/usr/lib/sane# rm libsane-b* root@OpenWrt:/usr/lib/sane# rm libsane-c* root@OpenWrt:/usr/lib/sane# rm libsane-d* root@OpenWrt:/usr/lib/sane# rm libsane-e* root@OpenWrt:/usr/lib/sane# rm libsane-f* root@OpenWrt:/usr/lib/sane# rm libsane-g* root@OpenWrt:/usr/lib/sane# rm libsane-h* root@OpenWrt:/usr/lib/sane# rm libsane-i* root@OpenWrt:/usr/lib/sane# rm libsane-j* rm: cannot remove 'libsane-j*': No such file or directory root@OpenWrt:/usr/lib/sane# rm libsane-k* rm: cannot remove 'libsane-k*': No such file or directory root@OpenWrt:/usr/lib/sane# rm libsane-l* root@OpenWrt:/usr/lib/sane# rm libsane-m* root@OpenWrt:/usr/lib/sane# rm libsane-n* root@OpenWrt:/usr/lib/sane# rm libsane-o* rm: cannot remove 'libsane-o*': No such file or directory root@OpenWrt:/usr/lib/sane# rm libsane-p* root@OpenWrt:/usr/lib/sane# rm libsane-q* root@OpenWrt:/usr/lib/sane# rm libsane-r* root@OpenWrt:/usr/lib/sane# rm libsane-s* root@OpenWrt:/usr/lib/sane# rm libsane-t* root@OpenWrt:/usr/lib/sane# rm libsane-u* root@OpenWrt:/usr/lib/sane# rm libsane-v* rm: cannot remove 'libsane-v*': No such file or directory root@OpenWrt:/usr/lib/sane# rm libsane-w* rm: cannot remove 'libsane-w*': No such file or directory
Главное — не увлечься, и не убить то, что нужно оставить
Теперь результат наглядно – до:
Редактируем файл root@OpenWrt:/usr/lib/sane# nano /etc/sane.d/dll.conf
комментим # всестроки, не относящиеся к нашему backend(все, кроме xerox_mfp )
Теперь и scanimage запускается быстрее(он не тратит время на инициализацию всех backends), и хватит места, чтобы установить другие нужные сервисы.
P.S. На форуме wl500g.info я читал замечания о том, что сканер в таком подключении работает медленнее, чем будучи подключенным напрямую к компу.
Давайте проверим… Сканируем лист А4 в цвете в разном разрешении.
600dpi через роутер(wifi, при этом смотрел ролик на youtube в 720p) 4мин 16сек, напрямую 1мин 47сек(через роутер реально в 2.5 раза медленнее); 300 dpi через роутер 62сек, напрямую 31сек; 150dpi через роутер 20сек, напрямую 15сек(тут разница совсем небольшая)
В принципе, для иллюстрации документов в формате А4 или распознавания текста хватит 150 dpi. В ситуации, когда один сканер на несколько человек и объемы сканирования небольшие, вполне себе ничего решение. В ситуации, когда нужны высокие разрешения при больших объемах сканирования такое решение, естественно, не подойдет…