我们正在开展一个项目,我们将定期收到 50 多台笔记本电脑,我们需要从中获取硬件信息。在一些测试运行中,我们发现了一些奇怪的结果。在 Dell Latitude e6400 上运行 lshw 时,我们看到以下结果:
*-bank:0
description: DIMM DDR Synchronous 667 MHz (1.5 ns)
product: NT2GTT64U88B0UN-3C
vendor: Nanya Technology
physical id: 0
serial: C54E0B27
slot: DIMM_A
size: 2GiB
width: 64 bits
clock: 667MHz (1.5ns)
*-bank:1
description: DIMM DDR Synchronous 667 MHz (1.5 ns)
product: NL825642120HF-D53M
vendor: 7F7F7F1600000000
physical id: 1
serial: 00000000
slot: DIMM_B
size: 2GiB
width: 64 bits
clock: 667MHz (1.5ns)
0 号内存组是正确的,但 1 号内存组显然不正确。当我们查看机器上的物理卡时,我们可以确认 1 号内存组的信息不正确,因为我们想要获得产品、供应商和序列号以及大小。我们尝试清洁触点并重新安装内存,但无济于事。我们在 Ubuntu 12.04 和 13.10 上都看到过这种情况
有人曾经见过类似的事情或有什么建议吗?
答案1
它可能与 SPD 修订版本 1.2 有关,或者与非标准/有缺陷的模块有关。如果您正在尝试使用最新版本,请lshw
尝试:
sudo dmidecode -t memory
或者 root shell:
apt-get install lm-sensors # Install lm_sensors
sensors-detect # Configure lm_sensors
然后将必要的模块添加到 /etc/modules 并重新启动或
modprobe <necessary_module>
安装 i2c-tools(适用于 Linux 的异构 I2C 工具集)。SPD EEPROM 可通过 SMBus(I²C 协议的一种变体)进行访问。
apt-get install i2c-tools
modprobe eeprom # Load the eeprom kernel module
最后,用 获取内存信息decode-dimms
。