Tag Archive for file d’attente

Mac OS X : comment sélectionner automatiquement le PPD d’un copieur multi-fonction ?

Je déteste les copieurs multi-fonctions. Au moins, vous êtes prévenu : si vous lisez des gros mots, ça ne sera pas ma faute.

Je viens de me battre pendant quelques jours à essayer de faire fonctionner correctement un copieur BizHub 350 de Konica Minolta avec Mac OS X 10.6. Car, voyez-vous, le constructeur n’a pas encore eu l’heurt de proposer un pilote à jour pour ce système sorti depuis maintenant 14 mois… Pas grave, hein, on va se débrouiller, comme d’habitude !

Donc, après avoir trouvé avec le (très gentil) technicien de Konica le bon driver (C-401, parce qu’il y a un Fiery derrière, amusant non ?), puis sélectionné la bonne file d’attente (« print », là c’est facile, mais attention, ça dépend du copieur), il restait à trouver comment sélectionner automatiquement le bon driver. Car Mac OS X dispose d’une petite subtilité pour choisir automatiquement le driver. Il faut, dans l’ordre :

– que le copieur renvoie son nom de modèle (ModelName) à la connexion avec le Mac ;

– Qu’il existe dans un dossier PPDs (principalement dans /Library/Printers/) un PPD compressé au format .gzip et intitulé avec le ModelName du copieur.

Dans l’ensemble, ce mécanisme marche… pas trop mal. Mais que se passe-t-il si le développeur, particulièrement incompétent, fait n’importe quoi ?

Et ben on se prend bien le chou. Car il faut alors trouver le modèle renvoyé par le copieur, ce qui n’est pas totalement évident… Dans mon cas, j’avais un PPD qui s’appelait Fiery X3e 22C-KM PS v2.0 eu. Pratique non ? Le ModelName dans le PPD indiquait quand à lui Fiery X3e 22C-KM PS Color Server v2.0 eu. Problème : quelque soit le nom utilisé, impossible d’avoir le PPD sélectionné automatiquement. Ce qui veut dire que le copieur ne se présente pas comme indiqué dans le PPD.

Et bien, soit ! Analysons un peu le traffic IP entre le Mac et l’imprimante au moment de la connexion. Tapons donc dans le Terminal :

sudo tcpdump -nnnvi en0 host IP_Copieur

Ici, en0 désigne le nom BSD de votre connexion Ethernet. La plupart du temps, c’est en0 si vous êtes en Ethernet ou en1 si vous utilisez Airport. En cas de doute, vérifiez ce nom dans Informations Système > Réseau. Et vous remplacez évidemment IP_Copieur par l’adresse IP ou le nom DNS de votre copieur.

Maintenant, ouvrez la préférence Système Imprimantes et Fax, appuyez sur le bouton +, puis sur le bouton IP pour faire une configuration via IP, et tapez l’adresse du copieur, ici 192.168.1.51.

Aie… « Imprimante PostScript générique » ! Pas vraiment ce qu’on veut… Il est temps maintenant de regarder ce que ça donne du côté de tcpdump Beaucoup de bla-bla, mais une ligne qui m’intéresse :

23:15:06.354258 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 92)    192.168.1.51.161 > 192.168.1.2.59013:  { SNMPv1 { GetResponse(49) R=1536459456  .1.3.6.1.2.1.25.3.2.1.3.1= »C350″ .1.3.6.1.2.1.1.6.0= » » } }
Ne voyez-vous donc pas ? « C350 », qu’elle dit, la dame ! Il faut donc :
– Décompresser le PPD ;
– Remplacer à l’aide d’un éditeur de texte le ModelName dans le PPD par C350 ;
– Renommer ce fichier PPD décompressé en C350 ;
– Recompresser le PPD au format Gzip (avec la commande gzip, par exemple) ;
– Replacer le PPD C350.gzip dans le dossier /Bibliothèque/Printers/PPDs/Contents/Resources/
Saisissons  à nouveau l’adresse du copieur…
Victoire !!! Attention cependant à bien mettre le bon nom de file d’attente avant d’enregistrer : par exemple, pour ce modèle de copieur, c’est « print », mais sur d’autres, ça peut être « lp », ou rien, ou autre chose…
Et au passage, petite info : si vous utilisez les préférences gérées (MCX) pour appliquer des imprimantes par défaut à vos postes, méfiez-vous de ne pas laisser de caractère spécial ou accentué dans le nom de l’imprimante : vous risqueriez alors de rajouter des nouveaux doublons à chaque ouverture de session !