There are a lot of details to understand my problem, so bear with me. I need help from any Linux gurus, Linux kernel module/driver programmers, HTPC experts and anyone with experience dealing with the Ceton InfiniTV 6 PCIe tuner.
I have a HTPC that has been running Ubuntu Server for years with an Ceton InfiniTV 6 PCIe with no problem. The server has been upgraded from Ubuntu Server 16.04 LTS through to 20.04. The boot drive for the server is starting to fail with too many SmartDrv errors so I've replaced it and did a clean install of Ubuntu Server 22.04 LTS.
The Ceton does not officially support the InfiniTV 6 on Linux, but do have an open source driver on Github that hasn't been touched in a while ((https://github.com/ceton/infinitv_pcie)). Each upgrade of the server came with a new kernel version that required recompiling and the occasional adjustment to the driver's source code to maintain compatibility with the newer kernels. Fortunately there have been forks on Github of the source to keep it up-to-date with the newer kernels. The most up-to-date fork I've found is this one, which brings it up to date with Kernel v.5.18: (https://github.com/JamesRHarris/infinitv_pcie).
Ubuntu Server 22.04 uses the 5.19 kernel and the driver source code compiles with a few warnings. I tweaked the code to fix the warnings, although I don't know if I helped or hurt the situation since my C programming skills are a bit rusty. I was able to modprobe the driver and as best as I can tell, the kernel logs show no errors from the driver. However, I did have to manually assign the tuner with a static IP address since it didn't automatically get assigned like it did on previous server versions. I assigned it 192.168.200.200.
The next step is to get the tuner/driver talking to the HTPC software, which is SageTV in my case. Like on the previous version of the server OS, I installed OpenDCT, which uses uPnP to detect the tuner and manages streaming to the HTPC software. The problem is that OpenDCT does not detect the presence of the tuner despite seeing the 192.168.200.200 IP address. After Googling, I executed a "gssdp-discover" command against the interface that the tuner set itself up on and discovered that the tuner also had an IP address of 192.168.200.1, even though ifconfig does not see it. Since I'm working from the terminal I had to used lynx (a command line browser) to navigate to 192.168.200.1 and found the web page that the tuner supplies for checking the status of the tuner. I just can't tell if the tuner is working properly or only partially. The only response I get from 192.168.200.200 is when I ping it. I also tried streaming as a test on the command line, drawing from the README file's suggestion:
cat /dev/ceton/ctn91xx_mpeg0_0
I expected to see data scrolling down the screen but got nothing and had to CTRL-C to abort. Then again, I likely don't know what I'm doing and the tuner probably had to be tuned to a channel in order to stream anything.
If you've stuck with me this far, thank you. I think I've laid out all the steps of how I got to this point. I'm stuck and getting desperate. I'm pushing up against the limits of my experience and skill, so if you have any suggestions on how to proceed, I'm all ears. I don't know if the driver is working or if something in the OS is preventing the driver from working. Knowing me, it's probably something simple and stupid that I'm overlooking.