On Fri, Jul 06, 2001 at 08:09:28PM +0200, Robert Waldner wrote: > > I had to reconfigure my printer port from IRQ 7 to IRQ 5 (because I?ve > got a soundcard which is hardwired to IRQ 7 <grr>). > > Luckily I had compiled lp as a module, so I thought a simple change from > `modprobe lp irq=7` to "irq=5" should suffice. Nope: > > bash-2.03# insmod lp.o irq=5 > lp.o: init_module: Device or resource busy > > syslogs tells: > Jul 6 20:06:14 WatchZwerg kernel: lp0: Not found > Jul 6 20:06:14 WatchZwerg kernel: lp: No override devices found. > > But as far as I can tell IRQ 5 is free: > bash-2.03# cat /proc/interrupts > 0: 70383 timer > 1: 2356 keyboard > 2: 0 cascade > 4: 5556 + serial > 7: 0 sound blaster > 9: 54 eth0 > 10: 783 eth1 > 12: 61 + 53c7,8xx > 13: 1 math error > 14: 10430 + ide0 > 15: 26 + ide1 > > Hints? FM?s? Clue!?
First the hints: /sbin/modinfo -p lp filename: /lib/modules/2.4.5-ac7/kernel/drivers/char/lp.o description: <none> author: <none> parm: parport string array (min = 1, max = 8) parm: reset int /sbin/modinfo -p parport_pc filename: /lib/modules/2.4.5-ac7/kernel/drivers/parport/parport_pc.o description: "PC-style parallel port driver" author: "Phil Blundell, Tim Waugh, others" parm: io int array (min = 1, max = 16), description "Base I/O address (SPP regs)" parm: io_hi int array (min = 1, max = 16), description "Base I/O address (ECR)" parm: irq string array (min = 1, max = 16), description "IRQ line" parm: dma string array (min = 1, max = 16), description "DMA channel" /sbin/modinfo -p parport filename: /lib/modules/2.4.5-ac7/kernel/drivers/parport/parport.o description: <none> author: <none> The clue is that you need to insmod parport_pc first and it needs to know the irq. Try this: echo "options parport_pc irq=5" >> /etc/modutils/local update-modules modprobe lp # (kmod could also load it automatically) Cheers, Joost