12

How can I reliably determine the chipset of a machine?  I tried to use the lspci, hwinfo, lshw and dmidecode commands on my old Asus K50IJ with Linux Mint, but the output does not provide precise enough information about the northbridge.  I found out that its chipset is Intel® Mobile GL40 Express +ICH9M on Asus's website, but I would like to be able to find that using only the terminal, if that's possible.  The above commands return a lot of information, but not what I'm looking for.  For instance, one line of output from lspci is:

Host bridge: Intel corporation Mobile 4 Series Chipset Memory Controller Hub (rev09)

but my output expectation would be:

Intel® Mobile GL40 Express Chipset +ICH9M

The output of lspci narrows down chipsets to this list, but that's still a lot to pick from: https://ark.intel.com/content/www/us/en/ark/products/series/34468/intel-4-series-chipsets.html

Because of output about SATA controller, I could identify the southbridge:

  PCI 1f.2: 0106 SATA controller (AHCI 1.0)
  [Created at pci.378]
  Unique ID: w7Y8.1UWGXuPHmx0
  SysFS ID: /devices/pci0000:00/0000:00:1f.2
  SysFS BusID: 0000:00:1f.2
  Hardware Class: storage
  Model: "Intel 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode]
  Vendor: pci 0x8086 "Intel Corporation"

and with that, I could check on the Intel chipset list that it pairs with the GL40 northbridge.  But it feels like a lot of work for a simple piece of information, especially since, on my other machines, lspci outputs the precise chipset model name.

(response to a comment) the full output of lspci -nn -d 8086:

00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub [8086:2a40] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 09)
00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 09)
00:1a.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 03)
00:1a.1 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 03)
00:1a.2 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 03)
00:1a.7 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 [8086:293c] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 [8086:2940] (rev 03)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 [8086:2942] (rev 03)
00:1c.5 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 [8086:294a] (rev 03)
00:1d.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 03)
00:1d.1 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 03)
00:1d.2 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 03)
00:1d.7 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 [8086:293a] (rev 03)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 93)
00:1f.0 ISA bridge [0601]: Intel Corporation ICH9M LPC Interface Controller [8086:2919] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] [8086:2929] (rev 03)

Output of cat /proc/cpuinfo:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Pentium(R) Dual-Core CPU       T4300  @ 2.10GHz
stepping        : 10
microcode       : 0xa0b
cpu MHz         : 1196.901
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm pti dtherm
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips        : 4189.09
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Pentium(R) Dual-Core CPU       T4300  @ 2.10GHz
stepping        : 10
microcode       : 0xa0b
cpu MHz         : 1196.897
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm pti dtherm
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips        : 4189.09
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

Edit, output of sudo lspci -vv -d 8086:2a40:

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 09)
        Subsystem: ASUSTeK Computer Inc. Mobile 4 Series Chipset Memory Controller Hub
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
        Latency: 0
        Capabilities: [e0] Vendor Specific Information: Len=0a <?>

I don't know where to look in the output of lspci -xxx -d 8086:2a40:

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 09)
00: 86 80 40 2a 06 00 90 20 09 00 00 06 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 43 10 67 18
30: 00 00 00 00 e0 00 00 00 00 00 00 00 00 00 00 00
40: 01 90 d1 fe 00 00 00 00 01 00 d1 fe 00 00 00 00
50: 00 00 50 03 19 00 00 00 00 00 00 00 00 00 00 00
60: 01 00 00 e0 00 00 00 00 01 80 d1 fe 00 00 00 00
70: 00 00 00 00 00 00 00 00 01 08 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 10 11 11 00 00 33 33 00 40 00 4f 00 00 1a 38 00
a0: 20 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 70 02 00 00
e0: 09 00 0a 61 b1 6d 51 1f b9 e1 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 a0 0f 09 00 00 00 00 00
2
  • I can’t find “Mobilny” (in English) anywhere on the Internet (except in this question), but the Internet does tell me that it’s the Polish word for “mobile”.  Did you perhaps mistake a word for a name and transcribe it when you should have translated it? Commented Dec 18, 2021 at 23:26
  • yes, my bad, it's a polish word, but it does not have an impact on the question. I copied the info here as expected output. I checked outputs "manually". Commented Dec 20, 2021 at 3:32

2 Answers 2

6

Your particular chipset’s PCI id is shared by the four variants in the family, and distinguishing between them involves looking at the capability identifier in the PCI configuration registers. Section 19.1.36 of the datasheet has the details; the relevant information is stored at offset 0xE5 in the configuration registers, and bits 2 to 4 at that offset will tell you which variant you have:

  • 111 = PM45
  • 001 = GM45
  • 011 = GL40
  • 100 = GS45

You should be able to see this with lspci -xxx -d 8086:2a40. But I doubt you’ll find a utility which would give you the name of the chipset using this information.

In your case, the relevant line in the output of lspci -xxx is

e0: 09 00 0a 61 b1 6d 51 1f b9 e1 00 00 00 00 00 00

This needs to be read backwards; the 80 capability bits are 0xE1B91F516DB1610A0009. Bits 44:42 are 011 (the sixth value in the line is 0x6D, 0b01101101, and bits 4:2 in that are 011).

4
  • I forgot to mention that the LinuxMint on that machine was installed on a different PC and I only swapped the hard drive. Does it matter? Could you point me even further in looking for those 3 bits? Commented Jan 28, 2020 at 14:53
  • It doesn’t matter. See my update, hopefully that clarifies things! Commented Jan 28, 2020 at 15:27
  • @StephenKitt Very interesting :). How can I apply this for AMD chipset, I only 5 hexadecimal lines in the output of lspci -s 0:0.0 -xxx Commented Mar 26, 2021 at 21:34
  • @SebMa you need to find the corresponding datasheet, and determine which part of the configuration registers is relevant in your case. Commented Mar 27, 2021 at 9:49
-1

If you install the command "neofetch", which is available in most Linux repositories (sudo apt install neofetch for Mint), the output of that includes CPU chipset info.

2
  • 2
    your answer does not seem to be accurate, are there options that you mean to use? Commented Dec 15, 2021 at 23:48
  • neofetch shows the CPU but it doesn't show the chipset. The chipset is the chip(s) on the motherboard that enable peripherals like USB, PCIe, (and 20 years ago, the memory controller). The chipset determines which CPUs are supported by a motherboard, so knowing this is important if you want to upgrade an old system. Commented Feb 21, 2023 at 14:13

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.