You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server 14.04升级内核后消除i2c NAK bailout错误方法

解决Ubuntu Server 14.04内核升级后i2c NAK错误的方法

我之前处理过类似的生产环境问题,这个i2c i2c-1: sendbytes: NAK bailout错误,本质是内核加载了不需要的I2C总线模块,但你的服务器硬件上并没有对应I2C设备在运行,导致模块反复尝试通信失败。下面是具体的解决步骤:

第一步:确认加载的I2C模块

先找出当前系统中正在运行的I2C相关模块,执行以下命令:

lsmod | grep i2c

你会得到类似这样的输出(以常见Intel主板为例):

i2c_i801               20480  0
i2c_core               53248  1 i2c_i801

这里的i2c_i801就是需要处理的目标模块(不同硬件可能模块名不同,比如i2c_piix4等)。

第二步:临时禁用模块(测试验证)

先临时禁用该模块,观察是否能消除错误:

sudo rmmod i2c_i801

执行后等待几分钟,如果不再出现NAK错误提示,说明找对了问题模块。注意这个操作是临时的,服务器重启后模块会重新加载。

第三步:永久禁用模块

如果临时禁用有效,就可以永久屏蔽这个模块:

  1. 打开黑名单配置文件:
sudo nano /etc/modprobe.d/blacklist.conf
  1. 在文件末尾添加一行,替换成你找到的模块名:
blacklist i2c_i801
  1. 保存退出后,更新initramfs使配置生效:
sudo update-initramfs -u -k all
  1. 重启服务器,之后该模块就不会自动加载,错误也会彻底消失。

补充说明

因为你的服务器是生产环境且未安装Xserver,基本不会用到I2C总线设备(比如桌面环境的传感器、特定外设),所以禁用相关模块完全不会影响系统正常运行。如果后续有需要使用I2C设备的场景,只需从黑名单中移除对应条目,再重新更新initramfs即可恢复。

内容的提问来源于stack exchange,提问作者int_ua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:52:56