Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimal testcase - ipmi_sim uppercase names #15

Open
ctyler opened this issue Oct 31, 2018 — with Slack · 2 comments
Open

Minimal testcase - ipmi_sim uppercase names #15

ctyler opened this issue Oct 31, 2018 — with Slack · 2 comments
Assignees

Comments

Copy link
Contributor

ctyler commented Oct 31, 2018

ipmi_sim chokes on all-uppercase sensor names. Create a minimal test case to aid in debugging this.

@ctyler ctyler added the question label Oct 31, 2018 — with Slack
@ctyler ctyler assigned ctyler and belavina and unassigned ctyler Nov 7, 2018
@belavina belavina reopened this Nov 14, 2018
@belavina
Copy link
Contributor

belavina commented Apr 16, 2019

Here's a minimal set of instructions needed to verify case-related bug:

Software Version

$ ipmi_sim -v
IPMI Simulator version 1.0.13
$ rpm -q OpenIPMI
OpenIPMI-2.0.25-8.fc29.x86_64

Correct Behaviour with Lower-Case Sensor id_string
Ipmi_sim comes with a minimal BMC example out of the box (located in lanserv folder).

First, sensors need to be compiled:

$ sdrcomp -o my_statedir/ipmi_sim/ipmisim1/sdr.20.main ipmisim1.sdrs

Then start new ipmi_sim process:

$ ipmi_sim -c lan.conf -f ipmisim1.emu -s my_statedir

Querying sensor list with ipmitool (the sensor names are displayed correctly):

$ ipmitool -H localhost -p 9001 -U ipmiusr -P test sdr list
MBTemp           | 96 degrees C      | ok
SubTemp          | 0 degrees C       | ok
mm1pres          | 0x01              | ok

Upper-Case Sensor Names

Update ipmisim1.sdrs sensor “SubTemp” name to uppercase “SUBTEMP”

$ cat ipmisim1.sdrs

sdr type 18
        device_slave_address        0x20
        device_channel_number        0
        chassis                        true
        ipmb_event_gen                false
        ipmb_event_recv                false
        fru_inventory                true
        sel                        true
        sdr                        true
        sensor                        true
        entity_id                system_board
        entity_instance                1
        id_string                "IPMI sim1"
endsdr

# Watchdog timer
sdr type 3
        sensor_owner_id                0x20
        sensor_owner_lun        0
        channel_number                0
        sensor_number                0
        entity_id                system_board
        entity_instance                1
        sensor_type                Watchdog_2
        event_reading_type_code        0x6f
        id_string                "watchdog"
endsdr

# Temperature sensor on the main board
sdr type 1
        sensor_owner_id                0x20
        sensor_owner_lun        0
        channel_number                0
        sensor_number                1
        entity_id                system_board
        entity_instance                1
        sensor_type                Temperature
        init_scanning                true
        init_sensor_type        true
        default_sensor_scan_on        true
        event_reading_type_code        1
        analog_data_format        unsigned
        rate_unit                none
        modifier_unit                none
        percentage                false
        base_unit                degrees_C
        modifier_unit_code        unspecified
        linearization                linear
        m                        1
        tolerance                0
        b                        0
        accuracy                1
        accuracy_exp                0
        sensor_direction        input
        r_exp                        0
        b_exp                        0
        sensor_maximum                255
        sensor_minimum                0
        id_string                "MBTemp"
endsdr

# Temperature sensor on the sub board
sdr type 1
        sensor_owner_id                0x30
        sensor_owner_lun        0
        channel_number                0
        sensor_number                1
        entity_id                system_board
        entity_instance                1
        sensor_type                Temperature
        init_scanning                true
        init_sensor_type        true
        default_sensor_scan_on        true
        event_reading_type_code        1
        analog_data_format        unsigned
        rate_unit                none
        modifier_unit                none
        percentage                false
        base_unit                degrees_C
        modifier_unit_code        unspecified
        linearization                linear
        m                        1
        tolerance                0
        b                        0
        accuracy                1
        accuracy_exp                0
        sensor_direction        input
        r_exp                        0
        b_exp                        0
        sensor_maximum                255
        sensor_minimum                0
        id_string                "SUBTEMP"
endsdr

# A presence sensor for memory module 1
sdr type 2
        sensor_owner_id                0x20
        sensor_owner_lun        0
        channel_number                0
        sensor_number                2
        entity_id                memory_module
        entity_instance                1
        sensor_type                Entity_Presence
        event_reading_type_code        0x6f
        event0_state_ret        true
        assert_event0                true
        deassert_event0                true
        event1_state_ret        true
        assert_event1                true
        deassert_event1                true
        id_string                "mm1pres"
endsdr

# A FRU device locator for memory module 2
sdr type 0x11
        device_access_address        0x30
        fru_device_address        3
        logical_fru                1
        lun                        0
        device_type                0x10
        device_type_modifier        0
        fru_entity_id                memory_module
        fru_entity_instance        2
        id_string                "mm2frudev"
endsdr

Recompile sensors & restart ipmi_sim

$ sdrcomp -o my_statedir/ipmi_sim/ipmisim1/sdr.20.main ipmisim1.sdrs
$ ipmi_sim -c lan.conf -f ipmisim1.emu -s my_statedir

Querying sensor list with ipmitool (uppercase sensor name SUBTEMP is not displayed correctly):

$ ipmitool -H localhost -p 9001 -U ipmiusr -P test sdr list
MBTemp           | 96 degrees C      | ok
s-�e
    �           | 0 degrees C       | ok
mm1pres          | 0x01              | ok

@belavina
Copy link
Contributor

Created bug report on official OpenIPMI project repo: https://sourceforge.net/p/openipmi/bugs/88/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants