Kernel modules missing RPi 3-64 vs RPi 4-64

I don’t really know why, but I wanted to address that the RPi 3-64 and RPi 4-64 (both 2.94.4) drift in the difference of available kernel modules. I am adding @alanb128 here, because I frist saw the balenaSensor failing on an RPi 3 because of the bmp280 module not being available.

All in all, the listing for the e.g. iio modules is as follows:

rpi3-64

:/lib/modules/5.10.83-v8/kernel/drivers/iio# ls -lR
.:
adc  buffer  chemical  common  dac  humidity  industrialio.ko  light  temperature

./adc:
total 39
-rw-r--r-- 1 root root 24768 Mar  9  2018 mcp320x.ko
-rw-r--r-- 1 root root 13632 Mar  9  2018 mcp3422.ko

./buffer:
total 29
-rw-r--r-- 1 root root 10544 Mar  9  2018 industrialio-buffer-cb.ko
-rw-r--r-- 1 root root  7696 Mar  9  2018 industrialio-triggered-buffer.ko
-rw-r--r-- 1 root root 10016 Mar  9  2018 kfifo_buf.ko

./chemical:
total 86
-rw-r--r-- 1 root root 19600 Mar  9  2018 bme680_core.ko
-rw-r--r-- 1 root root  7536 Mar  9  2018 bme680_i2c.ko
-rw-r--r-- 1 root root 10256 Mar  9  2018 bme680_spi.ko
-rw-r--r-- 1 root root 16072 Mar  9  2018 ccs811.ko
-rw-r--r-- 1 root root 14320 Mar  9  2018 sgp30.ko
-rw-r--r-- 1 root root 16928 Mar  9  2018 sps30.ko

./common:
total 1
drwxr-xr-x 2 root root 1024 Mar  9  2018 ms_sensors

./common/ms_sensors:
total 17
-rw-r--r-- 1 root root 17144 Mar  9  2018 ms_sensors_i2c.ko

./dac:
total 24
-rw-r--r-- 1 root root 23704 Mar  9  2018 ad5446.ko

./humidity:
total 26
-rw-r--r-- 1 root root 12320 Mar  9  2018 dht11.ko
-rw-r--r-- 1 root root 12904 Mar  9  2018 htu21.ko

./light:
total 38
-rw-r--r-- 1 root root 24416 Mar  9  2018 apds9960.ko
-rw-r--r-- 1 root root 13368 Mar  9  2018 bh1750.ko

./temperature:
total 29
-rw-r--r-- 1 root root 13664 Mar  9  2018 max31856.ko
-rw-r--r-- 1 root root 15192 Mar  9  2018 maxim_thermocouple.ko

rpi4-64

:/lib/modules/5.10.83-v8/kernel/drivers/iio# ls -LR
.:
adc  buffer  chemical  common  dac  humidity  imu  industrialio.ko  light  pressure  temperature

./adc:
mcp320x.ko  mcp3422.ko  ti-ads1015.ko

./buffer:
industrialio-buffer-cb.ko  industrialio-triggered-buffer.ko  kfifo_buf.ko

./chemical:
bme680_core.ko  bme680_i2c.ko  bme680_spi.ko  ccs811.ko  sgp30.ko  sps30.ko

./common:
ms_sensors

./common/ms_sensors:
ms_sensors_i2c.ko

./dac:
ad5446.ko

./humidity:
dht11.ko  hdc100x.ko  htu21.ko

./imu:
inv_mpu6050

./imu/inv_mpu6050:
inv-mpu6050-i2c.ko  inv-mpu6050.ko

./light:
apds9960.ko  bh1750.ko  tsl4531.ko  veml6070.ko

./pressure:
bmp280-i2c.ko  bmp280-spi.ko  bmp280.ko

./temperature:
max31856.ko  maxim_thermocouple.ko

Could someone fix that and add the modules back to RPi 3-64?

Thank you :slight_smile:

@chrisys Maybe you got an idea?

The difference comes from the RaspberryPi kernel defconfigs defined in meta-raspberrypi/linux-raspberrypi.inc at c06ae5eacf3f822baf59aeedc4b2445096b209a7 · agherzan/meta-raspberrypi · GitHub.

linux-raspberrypi (rpi-5.10.y)$ cat arch/arm64/configs/bcm2711_defconfig | grep BMP280
CONFIG_BMP280=m
linux-raspberrypi (rpi-5.10.y)$ cat arch/arm64/configs/bcmrpi3_defconfig | grep BMP280

What we can do is add a BalenaOS kernel configuration file to include these as modules.

1 Like

I have opened a new github issue to track this, please follow it for progress. Request to include iio/pressure bmp280 driver · Issue #821 · balena-os/balena-raspberrypi · GitHub

1 Like

Thank you, this would be nice. At least the BMP280 / BME280 should be there, otherwise @alanb128 balenaSensors will not work correctly with RPi 3.