bugGNU FreeIPMI - Bugs: bug #38811, Freeipmi FRU fails with invalid...

 
 

bug #38811: Freeipmi FRU fails with invalid DIMM information

Submitted by:  None
Submitted on:  Tue 23 Apr 2013 03:06:55 PM UTC  
 
Category: ipmi-fruSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Improper Behaviour
Status: NonePrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Operating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Thu 09 May 2013 12:56:54 PM UTC, comment #6:

Latest fix appears to work. Below is a snippet of the output:

FRU Inventory Device: CPU 1 DIMM 1 (ID 70h)
FRU DRAM Device Type: DDR3 SDRAM
FRU Total SDRAM Capacity : 2 Gb
FRU Memory Banks : 8 Banks
FRU Module 1.5 V Nominal Voltage : Operable
FRU Module 1.35 V Nominal Voltage : Not Operable
FRU Module 1.25 V Nominal Voltage : Not Operable
FRU SDRAM Device Width : 4 bits
FRU Number of Ranks : 1
FRU Primary Bus Width : 64 bits
FRU Total Memory Capacity : 4096 GB
FRU Module Manufacturer : Samsung
FRU Module Manufacturing Date : Year 2011 Week 52
FRU Module Serial Number : 87B02B39
FRU Module Part Number : M393B5270DH0-CH9
FRU DRAM Manufacturer : Samsung

Michael Winiarski <mwiniarski>
Wed 08 May 2013 08:09:18 PM UTC, comment #5:

Thanks for the debug info, I was able to find a lot of issues with it. I think it should work now, could you give it another shot.

Albert Chu <chu11>
Project Administrator
Wed 08 May 2013 02:36:07 PM UTC, comment #4:

Rebuilt ipmi-fru from the latest source repo. Looks like there is still a problem.

Prior output (abbreviated):
FRU Inventory Device: CPU 1 DIMM 1 (ID 70h)

FRU Error: common header checksum invalid

New output (abbreviated):
FRU Inventory Device: CPU 1 DIMM 1 (ID 70h)
fiid_template_block_len_bytes: Invalid argument

Using the --debug option, this is the abbreviated debug output that I think is associated with the DIMM:

