Page 1 of 7 123 ... LastLast
Results 1 to 15 of 251

Thread: Как подружить принтер HPLJ P1005/1022 и роутер Asus

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. Post Как подружить принтер HPLJ P1005/1022 и роутер Asus

    Подключение к роутеру Host-Based принтера + другой USB периферии.

    Являюсь счастливым обладателем роутера WL-500gP, принтера HP LaserJet 1018 и внешнего HDD, которые должны работать в связке.
    На форуме существует много топиков, в которых обсуждается автоматическое подключение этих "нехороших" принтеров.
    Все они похожи друг на друга и все работают... Но у всех есть побочный эффект, перестают работать все USB устройства, кроме
    принтера, что есть не очень удобно. Ниже я в очередной раз приведу инструкцию по загрузке драйверов и установке скрипта,
    в котором работает определение всех USB устройств совместно с работой принтера.

    Пример будет рассмотрен на базе того что у меня было, т.е. LaserJet 1018. В местах, где есть различия, я буду сообщать.

    Ну, приступим:

    1. Заходим на роутер через TelNet или SSH.
    2. Если еще не создана папка /usr/local/sbin, то создаем командой

    Code:
    mkdir /usr/local/sbin
    3. Переходим в этот каталог

    Code:
    cd /usr/local/sbin
    4. Загружаем файлы, необходимые для работы принтера

    Code:
    wget http://oleg.wl500g.info/hplj/usb_printerid
    wget http://oleg.wl500g.info/hplj/sihp1018.dl
    ! Здесь надо уделить внимание строке wget http://oleg.wl500g.info/hplj/sihp1018.dl.

    Если у вас принтер не HP 1018, то ЗДЕСЬ ищем прошивку под свой HP и подставляете свою ссылку.
    Если у вас не HP, то придется искать прошивку самим.

    5. Создаем файл со скриптом

    Code:
    echo "#!/bin/sh" > hotplug.sh
    echo "" >> hotplug.sh
    echo "# set -x" >> hotplug.sh
    echo "" >> hotplug.sh
    echo "PRN_BIN=/usr/local/sbin/usb_printerid" >> hotplug.sh
    echo "PRN_FRM=/usr/local/sbin/sihp1018.dl" >> hotplug.sh
    echo "PRN_ID=3f0/4117/100" >> hotplug.sh
    echo "if [ \$veros = 2.6 ] ; then" >> hotplug.sh
    echo "        PRN_DEV=/dev/lp0" >> hotplug.sh
    echo "else" >> hotplug.sh
    echo "        PRN_DEV=/dev/usb/lp0" >> hotplug.sh
    echo "fi" >> hotplug.sh
    echo "PRN_NAME=\"HP LaserJet 1018\"" >> hotplug.sh
    echo "" >> hotplug.sh
    echo "logger -t hotplug \"Request for \$ACTION device \$PRODUCT at \$* interface\"" >> hotplug.sh
    echo "" >> hotplug.sh
    echo "if [ \"\$ACTION\" = \"add\" ] && [ \"\$*\" = \"usb\" ] && [ \"\$DEVFS\" = \"/proc/bus/usb\" ] && [ \"\$PRODUCT\" = \$PRN_ID ]; then" >> hotplug.sh
    echo "                logger -t hotplug \"Device is \$PRN_NAME Printer\"" >> hotplug.sh
    echo "                while test ! -e \$PNT_DEV; do" >> hotplug.sh
    echo "                        logger -t hotplug \"Waiting for printer respond\"" >> hotplug.sh
    echo "                        sleep 1" >> hotplug.sh
    echo "                done" >> hotplug.sh
    echo "        sleep 2" >> hotplug.sh
    echo "        logger -t hotplug \"Loading firmware to printer\"" >> hotplug.sh
    echo "        \$PRN_BIN \$PRN_DEV | grep -q FWVER || cat \$PRN_FRM > \$PRN_DEV" >> hotplug.sh
    echo "        if [ \"\$?\" -eq 0 ] ; then" >> hotplug.sh
    echo "                logger -t hotplug \"Loading Successful\"" >> hotplug.sh
    echo "        else" >> hotplug.sh
    echo "                logger -t hotplug \"Loading Failed\"" >> hotplug.sh
    echo "        fi" >> hotplug.sh
    echo "fi" >> hotplug.sh
    echo "/sbin/hotplug \$*" >> hotplug.sh
    ! Здесь стоит обратить внимание на строки:

    Code:
    echo "PRN_FRM=/usr/local/sbin/sihp1018.dl" >> hotplug.sh
    echo "PRN_ID=3f0/4117/100" >> hotplug.sh
    echo "PRN_NAME=\"HP LaserJet 1018\"" >> hotplug.sh
    Привожу описание по строкам:

    5.1. Путь к прошивке принтера. Необходимо заменить sihp1018.dl на имя вашей прошивки.
    5.2. Device ID вашего принтера.
    5.3. Строка, которая будет подставляться в syslog в качестве имени принтера.

    6. Делаем автозапуск скрипта.
    Если файл еще не существует, то создаем/обновляем файл pre-boot:

    Code:
    echo "#!/bin/sh" > pre-boot
    Для всех

    Code:
    echo "/bin/echo \"/usr/local/sbin/hotplug.sh\" > /proc/sys/kernel/hotplug" >> pre-boot
    7. Делаем файлы исполняемыми

    Code:
    chmod +x /usr/local/sbin/*
    8. Сохраняем изменения

    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    На этом настройка роутера закончена.
    После перезапуска роутер будет готов для работы с принтером и другой периферией.

    ЗДЕСЬ представлен универсальный скрипт, поддерживающий все модели LaserJet.
    Все что от Вас требуется - это скачать файл прошивки и положить в нужный каталог.

    UPD: Слегка доработал скрипт, теперь должна быть полная совместимость между версиями -d и -rtn.

    Code:
    #!/bin/sh
    
    LJ_1000=3f0/517
    LJ_1005=3f0/1317
    LJ_1018=3f0/4117
    LJ_1020=3f0/2b17
    LJ_1022=3f0/2c17
    LJ_1022n=3f0/2d17
    LJ_1022nw=3f0/3017
    LJ_P1005=3f0/3d17
    LJ_P1006=3f0/3e17
    LJ_P1007=3f0/4817
    LJ_P1008=3f0/4917
    LJ_P1505=3f0/3f17
    LJ_P1505n=3f0/4017
    
    FRM_CAT=/usr/local/sbin/
    PRN_BIN=usb_printerid
    PRN_DEV=""
    
    case `echo $PRODUCT | awk -F/ '{print $1 "/" $2}'` in
    	$LJ_1000)
    		PRN_FRM=sihp1000.dl
    		PRN_ID=$LJ_1000
    		PRN_NAME="HP LaserJet 1000"
    	;;
    	$LJ_1005)
    		PRN_FRM=sihp1005.dl
    		PRN_ID=$LJ_1005
    		PRN_NAME="HP LaserJet 1005"
    	;;
    	$LJ_1018)
    		PRN_FRM=sihp1018.dl
    		PRN_ID=$LJ_1018
    		PRN_NAME="HP LaserJet 1018"
    	;;
    	$LJ_1020)
    		PRN_FRM=sihp1020.dl
    		PRN_ID=$LJ_1020
    		PRN_NAME="HP LaserJet 1020"
    	;;
    	$LJ_1022)
    		PRN_FRM=sihp1020.dl
    		PRN_ID=$LJ_1020
    		PRN_NAME="HP LaserJet 1022"
    	;;
    	$LJ_1022n)
    		PRN_FRM=sihp1020.dl
    		PRN_ID=$LJ_1022n
    		PRN_NAME="HP LaserJet 1022n"
    	;;
    	$LJ_1022nw)
    		PRN_FRM=sihp1020.dl
    		PRN_ID=$LJ_1022nw
    		PRN_NAME="HP LaserJet 1022nw"
    	;;
    	$LJ_P1005)
    		PRN_FRM=sihpP1005.dl
    		PRN_ID=$LJ_P1005
    		PRN_NAME="HP LaserJet P1005"
    	;;
    	$LJ_P1006)
    		PRN_FRM=sihpP1006.dl
    		PRN_ID=$LJ_P1006
    		PRN_NAME="HP LaserJet P1006"
    	;;
    	$LJ_P1007)
    		PRN_FRM=sihpP1007.dl
    		PRN_ID=$LJ_P1007
    		PRN_NAME="HP LaserJet P1007"
    	;;
    	$LJ_P1008)
    		PRN_FRM=sihpP1008.dl
    		PRN_ID=$LJ_P1008
    		PRN_NAME="HP LaserJet P1008"
    	;;
    	$LJ_P1505)
    		PRN_FRM=sihpP1505.dl
    		PRN_ID=$LJ_P1505
    		PRN_NAME="HP LaserJet P1505"
    	;;
    	$LJ_P1505n)
    		PRN_FRM=sihpP1505.dl
    		PRN_ID=$LJ_P1505n
    		PRN_NAME="HP LaserJet P1505n"
    	;;
    	*)
    		PRN_FRM=''
    		PRN_ID=ffff/ffff
    		PRN_NAME="unknown"
    	;;
    esac
    
    if [ -d /dev/usb ] ;
    	then PRN_DEV=/dev/usb/lp0
    	else PRN_DEV=/dev/lp0
    fi
    
    logger -t hotplug "Request for $ACTION device $PRODUCT at $* interface"
    
    if [ "$ACTION" = "add" ] && [ "$*" = "usb" ] && [ "$PRN_DEV" != "" ] && [ "$PRN_ID" != "ffff/ffff" ]; then
    	logger -t hotplug "Device is $PRN_NAME Printer"
    	while test ! -e $PNT_DEV; do
    		logger -t hotplug "Waiting for printer respond"
    		sleep 1
    	done
    
    	logger -t hotplug "Loading firmware to printer"
    	$FRM_CAT$PRN_BIN $PRN_DEV | grep -q FWVER || cat $FRM_CAT$PRN_FRM > $PRN_DEV
    	RET_CODE=$?
    	sleep 1
    
    	if [ $RET_CODE -eq 0 ] ; 
    		then logger -t hotplug "Loading Successful"
    		else logger -t hotplug "Loading Failed"
    	fi
    fi
    /sbin/hotplug $*
    Last edited by Omega; 05-12-2011 at 00:21. Reason: fixed

  2. #2
    Join Date
    Apr 2007
    Location
    Russia
    Posts
    12
    Доброго вечера.
    Пытаюсь настроить принтер LaserJet 1018 для ASUS WL-500g Premium.
    Выполняю шаги, указанные в этом сообщении: http://www.wl500g.info/showpost.php?...7&postcount=11

    При выполнении последнией команды
    ./usb_printerid /dev/usb/lp0 | grep -q FWVER || cat sihp1020.dl > /dev/usb/lp0

    выдается сообщение:
    Error: No such file or directory: can't open '/dev/usb/lp0'
    -sh: cannot create /dev/usb/lp0: Permission denied

    попробовал более старую версию прошивки - 1.8.2.7-7f - та же байда.

    пермишены на /dev/usb в порядке (ls -ld /dev/usb )
    владельцем является текущий пользователь, права доступа 755

    тем не менее команда
    $ > /dev/usb/w
    вылетает с Permission denied

    ума не приложу в чем дело - ведь у других людей получалось настроить.
    я уже и настройки несколько раз сросил, и прошивки менял и в каких только комбинациях не пробовал принтер подключить и настроить - все одно.

    может подскажите хотя бы куда копать?
    Заранее спасибо за ответы
    Last edited by Omega; 30-01-2011 at 17:43. Reason: 2 post merged

  3. #3
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Quote Originally Posted by sash_xp View Post
    Error: No such file or directory: can't open '/dev/usb/lp0'
    Пишет же по-русски: нет такого файла. Принтер у Вас не обнаружен. Кстати, грузить Вам надо код для 1018, а не 1020. Или Вы совсем не понимаете смылс команд?

  4. #4
    Join Date
    Apr 2007
    Location
    Russia
    Posts
    12
    Да нет я и грузил для 1018 - в примере просто скопировал. Не настолько уж и туп как кажусь.
    И то что принтер не обнаружен - я тоже понимаю.
    Непонятно - почему не обнаружен и что надо сделать, чтобы обнаружил.

  5. #5
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    dmesg давайте.

  6. #6
    Join Date
    Apr 2007
    Location
    Russia
    Posts
    12
    полный вывод команды во вложении.
    а вот что пишется в логах при подключении принтера

    Code:
    hub.c: new USB device 01:03.2-2, assigned address 4
    usb.c: USB device not accepting new address=4 (error=-71)
    hub.c: new USB device 01:03.2-2, assigned address 5
    usb.c: USB device not accepting new address=5 (error=-71)
    и совешенно странная мессага

    Code:
    Apr 19 01:17:28 kernel: unknown GRE version 6
    не видел такую раньше...
    Attached Files Attached Files
    Last edited by sash_xp; 18-04-2007 at 22:44. Reason: добавление

  7. #7
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Quote Originally Posted by sash_xp View Post
    полный вывод команды во вложении.
    а вот что пишется в логах при подключении принтера
    Понятно. Проверьте USB кабель, возможно дело в нём. Или где-то не до конца он вставлен. А флешки работают при подключении к роутеру?

  8. #8

    здравствуйте...

    У меня также не печатает LaserJet 1020.... Прочетав ветку я понял, что нужно скачать sihp1020.dl, и куда-то его прилепить...
    Не подскажете куда? и как?
    Спасибо.
    Антон.

  9. #9
    Join Date
    Jan 2006
    Location
    Moscow
    Posts
    85
    Почитай еще раз ветку http://wl500g.info/showthread.php?t=4092&highlight=1020 .
    Только вчера настраивал 1018 таким образом - все великолепно работает. Только вот скрипт для "автоматического" подцепления принтера при включении, который там дан, некорректный, он сам себя запускает бесконечное кол-во раз, пока память не кончится. Я его немного модифицировал, и теперь все работает.
    Для начала попробуй сделать http://wl500g.info/showpost.php?p=24807&postcount=11

  10. #10
    Quote Originally Posted by SergeyVl View Post
    Почитай еще раз ветку http://wl500g.info/showthread.php?t=4092&highlight=1020 .
    Только вчера настраивал 1018 таким образом - все великолепно работает. Только вот скрипт для "автоматического" подцепления принтера при включении, который там дан, некорректный, он сам себя запускает бесконечное кол-во раз, пока память не кончится. Я его немного модифицировал, и теперь все работает.
    Для начала попробуй сделать http://wl500g.info/showpost.php?p=24807&postcount=11
    Привет, а ты не мог бы для чайника сделать инструкцию...
    Я бы был тебе благадарен... Отблагодарил бы...)))

  11. #11
    Join Date
    Jan 2006
    Location
    Moscow
    Posts
    85
    Написал на всякий случай, мало ли кому еще понадобится...

    Сначала надо настроить на компе самым обычным образом печать на подключенный к роутеру принтер (описано тут).

    У меня к роутеру подключен жестяк, поэтому все связанное с принтером, естественно, лежит на нем. Диск смонтирован в /opt.

    На диске в папке /opt/usr/printer я поместил выложенные Олегом файлы (ссылка) для HP 1018, т.е. usb_printerid и sihp1018.dl. Первый из них - это утилита идентификации принтера, второй - файл программы для принтера, который при "нормальной" работе принтера от компьютера сгружается драйвером в принтер перед печатью, это что-то вроде прошивки.
    После этого проверил работоспособность этой штуки - включил принтер, и коммандой
    usb_printerid /dev/usb/lp0 | grep -q FWVER || cat sihp1018.dl > /dev/usb/lp0
    (естественно, находясь в папке с драйвером и утилитой, чтобы не писать полные пути) загрузил драйвер в принтер. Произошла инициализация принтера (он включился и немного покрутил барабаном, как перед печатью). Печать с компьютера после этого пошла абсолютно нормально.

    Далее я решил автоматизировать инициализацию принтера. Где-то на форуме нашел идею проверки подключаемых к USB устройств, и написал скрипт проверки принтера и загрузки в него прошивки при его включении или подключении к USB. Файл скрипта hotplug.sh положил в папку /opt/usr/hotplug. Код скрипта:
    #!/bin/sh
    LOG=/opt/var/log/hotplug.log
    PRN_BIN=/opt/usr/printer/usb_printerid
    PRN_FRM=/opt/usr/printer/sihp1018.dl
    echo --------------- >> $LOG
    date >> $LOG
    echo $* >> $LOG
    set >> $LOG
    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
    echo "Printer OnLine" >> $LOG
    else
    echo "Printer OffLine" >> $LOG
    fi
    killall hotplug.sh

    Если логи не нужны, запись их несложно выкинуть отсюда. Пути так же можно легко поменять.
    А чтобы этот скрипт запускался при подключении устройств, надо прописать его в hotplug роутеру, для этого я в post-mount (который надо создать, если отсутствует, в папке /tmp/local/sbin) добавил после всего остального (запуск веб-сервера, mysql, php, cron и т.д.) строку:
    echo "/opt/usr/hotplug/hotplug.sh" >> /proc/sys/kernel/hotplug

    Все файлы скриптов и утилиты идентификации естественно надо сделать исполняемыми (chmod +x имя_файла).

    Впринципе, для автоматической инициализации принтера и возможности печати на него этого достаточно. Вроде как ничего не забыл указать. Если забыл - поправьте меня, исправлюсь)

    Потом я еще кое-чего химичил, но это уже для печати не обязательно...

    На роутере естественно стоит прошивка от Олега последней версии. Если надо, информацию о том, как создать файлы, папки, и многое другое на форуме неоднократно описано, поэтому расписывать подробнее не стал.

  12. #12

    для тех у кого нету внешнего винта

    для тех у кого нету внешнего винта:

    Копируем файлы :
    sihp1020.dl
    usb_printerid
    в директорию /usr/local/sbin

    В ней же создаем hotplug.sh :

    #!/bin/sh
    PRN_BIN=/usr/local/sbin/usb_printerid
    PRN_FRM=/usr/local/sbin/sihp1020.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


    В файл post-boot в самом конце добавляем :

    # Printer
    /bin/echo "/usr/local/sbin/hotplug.sh" >> /proc/sys/kernel/hotplug

    Делаем
    flashfs save
    flashfs commit
    flashfs enable


    Вуаля. Все работает

  13. #13

    Принтер HP D1460

    Купил принтерок HP D1460,подключил согласно инструкции Олега.
    Всё установилось ногрмально, но печать живет своей жизнью... Печатается полстраницы , а потом принтер останавливается и в табличке о состоянии печати вижу: "Ошибка-Печать- Перезапуск",а в верху этого окошка , где напечатана марка принтера постоянно мигает "обновление"
    Лампочка принтера начинает мигать... т.е. ошибка..
    На роутере принтер установлен нормально, в веб интерфейсе принтер прописан и находится в статусе on-line.
    С логом вроде тоже всё нормально
    Code:
    Apr  2 06:42:53 p9100d[84]: Finished job: 201880 bytes received 
    Apr  2 06:42:53 p9100d[84]: copy_stream: Connection reset by peer 
    Apr  2 06:50:53 kernel: printer.c: usblp0 Device ID string [145/max 1552]='MFG:HP;MDL:Deskjet D1400 series;CMD:LDL,DYN;CLS:PRINTER;DES:D1460;SN:TH79B31FFT04Y2;S:0380008000020020052c148003dc2500047;Z:007,05400000400000;'
    Apr  2 06:50:53 kernel: printer.c: Parsing USBLPID...
    Но проблема решается только перезагрузкой компа или входом в службы и перезапуском печати...
    Если же принтер подключаешь напрямую к компу - всё нормально....
    Но хотелось бы распечатывать без включение компа с драйверами принтера, напрямую , т.к. дома 3-компьютера

  14. #14
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Проблема в драйверах принтера. Возможно в настройках принтера стоит отключить двунаправленный обмен.

  15. #15
    Quote Originally Posted by Oleg View Post
    Проблема в драйверах принтера. Возможно в настройках принтера стоит отключить двунаправленный обмен.
    Доброго времени суток, господа!

    Имею точно такую-же проблемку. Мой НР D1560 (дешевенький струйник) не хочет допечатывать страницу до конца (буквально несколько строчек)
    При подключении того-же кабеля ЮСБ к компьютеру напрямую - все работает.
    Само собой это: http://oleg.wl500g.info/printing/ выполнено, в итоге даже заменил прошивку: на http://code.google.com/p/wl500g/downloads/list, но ни с разрешенным двусторонним обменом данными, ни с запрещенным, правильно работать не хочет: останавливается в конце страницы и в очереди печати пишет ошибка.

    Может кто-то сталкивался, буду признателен за помощь!!

Page 1 of 7 123 ... LastLast

Similar Threads

  1. Как настроить роутер для работы с внешним FTP ?
    By Scondo in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 273
    Last Post: 03-08-2014, 23:28
  2. Как подружить ASUS WL-500g Premium с ADSL модемом ZyXEL P-600?
    By FilimoniC in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 135
    Last Post: 11-03-2012, 07:44
  3. Настройка FTP сервера на Asus WL-500gP
    By RonS in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 259
    Last Post: 27-11-2011, 15:57

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •