I am glad to see that my previous patch to the Makefile for the Linux QMI driver ver. S2.37N2.57 has been included into ver. S2.38N2.59. However a new build artifact has been introduced that is not cleaned up.
I am attaching the patch for it here.
My work is an attempt to create a DKMS module for the Linux Qmi drivers so that I don’t have to recompile the module every time I update my kernel on Ubuntu (bionic). It can be found at https://github.com/samveen/MC7710_driver_builder
Regards,
Samveen
While building the module out-of-kernel-tree for a kernel version that is installed, but not the running kernel, the DKMS build fails as the Makefiles for the GobiNet and the GobiSerial drivers use the current kernel version using uname. This leads to issues with DKMS post-install auto-triggered builds, as expected. A 2nd patch to fix this issue (that implements using the variables that are provided by DKMS) is attached below.
First apologies on the late reply. It’s been a world changing time .
DKMS is built to be triggered automagically. This means that it can be triggered in 4 cases:
DKMS Package install time - for the currently running kernel; auto-magically
Kernel package install time - a new kernel; auto-magically
User request to DKMS for currently kernels
User request to DKMS for installed alternate kernels
The DKMS conf provided above and the existing makefiles (as of S2.39N260) WILL FAIL FOR CASE 2 and CASE 4 above. The reason is that the makefiles use the current running version of the kernel as the base for the kernel source directory, while DKMS expects that the module build framework should use the kernel version provided by DKMS as part of the MAKE= entry of the dkms conf file.
An example is
MAKE="bash build.sh --kver $kernelver"
In fact, the module source of the Sierra modules actually requires manual editing in the kernel includes tree to build correctly, name in the file memcontrol.h. Quoting directly from GobiNet/GobiUSBNet.c
With this, it is not even possible to get the module under DKMS unless I add a whole framework around it to do this editing in an automated way (I did that at https://github.com/samveen/MC7710_driver_builder ).