Подключение МФУ 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'>
- !/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>
- 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)
