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
pgptlg7cXEkNg.pgp
Description: PGP signature
_________________________________ Linux mailing list [email protected] http://lists.parinux.org/mailman/listinfo/linux
