Why do tuner card drivers fail to build after kernel update to 4.4.0-143-generic?linux/autoconf.h not presentCould not find wx-config error when building Audacity from sourceError on Compiling Android Kernel on Ubuntu 16.04Apply menuconfig changes on current kernelTrying to install Tp-Link card | Make won't workcan't install Realtek RTL8723de on ubuntu 16.04 kernel 4.15Installing Drivers for Wifi-External card from cdtp-link ac600 driverProblem regarding space when installing modulesFailure in running CUDA sample after cuda 9.0 installation

Multi tool use
Multi tool use

What is the significance behind "40 days" that often appears in the Bible?

What did “the good wine” (τὸν καλὸν οἶνον) mean in John 2:10?

What is the adequate fee for a reveal operation?

I got the following comment from a reputed math journal. What does it mean?

Why do tuner card drivers fail to build after kernel update to 4.4.0-143-generic?

Why is a white electrical wire connected to 2 black wires?

Is there a hypothetical scenario that would make Earth uninhabitable for humans, but not for (the majority of) other animals?

Are Roman Catholic priests ever addressed as pastor

How could an airship be repaired midflight?

How do I hide Chekhov's Gun?

Why one should not leave fingerprints on bulbs and plugs?

Instead of a Universal Basic Income program, why not implement a "Universal Basic Needs" program?

et qui - how do you really understand that kind of phraseology?

Fastest way to pop N items from a large dict

English sentence unclear

When to use a slotted vs. solid turner?

Have the tides ever turned twice on any open problem?

Why do passenger jet manufacturers design their planes with stall prevention systems?

Min function accepting varying number of arguments in C++17

World War I as a war of liberals against authoritarians?

Are ETF trackers fundamentally better than individual stocks?

Is there a symmetric-key algorithm which we can use for creating a signature?

Explaining pyrokinesis powers

How to write cleanly even if my character uses expletive language?



Why do tuner card drivers fail to build after kernel update to 4.4.0-143-generic?


linux/autoconf.h not presentCould not find wx-config error when building Audacity from sourceError on Compiling Android Kernel on Ubuntu 16.04Apply menuconfig changes on current kernelTrying to install Tp-Link card | Make won't workcan't install Realtek RTL8723de on ubuntu 16.04 kernel 4.15Installing Drivers for Wifi-External card from cdtp-link ac600 driverProblem regarding space when installing modulesFailure in running CUDA sample after cuda 9.0 installation













3















I use a particular brand of TV tuner cards (TBS technologies) and the drivers are not included in the kernel, so must be rebuilt after each kernel update. After installing yesterday's kernel update to 4.4.0-143-generic the TBS drivers fail to build, but if I go back to 4.4.0-142-generic they work. The problem occurs when running make, specifically when it attempts to build a file called videobuf-dma-sg.o, and the error output is as follows:



 CC [M] /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c: In function 'videobuf_dma_init_user_locked':
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:187:21: warning: passing argument 6 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
rw == READ, 1, /* force */
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct page **' but argument is of type 'int'
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:188:9: warning: passing argument 7 of 'get_user_pages' from incompatible pointer type [-Wincompatible-pointer-types]
dma->pages, NULL);
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:185:8: error: too many arguments to function 'get_user_pages'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: declared here
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
scripts/Makefile.build:291: recipe for target '/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o' failed
make[3]: *** [/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o] Error 1
Makefile:1454: recipe for target '_module_/home/backend/Drivers/linux-tbs-drivers/v4l' failed
make[2]: *** [_module_/home/backend/Drivers/linux-tbs-drivers/v4l] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.4.0-143-generic'
Makefile:51: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/home/backend/Drivers/linux-tbs-drivers/v4l'
Makefile:26: recipe for target 'all' failed
make: *** [all] Error 2


