Inappropriate ioctl for device error when using built-in CI slot of DVB tuner


I was hoping to get some help with a long lasting issue I’ve had with CE. I’m using an external USB DVB tuner TechnoTrend TT-connect CT2-4650 CI on Mecool KIII Pro (S912). It works with both CrazyCat and Hauppauge DVB module drivers but for whatever reason the built-in CI slot seems to be unaccessible from CE OS.

I’ve been trying to use multiple apps (tvheadend, oscam and dvblast) and all seem to report the same error when running strace on the binaries, “Inappropriate ioctl for device”.

I suspect it’s not a driver issue because I can run a docker container with tvheadend (from and passthrough the device to the container and CI slot works there.
It’s probably not a kernel issue either as from what I understand the container uses kernel from host OS and changing kernel from ksaq to osmc (and back) did not fix it either.

The issue is not new and it has existed atleast from 8.90.2 and I’m currently running 8.95.0.

I’m not sure what kind of logs would be useful(?). The error message looks like this when starting tvheadend

mecool:~ # /storage/.kodi/addons/service.tvheadend42/bin/tvheadend -B -C -u root -g video -c /storage/.kodi/userdata/addon_data/service.tvheadend42
2018-08-11 13:51:33.392 [   INFO] main: Log started
2018-08-11 13:51:33.393 [   INFO] http: Starting HTTP server
2018-08-11 13:51:33.393 [   INFO] htsp: Starting HTSP server
2018-08-11 13:51:33.401 [   INFO] config: loaded
2018-08-11 13:51:33.402 [   INFO] config: scanfile (re)initialization with path <none>
2018-08-11 13:51:33.412 [   INFO] linuxdvb: adapter added /dev/dvb/adapter1
2018-08-11 13:51:33.412 [  ERROR] linuxdvb: unable to query /dev/dvb/adapter1/ca0

Here’s an strace print when starting tvheadend.

Any help would be appreciated.



There are so many people waiting for this issue to be resolved.

Best regards…

This issue is in TVH 4.2. There isn’t support for CI. But you can use e.g. Smartgo card reader in Oscam. This one Argolis Smartreader V2 I successfully tested with Irdeto cards.

My docker container is running HTS Tvheadend 4.2.6-15~g88ae07789 and I’ve been using the same card since early days of 4.2, albeit on different distro.

EDIT: I could have mentioned also that to my knowledge Tvheadend needs to be compiled with libdvben50221 support for the hardware cam to work, which it is. (About -> Toggle Details)


So, when will this solve?
Will TVH 4.3 release work?

Best regards…

Inspired by iskradeltas first post in this thread I thought I’d try to get TVheadend 4.2 for Arch Linux ARM running in a chroot jail in order to get the HW CAM working. I managed to set up a build environment and compile TVheadend just fine using rootfs for archlinuxarm.

Then I realized I’m doing it unnecessarily complicated and instead used the TVheadend release-4.2 aarch64 docker image from, undockerized it and chrooted the output directory.

Seems to work fine as a workaround.

1 Like


That’s super news, I congratulate you on your work.

When will this be ready for our use?
Or can we use it?
Or is our problem due to USB-Tuner Drivers?

I’m so glad a hope is born.

Best regards…

Have you tried the docker solution? It’s quite straightforward.


First of all thank you for your comment.

I don’t know anything about Docker, :frowning: what, where to install, I don’t know anything.

Best regards…

I don’t know how adventurous you feel but the simplest way would be to install Docker and Docker addons via Kodi. Then install “Services - Tvheadend (” addon.

I’ve only installed it manually so I’m not sure how well the above works.

The container doesn’t contain any dvb drivers so your card needs to be supported by CrazyCat or one of the other Libreelec Module Drivers.

1 Like