ubuntu SMBus Host Controller not enabled

本文详细指导了如何在Linux系统中处理Piix4相关错误,包括重启步骤、模块加载管理、modprobe配置、i2c Piix4黑名单操作,以及最后的initramfs更新和系统重启。适合解决i2c相关硬件问题的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

重启,开起来的时候,长按shift(也可能是按一下esc)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
回车(也许要输入密码)
在这里插入图片描述
注意这个piix4是根据前面的错误来决定的(比如我一开始报错是piix4_smbus,那就搜索前面的这个piix4)

mount -o remount,rw /
lsmod | grep piix4

可以看到我这里是i2c_piix4 28672 0
在这里插入图片描述

nano /etc/modprobe.d/blacklist.conf

在末尾添加i2c_piix4(根据刚刚搜出来的改变)
ctrl+s保存
ctrl+x退出
在这里插入图片描述

update-initramfs -u -k all

在这里插入图片描述
然后重启

reboot
### SMBus 库及工具的安装与配置 对于希望在 Ubuntu 20.04 上使用 SMBus 的用户来说,可以通过一系列命令来完成必要的软件包安装以及相应设置。这不仅适用于物理硬件上的操作系统部署场景,也针对那些可能遇到特定错误消息(如 'SMBus Host Controller not enabled')的情况提供了额外指导。 #### 安装 SMBus 工具及相关依赖项 为了能够正常使用 SMBus 功能,在终端执行以下指令以更新本地仓库索引并安装 `i2c-tools` 软件包,该软件包包含了访问 I²C/SMBus 设备所需的实用程序: ```bash sudo apt update && sudo apt install i2c-tools -y ``` 上述操作完成后,系统将会具备基本的支持能力用于探测连接至主板上的I²C总线设备[^1]。 #### 配置 SMBus 支持 如果遇到了类似于"SMBus Host Controller not enabled"这样的警告信息,则可能是由于某些驱动模块自动加载所引起的兼容性问题。一种解决方案是通过黑名单机制阻止这些潜在冲突的驱动被激活。具体做法为编辑 `/etc/modprobe.d/blacklist.conf` 文件并向其中添加一行用来屏蔽指定驱动器: ```bash echo "blacklist i2c_piix4" | sudo tee -a /etc/modprobe.d/blacklist.conf ``` 此方法能有效防止因不恰当的驱动加载而引发的一系列连锁反应,从而确保系统的稳定性和功能性[^2]。 #### 测试 SMBus 连接状态 确认以上步骤无误之后,可通过下面这条简单的命令测试当前计算机是否已经成功启用了 SMBus 接口及其工作状况: ```bash lsmod | grep i2c_ ``` 当返回结果中包含有关于 `i2c_bcm2835`, `i2c_designware_platform` 或其他类似的条目时,则表明 SMBus 正常运作。 #### 使用 Python 访问 SMBus 除了命令行工具外,还可以借助编程语言如 Python 来实现更高级别的控制逻辑。为此需先安装 python-smbus 包: ```bash sudo pip3 install smbus2 ``` 随后便可以在脚本内部创建实例对象并与外部传感器或其他支持此类协议的小型装置交互通信[^3]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nightmare004

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值