I am basically following a "recipe" for building these drivers, so I have no idea what the actual problem is or how to resolve it. I don't know if this is a bug in this particular version of the kernel, or if something has changed that will forever prevent the drivers from being rebuilt. I was hoping that maybe some kind person who knows a lot more about building from source than I could maybe give me some clue as to what is happening here, and more to the point, what I might need to do to fix it. Make runs just fine and completes without errors when using the previous 4.4.0-142-generic kernel. So what changed, I wonder?










share|improve this question






















  • The linux-image-4.4.0-143-generic kernel is available from official repositories. But your question looks more like bug-report. So consider to report it to LaunchPad with apport-bug linux-image-4.4.0-143-generic.

    – N0rbert
    6 hours ago















3















I use a particular brand of TV tuner cards (TBS technologies) and the drivers are not included in the kernel, so must be rebuilt after each kernel update. After installing yesterday's kernel update to 4.4.0-143-generic the TBS drivers fail to build, but if I go back to 4.4.0-142-generic they work. The problem occurs when running make, specifically when it attempts to build a file called videobuf-dma-sg.o, and the error output is as follows:



 CC [M] /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c: In function 'videobuf_dma_init_user_locked':
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:187:21: warning: passing argument 6 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
rw == READ, 1, /* force */
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct page **' but argument is of type 'int'
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:188:9: warning: passing argument 7 of 'get_user_pages' from incompatible pointer type [-Wincompatible-pointer-types]
dma->pages, NULL);
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:185:8: error: too many arguments to function 'get_user_pages'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: declared here
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
scripts/Makefile.build:291: recipe for target '/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o' failed
make[3]: *** [/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o] Error 1
Makefile:1454: recipe for target '_module_/home/backend/Drivers/linux-tbs-drivers/v4l' failed
make[2]: *** [_module_/home/backend/Drivers/linux-tbs-drivers/v4l] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.4.0-143-generic'
Makefile:51: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/home/backend/Drivers/linux-tbs-drivers/v4l'
Makefile:26: recipe for target 'all' failed
make: *** [all] Error 2


I am basically following a "recipe" for building these drivers, so I have no idea what the actual problem is or how to resolve it. I don't know if this is a bug in this particular version of the kernel, or if something has changed that will forever prevent the drivers from being rebuilt. I was hoping that maybe some kind person who knows a lot more about building from source than I could maybe give me some clue as to what is happening here, and more to the point, what I might need to do to fix it. Make runs just fine and completes without errors when using the previous 4.4.0-142-generic kernel. So what changed, I wonder?










share|improve this question






















  • The linux-image-4.4.0-143-generic kernel is available from official repositories. But your question looks more like bug-report. So consider to report it to LaunchPad with apport-bug linux-image-4.4.0-143-generic.

    – N0rbert
    6 hours ago













3












3








3


1






I use a particular brand of TV tuner cards (TBS technologies) and the drivers are not included in the kernel, so must be rebuilt after each kernel update. After installing yesterday's kernel update to 4.4.0-143-generic the TBS drivers fail to build, but if I go back to 4.4.0-142-generic they work. The problem occurs when running make, specifically when it attempts to build a file called videobuf-dma-sg.o, and the error output is as follows:



 CC [M] /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c: In function 'videobuf_dma_init_user_locked':
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:187:21: warning: passing argument 6 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
rw == READ, 1, /* force */
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct page **' but argument is of type 'int'
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:188:9: warning: passing argument 7 of 'get_user_pages' from incompatible pointer type [-Wincompatible-pointer-types]
dma->pages, NULL);
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:185:8: error: too many arguments to function 'get_user_pages'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: declared here
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
scripts/Makefile.build:291: recipe for target '/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o' failed
make[3]: *** [/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o] Error 1
Makefile:1454: recipe for target '_module_/home/backend/Drivers/linux-tbs-drivers/v4l' failed
make[2]: *** [_module_/home/backend/Drivers/linux-tbs-drivers/v4l] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.4.0-143-generic'
Makefile:51: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/home/backend/Drivers/linux-tbs-drivers/v4l'
Makefile:26: recipe for target 'all' failed
make: *** [all] Error 2


