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.
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.
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
PLIP (parallel port) support (CONFIG_PLIP) [n] y
Parallel Printer support [y] y
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.