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
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
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
add a comment |
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
Thelinux-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 withapport-bug linux-image-4.4.0-143-generic
.
– N0rbert
6 hours ago
add a comment |
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
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
drivers kernel compiling
asked 7 hours ago
UbuntuUserUbuntuUser
333
333
Thelinux-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 withapport-bug linux-image-4.4.0-143-generic
.
– N0rbert
6 hours ago
add a comment |
Thelinux-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 withapport-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
add a comment |
1 Answer
1
active
oldest
votes
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:
- 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.
- 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.
- 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.
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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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:
- 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.
- 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.
- 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.
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
add a comment |
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:
- 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.
- 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.
- 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.
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
add a comment |
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:
- 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.
- 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.
- 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.
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:
- 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.
- 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.
- 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.
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 withapport-bug linux-image-4.4.0-143-generic
.– N0rbert
6 hours ago