I am basically following a "recipe" for building these drivers, so I have no idea what the actual problem is or how to resolve it. I don't know if this is a bug in this particular version of the kernel, or if something has changed that will forever prevent the drivers from being rebuilt. I was hoping that maybe some kind person who knows a lot more about building from source than I could maybe give me some clue as to what is happening here, and more to the point, what I might need to do to fix it. Make runs just fine and completes without errors when using the previous 4.4.0-142-generic kernel. So what changed, I wonder?










share|improve this question














I use a particular brand of TV tuner cards (TBS technologies) and the drivers are not included in the kernel, so must be rebuilt after each kernel update. After installing yesterday's kernel update to 4.4.0-143-generic the TBS drivers fail to build, but if I go back to 4.4.0-142-generic they work. The problem occurs when running make, specifically when it attempts to build a file called videobuf-dma-sg.o, and the error output is as follows:



 CC [M] /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c: In function 'videobuf_dma_init_user_locked':
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:187:21: warning: passing argument 6 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
rw == READ, 1, /* force */
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct page **' but argument is of type 'int'
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:188:9: warning: passing argument 7 of 'get_user_pages' from incompatible pointer type [-Wincompatible-pointer-types]
dma->pages, NULL);
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:185:8: error: too many arguments to function 'get_user_pages'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dma-mapping.h:10,
from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: declared here
long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
^
scripts/Makefile.build:291: recipe for target '/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o' failed
make[3]: *** [/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o] Error 1
Makefile:1454: recipe for target '_module_/home/backend/Drivers/linux-tbs-drivers/v4l' failed
make[2]: *** [_module_/home/backend/Drivers/linux-tbs-drivers/v4l] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.4.0-143-generic'
Makefile:51: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/home/backend/Drivers/linux-tbs-drivers/v4l'
Makefile:26: recipe for target 'all' failed
make: *** [all] Error 2


I am basically following a "recipe" for building these drivers, so I have no idea what the actual problem is or how to resolve it. I don't know if this is a bug in this particular version of the kernel, or if something has changed that will forever prevent the drivers from being rebuilt. I was hoping that maybe some kind person who knows a lot more about building from source than I could maybe give me some clue as to what is happening here, and more to the point, what I might need to do to fix it. Make runs just fine and completes without errors when using the previous 4.4.0-142-generic kernel. So what changed, I wonder?







drivers kernel compiling






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 7 hours ago









UbuntuUserUbuntuUser

333




333












  • The linux-image-4.4.0-143-generic kernel is available from official repositories. But your question looks more like bug-report. So consider to report it to LaunchPad with apport-bug linux-image-4.4.0-143-generic.

    – N0rbert
    6 hours ago

















  • The linux-image-4.4.0-143-generic kernel is available from official repositories. But your question looks more like bug-report. So consider to report it to LaunchPad with apport-bug linux-image-4.4.0-143-generic.

    – N0rbert
    6 hours ago
















The linux-image-4.4.0-143-generic kernel is available from official repositories. But your question looks more like bug-report. So consider to report it to LaunchPad with apport-bug linux-image-4.4.0-143-generic.

– N0rbert
6 hours ago





The linux-image-4.4.0-143-generic kernel is available from official repositories. But your question looks more like bug-report. So consider to report it to LaunchPad with apport-bug linux-image-4.4.0-143-generic.

– N0rbert
6 hours ago










1 Answer
1






active

oldest

votes


















4














