Подключение МФУ HP Photosmart к маршрутизатору Dlink DIR-320.

Материал из Wiki.UnixForum.org

Перейти к: навигация, поиск

Содержание

Введение

Итак, купил я себе данный девайсик(ибо нужен был Wi-fi маршрутизатор). Однако после знакомства с данным девайсом выяснилось, что он является ни чем иным, как маршрутизатором Asus WL500g, только с уменьшенным объемом флэш-памяти(с 8 мегабайт до 4). После недолгого поиска было найдено руководство, при помощи которого я смог прошить в данный девайс прошивку от wl500g, что превратило его в полноценную линукс-машину с 32 мегабайтами RAM, и возможностью подключения флэшек/хардов в качестве дополнительной дисковой памяти. Ну и захотелось мне, кроме стандартной качалки торрента(в качестве клиента я использовал transmissions), организовать еще на нем принт/сканнер-сервер. И если принт-сервер настраивать вообще не пришлось - тот, что был в прошивке заработал с моим МФУ(Photosmart C4283) сразу, то сканнер пришлось настраивать отдельно, о чем далее и пойдет речь.

Подключение флэшки

Итак, первым делом нам надо подключить к нашему роутеру флэшку, создать на нем два раздела(ext3 и swap), установить минимальное ПО на нее(bash, ipkg). Как это сделать, описано здесь. От себя добавлю только то, что кроме всего этого вам надо будет установить пакет ulibc, иначе при попытке запуска любой проги у вас будет выдаваться, что файл не найден:

ipkg install ulibc 

Настройка sane и hplip

Далее приступим к установке и настройке sane и hplip. Тут у меня возникла первая проблема: дело в том, что пакет hplip вместе со своими зависимостями весит довольно много, а временная папка по умолчанию находится в tmpfs, и, естественно, места у нас просто не хватает. Поэтому надо указать ipkg использовать в качестве временной папки каталог на флэшке:

ipkg -t /opt/tmp install sane-backends hplip 


После установки мы получаем еще одну проблему: dbus, который необходим для hplip сегфолтится при запуске. Для решения этой проблемы надо поставить dbus версии 1.1(взять готовый пакет можно здесь, либо можно собрать его самому). Далее удалаяем старый пакет, и ставим новый.:


Консоль:

cd /opt/tmp

wget http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/dbus_1.1.1-2_mipsel.ipk

ipkg -force-depends remove dbus

ipkg install dbus_1.1.1-2_mipsel.ipk


Далее, надо немножко подрихтовать стартовые скрипты: дело в том, что dbus при запуске, как и любой нормальный демон создает pid-файл в /opt/var/run/dbus. Однако, проблема в том, что если роутер выключается, то делается это не командой halt, а простым выдергиванием питания из розетки. Все бы ничего, но таким образом pid-файлы не удаляются, и при следующем включении роутера стартовый скрипт dbus будет думать, что он уже запущен, и, соответственно, удалять pid-файл и запускать dbus придется вручную. Чтобы этого не делать, можно в скрипт /usr/local/sbin/post-boot до старта инит-скриптов(/opt/etc/init.d/rc.unslung) добавить команду "rm /opt/var/run/dbus/*". Вот пример моего post-boot, у вас он может отличаться:

<geshi lang='bash'>

  1. !/bin/sh

mount /dev/discs/disc0/part1 /opt swapon /dev/discs/disc0/part2 vsftpd /usr/local/etc/vsftpd.conf

$i=0 while [ $i -le 15 ] do

  if [ -d /opt/etc ]
  then
     break
  fi

sleep 1 i=`expr $i + 1` done

rm /opt/var/run/dbus/* /opt/etc/init.d/rc.unslung HOME=/opt/share/torrent /opt/bin/transmission-daemon </geshi>

И не забываем сохранить изменения во встроенную память:

 flashfs save && flashfs commit 

Далее надо разрешить sane принимать соединения по сети. Для этого для начала ставим xinetd:

 ipkg install xinetd 

После чего создаем файл /opt/etc/xinetd.d/saned следующего содержания:

<geshi> service saned { socket_type = stream server = /opt/sbin/saned protocol = tcp user = admin group = root wait = no disable = no } </geshi>

Далее открываем файл /opt/etc/sane.d/saned.conf и добавляем в него примерно следующую строчку:

<geshi>

  1. ip-адрес хоста/сети, которым разрешен доступ к сканнеру

192.168.99.22 192.167.3.0/24 </geshi>

Все, можем теперь запускать xinetd:

 /opt/etc/init.d/S10xinetd start 

Теперь приступим к настройке клиента. Для того ставим пакет sane(и, возможно, xsane, если вам нужен GUI). Далее открываем файл "/etc/sane.d/net.conf", и добавляем в него адрес вашего роутера.

Все, теперь можете читать man xsane и сканить картинки.

Полезные ссылки

Мне еще понадобилось установить CUPS. (ipkg install cups)

Личные инструменты
see also