Topic: wrong cpu cores number (G850)

Help needed!!!!
FusionInventory Agent 2.4.1
GLPI 9.3.0
Inventory of computer with Intel(R) Pentium(R) CPU G850 @ 2.90GHz shows core count: 1 and thread count: 1 athough in specification it must be 2 | 2( ark.intel.com/en/products/53491/Intel-Pentium-Processor-G850-3M-Cache-2_90-GHz) and windows task manager shows 2 cores.

dmidecode:
C:\Program Files (x86)\FusionInventory-Agent\perl\bin>dmidecode -t processor
# dmidecode 3.1
SMBIOS 2.6 present.
Handle 0x0004, DMI type 4, 42 bytes
Processor Information
        Socket Designation: Socket 1155
        Type: Central Processor
        Family: Core 2 Duo
        Manufacturer: Intel
        ID: A7 06 02 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 42, Stepping 7
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Pentium(R) CPU G850 @ 2.90GHz
        Voltage: 0.0 V
        External Clock: 100 MHz
        Max Speed: 3800 MHz
        Current Speed: 2900 MHz
        Status: Populated, Enabled
        Upgrade: Other
        L1 Cache Handle: 0x0005
        L2 Cache Handle: 0x0006
        L3 Cache Handle: 0x0007
        Serial Number: To Be Filled By O.E.M.
        Asset Tag: To Be Filled By O.E.M.
        Part Number: To Be Filled By O.E.M.
        Core Count: 2
        Core Enabled: 1
        Characteristics:
                64-bit capable

fusioninventory-inventory.bat:       
<CPUS>
      <CORE>1</CORE>
      <CORECOUNT>2</CORECOUNT>
      <DESCRIPTION>Intel64 Family 6 Model 42 Stepping 7</DESCRIPTION>
      <FAMILYNUMBER>6</FAMILYNUMBER>
      <ID>A7 06 02 00 FF FB EB BF</ID>
      <MANUFACTURER>Intel</MANUFACTURER>
      <MODEL>42</MODEL>
      <NAME>Intel(R) Pentium(R) CPU G850 @ 2.90GHz</NAME>
      <SERIAL>ToBeFilledByO.E.M.</SERIAL>
      <SPEED>2900</SPEED>
      <STEPPING>7</STEPPING>
      <THREAD>1</THREAD>
</CPUS>

Re: wrong cpu cores number (G850)

Hi alibek,
as you're showing us, agent seems to rightly inventory the corecount: <CORECOUNT>2</CORECOUNT>
Do you mean you don't see 2 cores in GLPI ? Can you make a screenshot of what is wrong if that's the case ?

3 (edited by alibek 2018-09-12 02:49:32)

Re: wrong cpu cores number (G850)

Hi gbougard,
Yeah i don't see 2 cores in GLPI.
screenshot:
htt p s : / /ibb.co/k2NLH9

4 (edited by alibek 2018-09-13 08:07:15)

Re: wrong cpu cores number (G850)

Today i analized output of fusioninventory-inventory.bat on some other computers with different processors there is no <CORECOUNT> parameter. Only <CORE> and <THREAD>. So i suppose problem with fusioninventory not with glpi.

Re: wrong cpu cores number (G850)

just find specification for inventory protocol:
htt p hmm /fusioninventory.org/documentation/dev/spec/protocol/inventory.html
there is no <CORECOUNT>
only:
<!-- cores number -->
<!ELEMENT CORE (#PCDATA)>
<!-- threads per core number -->
<!ELEMENT THREAD (#PCDATA)>
so GLPI takes <CORE>1</CORE> for core numbers
and <THREAD>1</THREAD> for threads numbers per core.
Where exactly fusioninventory take this numbers?  Is it possible somehow to fix this problem?

Re: wrong cpu cores number (G850)

It seems on this computers manufacturer set wrong information in dmi table. Is it ok if i replace string
CORE => $info->{'Core Enabled'} || $info->{'Core Count'}
with
CORE => $info->{'Core Count'}
in getCpusFromDmidecode Generic.pm file?

Re: wrong cpu cores number (G850)

Hi alibek,

in fact we add CORECOUNT only if different than CORE. This is the case for you 'cause of your dmidecode output:
        Core Count: 2
        Core Enabled: 1

Are you sure all the 2 cores are enabled ? Also you said "It seems on this computers manufacturer set wrong information in dmi table.", have you any reference from the manufacturer telling about that ?
Any way, this is finally not an agent issue:
1. Or you have a core disabled for any reason, if this is the case you should investigate in that way,
2. Or the SMBIOS informations read by dmidecode are wrong and you should than ask your manufacturer for a fixed BIOS/Firmware.

If you change the code as you wish, you'll just hide the real problem. And next agent upgrade will reset your change.

About CORECOUNT missing in spec, I jus fix that in the doc. Thank you for the trigger.