What changed is the mm.h file's get_user_pages() interface. This change to the base kernel code (in Jan) has finally worked its way down to the 4.4.0-143 Ubuntu kernel release. It caused all sorts of grief to Nvidia drivers and some vm drivers, but they got rewritten. Other drivers, like yours or the Intel Compute Stick's HDMI audio driver in oem-hdmi-audio-dkms_0.1_all.deb may or may not get a rewrite. Basically you have three choices:



  1. Stay with the 4.4.0-142 kernel. Forgo all future kernel patches -- the 4.4 series is dead to you until your driver is rewritten. Contact the card vendor about this, they may have a new driver.

  2. Rewrite the driver yourself. It may not be too bad, looks like this interface has seen changes in the past, and the current ones are just undoing some things. Don't attempt unless you have some kernel code experience. Maybe hire a third party developer to fix the driver, if security and using that card are critical to you.

  3. Spend your time looking for a later kernel with driver support. The HDMI audio has been fixed in later kernels, like the 4.18, so maybe you can upgrade OS/kernel. Again, check with the vendor of the card, they may be aware of which later kernels have a working driver (if any) included.

Some machines were crashing, somewhere, so somebody thought changing a LTS kernel interface was acceptable. I personally think they were wrong, but who am I to say. This alteration was upstream of Canonical, so it's considered a feature, not a bug, and unlikely to be changed because some old drivers don't work anymore.






share|improve this answer

























  • Thanks, I realize #1 is an option, but then I also have to forego security fixes in the kernel, which makes me less than enthusiastic about it. #2 is not an option for me, I am not a coder and know nothing about kernels. #3 is my hope, that at some point they will fix whatever they broke that is causing this, but I really don't even know how to effectively report this issue to whoever might be able to fix it (what I wrote above was really the best I could do to describe the problem). If you have any further suggestions, I'd much appreciate hearing them.

    – UbuntuUser
    4 hours ago










Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "89"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1126256%2fwhy-do-tuner-card-drivers-fail-to-build-after-kernel-update-to-4-4-0-143-generic%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









4














What changed is the mm.h file's get_user_pages() interface. This change to the base kernel code (in Jan) has finally worked its way down to the 4.4.0-143 Ubuntu kernel release. It caused all sorts of grief to Nvidia drivers and some vm drivers, but they got rewritten. Other drivers, like yours or the Intel Compute Stick's HDMI audio driver in oem-hdmi-audio-dkms_0.1_all.deb may or may not get a rewrite. Basically you have three choices:



  1. Stay with the 4.4.0-142 kernel. Forgo all future kernel patches -- the 4.4 series is dead to you until your driver is rewritten. Contact the card vendor about this, they may have a new driver.

  2. Rewrite the driver yourself. It may not be too bad, looks like this interface has seen changes in the past, and the current ones are just undoing some things. Don't attempt unless you have some kernel code experience. Maybe hire a third party developer to fix the driver, if security and using that card are critical to you.

  3. Spend your time looking for a later kernel with driver support. The HDMI audio has been fixed in later kernels, like the 4.18, so maybe you can upgrade OS/kernel. Again, check with the vendor of the card, they may be aware of which later kernels have a working driver (if any) included.

Some machines were crashing, somewhere, so somebody thought changing a LTS kernel interface was acceptable. I personally think they were wrong, but who am I to say. This alteration was upstream of Canonical, so it's considered a feature, not a bug, and unlikely to be changed because some old drivers don't work anymore.






share|improve this answer

























  • Thanks, I realize #1 is an option, but then I also have to forego security fixes in the kernel, which makes me less than enthusiastic about it. #2 is not an option for me, I am not a coder and know nothing about kernels. #3 is my hope, that at some point they will fix whatever they broke that is causing this, but I really don't even know how to effectively report this issue to whoever might be able to fix it (what I wrote above was really the best I could do to describe the problem). If you have any further suggestions, I'd much appreciate hearing them.

    – UbuntuUser
    4 hours ago















4














