[Crash-utility] [PATCH] sys: Introduce -i option to dump dmi_ident data

Dave Anderson anderson at redhat.com
Wed Dec 9 14:33:43 UTC 2015



----- Original Message -----
> On Tue 2015-12-08 12:15 -0500, Dave Anderson wrote:
> 
> Hi Dave,
> 
> Sorry for the delay. Please find a v2 patch attached with a similar
> approach to your attempt to add support for 'dmi_field' when available.
> 
> > The attached patch is what I'm thinking.  On a Lenovo laptop it looks
> > like:
> > 
> > crash> sys -i
> >         DMI_BIOS_VENDOR: LENOVO
> >        DMI_BIOS_VERSION: G4ET37WW (1.12 )
> >           DMI_BIOS_DATE: 05/29/2012
> >          DMI_SYS_VENDOR: LENOVO
> >        DMI_PRODUCT_NAME: 2429BQ1
> >     DMI_PRODUCT_VERSION: ThinkPad T530
> >      DMI_PRODUCT_SERIAL: R9R91HZ
> >        DMI_PRODUCT_UUID: 568DFA01-5180-11CB-B851-BD06085ADDB0
> >        DMI_BOARD_VENDOR: LENOVO
> >          DMI_BOARD_NAME: 2429BQ1
> >       DMI_BOARD_VERSION: Not Available
> >        DMI_BOARD_SERIAL: 1ZLV127F17M
> >     DMI_BOARD_ASSET_TAG: Not Available
> >      DMI_CHASSIS_VENDOR: LENOVO
> >        DMI_CHASSIS_TYPE: 10
> >     DMI_CHASSIS_VERSION: Not Available
> >      DMI_CHASSIS_SERIAL: R9R91HZ
> >   DMI_CHASSIS_ASSET_TAG: RH0004111
> > crash>
> > 
> > A recent HP kernel looks like this though:
> > 
> > crash> sys -i
> >         DMI_BIOS_VENDOR: Hewlett-Packard
> >        DMI_BIOS_VERSION: 786F7 v01.05
> >           DMI_BIOS_DATE: 04/25/2008
> >          DMI_SYS_VENDOR: Hewlett-Packard
> >        DMI_PRODUCT_NAME: HP xw4550 Workstation
> >     DMI_PRODUCT_VERSION:
> >      DMI_PRODUCT_SERIAL: BAL1010051
> >        DMI_PRODUCT_UUID: 308A59FA-9B77-DE11-BBDA-C486CC82001C
> >        DMI_BOARD_VENDOR: Hewlett-Packard
> >          DMI_BOARD_NAME: 0AC8h
> >       DMI_BOARD_VERSION:
> >        DMI_BOARD_SERIAL: BAL1010051
> >     DMI_BOARD_ASSET_TAG:
> >      DMI_CHASSIS_VENDOR: Hewlett-Packard
> >        DMI_CHASSIS_TYPE: 6
> >     DMI_CHASSIS_VERSION:
> >      DMI_CHASSIS_SERIAL: BAL1010051
> >   DMI_CHASSIS_ASSET_TAG:
> > crash>
> > 
> > when the "empty" entries are not NULL pointers, but rather pointers to
> > NULL strings or strings with spaces in them:
> > 
> > crash> p dmi_ident
> > dmi_ident = $1 =
> >  {0x0, 0xffffffff8203b000 "Hewlett-Packard", 0xffffffff8203b010 "786F7
> >  v01.05", 0xffffffff8203b020 "04/25/2008", 0xffffffff8203b02c
> >  "Hewlett-Packard", 0xffffffff8203b03c "HP xw4550 Workstation",
> >  0xffffffff8203b054 " ", 0xffffffff8203b058 "BAL1010051",
> >  0xffffffff8203b064 "308A59FA-9B77-DE11-BBDA-C486CC82001C",
> >  0xffffffff8203b08c "Hewlett-Packard", 0xffffffff8203b09c "0AC8h",
> >  0xffffffff8203b0a4 "", 0xffffffff8203b0a8 "BAL1010051",
> >  0xffffffff8203b0b4 "", 0xffffffff8203b0b8 "Hewlett-Packard",
> >  0xffffffff8203b0c8 "6", 0xffffffff8203b0cc "", 0xffffffff8203b0d0
> >  "BAL1010051", 0xffffffff8203b0dc " "}
> > crash>
> > 
> > Do you think those should should be just dropped, or shown as above?
> 
> What does 'dmidecode' show? If dmidecode shows the same, I'd suggest that
> perhaps we should follow suit.

It's difficult to tell with dmidecode.  Plus there are a bunch of other 
odd-ball settings like these examples:

    DMI_BOARD_ASSET_TAG: -
  DMI_CHASSIS_ASSET_TAG: ................
         DMI_SYS_VENDOR: To Be Filled By O.E.M.
      DMI_BOARD_VERSION: N/A
     DMI_CHASSIS_SERIAL: Not Available
  DMI_CHASSIS_ASSET_TAG: No Asset Information
     DMI_PRODUCT_SERIAL: n/a
      DMI_BOARD_VERSION: (none)
    DMI_CHASSIS_VERSION: none
       DMI_BOARD_SERIAL: None
     DMI_CHASSIS_VENDOR: No Enclosure
  DMI_CHASSIS_ASSET_TAG: No Asset Tag

In any case, if there is anything but a NULL pointer, then some kernel
entity has explicitly set the string, so I'm going to just show it.

Queued for crash-7.1.4:

  https://github.com/crash-utility/crash/commit/9ba68adb0c2a0e6f4839fdc3c095a73b5fe2892f

Thanks,
  Dave
















  
 




More information about the Crash-utility mailing list