[SOLVED] TBS6909 driver installation on Proxmox VE 6.3

Helio Mendonça

Active Member
Apr 10, 2019
73
6
28
Hi

I have a running TBS6909 on a Proxmox VE (version 5.4 with kernel 4.15.18-14-pve) server.
Now I tried to do the same but on an updated Proxmox VE (version 6.3 with kernel 5.4.78-2-pve).
I followed the instructions that can be seen here: https://github.com/tbsdtv/linux_media/wiki

After command make allyesconfig I got this:
Code:
root@pve:~/media_build# make allyesconfig
...
WARNING: This is the V4L/DVB backport tree, with experimental drivers
         backported to run on legacy kernels from the development tree at:
                http://git.linuxtv.org/media-tree.git.
         It is generally safe to use it for testing a new driver or
         feature, but its usage on production environments is risky.
         Don't use it in production. You've been warned.
CEC_CROS_EC: Requires at least kernel 9.255.255
V4L2_H264: Requires at least kernel 9.255.255
VIDEO_IPU3_CIO2: Requires at least kernel 9.255.255
VIDEO_OMAP3: Requires at least kernel 9.255.255
VIDEO_IMX274: Requires at least kernel 9.255.255
SND_BT87X: Requires at least kernel 9.255.255
INTEL_ATOMISP: Requires at least kernel 9.255.255
VIDEO_HANTRO: Requires at least kernel 9.255.255
VIDEO_ROCKCHIP_VDEC: Requires at least kernel 9.255.255
VIDEO_IPU3_IMGU: Requires at least kernel 9.255.255
Created default (all yes) .config file
./scripts/fix_kconfig.pl
make[1]: Leaving directory '/root/media_build/v4l'
The "Requires at least kernel 9.255.255" sounds like an error, right?

Nevertheless I was able to run the "make -j4" command apparently with no errors:
Code:
root@pve:~/media_build# make -j4
...
  LD [M]  /root/media_build/v4l/zd1301.ko
  LD [M]  /root/media_build/v4l/zd1301_demod.ko
  LD [M]  /root/media_build/v4l/zl10036.ko
  LD [M]  /root/media_build/v4l/zl10039.ko
  LD [M]  /root/media_build/v4l/zl10353.ko
  LD [M]  /root/media_build/v4l/zr364xx.ko
make[2]: Leaving directory '/usr/src/linux-headers-5.4.73-1-pve'
./scripts/rmmod.pl check
found 742 modules
make[1]: Leaving directory '/root/media_build/v4l'

It is strange because during the compilation I do not see any reference to the TBS6909 board unlike many others:
Code:
root@pve:~/media_build# ls /root/media_build/v4l/tbs69*
ls: cannot access '/root/media_build/v4l/tbs69*': No such file or directory

Finally, after a reboot I do not see any /dev/dvb devices, something that I also can check if I do:
Code:
root@pve:~# dmesg | grep frontend
root@pve:~#

What I would like to see is something like this (as in the case of Proxmox 5.4):
Code:
root@pve:~# dmesg | grep frontend
[   33.286869] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 0 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.408993] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 1 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.532632] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 2 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.656702] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 3 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.780999] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 4 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.904987] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 5 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   34.028999] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 6 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   34.153004] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 7 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...

Any help on this?
My guess is that kernel 5.4.78-2-pve is too new to these DVB drivers, right?

Regards
 
Hi again

I just noticed in my last post that in the end of command "make -j4" I got:
Code:
make[2]: Leaving directory '/usr/src/linux-headers-5.4.73-1-pve'
What is strange since my current kernet is the 5.4.78-2-pve!

The problem was that when I did the "apt update && apt -y upgrade", the kernel was upgraded from the one I had after installing Proxmox VE 6.3 (5.4.73-1-pve) to a new one (5.4.78-2-pve), and since I IMMEDIATELY after that did:
Code:
apt-cache search pve-headers
apt install pve-headers-$(uname -r)
The "uname -r" still returned the older kernel version and therefore the linux-headers I used in the driver compilation were the old ones.

