Pas de /dev/lp*

Bonjour à tous,

J’ai transféré le disque dur d’une machine sur lequel est installé une debian etch vers un PC plus récent.

Tout fonctionne comme auparavant, saul l’impression, il n’y a pas de fichier /dev/lp0

Au démarrage, le port parallèle est bien reconnu, j’ai même l’identité de l’imprimante qui est affichée:

parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
parport0: Printer, Hewlett-Packard HP LaserJet 2200
lp0: using parport0 (interrupt-driven).
ppdev: user-space parallel port driver

mais pas de fichier /dev/lp0

J’ai essayé de décharger puis recharger les modules parport_pc et lp, mais j’ai les mêmes messages, sans erreur.

D’où peut provenir un tel problème ?
Ce ficher est-il créé normalement à chaque démarrage ?
Faut-il le recréer “à la main”, et si oui, comment ?

Merci d’avance

G.

Peut-être que le port n’est pas défini pareil et que l’imprimante ne peut donc plus fonctionner.
Peut-être faut-il essayer de désinstaller l’imprimante pour la réinstaller aussitôt. Les utilitaires gnome ou KDE font ça très bien. Ou avec localhost:631

[quote=“ginkgo biloba”]Peut-être que le port n’est pas défini pareil et que l’imprimante ne peut donc plus fonctionner.
Peut-être faut-il essayer de désinstaller l’imprimante pour la réinstaller aussitôt. Les utilitaires gnome ou KDE font ça très bien. Ou avec localhost:631[/quote]

Non, rien à voir. Il ne servirait à rien de désinstaller l’imprimante, parce que je n’ai aucun périphérique d’imprimante que je pourrais préciser.

Le problème est:

Pourquoi les fichiers /dev/lp* ne sont pas créés au démarrage ?
Comment éventuellement les créer à la main ?

ou mieux:
comment faire pour que le processus de démarrage les crée normalement (je crois que ça a quelque chose à voir avec udev, que je ne connais pas du tout)

Etonnant, ça devrait être créer par udev cette histoire…

Bon, tu peux essayer en te mettant sur /dev et en faisant

MAKEDEV lp

Étonnant, non ?

[quote=“fran.b”]
Bon, tu peux essayer en te mettant sur /dev et en faisant

MAKEDEV lp[/quote]

J’ai essayé, mais voici ce qui sepasse:

root@courrier:~# cd /dev root@courrier:/dev# ./MAKEDEV lp udev active, devices will be created in /dev/.static/dev/ root@courrier:/dev# ls -l /dev/.static/dev/lp* crw-rw---- 1 root lp 6, 0 2008-01-29 18:53 /dev/.static/dev/lp0 crw-rw---- 1 root lp 6, 1 2008-01-29 18:53 /dev/.static/dev/lp1 crw-rw---- 1 root lp 6, 2 2008-01-29 18:53 /dev/.static/dev/lp2

Je n’ai accès qu’à distance à cette machine avant quelques jours, aussi je me limite à des interventions qui ne vont pas la rendre indisponible. J’ai essayé de faire un /etc/init.d/udev stop, ça n’a pas semblé possible.

J’avoue ne rien savoir de udev, et quelques explications seraient bienvenues.

C’est ce daemon qui créée les fichiers de /dev au démarrage ? Il est donc inutile de les créer à la main au risque de les voir disparaître au prochain reboot ?

Une piste serait-elle de modifier la configuration de udev pour que ce fichier soit créé ?

Autre pierre à l’édifice (ou caillou dans le jardin, c’est selon): j’ai un portable où j’ai installé la même distribution etch stable, sauf que le serveur a bénéficié de l’update de décembre, pas le portable.

Ce portable n’étant pas raccordé à une imprimante, je n’y ai pas installé cups. Je remarque que /dev/lp* n’existent pas. Mais sur ce portable, il suffit que je fasse un ‘modprobe lp’ pour le fichier /dev/lp0 soit créé.

Qu’est-ce qui peut expliquer cette différence de comportement ?

G.

Au fait, as tu bien chargé les modules parport et lp?

modprobe parport

modprobe lp

[quote=“fran.b”]Au fait, as tu bien chargé les modules parport et lp?

modprobe parport

modprobe lp[/quote]

Mais oui, bien sûr.

root@courrier:~# lsmod | grep par parport_pc 32132 1 parport 33256 3 lp,parport_pc,ppdev root@courrier:~# lsmod | grep lp lp 11012 0 parport 33256 3 lp,parport_pc,ppdev root@courrier:~# ls -l /dev/lp* ls: /dev/lp*: Aucun fichier ou répertoire de ce type

Je m’en doutais vu le message

[quote]lp0: using parport0 (interrupt-driven).
[/quote]mais il fallait être s. C’est quand même étonnant.
Si tu fais

[code]# cd /dev

mknod lp0 c 6 0

chmod 666 lp0[/code]

L’imprimante fonctionne-t-elle après?

J’ai vu que tu utilises ppdev,ce truc là est une alternative à lp (gestion du port parallèle en espace utilisateur au lieu de l’espace noyau), essaye en faisant un rmmod ppdev puis tu recharges lp.

[quote=“fran.b”]

[code]# cd /dev

mknod lp0 c 6 0

chmod 666 lp0[/code]

L’imprimante fonctionne-t-elle après?[/quote]

Merci de suivre ce problème. Je n’ai malheureusement pas accès à cette machine aujourd’hui, je poste dès que j’ai pu tester.

Plus j’y pense plus je crois à un conflit entre ppdev et lp…

Re-bonjour

Non, mea culpa: après avoir pu me rendre physiquement auprès de cette machine, j’ai vu un message au boot qui indiquait un problème avec udev.

en fait, j’ai recopié ce système d’un dique dur à un autre, et oublié de créer le répertoire /sys à la racine :unamused: .

Après cette correction, udev se chargeait bien, et /dev/lp0 était correctement créé.

L’imprimante fonctionne !

Mais…

Plus le réseau! :cry:

J’ai cru à un conflit avec la carte (étonnant, c’est une carte onboard) et j’en ai ajouté une dans un slot pci, mais le problème était le même avec les 2 cartes, c-à-d qu’elles sont détectées au boot par le noyau:

root@courrier:~# dmesg | grep eth eth0: Broadcom 4400 10/100BaseT Ethernet 00:02:e3:49:3d:0e

mais par la suite si on fait un ifconfig, on a message comme quoi cette interface n’existe pas.

Pour parer au plus pressé, j’ai ré-effacé /sys et ajouté les commandes que tu avais suggérées dans /etc/rc.local:

mknod /dev/lp0 c 6 0 chmod 666 /dev/lp0

Bon, maintenant, qu’est-ce que je fait de udev ? En quoi ce script peut-il influer sur le lancement du réseau ?

Si je désactive carrément le script dans /etc/init.d, quelles en seraient les conséquences ?

Que donne le syslog et que donne un ifup eth0? C’est bizarre tout de même on dirait que le module n’est pas chargé (tu peux le mettre dans /etc/modules mais bon…)