16.110.181.251: =====================================================
16.110.181.251: IPMI 2.0 Read FRU Data Response
16.110.181.251: =====================================================
16.110.181.251: RMCP Header:
16.110.181.251: ------------
16.110.181.251: [ 6h] = version[ 8b]
16.110.181.251: [ 0h] = reserved[ 8b]
16.110.181.251: [ FFh] = sequence_number[ 8b]
16.110.181.251: [ 7h] = message_class.class[ 5b]
16.110.181.251: [ 0h] = message_class.reserved[ 2b]
16.110.181.251: [ 0h] = message_class.ack[ 1b]
16.110.181.251: IPMI RMCPPLUS Session Header:
16.110.181.251: -----------------------------
16.110.181.251: [ 6h] = authentication_type[ 4b]
16.110.181.251: [ 0h] = reserved1[ 4b]
16.110.181.251: [ 0h] = payload_type[ 6b]
16.110.181.251: [ 1h] = payload_type.authenticated[ 1b]
16.110.181.251: [ 1h] = payload_type.encrypted[ 1b]
16.110.181.251: [ B50C6B93h] = session_id[32b]
16.110.181.251: [ 2Fh] = session_sequence_number[32b]
16.110.181.251: [ 30h] = ipmi_payload_len[16b]
16.110.181.251: IPMI RMCPPLUS Payload:
16.110.181.251: ----------------------
16.110.181.251: [ BYTE ARRAY ... ] = confidentiality_header[16B]
16.110.181.251: [ 52h 4Dh 00h 00h B4h 2Fh 00h 00h ]
16.110.181.251: [ 8Eh 5Eh 00h 00h CAh 64h 00h 00h ]
16.110.181.251: [ BYTE ARRAY ... ] = payload_data[25B]
16.110.181.251: [ 81h 2Ch 53h 20h 30h 11h 00h 10h ]
16.110.181.251: [ FFh FFh FFh FFh FFh FFh 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 95h ]
16.110.181.251: [ 6060504030201h] = confidentiality_trailer[56b]
16.110.181.251: IPMI Message Header:
16.110.181.251: --------------------
16.110.181.251: [ 81h] = rq_addr[ 8b]
16.110.181.251: [ 0h] = rq_lun[ 2b]
16.110.181.251: [ Bh] = net_fn[ 6b]
16.110.181.251: [ 53h] = checksum1[ 8b]
16.110.181.251: [ 20h] = rs_addr[ 8b]
16.110.181.251: [ 0h] = rs_lun[ 2b]
16.110.181.251: [ Ch] = rq_seq[ 6b]
16.110.181.251: IPMI Command Data:
16.110.181.251: ------------------
16.110.181.251: [ 11h] = cmd[ 8b]
16.110.181.251: [ 0h] = comp_code[ 8b]
16.110.181.251: [ 10h] = count_returned[ 8b]
16.110.181.251: [ BYTE ARRAY ... ] = requested_data[16B]
16.110.181.251: [ FFh FFh FFh FFh FFh FFh 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: IPMI Trailer:
16.110.181.251: -------------
16.110.181.251: [ 95h] = checksum2[ 8b]
16.110.181.251: IPMI RMCPPLUS Session Trailer:
16.110.181.251: ------------------------------
16.110.181.251: [ FFFFh] = integrity_pad[16b]
16.110.181.251: [ 2h] = pad_length[ 8b]
16.110.181.251: [ 7h] = next_header[ 8b]
16.110.181.251: [ BYTE ARRAY ... ] = authentication_code[12B]
16.110.181.251: [ 06h 11h 26h 01h E4h 2Bh E6h 0Bh ]
16.110.181.251: [ B6h 5Eh 30h F4h ]
16.110.181.251: =====================================================
16.110.181.251: Raw
16.110.181.251: =====================================================
16.110.181.251: [ HEX DUMP ..... ] = HEX[256B]
16.110.181.251: [ 92h 11h 0Bh 01h 03h 1Ah 00h 00h ]
16.110.181.251: [ 0Bh 11h 01h 08h 0Ch 00h 3Ch 00h ]
16.110.181.251: [ 69h 78h 69h 30h 69h 11h 20h 89h ]
16.110.181.251: [ 00h 05h 3Ch 3Ch 00h F0h 83h 01h ]
16.110.181.251: [ 80h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 0Fh 11h 42h 05h ]
16.110.181.251: [ 00h 04h B3h 21h 00h 00h 50h 55h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 80h CEh 02h ]
16.110.181.251: [ 11h 52h 87h B0h 2Bh 39h A9h 03h ]
16.110.181.251: [ 4Dh 33h 39h 33h 42h 35h 32h 37h ]
16.110.181.251: [ 30h 44h 48h 30h 2Dh 43h 48h 39h ]
16.110.181.251: [ 20h 20h 00h 00h 80h CEh 00h 00h ]
16.110.181.251: [ 00h 53h 30h 39h 57h 30h 30h 30h ]
16.110.181.251: [ 01h 00h 01h 00h 00h 01h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 32h 04h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 24h 0Eh ]
16.110.181.251: [ 11h 01h 32h 4Dh 32h 32h 30h 38h ]
16.110.181.251: [ 30h 30h 58h 4Ah 00h 00h 00h 00h ]
16.110.181.251: [ 00h 00h 0Eh 11h 07h B6h 02h 00h ]
16.110.181.251: [ 01h 01h 00h 00h 00h 00h FFh FFh ]
16.110.181.251: [ FFh FFh FFh FFh FFh FFh FFh FFh ]
16.110.181.251: [ FFh FFh FFh FFh FFh FFh FFh FFh ]
16.110.181.251: [ FFh FFh FFh FFh FFh FFh 00h 00h ]
16.110.181.251: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
fiid_template_block_len_bytes: Invalid argument

Michael Winiarski <mwiniarski>
Sat 04 May 2013 12:32:06 AM UTC, comment #3:

I've added support and the code is now in the FreeIPMI trunk. Unfortunately, I have no motherboards to test against, so I'm just assuming the code works. Could you give it a shot?

svn co svn://svn.savannah.gnu.org/freeipmi/trunk freeipmi
cd freeipmi
./autogen.sh
./configure
make
ipmi-fru/ipmi-fru

If the autogen.sh fails, e-mail me privately and I can send you a tar.gz

Albert Chu <chu11>
Project Administrator
Thu 25 Apr 2013 05:29:01 PM UTC, comment #2:

After some googling, it appears the information is in a JEDEC document.

Annex K: Serial Presence Detect (SPD) for DDR3 SDRAM Modules

Albert Chu <chu11>
Project Administrator
Tue 23 Apr 2013 06:17:28 PM UTC, comment #1:

I was requested to add this some time ago but IIRC the DDR3 decoding info was not yet published. I do see that a new FRU spec has been published. Do you know if the required decoding info is in there or perhaps somewhere else?

Albert Chu <chu11>
Project Administrator
Tue 23 Apr 2013 03:06:55 PM UTC, original submission:

ipmi-fru does not properly decode DDR3 spd for DIMMs, resulting in checksum errors.

Example:

# ipmi-fru -h xxx.xxx.xxx.xxx -u xxxxxxxx -p xxxxxxxx -I 1 -l ADMIN -D LAN_2_0 -v
Caching SDR repository information: /root/.freeipmi/sdr-cache/sdr-cache-mlw-ml110-u1204.xxx.xxx.xxx.xxx
Caching SDR record 43 of 43 (current record ID 42)
FRU Inventory Device: Default FRU Device (ID 00h)

FRU Chassis Type: Main Server Chassis
FRU Chassis Serial Number: 0987654321
FRU Chassis Custom Info: D0h 6Eh 01h 37h 00h FCh 01h 02h 01h
FRU Chassis Custom Info: D4h 84h 03h DBh 00h 6Ah 02h

FRU Board Language: English
FRU Board Manufacturing Date/Time: 07/08/10 - 01:00:00
FRU Board Manufacturer: HP
FRU Board Product Name: HP ProLiant BL685c G7
FRU Board Serial Number: PAXPF0G9VZ508E
FRU Board Part Number: 594956-001
FRU FRU File ID: 01/20/10
FRU Board Custom Info: D2h 30h 47h
FRU Board Custom Info: D5h 00h 00h 00h B0h 01h

FRU Product Language: English
FRU Product Manufacturer Name: HP
FRU Product Name: HP ProLiant BL685c G7
FRU Product Part/Model Number: 000000-000
FRU Product Version: G7
FRU Product Serial Number: 0987654321
FRU Product Asset Tag: Asset Tag

FRU OEM Manufacturer ID: Hewlett-Packard (Bh)
FRU OEM Code Mask:
10h 00h 40h 60h 3Ch 3Ch 21h 00h
21h 22h 22h 00h 00h 00h 00h 00h
F2h F3h 10h 11h 20h 21h 22h 23h
40h 40h 4Eh 4Eh 4Ch 4Ch 4Ch 4Ch
01h 01h 01h 01h 01h 01h 01h 01h
FCh 81h 40h 09h F0h F1h 12h 13h
32h 33h 30h 31h 40h 40h 4Eh 4Eh
4Ah 4Ah 4Ah 4Ah 02h 02h 07h 07h
01h 01h 01h 01h FCh 81h 40h 07h

FRU OEM Manufacturer ID: Hewlett-Packard (Bh)
FRU OEM Code Mask: 11h 31h 43h BBh 3Bh

FRU OEM Manufacturer ID: Hewlett-Packard (Bh)
FRU OEM Code Mask: 02h 0Bh 00h 00h

FRU Inventory Device: CPU 1 DIMM 1 (ID 70h)

FRU Error: common header checksum invalid

FRU Inventory Device: CPU 1 DIMM 3 (ID 72h)

FRU Error: common header checksum invalid

FRU Inventory Device: CPU 2 DIMM 1 (ID 78h)

FRU Error: common header checksum invalid

FRU Inventory Device: CPU 2 DIMM 3 (ID 7Ah)

FRU Error: common header checksum invalid

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mwiniarski (Posted a comment)
  • -unavailable- added by mwiniarski
  • -unavailable- added by chu11 (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 09 May 2013 03:23:55 PM UTCchu11Open/ClosedOpen=>Closed
    Tue 07 May 2013 07:23:14 PM UTCmwiniarskiCarbon-Copy-=>Added -unavailable-

    Back to the top


    Powered by Savane 3.1-cleanup1