So, this time I repeated the process on a new Proxmox installation but this time after the "apt update && apt -y upgrade" I did a reboot and therefore the linux-headers installed after that were already related with the updated kernel 5.4.78-2-pve.

I still got the odd "Requires at least kernel 9.255.255" messages but at least the "make -j4" command ended mentioning the right folder:
Code:
root@pve:~/media_build# make -j4
...
  LD [M]  /root/media_build/v4l/zd1301.ko
  LD [M]  /root/media_build/v4l/zd1301_demod.ko
  LD [M]  /root/media_build/v4l/zl10036.ko
  LD [M]  /root/media_build/v4l/zl10039.ko
  LD [M]  /root/media_build/v4l/zl10353.ko
  LD [M]  /root/media_build/v4l/zr364xx.ko
make[2]: Leaving directory '/usr/src/linux-headers-5.4.78-2-pve'
./scripts/rmmod.pl check
found 742 modules
make[1]: Leaving directory '/root/media_build/v4l'

Keeps me wondering why in the /root/media_build/v4l folder I still do not see any mention to my tbs6909 board when I see a bunch of tbs5xxx boards.

But now, at least I can already see the FAILED attempts during the boot to connect my board:
Code:
root@pve:~# dmesg | grep frontend
                4d2b65a0e8661ba2bd20d28d21db99846eafe4a8 media: dvb-frontends/stid135: Extended VGLNA support.
                4d2b65a0e8661ba2bd20d28d21db99846eafe4a8 media: dvb-frontends/stid135: Extended VGLNA support.
                4d2b65a0e8661ba2bd20d28d21db99846eafe4a8 media: dvb-frontends/stid135: Extended VGLNA support.
[    6.543979] TBSECP3 driver 0000:09:00.0: TBSECP3 frontend 0 attach failed
[    6.543983] TBSECP3 driver 0000:09:00.0: frontend attach failed
[    6.711355] TBSECP3 driver 0000:09:00.0: TBSECP3 frontend 1 attach failed
[    6.711359] TBSECP3 driver 0000:09:00.0: frontend attach failed
[    6.875268] TBSECP3 driver 0000:09:00.0: TBSECP3 frontend 2 attach failed
[    6.875278] TBSECP3 driver 0000:09:00.0: frontend attach failed
[    7.047474] TBSECP3 driver 0000:09:00.0: TBSECP3 frontend 3 attach failed
[    7.047478] TBSECP3 driver 0000:09:00.0: frontend attach failed
[    7.215376] TBSECP3 driver 0000:09:00.0: TBSECP3 frontend 4 attach failed
[    7.215379] TBSECP3 driver 0000:09:00.0: frontend attach failed
[    7.383513] TBSECP3 driver 0000:09:00.0: TBSECP3 frontend 5 attach failed
[    7.383516] TBSECP3 driver 0000:09:00.0: frontend attach failed
[    7.551513] TBSECP3 driver 0000:09:00.0: TBSECP3 frontend 6 attach failed
[    7.551516] TBSECP3 driver 0000:09:00.0: frontend attach failed
[    7.719378] TBSECP3 driver 0000:09:00.0: TBSECP3 frontend 7 attach failed
[    7.719381] TBSECP3 driver 0000:09:00.0: frontend attach failed
That are pretty close of what I want to see (like the one I used to had in my older Proxmox):
Code:
root@pve:~# dmesg | grep frontend
[   33.286869] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 0 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.408993] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 1 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.532632] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 2 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.656702] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 3 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.780999] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 4 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.904987] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 5 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   34.028999] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 6 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   34.153004] TBSECP3 driver 0000:0a:00.0: DVB: registering adapter 7 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...

Could you please give me an hint on what to do?
Regards
 
The "uname -r" still returned the older kernel version and therefore the linux-headers I used in the driver compilation were the old ones.
Yeah you missed the reboot to activate the updated kernel.
So, this time I repeated the process on a new Proxmox installation but this time after the "apt update && apt -y upgrade" I did a reboot and therefore the linux-headers installed after that were already related with the updated kernel 5.4.78-2-pve.
Avoid upgrade, instead use apt full-upgrade to avoid problems.

