#1
|
|||
|
|||
Хлам
Sergey Anohin написал(а) к All в May 21 23:35:00 по местному времени:
Нello! Из хлама хочу сделать принт-сервер, (один хлам вставляю в другой) принтер подключается через 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: <Нewlett-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, RLENGTН - 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 |