SMBus

What is SMBus (System Management Bus)?

System Management Bus or SMBus is a deviation from the I2C or Inter Integrated Circuit bus technology. However, it needs stricter protocol and electrical conventions.

This is technically a simple, single-ended, two-wire bus that allows communicating with the power supply for ON/OFF instructions and is usually located on the motherboard of the computer.

Understanding SMBus (System Management Bus)

Understanding SMBus (System Management Bus)

Also known as the SM bus controller, this variant of Philips’ I2C serial bus protocol was designed by Intel and released in 1995.

It is usually not accessible or configurable by the user, despite the fact that the bus itself cannot recognize its functionality.

One of the major objectives to design this specific bus is to give the low-bandwidth devices some digital capabilities depending on the analog semiconductor technology.

This helps in producing an amalgam of the two.

Most of the commands defined by this bus revolve around implementations of simple logic, and therefore, it does not need to implement all the commands mentioned in the SMBus specification.

This makes it much easier for both the SMBus driver and support system in the implementation process.

With its design and stricter voltage and timing requirements than IIC, the SMBus will allow the motherboard of your computer to interact with other peripherals of low power, such as the battery in a laptop computer.

In addition to that, the other devices that use this specific bus to communicate are:

Apart from that, even a PCI or Peripheral Component Interconnect card may also be connected to the SMBus segment.

This bus is also meant to be used as an interconnect for different platform and system management standards such as:

It is also used to access the configuration of the Dynamic Random Access Memory or DRAM.

Therefore, it can be said that due to its ability for serial presence detection, the System Management Bus can be used in a wide range of use cases related to system enumeration, over and above power management.

This bus typically works with a few simple commands that follow these specific steps:

The type of data communicated through the SMBus provides different types of information and helps a device in many ways. With this bus, a device can do the following:

Typically, the functions performed by this particular bus are also called protocols. Some of the main protocols are:

There are a few specific hardware requirements for the SM bus to work efficiently and allow seamless communication between the computer and its hardware. These requirements include:

The hardware will typically provide shifting and timing control during the serial data transfers and perform several other autonomous application tasks, such as detecting the slave addresses.

What is SMBus

SMBus Specification

The specification of the earlier 1.0 and 1.1 versions of SMBus involved low power devices and smart batteries. However, the specs of the later versions also included the electrical attributes of both low power and high power devices.

Typically, the specification refers to three types of devices such as:

It is also specified that every slave device on the SM bus will have an exclusive 7-bit address known as a slave address. However, the read/write bit will be added in the 0 bit position.

The data can be read or written by the bus following a specific set of commands, as specified, which are typically a byte long. However, the return argument values may have different lengths.

According to the specifications of SMBus, some of the fundamental command protocols followed are:

SMBus Vs I2C

Read Also:  Unified Extensible Firmware Interface (UEFI) Explained

What is SMBus Error?

When there is a yellow exclamation mark displayed beside the SMBus Controller, it indicates that the hardware is not recognized by Windows.

This is mainly due to the incorrect installation of the motherboard chipset drivers while installing Windows.

Any missing or outdated driver may also cause errors because all these will result in a driver issue.

Such errors will prevent the driver from displaying the correct name in the Device Manager for a particular piece of hardware.

Ideally, the device software of the Intel Chipset will not install the device drivers necessary for the Intel SMBus Controller on its own.

These drivers need to be installed manually beforehand so that the current SMBus Controller is not prevented from transmitting hardware and device information to the operating system.

If you do not have the right drivers installed, there may be times when the SMBus may show errors on the Device Manager.

However, the good news is that these errors can be fixed easily, which is the next important part of this article.

How to Fix SMBus?

When you see an error in the SMBus, which indicates Windows cannot recognize the hardware, you can fix it by rolling back or reinstalling the driver. You can install the driver manually or from Windows Update.

One of the best ways to fix issues with the Intel SMBus Controller is to roll back to the earlier device driver.

To go ahead, follow these particular steps:

You will see that the SMBus Controller device driver is restored in the Device Manager window, and this time with no errors in it.

The next best step for fixing the issues with the bus is to reinstall the particular SMBus device driver.

This is quite easy and you can do any one of the following:

If you want to follow the first step and do it manually, you will need to visit the official website of Intel and download and install the most recent chipset driver. The steps to follow for this are:

There are also a couple of optional methods to go ahead and fix the issues with the SMBus controller.

One method is to install an updated Intel Server Chipset driver or the Intel Chipset Device software from Windows Update.

The steps to follow for this are:

Read Also:  What is Full HD (FHD) Display? Works, Pros, Cons & More

Once you are done downloading you should close the Device Manager and restart your computer for the changes to take effect. Check whether the issue is resolved when it restarts.

There is another optional way which is to install the same drivers from the Intel Download Center.

The specific steps to follow in this process are:

However, to make things much easier for you, you can use an automated tool or driver detector software.

This will scan the entire computer system and look for missing, broken or outdated drivers.

It will also install them for you automatically in just a few minutes to keep your system up-to-date.

How to Uninstall SMBus Controller?

The process to follow to uninstall the SMBus controller is to visit the Device Manager. In the DM window, you will need to first double-click on the Universal Serial Bus controller and then on the USB host controller.

Further, you will have to click on the Uninstall tab on the Action menu on the menu bar.

The detail process to follow to uninstall the SMBus controller is as follows:

At this stage, if you see the System Settings Change window, click on the Yes button when it appears to restart your computer.

During the process, you may also be prompted for the driver installation disk. If you are, simply type C:\Windows\inf in the Add New Hardware window.

Also, the operating system may need configuring for accessing and seeing all the files in the C:\Windows\inf.

Be informed that there is a significant risk of losing data in this process. Also, there is a high probability that the USB controller is not installed correctly.

This will leave the USB devices such as the mouse or the external drive inaccessible.

Questions & Answers:

What Does SMBus Do?

SMBus typically acts as the means of communication between different component chips of the system and the CPU. It can be simple chips or the power related chips such as batteries.

Is SMBus Multi-Master?

Yes, SMBus is practically a 2-wire multi-master bus. This means that you can connect more than one device to the bus that is capable of controlling it.

Is SMBus Bidirectional?

Yes, in a SMBus system the two lines are bidirectional. This enables any connected device to act as the master. This master device then provides the necessary clock signals to the slave device while initiating a particular bus transfer.

Conclusion

The SM Bus controller is quite useful in a computer because it helps facilitate communications between low-bandwidth devices related to power and system management.

Though it is a variant of I2C, it has much stricter voltage, timing, protocol and hardware requirements to work just as efficiently as it should.