Why do tuner card drivers fail to build after kernel update to 4.4.0-143-generic?
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-generickernel 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
2 days 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 2 days ago
UbuntuUserUbuntuUser
433
433
Thelinux-image-4.4.0-143-generickernel 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
2 days ago
add a comment |
Thelinux-image-4.4.0-143-generickernel 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
2 days 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
2 days 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
2 days 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
yesterday
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
yesterday
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
yesterday
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 yesterday
answered 2 days ago
ubfan1ubfan1
9,80741730
9,80741730
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
yesterday
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
yesterday
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
yesterday
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
yesterday
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-generickernel 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
2 days ago