SMBus 是 System Management Bus 的缩写,是1995年由Intel提出的,应用于移动PC和
桌面
PC系统中的低速率通讯。它主要是希望通过一条廉价并且功能强大的
总线
(由两条线组成),来控制主板上的设备并收集相应的信息。 SMBus 为系统和
电源管理
这样的任务提供了一条
控制总线
,使用 SMBus 的系统,设备之间发送和接收消息都是通过 SMBus,而不是使用单独的控制线,这样可以节省设备的管脚数。 使用 SMBus,设备还可以提供它的生产信息,告诉系统它的型号,部件号等,针对挂起事件保存它的状态,报告不同类别的错误,接收控制参数,并返回它的状态等。 SMBus器件存在现有7层OSI
网络模型
中的前3层,即
物理层
,
数据链路层
和
网络层
。
SMBus
最初的目的是为
智能电池
,充电电池和与其他系统通信的微控制器之间的通信链路而定义的。SMBus也被用来连接各种设备,包括电源相关设备,系统传感器,EEPROM通讯设备等等。 SMBus 最适用于笔记本电脑上,检测各元件状态并更新硬件设置
引脚
(pull-high 或 pull-low)。例如,将不存在的 DIMM 时钟关闭,或检测
电池
低电压状态。 SMBus 的数据传输率只有 100Kbit/s;这允许单一主机与 CPU 和多个主从硬盘通讯并收发数据。SMBus 也可用于免
跳线
设计的主板上。 SMBus 是 System Management Bus 的缩写,译为系统管理总线,SMBus是一种二线制串行总线,1996年第一版规范开始商用。它大部分基于
I2C总线
规范。和 I2C一样,SMBus不需增加额外引脚,创建该总线主要是为了增加新的功能特性,但只工作在100kHz且专门面向智能电池管理应用。它工作在主/从模式:主器件提供时钟,在其发起一次传输时提供一个起始位,在其终止一次传输时提供一个停止位;从器件拥有一个唯一的7或10位从器件地址
CentOS 6.0启动时提示如下:
SMBus与I2C的差别
SMBus与I2C 总线 之间在时序特性上存在一些差别。首先,SMBus需要一定数据保持时间,而 I2C总线则是从内部延长数据保持时间。SMBus具有超时功能,因此当SCL太低而超过35 ms时,从器件将复位正在进行的通信。相反,I2C采用硬件复位。SMBus具有一种警报响应地址(ARA),因此当从器件产生一个中断时,它不会马上清除中断,而是一直保持到其收到一个由主器件发送的含有其地址的ARA为止。SMBus只工作在从10kHz到最高100kHz。最低 工作频率 10kHz是由SMBus超时功能决定的CentOS 6.0启动时提示如下:
(1)针对piix4_smbus ****host smbus controller not enabled的解决方法
- [root@Nagios ~]# lsmod | grep i2c_piix4
- i2c_piix4 12574 0
- i2c_core 31274 1 i2c_piix4
- [root@Nagios ~]# vi /etc/modprobe.d/blacklist.conf
- blacklist i2c_piix4
- [root@Nagios ~]# reboot
- 重启后再无此提示!
转载自:http://xlogin.blog.51cto.com/3473583/823056
在VMware-Workstation下安装ubuntu时开机老是提示piix4_smbus 0000:00:007.3: Host SMBus controller not enabled,虽然说不会影响系统的正常运行,但是很影响开机速度,每次开机都会在那个地方等很久,无奈,找个办法解决掉。
百度了一下,看了很多帖子,最后无果。大家都一致认为是因为电脑CPU是64位的,安装了32位的ubuntu所导致,并且都只说了原因没有给出解决办法。可是搞IT的BOY怎么可以容忍呢?于是,经过不断搜索,最后居然bing出了一条结果,国外还是高手多啊。。。
错误: ubuntu开机出现错误提示:piix4_smbus 0000:00:007.3: Host SMBus controller not enabled
原因: ubuntu装入i2c_piix4模块所致,因为系统找不到这个模块,所以报错
处理方法:
1、查明装入模块的确切名字,显示输出的结果是模块的确切名字:i2c_piix4
2、将该模块列入不装入名单。编辑文件sudo vim /etc/modprobe.d/blacklist.conf,在末尾加入blacklist i2c-piix4
3、重启reboot