Bonsoir la liste,

Sur le site openprinting.org il est proposé un script en Perl qui récupère la 
chaine "Device ID" d'une une imprimante USB.

Ils expliquent comment ça marche :
USB: Download the "getusbprinterid.pl" Perl script, make it executable ("chmod 
a+rx getusbprinterid.pl"), and then run 
(as "root") "./getusbprinterid.pl /dev/usb/lp0" 
(or "/dev/usblp0", "/dev/usb/lp1", or whatever the USB device file to access 
your printer is). If your printer is configured with HPOJ use 
the "ptal-devid" command. You will get the so-called device ID string as 
output. 

Je dois indiquer un mauvais device car le script trépasse à la ligne 3.(***)

Chez moi je n'ai aucun :
- dev/usb/lp0
- dev/usblp0
- dev/usb/lp1

J'ai essayé quelques devices au hasard dans cette liste :
/dev/usbdev1.1_ep00
/dev/usbdev1.1_ep81
/dev/usbdev1.3_ep00
/dev/usbdev1.3_ep02
/dev/usbdev1.3_ep81
/dev/usbdev2.1_ep00
/dev/usbdev2.1_ep81
/dev/usbdev3.1_ep00
/dev/usbdev3.1_ep81

Au cas où mon imprimante serait configurée avec "HPOJ", la commande ptal-devid 
n'est pas disponible non plus sur ma machine (aptitude show).

Pourtant le noyau reconnaît bien la présence de l'imprimante à chaud.

Je ne pense pas que ce soit spécifique à une distribution en particulier.
Est-ce que quelqu'un à une idée où je pourrais poster cette question en 
français?






(***) Le script perl :
#!/usr/bin/perl

open FILE, "$ARGV[0]" or die;

my $result;
# Calculation of IOCTL function 0x84005001 (to get device ID string):
# len = 1024
# IOCNR_GET_DEVICE_ID = 1
# LPIOC_GET_DEVICE_ID(len) = _IOC(_IOC_READ, 'P', IOCNR_GET_DEVICE_ID, len)
# _IOC(), _IOC_READ as defined in /usr/include/asm/ioctl.h

ioctl(FILE, 0x84005001, $result) or die;
close FILE;

# Cut resulting string to its real length
my $length = ord(substr($result, 1, 1)) + (ord(substr($result, 0, 1)) << 8);
$result = substr($result, 2, $length-2);

# Remove non-printable characters
$result =~ tr/[\x0-\x1f]/\./;
print "$result\n";





-- 
Cordialement

Alain Vaugham
--------------------------------------------------------
[PUB] Signature numérique GPG de ce courrier: 0xD26D18BC

Attachment: pgptlg7cXEkNg.pgp
Description: PGP signature

_________________________________
Linux mailing list
[email protected]
http://lists.parinux.org/mailman/listinfo/linux

Répondre à