×
Login Register an account
Top Submissions Explore Upgoat Search Random Subverse Random Post Colorize! Site Rules
1

How do I load i2c-module and i2c-i801 driver?

submitted by 2Drunk to Linux 2 weeksApr 27, 2024 23:26:17 ago (+1/-0)     (Linux)

I'm using an ASUS Laptop running Mint and Garuda. Haven't decided which OS to keep. I'm trying to run OpenRGB for the laptop and both OS give the same error. I'm not very intelligent so I need basic instructions or link to a write up.

This is the actual error msg:

"One or more I2C/SMBus interfaces failed to initialize.
RGB DRAM modules and some motherboards' onboard RGB lighting will not be available without I2C/SMBus.
On Linux, this is usually because the i2c-dev module is not loaded. You must load the i2c-dev module along with the correct i2c driver for your motherboard. This is usually i2c-piix4 for AMD systems and i2c-i801 for Intel systems."

This might be beyond my comprehension. I'm using a intel system.


10 comments block


[ - ] Cantaloupe 1 point 2 weeksApr 28, 2024 00:20:58 ago (+1/-0)*

Will write about it later, busy presently.

Basically:

sudo apt install libi2c-dev.
Then you may need to restart,

Then in a terminal you need to run the following

sudo modprobe i2c-dev
sudo modprobe i2c-piix4

(To load a module you could
sudo modprobe i2c-dev)

Then later make a permenant config

The driver is how the os talks to the device


Some details about the communication bus

I2C (Inter-Integrated Circuit; pronounced as “eye-squared-see” or “eye-two-see”), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (historically-termed as master/slave), single-ended, serial ... lower-speed peripheral ICs to processors and microcontrollers in short-distance, intra-board communication

a subset of I2C, defining a stricter usage. One purpose of SMBus

[ - ] 2Drunk [op] 0 points 2 weeksApr 28, 2024 08:49:38 ago (+0/-0)

Installed libi2c-dev. After install had to reinstall KDE.

sudo modprobe i2c-dev
sudo modprobe i2c-piix4

Appeared to do nothing. Still getting same error msg with OpenRGB.

[ - ] Dingo 0 points 1 weekApr 28, 2024 09:59:43 ago (+0/-0)

Appeared to do nothing.

Curious quesiton. Are you using the USB iso boot, or are you post install? If post install, I'm assuming Linux Mint?

[ - ] 2Drunk [op] 0 points 1 weekApr 28, 2024 11:53:00 ago (+0/-0)

Post install on mint.

[ - ] Dingo 0 points 1 weekApr 28, 2024 12:10:17 ago (+0/-0)

OK. So it's not taking then for some reason. What program are you trying to use/install specifically? I know you need i2c, but which program is trying to load it? If the full OS, then for sure the drivers to your HW is not integrated properly (although, I believe the instructions Cantelope gave seem sound).

On a hunch, are you willing to try a different kernel? They should be in the ubuntu repo.

[ - ] Cantaloupe 0 points 1 weekApr 28, 2024 13:34:37 ago (+0/-0)*

Check if the modules really loaded and if the Kernel had problems with them

Check it is loaded
lsmod | grep i2c_dev

remember to reboot your system after loading the modules. And then check again that they are loaded with lsmod | grep i2c-dev
lsmod | grep i2c-piix4

Check the Kernel Config
open a terminal and check for errors related to the modules
dmesg | grep i2c

dmesg - dumps kernel messages
lsmod (lists modules)
grep - gnu regular expressions
| <-- pipe to chain commands together.

These could be the issues:

Module Configuration:
The modules may not be configured correctly or might not be compatible with your specific hardware.

Kernel Configuration:
The necessary support for I2C/SMBus may not be compiled into your kernel.

Hardware Compatibility:
Your laptop's hardware might have some unique configuration or compatibility issues with OpenRGB.

Permissions:
Ensure that you have the necessary permissions to access the I2C/SMBus interface. Sometimes, accessing these interfaces requires elevated privileges.

OpenRGB Compatibility:
There might be an issue with the specific version of OpenRGB you're using, or it may not fully support your hardware.

Discord OpenRGB
You can maybe ask questions here too, if you have specific details about you version of linux, etc. Usually someone has had the same problem. You may not want to use the latest version it maybe a specific version is more compatible.
https://discord.com/invite/AQwjJPY

Linux Version Details
cat /etc/os-release
uname -a

I2C tools
sudo apt install i2c-tools
i2cdetect
or
i2cget i2cget <BUS> <CHIP-ADDR> <REG-ADDR>


code
https://gitlab.com/CalcProgrammer1/OpenRGB

instructions
Install the i2c-tools package.
Load the i2c-dev module: sudo modprobe i2c-dev

Create the i2c group if it does not already exist: sudo groupadd --system i2c

Add yourself to the i2c group: sudo usermod $USER -aG i2c

If you want you can load the i2c-dev module at boot: sudo touch /etc/modules-load.d/i2c.conf && sudo sh -c 'echo "i2c-dev" >> /etc/modules-load.d/i2c.conf'

Load the i2c driver for your chipset:

interesting notes from the site
sudo modprobe i2c-i801

sudo modprobe i2c-nct6775 - Secondary controller for motherboard LEDs (requires kernel patch)

-- requires a kernel patch for motherboard LEDs -- (but maybe not to just run

[ - ] Dingo 0 points 1 weekApr 28, 2024 09:55:03 ago (+0/-0)

Which distribution do you want the module in? Mint is either debian or ubuntu based and garuda is arch based. Totally different kernel sets, but in each case it's most likely a package you can install. If not, it will be a kernel module compile and that's not so bad.

What does the arch wiki have on loading kernel modules?

If you are distribution agnostic, may I recommend a distribution that has an "advanced hardware support" (AHS) kernel that has way more drivers loaded. I use it as a rescue disk and can boot on all kinds of machines but have used this distribution.

Try this specific ISO and see if it boots up for you.

Specific iso: MX-23.2_x64 “ahs”
From: https://mxlinux.org/download-links/

This might be beyond my comprehension. I'm using a intel system.

Maybe right now, but you can get there.

[ - ] paul_neri 0 points 2 weeksApr 28, 2024 04:08:38 ago (+0/-0)

How the f..k would I know?

[ - ] Kozel 0 points 2 weeksApr 28, 2024 00:47:24 ago (+0/-0)

rc-update add i2csmbus default
rc-service i2cmsmbus start

use this to translate to systemdick https://wiki.gentoo.org/wiki/OpenRC_to_systemd_Cheatsheet

[ - ] Sector2 0 points 2 weeksApr 28, 2024 00:03:49 ago (+0/-0)

I've been running an OS since 1984 that has never failed, and never had a problem with OS updates. But I used to read about the weeping and gnashing of teeth in the Linux forums. Good luck.