USB TV Tuner / DVB Kernel modules #657
-
I have an older but very popular USB TV tuner (Pinnacle 801e) that has DVB kernel module support on Linux. It works great on RPI3 and 4 with stock Raspbian/Raspberry Pi OS. We now have an OrangePi 5B and are struggling to get it working there.
I looked through the kernel config from /proc/config and very few of the DVB kernel device driver modules seem to be enabled (I see CONFIG_DVB_CORE, the usual frontends, but no USB or PCI devices). This is supported by what I see in the '/lib/modules/rockchip-rk3588/' dir: 'drivers/media/usb/dvb-usb' is completely absent. I haven't dug too deep yet, but on the surface, it looks like I need to get these modules/drivers in there to make it work. They are there in the kernel source still (at least over in the armbian/rockchip repo), so I think the modules are just not getting enabled at compile time. Can anyone advise if I'm thinking right? I haven't built the kernel in a couple of decades (literally) and maybe I'm just misunderstanding the state of things. If this does seem like the right way to go, am I going to be able to adjust your build scripts to enable these extra modules? Are they likely to even build for the rockchip arch without patching? I'm up for the journey to figure this out and I'll do my homework on how, but if someone could at least help me know if I'm barking up the right tree I'd appreciate it :-) |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
The kernel is Android technically, so some drivers are completely broken. That being said it's not feasible to enable all generic modules you may find on a board like the Raspberry Pi 4. I'm not sure which modules specifically are required, but enabling them in the kernel config then rebuilding the kernel would be the best approach. |
Beta Was this translation helpful? Give feedback.
-
Well, I gave it a try and it seems to work! I needed to add the dvb-usb-dib0700 module (and its various dependencies). Here's the basic process I followed:
CONFIG_DVB_USB=m
CONFIG_DVB_USB_DIB0700=m
CONFIG_RC_CORE=m
CONFIG_MEDIA_RC_SUPPORT=m
After installing the new kernel and rebooting, I check the tail of dmesg and sure enough, it was loading up dvb for my tv tuner stick just fine! I just finished compiling tvheadend (following this guide) and it finally sees my tuner and I can watch live TV from anywhere in the house! |
Beta Was this translation helpful? Give feedback.
Well, I gave it a try and it seems to work! I needed to add the dvb-usb-dib0700 module (and its various dependencies). Here's the basic process I followed:
arch/arm64/configs/rockchip_linux_defconfig
and enable any needed kernel config optionsMakefile
and set the following near the top:EXTRAVERSION = -rockchip
/lib/modules
and…