lucidm / lcdi2c Goto Github PK
View Code? Open in Web Editor NEWLinux Kernel Module for HD44780 with I2C Expander
License: Other
Linux Kernel Module for HD44780 with I2C Expander
License: Other
I'm trying to install your lcdi2c driver on a raspberry pi 3b+ but the installation fails at
sudo dkms build -m lcdi2c -v 1.0.1
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...(bad exit status: 2)
make -j4 KERNELRELEASE=4.19.42-v7+ -C /lib/modules/4.19.42-v7+/build M=/var/lib/dkms/lcdi2c/1.0.1/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.19.42-v7+ (armv7l)
Consult /var/lib/dkms/lcdi2c/1.0.1/build/make.log for more information.
Logfile: cat /var/lib/dkms/lcdi2c/1.0.1/build/make.log
DKMS make.log for lcdi2c-1.0.1 for kernel 4.19.42-v7+ (armv7l)
Mon 10 Jun 16:17:48 UTC 2019
make: Entering directory '/usr/src/linux-headers-4.19.42-v7+'
scripts/Makefile.build:45: /var/lib/dkms/lcdi2c/1.0.1/build/Makefile: No such file or directory
make[1]: *** No rule to make target '/var/lib/dkms/lcdi2c/1.0.1/build/Makefile'. Stop.
Makefile:1524: recipe for target '_module_/var/lib/dkms/lcdi2c/1.0.1/build' failed
make: *** [_module_/var/lib/dkms/lcdi2c/1.0.1/build] Error 2
make: Leaving directory '/usr/src/linux-headers-4.19.42-v7+'
System info
lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.9 (stretch)
Release: 9.9
Codename: stretch
uname --all
Linux raspi3bplus 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux
apt list --installed |grep headers
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
linux-headers-3.6-trunk-common/stable,now 3.6.9-1~experimental.1+rpi7 armhf [installed,automatic]
linux-headers-3.6-trunk-rpi/stable,now 3.6.9-1~experimental.1+rpi7 armhf [installed,automatic]
raspberrypi-kernel-headers/stable,now 1.20190517-1 armhf [installed]
Any guesses whats going wrong here ?
Thanks,
Michael.
This module was compiled under the following system (uname -a):
Linux orangepipc 4.13.9-sunxi #1 SMP Tue Oct 24 10:21:11 MSK 2017 armv7l GNU/Linux
According to the compilation section module should be installed in "module will be installed in /lib/modules/$(uname -r)/extra" folder.
Under this system "uname -r" looks like:
4.13.9-sunxi
But after performing command from compilation section "make -C /lib/modules/$(uname -r)/build M=$PWD modules_install" .ko nodule is installed in the following folder:
/lib/modules/4.13.9/extra
instead of
/lib/modules/4.13.9-sunxi/extra
Thx.
Dmitry.
I cloned the source from this repository onto a pi zero and build it there. I believe all prereqs are in place. The system responds with invalid argument but I don't see why. Any suggestions would be appreciated.
commands executed for clone are build are
git clone --depth 1 https://github.com/lucidm/lcdi2c.git /usr/src/lcdi2c-1.0.1
dkms add -m lcdi2c -v 1.0.1
dkms build -m lcdi2c -v 1.0.1
dkms install -m lcdi2c -v 1.0.1
The resulting output is
+ git clone --depth 1 https://github.com/lucidm/lcdi2c.git /usr/src/lcdi2c-1.0.1
Cloning into '/usr/src/lcdi2c-1.0.1'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 21 (delta 0), reused 12 (delta 0), pack-reused 0
Unpacking objects: 100% (21/21), done.
+ dkms add -m lcdi2c -v 1.0.1
Creating symlink /var/lib/dkms/lcdi2c/1.0.1/source ->
/usr/src/lcdi2c-1.0.1
DKMS: add completed.
+ dkms build -m lcdi2c -v 1.0.1
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area.............
make -j1 KERNELRELEASE=5.4.51+ -C /lib/modules/5.4.51+/build M=/var/lib/dkms/lcdi2c/1.0.1/build......................................
cleaning build area...........
DKMS: build completed.
+ dkms install -m lcdi2c -v 1.0.1
lcdi2c.ko:
Running module version sanity check.
modinfo: ERROR: Module /lib/modules/5.4.51+/lcdi2c.ko not found.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.4.51+/kernel/drivers/auxdisplay/
depmod.....
Job for systemd-modules-load.service failed because the control process exited with error code.
See "systemctl status systemd-modules-load.service" and "journalctl -xe" for details.
โ systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2020-07-26 10:02:55 BST; 7min ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 22756 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
Main PID: 22756 (code=exited, status=1/FAILURE)
Jul 26 10:02:54 xxxxxxxx systemd[1]: Starting Load Kernel Modules...
Jul 26 10:02:55 xxxxxxxx systemd-modules-load[22756]: Failed to insert module 'lcdi2c': Invalid argument
Jul 26 10:02:55 xxxxxxxx systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Jul 26 10:02:55 xxxxxxxx systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
Jul 26 10:02:55 xxxxxxxx systemd[1]: Failed to start Load Kernel Modules.
Jul 26 10:02:54 xxxxxxxx systemd[1]: Starting Load Kernel Modules...
-- Subject: A start job for unit systemd-modules-load.service has begun execution
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit systemd-modules-load.service has begun execution.
--
-- The job identifier is 1130.
Jul 26 10:02:55 xxxxxxxx systemd-modules-load[22756]: Failed to insert module 'lcdi2c': Invalid argument
Jul 26 10:02:55 xxxxxxxx systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- An ExecStart= process belonging to unit systemd-modules-load.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 1.
Jul 26 10:02:55 xxxxxxxx systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The unit systemd-modules-load.service has entered the 'failed' state with result 'exit-code'.
Jul 26 10:02:55 xxxxxxxx systemd[1]: Failed to start Load Kernel Modules.
-- Subject: A start job for unit systemd-modules-load.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit systemd-modules-load.service has finished with a failure.
--
-- The job identifier is 1130 and the job result is failed.
Jul 26 10:02:56 xxxxxxxx sudo[21419]: pam_unix(sudo:session): session closed for user root
Hi !
I'm trying to load the module during boot by adding the module name to /etc/modules right after i2c-dev
> cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
i2c-dev
lcdi2c
But after booting there is no /dev/lcdi2c device.
dmesg shows:
> dmesg |grep lcd
[ 3.763602] lcdi2c: loading out-of-tree module taints kernel.
If i load the module manually:
> sudo modprobe lcdi2c
dmesg shows
> dmesg |grep lcd
[ 3.763602] lcdi2c: loading out-of-tree module taints kernel.
[ 83.829014] lcdi2c 1-0027: 16x2 LCD using bus 0x1, at address 0x27
[ 83.829306] lcdi2c 1-0027: registered with major 241
and the module is working fine.
> ll /dev/lcdi2c
crw-rw---- 1 root dialout 241, 0 Jun 12 13:02 /dev/lcdi2c
Do I miss something ??
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.