Buildroot - missing i2c kernel modules
Solution 1
From what I understand, Target Package -> Hardware handling -> i2c-tools
refers to user space i2c utilities.
What you miss is kernel space i2c modules, you need to add them in make linux-menuconfig
.
Solution 2
As suggested by Mali, we need to enable the kernel support for SPI and I2C transmission protocol. I did it compiling the kernel separately but we can do it from the Buildroot folder runnning make linux-menuconfig
During the kernel 3.8.13 configuration, add:
linux-3.8.13$ make menuconfig
Go to Device Drivers menu and check the I2C support pressing ‘Y’.
Enter the I2C menu, go to I2C device interface and Press ‘M’ for module support.
Enter the I2C Hardware Bus support menu and press ‘M’ BCM2708 BSC
Check the SPI support pressing ‘Y’ and enter the sub menu
Press ‘M’ near the BCM2708 SPI controller driver
Cross compile it and once done you can load the modules with
modprobe i2c-dev
modprobe i2c-bcm2708
modprobe spi-bcm2708
Related videos on Youtube
UserK
Updated on September 18, 2022Comments
-
UserK over 1 year
I've used Buildroot to build a minimal operative system. During the configuration step with the
menuconfig
utility I specified to install I2C tools. The option was isTarget Package -> Hardware handling -> i2c-tools
But when I load the corresponding module I get the following error:
$sudo modprobe i2c-dev modprobe: module i2c-dev not found in modules.dep
Furthermore, the list in the
modules.dep
file is empty.$ cat /lib/modules/$(uname -r)/modules.dep $
I have probably missed something important.
Do I have to manually copy the kernel modules from the Buildroot installation folder to the target system? How to make the i2c tools working?