What changed is the mm.h file's get_user_pages() interface. This change to the base kernel code (in Jan) has finally worked its way down to the 4.4.0-143 Ubuntu kernel release. It caused all sorts of grief to Nvidia drivers and some vm drivers, but they got rewritten. Other drivers, like yours or the Intel Compute Stick's HDMI audio driver in oem-hdmi-audio-dkms_0.1_all.deb may or may not get a rewrite. Basically you have three choices:



  1. Stay with the 4.4.0-142 kernel. Forgo all future kernel patches -- the 4.4 series is dead to you until your driver is rewritten. Contact the card vendor about this, they may have a new driver.

  2. Rewrite the driver yourself. It may not be too bad, looks like this interface has seen changes in the past, and the current ones are just undoing some things. Don't attempt unless you have some kernel code experience. Maybe hire a third party developer to fix the driver, if security and using that card are critical to you.

  3. Spend your time looking for a later kernel with driver support. The HDMI audio has been fixed in later kernels, like the 4.18, so maybe you can upgrade OS/kernel. Again, check with the vendor of the card, they may be aware of which later kernels have a working driver (if any) included.

Some machines were crashing, somewhere, so somebody thought changing a LTS kernel interface was acceptable. I personally think they were wrong, but who am I to say. This alteration was upstream of Canonical, so it's considered a feature, not a bug, and unlikely to be changed because some old drivers don't work anymore.






share|improve this answer

























  • Thanks, I realize #1 is an option, but then I also have to forego security fixes in the kernel, which makes me less than enthusiastic about it. #2 is not an option for me, I am not a coder and know nothing about kernels. #3 is my hope, that at some point they will fix whatever they broke that is causing this, but I really don't even know how to effectively report this issue to whoever might be able to fix it (what I wrote above was really the best I could do to describe the problem). If you have any further suggestions, I'd much appreciate hearing them.

    – UbuntuUser
    4 hours ago













4












4








4







What changed is the mm.h file's get_user_pages() interface. This change to the base kernel code (in Jan) has finally worked its way down to the 4.4.0-143 Ubuntu kernel release. It caused all sorts of grief to Nvidia drivers and some vm drivers, but they got rewritten. Other drivers, like yours or the Intel Compute Stick's HDMI audio driver in oem-hdmi-audio-dkms_0.1_all.deb may or may not get a rewrite. Basically you have three choices:



  1. Stay with the 4.4.0-142 kernel. Forgo all future kernel patches -- the 4.4 series is dead to you until your driver is rewritten. Contact the card vendor about this, they may have a new driver.

  2. Rewrite the driver yourself. It may not be too bad, looks like this interface has seen changes in the past, and the current ones are just undoing some things. Don't attempt unless you have some kernel code experience. Maybe hire a third party developer to fix the driver, if security and using that card are critical to you.

  3. Spend your time looking for a later kernel with driver support. The HDMI audio has been fixed in later kernels, like the 4.18, so maybe you can upgrade OS/kernel. Again, check with the vendor of the card, they may be aware of which later kernels have a working driver (if any) included.

Some machines were crashing, somewhere, so somebody thought changing a LTS kernel interface was acceptable. I personally think they were wrong, but who am I to say. This alteration was upstream of Canonical, so it's considered a feature, not a bug, and unlikely to be changed because some old drivers don't work anymore.






share|improve this answer















What changed is the mm.h file's get_user_pages() interface. This change to the base kernel code (in Jan) has finally worked its way down to the 4.4.0-143 Ubuntu kernel release. It caused all sorts of grief to Nvidia drivers and some vm drivers, but they got rewritten. Other drivers, like yours or the Intel Compute Stick's HDMI audio driver in oem-hdmi-audio-dkms_0.1_all.deb may or may not get a rewrite. Basically you have three choices:



  1. Stay with the 4.4.0-142 kernel. Forgo all future kernel patches -- the 4.4 series is dead to you until your driver is rewritten. Contact the card vendor about this, they may have a new driver.

  2. Rewrite the driver yourself. It may not be too bad, looks like this interface has seen changes in the past, and the current ones are just undoing some things. Don't attempt unless you have some kernel code experience. Maybe hire a third party developer to fix the driver, if security and using that card are critical to you.

  3. Spend your time looking for a later kernel with driver support. The HDMI audio has been fixed in later kernels, like the 4.18, so maybe you can upgrade OS/kernel. Again, check with the vendor of the card, they may be aware of which later kernels have a working driver (if any) included.

