Run windows automatic updates to see if there are any available drivers update for your computer.Ģ. Nvidia Chipset : Automatically Scan Nvidia SMBus/Chipset drivers
Intel Chipset : Automatically detect Intel SMBus/Chipset driversĪMD Chipset : Install AMD automatic driver detection tools. You can also use automatic detection tools to identify which driver you should use : Now after you know what type of chipset you have, download the latest chipset driver for your computer and install it. Search your hardware ID on Google and you will see the search result shows Intel, AMD or Nvidia Chipset. You can identify your chipset by looking at the SMBus Hardware ID. There are 3 most common chipset used nowadays which are Intel, AMD and Nvidia. Just go to the download site and select your model from the list and download the chipset drivers base on your current Operating system (Windows 7 etc). You can download it from your computer manufacture support website. To get the right chipset driver to fix your Sm Bus controller refer to the method below. You need to download and install the chipset driver because SMBus is part of the chipset component. With System Management Bus, a device can provide manufacturer information, tell the system what its model/part number is, save its state for a suspend event, report different types of errors, accept control parameters, and return its status. On Linux, I notice a major delay just setting single registers on the RAM modules in a loop, to the point that they don't appear to update all at once.Yes, it will increase your computer system stability and function. I created a music visualizer application using the RGB lighting and thus a high update rate is important to get a smoothly animated visualization. I have no problem with my Windows implementation writing to 4 RAM modules as well as the motherboard module with 5 RGB zones each (5*5*3 = 75 bytes, not including overhead) at 25ms or faster update rates. In addition, I believe the timeouts in the Linux i2c-piix4.c driver are unnecessarily high and would like to have them reduced or at least a userspace-accessible option to reduce them. With the current Linux driver on kernel 4.15.0-45, this second bus is not detected and as such I cannot control the motherboard's Aura lighting. I discovered that the RAM controllers are on the first bus at 0x0B00 (which also has the SPD EEPROMs) while the motherboard's Aura controller is on the second bus at 0x0B20. This seems to be the case with at least X470 and X399 as well, according to GitLab user reports. In doing this research, I learned that the AMD X370 chipset actually has two PIIX4-compatible SMBus controllers, one at I/O 0x0B00 and one at I/O 0x0B20.
I also utilized the Linux I2C code along with InpOut32 on Windows to drive the SMBus controllers from userspace and control the lighting without the official application.
I have reverse engineered much of the Aura controller's register map and have code to configure and set colors to the module from Linux. This RGB lighting system uses the SMBus interface to communicate with lighting controllers on the motherboard and RAM modules. I've been working on reverse engineering Asus and friends' Aura RGB lighting system that is found on many Asus motherboards along with DDR4 RAM modules from G.Skill, ADATA, and others.