PNP/ACPI is reserving memory & causing problems
The box that was my families gateway to the internet had a disaster that was entirely my fault. I was trying to upgrade the kernel from 2.6.12-7 to 2.6.17-2. I was/am using the stock Debian ones (linux-image-2.6.17-2-k7). I have now rebuilt from scratch and have the following problem.
ACPI is enabled by default and the following line appears in dmesg
pnp: 00:01: ioport range 0xde00-0xde03 has been reserved
When it tries to load the tulip module for a network card these lines appear
PCI: Found IRQ 10 for device 0000:00:0c.0
PCI: Sharing IRQ 10 with 0000:00:08.0
PCI: Unable to reserve I/O region #1:100@de00 for device 0000:00:0c.0
I can see it is trying to use the same ioport region and therefore doesn't work (no ethX appears).
One solution to this is to boot with the acpi=off kernel option but that means I can't power down fully (it waits at the "Power down" prompt)
The system before I broke it booted automatically in the morning (with a BIOS alarm) and shut itself down with a cronjob AND the network card worked so I know it is possible to have both. I haven't moved any hardware except to use a different harddisk to debootstrap from.
I know the BIOS had a glitch while I was swapping harddisks and so was cleared (date/everything gone) so perhaps there is an option there I can re-tweak. I also updated the BIOS firmware some months ago.
Regarding that last point - if I boot with a 2.6.12 kernel (different harddisk) it claims the BIOS is pre 2001, disables it and the net-card works but no shutdown. With the new system, 2.6.17 kernel, ACPI is on by default.
I have tried different kernel options to do with acpi and got nothing other that the two scenarios already mentioned. Can I disable the pnp ioport reserve eg with pnp_reserve_io= option? If so, how?
If I use the pnpacpi=off option, the first dmesg line "ioport 0xde ... has been reserved" does not appear but the "Unable to reserve" one does.
cat /proc/ioports (acpi=off)
---snip---
de00-deff : 0000:00:0c.0
de00-deff : tulip
---snip---
cat /proc/ioports (with acpi and pnp)
---snip---
de00-deff : 0000:00:0c.0
de00-de03 : motherboard
de00-de03 : pnp
---snip---
The motherboard is a Gigabyte one with an AMD chipset (Irongate/Viper) (sorry can't find a model number) and the offending card is an ADMtek NC100 (uses ADMtek Comet driver/tulip)
Many thanks in advance.
Hugh
|