Re: lp.o: init_module: Device or resource busy
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
Reply to: