De beste manier om PLIP en LP samen te gebruiken is door gebruik te maken van kernelmodules; je kunt plip.o activeren en deactiveren wanneer je af moet drukken en vice versa. Als je echt beiden, PLIP en LP wilt gebruiken, probeer dan de volgende patches.
Als je om de een of andere reden PLIP en LP ondersteuning direct door de kernel ondersteund wil, kun je deze patches proberen.
Je moet de volgende stukken code aanpassen, maar maak vantevoren een backup van deze bestanden:
******** aanpassingen voor 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 ******** aanpassingen voor 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 */
Uiteraard is het standaard disclaimer van toepassing: Ik ontving deze patches en plaats ze hier "zoals ik ze ontving". Dit betekent dat je ze op eigen risico kunt proberen. Hoe dan ook, je grootste probleem zou kunnen bestaan uit het slechts weer herstellen van de oorspronkelijke bestanden en hercompilatie.
Als je op z'n minst 2 parallelle poorten hebt, kun je deze patches proberen, hiermee zou het mogelijk voor je moeten zijn PLIP op de ene en LP op de andere poort te gebruiken.
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.
Wederom de standaard disclaimer, als in sectie 8.1.