Le meilleur moyen de faire cohabiter PLIP et LP est d'utiliser les
modules du noyau : vous pouvez charger plip.o et le
décharger quand vous avez besoin d'imprimer et vice versa. Si
vous avez vraiment besoin d'utiliser PLIP et LP ensembles, essayez les
patches décrits dans les sections suivantes.
8.1
PLIP et LP sur le même port
Si, pour une raison quelconque, vous souhaitez que PLIP et LP soient
supportés directement par le noyau, vous pouvez essayer ces patches.
Vous devez modifier les parties de codes suivantes, MAIS sauvegarder
d'abord les fichiers originaux :
******** modifications de linux/drivers/char/lp.c ***********************
struct lp_struct lp_table[] = {
{ 0x3bc, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL,
NULL, },
/* { 0x378, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL,
NULL, },
{ 0x278, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL,
NULL, },
*/
};
#define LP_NO 1
******** modifications de linux/drivers/net/Space.c ********************
#if defined(PLIP) || defined(CONFIG_PLIP)
extern int plip_init(struct device *);
static struct device plip2_dev = {
"plip2", 0, 0, 0, 0, 0x278, 2, 0, 0, 0, NEXT_DEV, plip_init, };
static struct device plip1_dev = {
"plip1", 0, 0, 0, 0, 0x378, 7, 0, 0, 0, &plip2_dev, plip_init, };
/* static struct device plip0_dev = {
"plip0", 0, 0, 0, 0, 0x3BC, 5, 0, 0, 0, &plip1_dev, plip_init, };
*/
# undef NEXT_DEV
# define NEXT_DEV (&plip1_dev)
#endif /* PLIP */
Bien sûr, il y a l'avertissement standard : j'ai reçu ces patches
et je les ai mis ici tels quels, c'est-à-dire que vous les essayez
à vos risques et périls ! Cela dit, votre plus gros désagrément
ne devrait être que la restauration des fichiers et leur
recompilation.
Si vous avez au moins deux ports parallèles, vous pouvez essayer ces
patches. Ils devraient vous permettre d'utiliser PLIP sur un port et
LP sur un autre.
- Mettre en commentaire un ligne du fichier source du noyau
drivers/char/lp.c
struct lp_struct lp_table[] = {
{ 0x3bc, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
{ 0x378, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
/* { 0x278, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, }, */
};
3 -> 2
- Configuration du noyau
PLIP (parallel port) support (CONFIG_PLIP) [n] y
Parallel Printer support [y] y
- Le message du noyau au démarrage est alors :
lp1 at 0x0378, using polling driver
.....
NET3 PLIP version 2.0 gniibe@mri.co.jp
plip2: Parallel port at 0x278, using assigned IRQ 5.
Et à nouveau l'avertissement, voir la section
PLIP et LP sur le même port.
|