OpenBSD Journal

Developer blog: marco

Contributed by marco on from the angry-bob-is-scary-bob dept.

Today I found an angry Bob on icb because his sun v20z keeps rebooting due to something in ipmi(4). Bob also had some issues with an IBM box so it promptly got disabled in GENERIC until we know what is going on. <violin>My migraine is not helping me think today.</violin>

Updated at the bottom.

I start digging through the issue, talk to Toby, dig some more, screw around on Bob's box, call Jordan, screw around some more etc As I am closing in on the issue Jordan shows up on my doorstep with lunch and he immediately points out what's wrong. Poop, just spent hours looking for some stupid spec interpretation thing. Sun did it one way and Dell another way. We were reading a byte too early and discarding it so all the data we got from the sun was garbled; worked fine on the other boxes we tested on. Anyway we patch the box, build a new kernel, and reboot. Voila! it sprouts all kinds of stuff over the serial console. And it sprouts, and it sprouts, and it sprouts...

30 minutes later...

Hoorah! we are booting... And we are sprouting again... Damn it the ipmi poll is printing all kinds of debug goo I put in. And to top all this I forgot to set ddb.console=1.

I start working on acpi with Jordan and in between the polls I manage to log in to the box and type reboot. Hah, take that you stupid box! Needless to say that it never stopped spewing debug information until Bob power cycled it in the morning.

I did get a chance to test this on his IBM as well. We install it and are all hopeful just to see it crapping out completely differently. hey wait a minute I have seen this before. Hmmmm... Didn't we commit a patch for this weeks ago? We sure did! The IBM box has invalid values in it's SMBIOS and per the spec we have to use them. But when we start poking the ports nothing happens. We spent some time on the web looking for solutions but found none. There has to be some sort of quirk on these boxes, if anyone knows let me know.

Today I committed the fix for both sun issues. See cvs commit.

(Comments are closed)

  1. By Anonymous Coward ( on

    I really like this Developer Blogs! Very interesting.
    Want to see more in future :)

    1. By Anonymous Coward ( on

      yep i second that, very interesting reads.

    2. By Anonymous Coward ( on

      Yes indeed. A nice addition to source-changes@

    3. By Anonymous Coward ( on

      yes, please keep the developer blogs going.

    4. By Emm ( on

      Great, fabulous idea. Keep it going guys! Highly informative. :)

  2. By Pete ( on

    I'm running -current GENERIC on a couple of HP DL145s (AMD64 MP), and I had to disable ipmi via config to get them to boot, otherwise they reboot (not ddb or hang or anything) on the ipmi probe. I'll probably be physically near them next week if it'd be useful for me to test/try anything.. let me know. /Pete

    1. By Marco Peereboom ( on

      I have been trying to get my hands on one of these. Please contact me at marco@... so that we can get this fixed.

      1. By Pete ( on

        Follwing email dialogue with Marco, I build & tested a fresh cvs checkout (yesterday). I can now report full success & compatability with HP DL145 and OpenBSD:

        [wmpevic@gc6] /home/wmpevic> dmesg | grep ipmi
        ipmi0 at mainbus0: version 1.5 interface KCS iobase 0xca2/2 spacing 1

        [wmpevic@gc6] /home/wmpevic> sysctl -a | grep ipmi
        hw.sensors.0=ipmi0, CPU0 TEMP, OK, temp, 43.00 degC / 109.40 degF
        hw.sensors.1=ipmi0, CPU1 TEMP, OK, temp, 33.00 degC / 91.40 degF
        hw.sensors.2=ipmi0, SYS TEMP, OK, temp, 23.00 degC / 73.40 degF
        hw.sensors.3=ipmi0, CPU FAN1, OK, fanrpm, 5600 RPM
        hw.sensors.4=ipmi0, CPU FAN2, OK, fanrpm, 6000 RPM
        hw.sensors.5=ipmi0, CPU FAN3, OK, fanrpm, 6000 RPM
        hw.sensors.6=ipmi0, CPU FAN4, OK, fanrpm, 5600 RPM
        hw.sensors.7=ipmi0, CPU FAN5, OK, fanrpm, 5800 RPM
        hw.sensors.8=ipmi0, CPU FAN6, OK, fanrpm, 5800 RPM
        hw.sensors.9=ipmi0, CPU FAN7, OK, fanrpm, 5800 RPM
        hw.sensors.10=ipmi0, CPU FAN8, OK, fanrpm, 6000 RPM
        hw.sensors.11=ipmi0, CPU FAN9, OK, fanrpm, 6000 RPM
        hw.sensors.12=ipmi0, CPU FAN10, OK, fanrpm, 5800 RPM
        hw.sensors.13=ipmi0, SYS FAN1, OK, fanrpm, 5800 RPM
        hw.sensors.14=ipmi0, SYS FAN2, OK, fanrpm, 5800 RPM
        hw.sensors.15=ipmi0, CPU0 VCOREA, OK, volts_dc, 1.40 V
        hw.sensors.16=ipmi0, CPU1 VCOREA, OK, volts_dc, 1.39 V
        hw.sensors.17=ipmi0, VCC12V, OK, volts_dc, 12.29 V
        hw.sensors.18=ipmi0, VBAT , OK, volts_dc, 2.93 V
        hw.sensors.19=ipmi0, VCC3V3, OK, volts_dc, 3.27 V
        hw.sensors.20=ipmi0, VCC5V , OK, volts_dc, 5.07 V
        hw.sensors.21=ipmi0, VCC3V3 DUAL, OK, volts_dc, 3.37 V
        [wmpevic@gc6] /home/wmpevic>

        Thanks Marco et. al. !

  3. By Rammstein ( on

    i'am SUN V20Z running five month very good (OB 3.7 update).

    1. By Brad ( brad at comstyle dot com on

      Exactly, 3.7 which is old.

  4. By Anonymous Coward ( on

    With OpenBSD, those stories always have an happy end :)
    Thanks Marco.

    1. By Ober Heim ( on

      Too bad more developers don't live in Austin :D

      1. By Marco Peereboom ( on

        There are 2 active ones and 1 finishing his PhD


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]