/dev/usb/lp* einem Drucker zuordnen

27/01/2015 - 21:40 von Peter Schütt | Report spam
Hallo,
ich, Debian/Stable, lese einmal am Tag die Füllstànde der Druckerpatronen
aus und schreibe sie in eine Datenbank:

Dazu greife ich auf /dev/usb/lp1 zu.
Mein Drucker ist üblicherweise /dev/usb/lp1, weil /dev/usb/lp0 dauerhaft von
einem Parallel-USB-Adapter belegt ist.

Aber mir wàre es lieber, ich könnte das irgendwie abfragen. Aber wie?
Woher weiß ich, auf welchen Drucker /dev/usb/lp1 verweist?

Danke für alle Hinweise und Tips.

Ciao
Peter Schütt

P.S. Wen es interessiert, hier ist das Skript, dass per Cron-Job einmal am
Tag aufgerufen wird.


#!/bin/sh

LP=/dev/usb/lp1

if [ ! -e $LP ]; then
exit
fi

TYPE=`escputil -q -d -r $LP`

echo "Found type: "$TYPE

if [ "$TYPE" != "EPSON WF-3010 Series" ]; then
exit
fi


for I in 1 2
do
OUTPUT=`escputil -i -r $LP | grep -A 4 Schwarz`
# Sometimes ttink produces rubbish on the printer.
# OUTPUT=`ttink -s -d $LP | grep -A 4 Schwarz`

if [ "$OUTPUT" != "" ]; then
break
fi
done

echo $LP : $TYPE : $OUTPUT

if [ "$OUTPUT" = "" ]; then
exit ;
fi

# ttink: Schwarz : 51 % Cyan : 44 % Magenta : 44 % Gelb : 40 %
# escputils: Foto-Schwarz 18 Magenta 59 Gelb 100 Cyan 93


# blackName=`echo $OUTPUT | cut -d ' ' -f 1`
blackName=Schwarz
black=`echo $OUTPUT | cut -d ' ' -f 2`
cyanName=cyan
cyan=`echo $OUTPUT | cut -d ' ' -f 4`
magentaName=magenta
magenta=`echo $OUTPUT | cut -d ' ' -f 6`
yellowName=gelb
yellow=`echo $OUTPUT | cut -d ' ' -f 8`


PARAMS="epsonwf3010 $blackName:Integer=$black $cyanName:Integer=$cyan
$magentaName:Integer=$magenta $yellowName:Integer=$yellow"

echo $PARAMS

# calls a simple java program which writes the params
# into a postgresql table
/opt/dbcollector/calldbcollect.sh $PARAMS




Zum AUSTRAGEN schicken Sie eine Mail an debian-user-german-REQUEST@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listmaster@lists.debian.org (engl)
Archive: https://lists.debian.org/ma8shs$gs5$1@ger.gmane.org
 

Lesen sie die antworten

#1 Ulf Volmer
28/01/2015 - 19:20 | Warnen spam
On Tue, Jan 27, 2015 at 09:30:52PM +0100, Peter Schütt wrote:

Dazu greife ich auf /dev/usb/lp1 zu.
Mein Drucker ist üblicherweise /dev/usb/lp1, weil /dev/usb/lp0 dauerhaft von
einem Parallel-USB-Adapter belegt ist.

Aber mir wàre es lieber, ich könnte das irgendwie abfragen. Aber wie?
Woher weiß ich, auf welchen Drucker /dev/usb/lp1 verweist?



Schwierig. Mir fàllt da nur ein, dmesg nach Boot/ Anschalten des Druckers
auszuwerten:

[ 6.742966] usblp0: USB Bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x03F0 pid 0x0317
[ 6.743044] usbcore: registered new interface driver usblp

vid und pid sind dann die IDs des Druckers, die Du per lsusb angezeigt
bekommst.

Viele Grüße
Ulf


Zum AUSTRAGEN schicken Sie eine Mail an
mit dem Subject "unsubscribe". Probleme? Mail an (engl)
Archive: https://lists.debian.org/

Ähnliche fragen