Cela fait fort longtemps que ma vieille imprimante laser hl-820 traine dans le salon. Hier soir je rentre et me dit, je ne dors pas tant qu'elle n'a pas craché les pages de test depuis tous les OS.

Après quelques tentatives simples avec cups je deviens fou :

stray irq7 stray irq7 stray irq7

Je cherche un peu et tombe sur le graal : lptcontrol. Depuis Octobre 2006 cups est un peu brokmut semble-t-il. De fait la seule solution viable fût de passer le port de son mode par défaut dit IRQ-driven à un mode plus coopératif : le polling.

ça se fait le plus simplement du monde en tapant :

[root@core ~]# lptcontrol -p Et voila le tour est joué. Cela dit, vous vous dites : “ et je devrai refaire ça à chaque boot ?” Heureusement que non. Freebsd possède un petit fichier device.hints dans /boot/ qui ma foi est bien pratique. En l'occurence il suffit d'ajouter :

hint.ppc.0.flags=“0x28” Pour la petite explication 0x20 correspond au polling mode à proprement parler, et 0x08 au mode ECP du port parallèle.

Autre petit truc en cas d'irq storm alors que l'impression fonctionne correctement on peut lire dans le dmesg :

Interrupt storm detected on “irq7: lpt0”; throttling interrupt source

Il suffit de remonter le niveau de déclenchement via le sysctl de cette alerte avec :

echo “hw.intr_storm_threshold=20000” » /etc/sysctl.conf

freebsd/cups_et_problemes_irq.txt · Last modified: 2010/01/12 13:29 (external edit)