我需要使用 SMBus,但当我运行命令时,i2cdetect -l
我没有收到任何输出,在 Windows 上它被识别,我甚至没有看到有关 SMBus 的任何信息lspci
。我在启动时安装并插入了i2c-dev
模块,但我总是遇到同样的问题。我在 hp proliant dl380 g7 上使用 Debian 9.5。
输出为cat /sys/bus/i2c/devices/i2c-*/name
:
cat: '/sys/bus/i2c/devices/i2c-*/name
没有这样的文件或目录
我的意思是主板总线,用于通过 fsb 超频的总线,其中:“在 Windows 上被识别”我的意思是使用软件查看组件,我可以看到我感兴趣的 smbus 并查看详细信息,我在互联网上搜索过此主板的驱动程序,但没有找到有关 Smbus 的任何信息。
答案1
第一步是modprobe i2c-dev
,执行cat /sys/bus/i2c/devices/i2c-*/name
,然后使用输出编辑您的问题,这样我们至少知道目前已经识别了哪些总线主控硬件。完全有可能有一个总线主控,但其后没有设备。
第二步是编辑您的问题,其中包含所有细节,即在 Windows 下如何识别“SMBus”(可能有很多总线,每条总线都有不同的硬件),即总线主机位于哪种硬件上,它使用哪些端口,等等。
第三步,利用这些数据在Linux下找到相应的硬件设备,然后检查是否有它的驱动程序。
编辑
只要你不编辑有关到底是什么您在 Windows 下看到的,我不能确定,而且我不熟悉您的硬件,但是:Intel-CPU 系统上的主板 SMBus 位于南桥,i2c-i801
在我的基于 Intel 的系统上使用模块,并且可见为 PCI 卡。因此 (1) 使用 的输出编辑您的问题lspci -nn
,(2) 使用细节您在 Windows 下看到的内容(PCI 地址、端口、任何提示硬件实际情况的东西,而不是让我们猜测)。
“没有这样的文件或目录”表示没有加载任何提供总线的模块。这可能是因为您的 HP 有其他硬件,或者您的 Linux 内核没有启用您需要的模块,或者出于其他各种原因。