Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: HP Proliant Microserver N36L fails to boot under current



On 04/17/15 10:49, Tom Spindler (moof) wrote:
On Tue, Mar 24, 2015 at 09:19:34PM +0000, Michael van Elst wrote:
That patch seems to fix the problem. I used a 7.99.5 kernel with
the above to successfully boot the machine with a NetBSD 7.0_BETA
userland. Can you commit the fix?
Does IPMI work for you?
I have a ProLiant G7 N54L and just ran into the same issue, and the same
patch allows the machien to boot, too. IPMI doesn't work, but it didn't
work before, either.

ipmi: bus_space_map(..., 0, 2, 0, 0xffffffff808f5be8) failed

I took a snapshot of the screen where it paniced; it's pretty much exactly
the same as dtyson's.

attimer1: attached to pcppi1
extent_alloc_region: extent 'ioport` (0x0 - 0xffff)
extent_alloc_region: start 0xfffffffffffffff9, end 0xfffffffffffffffa
panic: extent_alloc_region: region lies outside extent
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip blah blah blah blah


I have done a bit more poking around on this problem. I think the issue is that if you don't have the IPMI card installed then NetBSD ipmi.c code still tries to attach the device. The patch supplied with PR #48233 corrects a problem that the BIOS incorrectly reports the I/O address for the device, however it makes the assumption that the card is actually present!

If you look at the debug output under current then:

ipmi_smbios_probe 01 20 20 ff 00000000 00 00

The base address is 00000000 and the existing patch just decrements the address by 7 and that panics the kernel when an attempt to access that address space occurs. NetBSD 7 is OK so far as this patch hasn't been pulled up. Accessing the zero address on that gives an bus map error.

My guess is that if you plug in a ipmi card then the base address will now be 00000CA9 and the code will correctly change this to 00000CA2 and the card will be detected.

I installed a recent Debian on a spare disk for the N36L and dmidecode shows:

# dmidecode 2.11
SMBIOS 2.6 present.

Handle 0x001B, DMI type 38, 18 bytes
IPMI Device Information
        Interface Type: KCS (Keyboard Control Style)
        Specification Version: 2.0
        I2C Slave Address: 0x10
        NV Storage Device: Not Present
        Base Address: 0x0000000000000000 (Memory-mapped)
        Register Spacing: Successive Byte Boundaries

Linux fails to attach the device and I did have an attempt at forcing it to use the 0xCA2 address and that fails to work. If I had a ipmi card I am sure it would have attached fine.

It would be nice to get a bit of feedback from someone with an ipmi card in HP microserver hardware. The results on booting a kernel with and without the card should confirm the analysis.

I think the patch in 48233 need to be reworked so that if the base address is zero then ipmi.c just silently ignores the non-existent device and doesn't bother to try and map it.

Even without the ipmi card you can get the environmental monitoring info if a wd83795g0 device is configured in the kernel.

Dave



Home | Main Index | Thread Index | Old Index