Could you please give me an hint on what to do?
No clear directions, I'm afraid.

But maybe try to get/compile the driver from their website:
https://www.tbsiptv.com/index.php?r...-S2_8_tuner_pcie_card_data_sheet_V2.pdf&id=16

Also ask on their support channels, may get you a higher chance for a hint. FYI: Proxmox VE 6.3 bases off the Ubuntu 20.04 kernel it should be somewhat similar to using that.
 
  • Like
Reactions: Helio Mendonça
Hi

Thanks @t.lamprecht for your hint!

Meanwhile I solved the problem!

Instead of using the procedure described here: https://github.com/tbsdtv/linux_media/wiki, I used the one described inside the zip of the "TBS Open Source Linux Driver Offline Package" that can be obtained here: https://www.tbsdtv.com/download/index.html?path=3_13
In the case of my board (TBS6909) I got the "TBS Open Source Linux Driver Offline Package v20201204", where the steps are the following:

Code:
wget http://www.tbsdtv.com/download/document/linux/media_build-2020-12-04.tar.bz2
rm -rf /lib/modules/`uname -r`/kernel/drivers/media/
tar jxvf media_build-2020-12-04.tar.bz2
cd media_build
./install.sh
reboot

IMPORTANT:

1. In my case, where I want to install the driver in a Proxmox server where the default user is already the root, I had to edit the install.sh by removing all the "sudo" to avoid errors during the ./install.sh.

2. Do not forget to install the linux-headers (in this case the pve-headers) BEFORE the procedure described above:
Code:
apt-cache search pve-headers
apt install pve-headers-$(uname -r)
reboot

After all this, I finally got what I wanted:
Code:
root@pve:~# dmesg | grep frontend
[   32.494217] TBSECP3 driver 0000:09:00.0: DVB: registering adapter 0 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   32.617803] TBSECP3 driver 0000:09:00.0: DVB: registering adapter 1 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   32.741035] TBSECP3 driver 0000:09:00.0: DVB: registering adapter 2 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   32.864554] TBSECP3 driver 0000:09:00.0: DVB: registering adapter 3 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   32.988870] TBSECP3 driver 0000:09:00.0: DVB: registering adapter 4 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.114499] TBSECP3 driver 0000:09:00.0: DVB: registering adapter 5 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.239971] TBSECP3 driver 0000:09:00.0: DVB: registering adapter 6 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...
[   33.364305] TBSECP3 driver 0000:09:00.0: DVB: registering adapter 7 frontend 0 (TurboSight TBS 6909 DVB-S/S2 )...

Regards
 
Last edited:
  • Like
Reactions: t.lamprecht
Hi,
try to reopen this issue with a slightly different card (TBS 6904) and Proxmox 8.2.7

Code:
root@pve:~# lspci -k
01:00.0 Multimedia controller: TBS Technologies DVB Tuner PCIe Card
    Subsystem: Device 6904:1131

Code:
root@pve:~# uname -r
6.8.12-2-pve

Code:
root@pve:~# apt install pve-headers-$(uname -r)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'proxmox-headers-6.8.12-2-pve' instead of 'pve-headers-6.8.12-2-pve'
proxmox-headers-6.8.12-2-pve is already the newest version (6.8.12-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

However, I installed pve-headers-6.2 - Proxmox Kernel Headers for 6.2 series (transitional package) as well.

Latest drivers with support kernel from 4.14 to 6.10

Code:
# wget http://www.tbsdtv.com/download/document/linux/media_build-2024-08-29.tar.bz2
# sudo rm -rf /lib/modules/`uname -r`/kernel/drivers/media/
#tar jxvf media_build-2024-08-29.tar.bz2
#cd media_build
#./install.sh
#reboot

Deleted sudos from install.sh

But still nothing at:
Code:
root@pve:~# dmesg | grep frontend

Any ideas?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!