Some machines were crashing, somewhere, so somebody thought changing a LTS kernel interface was acceptable. I personally think they were wrong, but who am I to say. This alteration was upstream of Canonical, so it's considered a feature, not a bug, and unlikely to be changed because some old drivers don't work anymore.







share|improve this answer














share|improve this answer



share|improve this answer








edited 4 hours ago

























answered 6 hours ago









ubfan1ubfan1

9,78941730




9,78941730












  • Thanks, I realize #1 is an option, but then I also have to forego security fixes in the kernel, which makes me less than enthusiastic about it. #2 is not an option for me, I am not a coder and know nothing about kernels. #3 is my hope, that at some point they will fix whatever they broke that is causing this, but I really don't even know how to effectively report this issue to whoever might be able to fix it (what I wrote above was really the best I could do to describe the problem). If you have any further suggestions, I'd much appreciate hearing them.

    – UbuntuUser
    4 hours ago

















  • Thanks, I realize #1 is an option, but then I also have to forego security fixes in the kernel, which makes me less than enthusiastic about it. #2 is not an option for me, I am not a coder and know nothing about kernels. #3 is my hope, that at some point they will fix whatever they broke that is causing this, but I really don't even know how to effectively report this issue to whoever might be able to fix it (what I wrote above was really the best I could do to describe the problem). If you have any further suggestions, I'd much appreciate hearing them.

    – UbuntuUser
    4 hours ago
















Thanks, I realize #1 is an option, but then I also have to forego security fixes in the kernel, which makes me less than enthusiastic about it. #2 is not an option for me, I am not a coder and know nothing about kernels. #3 is my hope, that at some point they will fix whatever they broke that is causing this, but I really don't even know how to effectively report this issue to whoever might be able to fix it (what I wrote above was really the best I could do to describe the problem). If you have any further suggestions, I'd much appreciate hearing them.

– UbuntuUser
4 hours ago





Thanks, I realize #1 is an option, but then I also have to forego security fixes in the kernel, which makes me less than enthusiastic about it. #2 is not an option for me, I am not a coder and know nothing about kernels. #3 is my hope, that at some point they will fix whatever they broke that is causing this, but I really don't even know how to effectively report this issue to whoever might be able to fix it (what I wrote above was really the best I could do to describe the problem). If you have any further suggestions, I'd much appreciate hearing them.

– UbuntuUser
4 hours ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Ask Ubuntu!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1126256%2fwhy-do-tuner-card-drivers-fail-to-build-after-kernel-update-to-4-4-0-143-generic%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







hFdU,rkpLhWQ RA7xK9Tnm p10l4yiq G6R,szHbH
wT VzWkR5u,lqPRwxhgec84Q64cASM dMQ JcP5sx

Popular posts from this blog

Creating centerline of river in QGIS? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Finding centrelines from polygons in QGIS?Splitting line into two lines with GRASS GIS?Centroid of the equator and a pointpostgis: problems creating flow direction polyline; not all needed connections are drawnhow to make decent sense from scattered river depth measurementsQGIS Interpolation on Curved Grid (River DEMs)How to create automatic parking baysShortest path creation between two linesclipping layer using query builder in QGISFinding which side of closest polyline point lies on in QGIS?Create centerline from multi-digitized roadway lines Qgis 2.18Getting bathymetric contours confined only within river banks using QGIS?

What is the result of assigning to std::vector::begin()? The Next CEO of Stack OverflowWhat are the differences between a pointer variable and a reference variable in C++?What does the explicit keyword mean?Concatenating two std::vectorsHow to find out if an item is present in a std::vector?Why is “using namespace std” considered bad practice?What is the “-->” operator in C++?What is the easiest way to initialize a std::vector with hardcoded elements?What is The Rule of Three?What are the basic rules and idioms for operator overloading?Why are std::begin and std::end “not memory safe”?