PLIP와 LP를 함께 사용하는 가장 좋은 방법은 커널 모듈을 사용하는 것이다.: 당신은 plip.o를 로드한후 프린터나 이외의 일을 할 때에 로드하지 않을 수 있다. 당신이 진정으로 PLIP와 LP를 함께 사용하려고 한다면 다음의 패치들을 따르십시오.
어떤 이유로 당신이 PLIP와 LP를 커널에의해서 함께 사용하려고 한다면, 이 패치들을 사용하기 바란다.
당신은 아래의 코드를 수정하여야하며, 그전에 이전 파일들을 반드시 백업하기 바란다:
******** modifications to 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 to 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 */
물론, 이것은 표준적인 방법이 아니다: 나는 이 패치들을 받고 내가 했던 데로 썼다. 이것은 당신 스스로 해보아야함을 의미한다. 아무튼, 당신의 가장 큰 문제는 원 파일을 복원하고 재 컴파일 하여야 한다는 것이다.
이 패치를 활용하기 위해서는 적어도 2개의 병렬포트를 가지고 한쪽에는 PLIP를 다른 편은 LP를 사용해야한다.
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.
다시 내용은 8.1과 같다.