Достаточно много времени потратил на поиск рабочего решения с принтером HP LaserJet P1005. В процессе поиска понял, что тема актуальна для целого ряда принтеров этого производителя и не только, а именно Minolta/QMS magicolor 2300 DL, Minolta/QMS magicolor 2200 DL, Konica Minolta magicolor 2430 DL, Minolta Color PageWorks/Pro L, HP LaserJet P2035, HP LaserJet 1022, HP LaserJet 1020, HP LaserJet 1018, HP LaserJet 1005, HP LaserJet 1000, HP LaserJet M1319 MFP, LaserJet P1005, LaserJet P1006, LaserJet P1007, LaserJet P1008, laserJet P1505, HP LaserJet P1505/P2014, HP LaserJet M1005/M1120 MFP, HP Color LaserJet CP1215, HP Color LaserJet 1600/2600n, HP Color LaserJet 1500, HP Color LaserJet 2605dn, Konica Minolta magicolor 2480/2490 MF, Konica Minolta magicolor 2530 DL, Konica Minolta magicolor 1680MF/1690MF, Konica Minolta magicolor 1600W, Samsung CLP-300/310/315/600/610, Xerox Phaser 6110, Lexmark C500n, Oki C3100n/C3200n/C3300/C3400n, Oki C5100n/C5200n, Oki C5500n/C5600n/C5800n, Kyocera KM-1635/KM-2035, Minolta/QMS magicolor 2300W/2400W/2500W, Minolta/QMS PagePro 12xxW, Minolta/QMS PagePro 13xxW, Konica Minolta PagePro 14xxW и др.
Проблема принтера HP LaserJet P1005 (и перечисленнных полагаю тоже) состоит в том, что их прошивка не понимает ничего, кроме кода, генерируемого фирменным драйвером, установленным на машинке, с которой происходит печать, к которой должен быть подключен принтер. Лечится прочисткой мозгов альтернативной прошивкой, которая держится в принтере до выключения питания.
Предлагаемое решение честно взято и сведено из различных топиков на этом сайте, проверено на D-Link DIR-320 и Asus WL-500gP V1, прошитых девятым и десятым "Олегом" и отлавливает включение-выключение/передергивание USB-кабеля принтера.
1. Логинимся в шелл роутера
2. Переходим в директорию
3. Копируем необходимые для принтера файлы в эту директорию:
Code:
wget http://oleg.wl500g.info/hplj/usb_printerid
wget http://oleg.wl500g.info/hplj/*МОДЕЛЬ ВАШЕГО ПРИНТЕРА*.dl (точное имя файла/модели принтера можно найти на http://oleg.wl500g.info/hplj, для других производителей - искать драйвер на сайтах http://foo2zjs.rkkda.com и http://foo2xqx.rkkda.com)
4. В ней же создаем hotplug.sh :
Code:
#!/bin/sh
PRN_BIN=/usr/local/sbin/usb_printerid
PRN_FRM=/usr/local/sbin/*МОДЕЛЬ ВАШЕГО ПРИНТЕРА*.dl
if [ "$ACTION" = "add" ] || [ "$1" = "usb" ] || [ "$DEVFS" = "/proc/bus/usb" ]; then
sleep 5
$PRN_BIN /dev/usb/lp0 | grep -q FWVER || cat $PRN_FRM > /dev/usb/lp0
fi
killall hotplug.sh
5. В файл post-boot в самом НАЧАЛЕ после #!/bin/sh добавляем:
Code:
/bin/echo "/usr/local/sbin/hotplug.sh" >> /proc/sys/kernel/hotplug
6. Делаем эти файлы исполняемыми: chmod +x /usr/local/sbin/*
7. Набираем команду ls и видим, что цвет названий всех 5 файлов теперь изменился.
8. В конце всех действий пишем:
Code:
flashfs save && flashfs commit && flashfs enable && reboot
Все! После этого можно использовать принтер как сетевой.
Буду рад конструктивным замечаниям и предложениям.
Пожалуйста, выкладывайте готовые решения - ими будут пользоваться люди, а не гуру.