Page 11 of 17 FirstFirst ... 910111213 ... LastLast
Results 151 to 165 of 251

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

  1. #151
    Join Date
    Apr 2008
    Location
    город самоваров и пряников
    Posts
    1,492
    Quote Originally Posted by Knight_Rider View Post
    Есть мысля прикрутить в скрипт загрузку прошивки из http://oleg.wl500g.info/hplj/ , если она небыл найден в папке с прошивками. Но я сомневаюсь в его целесообразности.
    Это - на любителя, т.к. Интернет есть не везде, а, если даже и есть, то не всегда работает. Да и папка эта давно не пополняется. Пополнится - можно добавить в скрипт и скачать новый драйвер.
    Ламер, деградировавший до чайника.

    1. WL-500gP(v1)|RAM 128M|Entware 3.0.4-r4844M|Доработаны цепи питания|Заменены светодиоды
    Samsung G2 Portable HX-MU050DC|Скрипт поднятия wan после падения|transmission|dlengine|vnstat
    2. DIR-320|RAM 64M|Flash 8M|Entware 1.9.2.7-rtn-r4772M|Принт-сервер для HP 1000-1022, P1005-P1505

  2. #152
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    уберите вообще третий параметр. Это версия внутренней прошивки, теоретически он может изменяться со временем. Оставьте только проверку vid и pid

    2) возможно ли одновременное подключение нескольких принтеров через хаб и, если да, то каким образом?
    Для подключения второго принтера следует запустить еще одну копию p910nd на порту 9101 или 9102. Всего поддерживается до трех принтеров. Здесь http://www.wl500g.info/showpost.php?p=80189&postcount=7 предлагался скрипт как два принтера разруливать по портам

  3. #153
    Join Date
    Apr 2008
    Location
    город самоваров и пряников
    Posts
    1,492
    Выкладываю "допиленный" скрипт. Пришлось повозиться с проверкой подключённого принтера безотносительно к версии прошивки. Вроде, на первый взгляд, несложно, но геморрой ещё тот!
    Убрал лишние проверки, исправил ещё одну ошибку, вернул оператор logger, который почему-то на сей раз стал у меня работать. Ну, и навёл некоторую косметику.
    Code:
    #!/bin/sh
    
    logger -t hotplug "====================================================="
    logger -t hotplug hotplug.sh started
    
    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/hplj/
    PRN_BIN=usb_printerid
    
    case `expr substr $PRODUCT 1 \`expr \\\`expr length $PRODUCT\\\` - 4\`` 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=fff/ffff
        PRN_NAME="unknown"
      ;;
    
    esac
    
    if [ $veros = 2.6 ] ;
      then PRN_DEV=/dev/lp0
      else PRN_DEV=/dev/usb/lp0
    fi
    
    logger -t hotplug Request for $ACTION device $PRODUCT at $* interface
    
    if [ $ACTION = "add" ] && [ $PRN_ID != "fff/ffff" ]
      then
        logger -t hotplug Device is $PRN_NAME
    
        while test ! -e $PRN_DEV; do
          logger -t hotplug Waiting for printer response
          sleep 1s
        done
    
        logger -t hotplug Loading firmware to printer
    
        $FRM_CAT$PRN_BIN $PRN_DEV | grep -q "$PRN_NAME" && cat $FRM_CAT$PRN_FRM > $PRN_DEV
        RET_CODE=$?
        sleep 1s
    
        if [ $RET_CODE -eq 0 ]
          then logger -t hotplug "Loading successful! :)"
          else logger -t hotplug "Loading failed! :("
        fi
    fi
    
    logger -t hotplug hotplug.sh ended
    logger -t hotplug "*****************************************************"
    Ламер, деградировавший до чайника.

    1. WL-500gP(v1)|RAM 128M|Entware 3.0.4-r4844M|Доработаны цепи питания|Заменены светодиоды
    Samsung G2 Portable HX-MU050DC|Скрипт поднятия wan после падения|transmission|dlengine|vnstat
    2. DIR-320|RAM 64M|Flash 8M|Entware 1.9.2.7-rtn-r4772M|Принт-сервер для HP 1000-1022, P1005-P1505

  4. MrGalaxy, все отлично, вот только Вы забыли добавить в конец скрипта
    Code:
    /sbin/hotplug $*
    P.S. Думаю теперь этот скрипт можно добавлять в FAQ
    Last edited by Knight_Rider; 16-12-2010 at 10:53.

  5. #155
    Join Date
    Apr 2008
    Location
    город самоваров и пряников
    Posts
    1,492
    Quote Originally Posted by Knight_Rider View Post
    MrGalaxy, все отлично, вот только Вы забыли добавить в конец скрипта
    Code:
    /sbin/hotplug $*
    P.S. Думаю теперь этот скрипт можно добавлять в FAQ
    Да, забыл вставить.
    Ламер, деградировавший до чайника.

    1. WL-500gP(v1)|RAM 128M|Entware 3.0.4-r4844M|Доработаны цепи питания|Заменены светодиоды
    Samsung G2 Portable HX-MU050DC|Скрипт поднятия wan после падения|transmission|dlengine|vnstat
    2. DIR-320|RAM 64M|Flash 8M|Entware 1.9.2.7-rtn-r4772M|Принт-сервер для HP 1000-1022, P1005-P1505

  6. #156
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    Пришлось повозиться с проверкой подключённого принтера безотносительно к версии прошивки. Вроде, на первый взгляд, несложно, но геморрой ещё тот!
    советую эту проверку заменить на что-то вроде:
    Code:
    echo $PRODUCT | awk -F/ '{print $1 "/" $2}'
    поскольку привязка к длине поля не сильно универсальна...

  7. Quote Originally Posted by al37919 View Post
    советую эту проверку заменить на что-то вроде:
    Code:
    echo $PRODUCT | awk -F/ '{print $1 "/" $2}'
    поскольку привязка к длине поля не сильно универсальна...
    Подставил этот код и вывел $PRODUCT, он не изменился.
    $PRODUCT менять не желательно, т.к. потом эти данные идут к hotplug.

  8. #158
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    это предлагается использовать вместо следующего достаточно мутного кода:
    Code:
    expr substr $PRODUCT 1 \`expr \\\`expr length $PRODUCT\\\` - 4\`
    для формирования строки для проверки. $PRODUCT меняться не должен.

  9. Quote Originally Posted by al37919 View Post
    это предлагается использовать вместо следующего достаточно мутного кода
    Как я понял этот код должен брать значение из $PRODUCT преобразовывать из 3f0/1317/100 в 3f0/1317 и записывать обратно в $PRODUCT.
    вот что у меня получилось
    Code:
    Dec 16 21:06:21 hotplug: PRODUCT before 3f0/4117/100 echo
    Dec 16 21:06:21 hotplug: PRODUCT after 3f0/4117/100 echo
    UPD:
    Точнее она должна возвращать укороченный вариант. Только вот ничего не происходит
    Last edited by Knight_Rider; 16-12-2010 at 19:18.

  10. #160
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    неправильно. Берем $PRODUCT и преобразуем его в строку для сравнения с $LJ_1000 etc. Контроль:
    Code:
    echo '3f0/517/100' | awk -F/ '{print $1 "/" $2}'
    в общем, посмотите, что такое case

  11. Quote Originally Posted by al37919 View Post
    неправильно. Берем $PRODUCT и преобразуем его в строку для сравнения с $LJ_1000 etc. Контроль:
    Code:
    echo '3f0/517/100' | awk -F/ '{print $1 "/" $2}'
    в общем, посмотите, что такое case
    Что такое case я знаю, я его в этот скрипт и вкрутил.
    Покалупал Вашу команду, разобрался. Надо было использовать
    Code:
    echo "$PRODUCT" | awk -F/ '{print $1 "/" $2}'>$PRODUCT
    но когда я подставляю этот код в case, то получаю ошибку:
    Code:
    ./hotplug.sh: line 23: syntax error: unexpected word (expecting "in")
    попробовал убрать echo, получил
    Code:
    ./hotplug.sh: line 23: syntax error: unexpected "|" (expecting "in")
    Как можно выводимый функцией результат вывести в файл?

  12. #162
    Join Date
    Apr 2008
    Location
    город самоваров и пряников
    Posts
    1,492
    Quote Originally Posted by Knight_Rider View Post
    ...
    Покалупал Вашу команду, разобрался. Надо было использовать
    Code:
    echo "$PRODUCT" | awk -F/ '{print $1 "/" $2}'>$PRODUCT
    но когда я подставляю этот код в case, то получаю ошибку:...
    Зачем Вы так упорно пытаетесь записать новое значение в переменную PRODUCT?
    Вот так надо:
    Code:
    case `echo $PRODUCT | awk -F/ '{print $1 "/" $2}'` in
    Далее по тексту.
    Ламер, деградировавший до чайника.

    1. WL-500gP(v1)|RAM 128M|Entware 3.0.4-r4844M|Доработаны цепи питания|Заменены светодиоды
    Samsung G2 Portable HX-MU050DC|Скрипт поднятия wan после падения|transmission|dlengine|vnstat
    2. DIR-320|RAM 64M|Flash 8M|Entware 1.9.2.7-rtn-r4772M|Принт-сервер для HP 1000-1022, P1005-P1505

  13. Quote Originally Posted by MrGalaxy View Post
    Зачем Вы так упорно пытаетесь записать новое значение в переменную PRODUCT?
    Вот так надо:
    Code:
    case `echo $PRODUCT | awk -F/ '{print $1 "/" $2}'` in
    Далее по тексту.
    Я не пытался записать в PRODUCT, вот с такими вот косыми апострофами все отлично заработало. Спасибо Вам за совет. Итоговый скрипт будет иметь вид:
    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
    
    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 [ $veros = 2.6 ] ;
    	then PRN_DEV=/dev/lp0
     	else PRN_DEV=/dev/usb/lp0
    fi
    
    logger -t hotplug "Request for $ACTION device $PRODUCT at $* interface"
    
    if [ "$ACTION" = "add" ] && [ "$*" = "usb" ] && [ "$DEVFS" = "/proc/bus/usb" ] && [ "$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 1s
    	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 1s
    
    	if [ $RET_CODE -eq 0 ] ; 
    		then logger -t hotplug "Loading Successful"
    		else logger -t hotplug "Loading Failed"
    	fi
    fi
    /sbin/hotplug $*
    Вот теперь бы замутить скрипт, который перезапускает печать в случае ошибки. Это вообще возможно реализовать?
    Last edited by Knight_Rider; 16-12-2010 at 20:40.

  14. #164
    Join Date
    Apr 2008
    Location
    город самоваров и пряников
    Posts
    1,492
    Какой смысл в этом
    Code:
    $FRM_CAT$PRN_BIN $PRN_DEV | grep -q FWVER
    операторе?

    При каких условиях результат выполнения
    Code:
    /.../usb_printerid /dev/usb/lp0
    будет содержать строку FWVER?
    Ламер, деградировавший до чайника.

    1. WL-500gP(v1)|RAM 128M|Entware 3.0.4-r4844M|Доработаны цепи питания|Заменены светодиоды
    Samsung G2 Portable HX-MU050DC|Скрипт поднятия wan после падения|transmission|dlengine|vnstat
    2. DIR-320|RAM 64M|Flash 8M|Entware 1.9.2.7-rtn-r4772M|Принт-сервер для HP 1000-1022, P1005-P1505

  15. #165
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    когда прошивка загружена

Page 11 of 17 FirstFirst ... 910111213 ... 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
  •