• Хлам

    From Sergey Anohin@2:5034/10.1 to All on Sun May 2 23:35:00 2021
    Hello!

    Из хлама хочу сделать принт-сервер, (один хлам вставляю в другой) принтер подключается через usb, но там какой-то хитрый кабель, типа в системе он видится как lpt.
    Принтер заводится через зад:
    attach 120 {
    device-name "ulpt[0-9]+";
    match "vendor" "0x03f0";
    match "product" "0x0517";
    action "cat /usr/local/share/foo2zjs/firmware/sihp1000.dl > /dev/$device-name"; };

    Проблема в том что это работает до перезагрузки или шатдауна, после надо ручками перетыкать USB,

    ulpt0 on uhub5
    ulpt0: <Hewlett-Packard hp LaserJet 1000, class 0/0, rev 1.10/1.20, addr 2> on usbus3
    ulpt0: using bi-directional mode
    ulpt0: output error

    Давным-давно было еще такое

    attach 110 {
    device-name "ulpt[0-9]+";
    action "/usr/local/sbin/ulpt-cupsd.sh enable $device-name";
    };

    но сейчас вроде как это устарело и/или не работает, скрипт этот выпилили уже из cups порта
    # cat /usr/local/sbin/ulpt-cupsd.sh
    #!/bin/sh
    #
    # $FreeBSD$

    usage() {
    echo "$0: usage:" >&2
    echo "$0 [enable|disable] devicename" >&2
    exit 1
    }

    if [ -z "$2" ]; then
    usage
    fi

    printer="$(awk -v DEVICENAME="$2" '
    /^<(Default)?Printer[[:space:]]/ {
    if (match($0, /[^[:space:]>]+>/)) {
    PRINTER=substr($0, RSTART, RLENGTH - 1);
    }
    }
    /^<\/(Default)?Printer/ {
    PRINTER=""
    }
    match($0, "DeviceURI[[:space:]]+usb:/dev/" DEVICENAME "\$") {
    print PRINTER
    }
    ' /usr/local/etc/cups/printers.conf)"

    if [ -z "$printer" ]; then
    # nothing to do
    exit 0
    fi

    case "$1" in
    enable)
    chown cups:cups "/dev/$2"
    /usr/local/sbin/cupsenable "$printer"
    ;;
    disable)
    /usr/local/sbin/cupsdisable "$printer"
    ;;
    *)
    usage
    ;;
    esac
    exit 0

    Полностью devd файлик

    # cat /usr/local/etc/devd/ulpt-cupsd.conf
    # /usr/local/etc/devd/cups.conf
    #
    # $FreeBSD: branches/2016Q1/print/cups-base/files/ulpt-cupsd.conf.in 340872 2014-01-24 00:14:07Z mat $
    #
    # Tell cups to pause and unpause the printer when it arrives and departs.
    #

    attach 110 {
    device-name "unlpt[0-9]+";
    action "/usr/local/sbin/ulpt-cupsd.sh enable $device-name";
    };

    attach 110 {
    device-name "ulpt[0-9]+";
    action "/usr/local/sbin/ulpt-cupsd.sh enable $device-name";
    };

    attach 120 {
    device-name "ulpt[0-9]+";
    match "vendor" "0x03f0";
    match "product" "0x0517";
    action "cat /usr/local/share/foo2zjs/firmware/sihp1000.dl > /dev/$device-name"; };

    attach 110 {
    device-name "lpt[0-9]+";
    action "/usr/local/sbin/ulpt-cupsd.sh enable $device-name";
    };

    detach 110 {
    device-name "unlpt[0-9]+";
    action "/usr/local/sbin/ulpt-cupsd.sh disable $device-name";
    };

    detach 110 {
    device-name "ulpt[0-9]+";
    action "/usr/local/sbin/ulpt-cupsd.sh disable $device-name";
    };

    detach 110 {
    device-name "lpt[0-9]+";
    action "/usr/local/sbin/ulpt-cupsd.sh disable $device-name";
    };

    # eof


    Щас в общем-то и /usr/local/sbin/cupsdisable не существует.
    usb power_off/on ясен пень не помогает. Если ли какой костыль?




    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Vladimir Goncharov@2:5035/63 to Sergey Anohin on Mon May 3 00:42:36 2021

    Hello Sergey!

    02 May 21 23:35, you wrote to all:

    Hello!

    Из хлама хочу сделать принт-сервер, (один хлам вставляю в другой)
    принтер подключается через usb, но там какой-то хитрый кабель, типа в системе он видится как lpt. Принтер заводится через зад: attach 120 { device-name "ulpt[0-9]+"; match "vendor" "0x03f0"; match "product" "0x0517"; action "cat /usr/local/share/foo2zjs/firmware/sihp1000.dl > /dev/$device-name"; };

    Проблема в том что это работает до перезагрузки или шатдауна, после
    надо ручками перетыкать USB,

    а что если cat /usr/local/share/foo2zjs/firmware/sihp1000.dl > /dev/ulpt0 в /etc/rc.local написать?

    Vladimir

    --- GoldED+/BSD 1.1.5-b20170303-b20170303
    * Origin: (2:5035/63)
  • From Sergey Anohin@2:5034/10.1 to Vladimir Goncharov on Mon May 3 01:54:23 2021
    Hello, Vladimir!


    а что если cat /usr/local/share/foo2zjs/firmware/sihp1000.dl > /dev/ulpt0 в /etc/rc.local написать?

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

    Оффтоп: Кстати, в чем секрет? Всегда было интересно почему на некоторых материнках при power off тушат usb power, а на некоторых нет, бывает что некоторые порты обесточивают, некоторые нет,
    может в биосе какая магия есть? :) Я так понимаю это типа нужно для Wake up


    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Evgeny Chevtaev@2:5010/275 to Sergey Anohin on Mon May 3 16:41:50 2021
    Hi Sergey!

    Monday May 03 2021 01:54, Sergey Anohin wrote to Vladimir Goncharov:

    Оффтоп: Кстати, в чем секрет? Всегда было интересно почему на
    некоторых материнках при power off тушат usb power, а на некоторых
    нет, бывает что некоторые порты обесточивают, некоторые нет, может в
    биосе какая магия есть? :) Я так понимаю это типа нужно для Wake up

    Эта магия, если предусмотрена, то либо настраивается в BIOS, либо джамперами на матери.

    With best regards,
    Evgeny
    --- GoldED+/BSD 1.1.5-b20180707
    * Origin: Powered by FreeBSD 13.0-RELEASE (2:5010/275)
  • From Sergey Anohin@2:5034/10.1 to Evgeny Chevtaev on Mon May 3 18:57:04 2021
    Hello, Evgeny!

    Оффтоп: Кстати, в чем секрет? Всегда было интересно почему на
    некоторых материнках при power off тушат usb power, а на некоторых
    нет, бывает что некоторые порты обесточивают, некоторые нет, может в
    биосе какая магия есть? :) Я так понимаю это типа нужно для Wake up
    Эта магия, если предусмотрена, то либо настраивается в BIOS, либо джамперами на матери.

    Посмотрел доку по материнке и не нашел такого, но у других моделей видел

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Sergey Anohin@2:5034/10.1 to Vladimir Goncharov on Mon May 3 18:59:21 2021
    Hello, Vladimir!

    а что если cat /usr/local/share/foo2zjs/firmware/sihp1000.dl > /dev/ulpt0 в /etc/rc.local написать?

    Я сначала не понял, а теперь понял, ты имел ввиду выпилить из devd. адо кстати попробовать, если прокатит, скриптец напоить с каким нибудь lock файлом типа


    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Eugene Grosbein@2:5006/1 to Sergey Anohin on Mon May 3 23:41:28 2021
    02 мая 2021, воскресенье, в 23:35 NOVT, Sergey Anohin написал(а):

    Из хлама хочу сделать принт-сервер, (один хлам вставляю в другой) принтер подключается через usb, но там какой-то хитрый кабель, типа в системе он видится
    как lpt.

    Hеправда, ulpt (USB) не есть lpt (параллельный порт старый).

    Принтер заводится через зад:
    attach 120 {
    device-name "ulpt[0-9]+";
    match "vendor" "0x03f0";
    match "product" "0x0517";
    action "cat /usr/local/share/foo2zjs/firmware/sihp1000.dl > /dev/$device-name";
    };

    Буээ, вин-принтер! Поменяй на любой полноценный принтер типа моего
    HP LJ 1022 и забудь этот, как страшный сон. 1022 работает вообще
    без заливок firmware, засыпает и просыпается потом при начале печати самостоятельно и компу мозги не пудрит.

    Проблема в том что это работает до перезагрузки или шатдауна, после надо ручками перетыкать USB,
    ulpt0 on uhub5
    ulpt0: <Hewlett-Packard hp LaserJet 1000, class 0/0, rev 1.10/1.20, addr 2> on
    usbus3
    ulpt0: using bi-directional mode
    ulpt0: output error

    usb power_off/on ясен пень не помогает. Если ли какой костыль?

    Hу, попробуй ещё так:

    usbconfig -d 3.1 set_config 255
    usbconfig -d 3.1 set_config 0

    Hастоящий адрес USB-устройства вместо 3.1 погляди в выдаче usbconfig
    без аргументов.

    Eugene
    --
    Поэты - страшные люди. У них все святое.
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Eugene Grosbein@2:5006/1 to Sergey Anohin on Mon May 3 23:42:21 2021
    03 мая 2021, понедельник, в 01:54 NOVT, Sergey Anohin написал(а):

    Оффтоп: Кстати, в чем секрет? Всегда было интересно почему на некоторых материнках при power off тушат usb power, а на некоторых нет, бывает что некоторые порты обесточивают, некоторые нет,
    может в биосе какая магия есть? :) Я так понимаю это типа нужно для Wake up

    Hа некоторых материнках во встроенном USB-хабе распаяна
    микросхема управления питанием, на некоторых нет. Чаще нет.

    Eugene
    --
    - Локапалы непобедимы, - сказал Кубера, а девочка подняла кубик
    и долго-долго разглядывала его, прежде чем назвать.
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Sergey Anohin@2:5034/10.1 to Eugene Grosbein on Tue May 4 00:28:04 2021
    Hello, Eugene!

    Hа некоторых материнках во встроенном USB-хабе распаяна
    микросхема управления питанием, на некоторых нет. Чаще нет.

    у я примерно так и понял что на некоторых моделях есть перемычки standby usb power

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Sergey Anohin@2:5034/10.1 to Eugene Grosbein on Tue May 4 00:34:50 2021
    Hello, Eugene!

    Буээ, вин-принтер! Поменяй на любой полноценный принтер типа моего
    HP LJ 1022 и забудь этот, как страшный сон. 1022 работает вообще
    без заливок firmware, засыпает и просыпается потом при начале печати самостоятельно и компу мозги не пудрит.

    Работает и слава богу

    usbconfig -d 3.1 set_config 255
    usbconfig -d 3.1 set_config 0
    Hастоящий адрес USB-устройства вместо 3.1 погляди в выдаче usbconfig
    без аргументов.

    е прокатило, спасибо Vladimir Goncharov за идею. Сделал костыльными скриптами:

    attach 120 {
    device-name "ulpt[0-9]+";
    match "vendor" "0x03f0";
    match "product" "0x0517";
    action "/usr/local/etc/cups/hplock.sh /dev/$device-name";
    };

    detach 120 {
    device-name "ulpt[0-9]+";
    #match "vendor" "0x03f0";
    #match "product" "0x0517";
    action "/usr/local/etc/cups/hpunlock.sh";
    };

    Только я не въехал почему если раскомментировать match в detach оно не работает.

    #cat hplock.sh 174/174 #!/bin/sh

    if [ -f /usr/local/etc/cups/hp.lock ]
    then
    echo "lock file exist!"
    else
    cat /usr/local/share/foo2zjs/firmware/sihp1000.dl > $1
    touch /usr/local/etc/cups/hp.lock
    fi

    # cat hpunlock.sh
    #!/bin/sh

    if [ -f /usr/local/etc/cups/hp.lock ]
    then
    rm /usr/local/etc/cups/hp.lock
    else
    echo "lock file doesn't exist!"
    fi

    Конечно такой костыль не перекроет кейз, если комп выключен и кто-то принтер вкл-выкл сделает,
    но для меня хотя бы так пойдет :)

    По-нормальному если делать, то это надо как-то у принтера узнавать, залита на него прошивка или нет, если кто-то даст идею,
    буду благодарен.

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Andrey Ostanovsky@2:5030/1957 to Sergey Anohin on Thu May 20 13:33:04 2021
    Hello Sergey!

    04 May 21 00:34, you wrote to Eugene Grosbein:

    По-нормальному если делать, то это надо как-то у принтера узнавать,
    залита на него прошивка или нет, если кто-то даст идею, буду
    благодарен.

    Зачем? Просто льем прошивку перед печатью - и не заморачиваемся... С этими win-принтерами еще есть грабли, что засыпая - они эту залитую прошивку теряют.

    Andrey

    --- GoldED+/BSD 1.1.5-b20070503
    * Origin: PGP KeyID 0x2ABEC67A, 0xA7BA47DD andrey @ ostanovsky. (2:5030/1957)
  • From Sergey Anohin@2:5034/10.1 to Andrey Ostanovsky on Thu May 20 19:42:20 2021
    Hello, Andrey!

    По-нормальному если делать, то это надо как-то у принтера узнавать,
    залита на него прошивка или нет, если кто-то даст идею, буду
    благодарен.
    Зачем? Просто льем прошивку перед печатью - и не заморачиваемся... С этими win-принтерами еще есть грабли, что засыпая - они эту залитую прошивку теряют.

    Дык не льется в том и проблема, i/o error


    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)