SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
how do I go about patching the kernel? got one patch file not sure about another.
one I keep finding seems to be for raspberry pi.
I just upgraded to 4.14.13 kernel and my usb tuner still is not working. seems to be em28xx driver.
with modprobe em28xx I get some v4l2 stuff loaded
bash-4.3# lsmod
Module Size Used by
em28xx 94208 0
tveeprom 24576 1 em28xx
v4l2_common 16384 1 em28xx
videodev 200704 1 v4l2_common
media 40960 2 videodev,em28xx
rfcomm 53248 14
the other two drivers required for the tv tuner dont get loaded unless I manually load them but I still get no dev dvb installed
how do I go about patching the kernel? got one patch file not sure about another.
one I keep finding seems to be for raspberry pi.
I just upgraded to 4.14.13 kernel and my usb tuner still is not working. seems to be em28xx driver.
Do not provide any links, keep the findings for yourself I've warned you that identifying, understanding and applying the patches will be the hard part.
Of course it's a driver issue, the driver is part of the kernel, specifically the media_tree part of the kernel. That's why I advised you to get the latest media_tree and patch your driver there (if not already patched), compile it and install it, instead of patching the kernel sources and maybe even ending up recompiling the whole kernel. The media_tree is the "bleeding edge" of the media (multimedia) drivers and all the developments there are finally merged into the kernel, but that can take some time and several kernel releases.
media tree is the simplest way and won't break anything if patched properly (maybe getting it already patched if Brad gets his stuff in order).
On your single driver approach, wishing you good luck then. Take a backup of your kernel / modules / firmware and go for the single driver patch and in tree recompilation/installation. https://stackoverflow.com/questions/...-kernel-module
Further movement upstream - https://www.spinics.net/lists/linux-...msg127060.html
According to b-rad-NDi/Ubuntu-media-tree-kernel-builder#27 he's got clearance from his bosses, so hopefully patches will be merged to linux-media soon.
It might take some time (months/years) before they make their way into the kernel tree. Usually it's the media_tree where they are first added and just then accepted/adopted (if ever) by the kernel. Keep an eye on the media_tree history (change) log at LinuxTV - links you'll find in my post above. Again, good luck!
I was only compiling (patching my tuner drivers) media_tree under Slackware ARM 14.2 and -current on older kernels, the latest being 4.4.50, for the last years. Actually, the last time I did it was the end of summer 2017 and due to the kernel issues (USB drops on higher traffic) I stopped and glued a Raspberry Pi Zero with a patched tuner driver running the last healthy kernel (4.4.50) on my tuner, streaming through tvheadend. https://www.linuxquestions.org/quest...6/#post5812054
Simply running the ./build script should get you going, no need to specify any arguments. If you own a multicore CPU and would like to compile the media tree a little faster, edit the build script and change the make related lines - add 4 make jobs - in:
Code:
system ("make -j 4 allyesconfig") == 0 or die "can't select all drivers";
system ("make -j 4") == 0 or die "build failed";
Got that fixed though dont get driver installed either by plugging in or using modprobe
get this after modprobe em28xx
Quote:
media: Linux media interface: v0.10
[68838.170255] Linux video capture interface: v2.00
[68838.170258] WARNING: You are using an experimental version of the media stack.
As the driver is backported to an older kernel, it doesn't offer
enough quality for its usage in production.
Use it with care.
Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
273caa260035c03d89ad63d72d8cd3d9e5c5e3f1 media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs
a1dfb4c48cc1e64eeb7800a27c66a6f7e88d075a media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic
d83a8243aaefe62ace433e4384a4f077bed86acb media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors
[68838.199464] usbcore: registered new interface driver em28xx
What "6by9 commented Jan 30, 2018" instructed you to do should work and I'm afraid I can't be of any further help on this, because this is pure driver patchwork and I don't own your TV Tuner and cannot replicate/test the outcome.
EDIT>
Clean/backup your previous work and try to do exactly as 6by9 instructed you to do, the exact commands in the exact order. Disregard my previous instructions on how to start the media_build (run the ./build script)- that was the standard way - but in your case you are applying a lot of patches and he seems to have already gone through this and got a successful outcome.
I'm glad you made it this far and able now to compile and test on your own. I'd suggest to report your outcome (dmesg) on that github thread and ask for guidance. From my POV, the message you got in dmesg is a normal output of loading the driver, but the device is not recognized. It's interesting to know if you have some lines in dmesg showing that the usb device was connected/disconnected, go on the link below and take a look at the dmesg sample output: https://www.linuxtv.org/wiki/index.p...e_WinTV-dualHD
Make sure you have the requested firmware available in /lib/firmware/ and use also lsusb for looking after your connected device, alternatively (although very unprofessional but simple) restart your system with the device connected and the newly patched drivers.
After reboot - check again the dmesg - look also for usb related messages. You might want to get the dmesg output in a file and be able to study it easier:
Code:
dmesg > study.txt
- then edit the study.txt file
Last edited by abga; 02-01-2018 at 07:32 PM.
Reason: the = then, EDIT>, removed udev stuff - useless
6by9 gave good advice but it hasnt given me success yet. I am not toying with raspberry pi just Hauppauge usb tv tuner.
6by9 is an engineer working for the Raspberry Foundation and as far as I remember from the Raspberry Forum he was knowledgeable and helpful.
You are toying with Slackware and he is toying with Raspbian (a Debian derivative), that's the main difference, but from the media_build perspective it shouldn't matter. The kernel source trees are the same, same version, the one he's using might contain some additional stuff for the Raspberry Platform, but that shouldn't matter either - he's confirming that if you read his reply on github carefully.
I was telling you to follow exactly his instructions, because that is the official way - developers approach - to patch a driver!
Here is the reference - take a look in the second column of the table - Developer's approach: https://www.linuxtv.org/wiki/index.p...Device_Drivers
You should run his command sequence, change the make -j 4 in the ./build script and also issue his make commands as make -j 4 and verify if the line make -C ../ install will end in a depmod command - if not, do it as advised in my previous posts.
make -C .. rmmod is not necessary (it'll unload the old drivers) and instead of issuing it you should better restart your system.
I did all of these (copy/paste from github) until make -C ../ install and everything looks OK:
Code:
git clone --depth=1 git://linuxtv.org/media_build.git
cd media_build
./build --main-git --depth 100
cd media
git remote add pi_patches https://github.com/6by9/linux.git
git fetch pi_patches --depth 50
git format-patch -25 pi_patches/rpi-4.14.y-hauppauge
git am *.patch
make -j 4 -C ../v4l
make -j 4 -C ../ install
make -j 4 -C .. rmmod
Pleas note that in my previous post where I put all the instructions, I made a trivial mistake (wrong copy/paste) with respect to the required perl module and I cannot edit/correct that post anymore.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.