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

 
 

bug #38811: Freeipmi FRU fails with invalid DIMM information

Submitter:  None
Submitted:  Tue 23 Apr 2013 03:06:55 PM UTC
   
 
Category:  ipmi-fru Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Improper Behaviour
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Closed
Operating System:  GNU/Linux
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group 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>
Group 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>
Group 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>
Group 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 Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-05-09 chu11 Open/ClosedOpen Closed
    2013-05-07 mwiniarski Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code