2

我这里有一张适合 PCIe 插槽的卡,上面有一些 SMBus 可控芯片。该卡是自行布局的,可以在一些较旧的主板上正常工作。在较新的主板(ASUS PRIME Z370-A)中,它无法正常工作。

该卡未使用 PCIe 接口,仅使用 PCIe 插槽。PRSNT1 和 2 之间没有连接,也没有连接到差分数据线。PCIe 插槽仅用于供电(引脚 A9、A19、B8 (+3.3V) - A4、A12、A15、A18、B4、B7、B13、B26、B18(GND))和 SMBus 接口(B5 (SMCLK ), B6 (SMDAT))。

不工作我的意思是我不能通过 SMBus 与它交谈。我正在尝试使用 i2c-dev 内核模块。i2cdetect -l 的输出是:(缩短,我去掉了nvidia卡的i2c devs)

i2c-3   i2c             i915 gmbus dpd                          I2C adapter
i2c-1   i2c             i915 gmbus dpc                          I2C adapteradapter
i2c-4   i2c             DPDDC-B                                 I2C adapter
i2c-2   i2c             i915 gmbus dpb                          I2C adapter
i2c-0   smbus           SMBus I801 adapter at f040              SMBus adapter

在我看来,i2c-0 设备是正确的。当我在接口 0 上运行 i2cdetect 时,检测到了一些芯片,但没有检测到正确的芯片(它们有 addr 0x70 和 0x72)。总而言之,我试图通过 Intel 200 PCH 中的 SMBus 主控与我的 SMBus 从属芯片进行通信。

         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- 08 -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: 30 31 -- -- 34 35 -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 
50: -- 51 -- 53 -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --  

我也尝试了 1-4 号巴士,但结果相同。在另一块主板上,检测工作正常,如下所示。

此外,我用示波器测量了 PCIe 连接器的引脚 B5 和 B6。新主板上的这些引脚之一上没有时钟或数据信号。

我想我必须以某种方式配置它还尝试与 PCIe 插槽上的 SMBus 设备通信的内核模块。也许有人可以给我一个提示。

尽管没有出现关于内存区域重叠的警告,但我设置了内核选项 acpi_enforce_resources=lax 以确保没有 ACPI 内存绑定与 SMBus 控制器发生冲突。

一些输出

dmesg modprobe i2c-i801(内核模块的输出,抽象英特尔 SMBus 控制器)

[   81.667581] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[   81.667639] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt

i2cdetect 0(工作主板,i2c-0 上的 SMBus 控制器)

         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: 70 -- 72 -- -- -- -- --  

unname -a

Linux XY 4.16.0-1-amd64 #1 SMP Debian 4.16.5-1
4

2 回答 2

2

我得到了华硕的答复。ASUS PRIME Z370-A 在 PCIe 插槽上没有 SMBus 连接。

于 2018-06-01T07:06:10.817 回答
0

根据PCIe 卡机电规范第 2 章“辅助信号”,SMBus 接口引脚对于附加卡和系统板都是可选的。另一方面,PCIe M.2 规范提到(此 ECN 包含在标准中)板上的 SMBus 线有助于位于 SSD 设备上的传感器。

因此,在您的情况下,显然旧主板比新主板更先进,它完成了这些接线。

于 2018-05-16T08:56:25.347 回答