DVB-T stick (ID 048d:9006) not working in OSMC/Vero4K

I have the EVOLVEO Venus Dual DVB-T stick (aka ITE 9135(9006) or Afatech AF9033). It works flawlessly with my Synology NAS (Debian based) and with my notebook (Debian 9, see below). That’s why I assumed it would work with OSMC/Vero 4k but it doesn’t work.

Here is some output from my notebook where it works:

uname -a
Linux tisha 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u3 (2017-08-06) x86_64 GNU/Linux`

sudo dmesg | egrep "dvb|ITE|usb 2"
[ 8555.978679] usb 2-1.2: New USB device found, idVendor=048d, idProduct=9006
[ 8555.978682] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 8555.978684] usb 2-1.2: Product: DVB-T TV Stick
[ 8555.978686] usb 2-1.2: Manufacturer: ITE Technologies, Inc.
[ 8556.006462] dvb_usb_af9035 2-1.2:1.0: prechip_version=83 chip_version=02 chip_type=9135
[ 8556.007353] usb 2-1.2: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in cold state
[ 8556.007668] usb 2-1.2: firmware: direct-loading firmware dvb-usb-it9135-02.fw
[ 8556.007674] usb 2-1.2: dvb_usb_v2: downloading firmware from file 'dvb-usb-it9135-02.fw'
[ 8557.948748] dvb_usb_af9035 2-1.2:1.0: firmware version=3.39.1.0
[ 8557.948762] usb 2-1.2: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in warm state
[ 8557.950316] dvb_usb_af9035 2-1.2:1.0: [0] overriding tuner from 00 to 60
[ 8557.951833] dvb_usb_af9035 2-1.2:1.0: [1] overriding tuner from 00 to 60
[ 8557.953475] usb 2-1.2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[ 8557.953512] DVB: registering new adapter (ITE 9135(9006) Generic)
[ 8557.959946] usb 2-1.2: DVB: registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))...
[ 8557.963790] it913x 16-001c: ITE IT913X BX successfully attached
[ 8557.963807] usb 2-1.2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[ 8557.963840] DVB: registering new adapter (ITE 9135(9006) Generic)
[ 8557.978025] usb 2-1.2: DVB: registering adapter 1 frontend 0 (Afatech AF9033 (DVB-T))...
[ 8557.979531] it913x 16-001d: ITE IT913X BX successfully attached
[ 8558.021732] input: ITE 9135(9006) Generic as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/rc/rc0/input20
[ 8558.021891] rc rc0: ITE 9135(9006) Generic as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/rc/rc0
[ 8558.021895] usb 2-1.2: dvb_usb_v2: 'ITE 9135(9006) Generic' successfully initialized and connected
[ 8558.022964] usbcore: registered new interface driver dvb_usb_af9035
[ 8558.036274] input: ITE Technologies, Inc. DVB-T TV Stick as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1/0003:048D:9006.0001/input/input21
[ 8558.093916] hid-generic 0003:048D:9006.0001: input,hidraw0: USB HID v1.01 Keyboard [ITE Technologies, Inc. DVB-T TV Stick] on usb-0000:00:1d.0-1.2/input1
[ 8558.343548] usb 2-1.2: DVB: adapter 0 frontend 0 frequency 0 out of range (174000000..862000000)
[ 8559.870722] usb 2-1.2: DVB: adapter 1 frontend 0 frequency 0 out of range (174000000..862000000)

And here from OSMC/Vero 4k:

uname -a
Linux Vero 3.14.29-48-osmc #1 SMP Sat Dec 9 02:20:18 UTC 2017 aarch64 GNU/Linux

lsusb 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2017:1688  
Bus 001 Device 004: ID 048d:9006 Integrated Technology Express, Inc. IT9135 BDA Afatech DVB-T HDTV Dongle
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

sudo dmesg | egrep "dvb|ITE|usb"
[11715.286812] usb 1-1: New USB device found, idVendor=048d, idProduct=9006
[11715.286860] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[11715.286888] usb 1-1: Product: DVB-T TV Stick
[11715.286915] usb 1-1: Manufacturer: ITE Technologies, Inc.
[11715.317153] input: ITE Technologies, Inc. DVB-T TV Stick as /devices/c9000000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1:1.1/0003:048D:9006.0005/input/input13
[11715.317944] hid-generic 0003:048D:9006.0005: input,hidraw0: USB HID v1.01 Keyboard [ITE Technologies, Inc. DVB-T TV Stick] on usb-xhci-hcd.0.auto-1/input1
[11715.534802] usb 1-1: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in cold state
[11715.535687] usb 1-1: dvb_usb_v2: downloading firmware from file 'dvb-usb-it9135-02.fw'
[11716.132468] usb 1-1: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in warm state
[11716.132674] usb 1-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[11716.132933] dvb_usb_it913x: probe of 1-1:1.0 failed with error -12
[11716.132979] usbcore: registered new interface driver dvb_usb_it913x

I have no clue what does the error -12 means and how to avoid it. The only significant difference I have found is that for some reason the notebook is using the dvb_usb_af9035 driver while OSMC is using dvb_usb_v2.

I have tested all dvb-usb-it9135-02.fw firmware I was able to find with the following results:

# Firmware MD5 Hash FW Version Result
1 37463c7cdfc1d4592f5882fe1662e8a5 52953344 dvb_usb_it913x: probe of 1-1:1.0 failed with error -12
2 95f5bfba12a88567d74856bec2ef0916 53084931 usb 1-1: dvb_usb_v2: 2nd usb_bulk_msg() failed=-110
3 d5e1437dc24358578e07999475d4cac9 52953344 dvb_usb_it913x: probe of 1-1:1.0 failed with error -12
4 8ec417f08e7dee7fc75cf3110ed6d2a6 52887808 dvb_usb_it913x: probe of 1-1:1.0 failed with error -12

Firmware #3 is the one currently in dvb-firmware-osmc package and #4 is the one working on my notebook.

The Live TV / PVR is a key functionality for me. I have read many threads here but I have not found any solution. Please help, any ideas?

Not all devices will work. This will improve when we move to 4.9 next year

Sam

Well, it seems that the biggest and neverending Linux weakness has struck again: device drivers. However I would like to keep a positive attitude.

  1. Is there any way I can try to resolve it myself? (eg. compile Linux Media from sources, upgrade kernel, downgrade, etc.)

  2. Is there any way I can help the move to 4.9 to happen as soon as possible?

  3. Is there any list of OSMC/Vero 4K compatible DVB-T sticks?

Any ideas are welcome. Thanks.

First of all, I’m sorry for such a long delay in my reply. I was travelling when you posted this and it took me a little while to find your post to reply to.

There are a couple of things we’re doing to resolve this issue in the short term:

  • backporting drivers to 3.14 kernel
  • fixing up ioctls so we can use media_build (which would give us all of the device support available in 4.9)

This is a kind offer.

AMLogic are just finalising Linux 4.9 now, and the official release should be in a week or two when the Android Oreo SDK is released. AMLogic’s focus is on Android however, so I would put 3-4 months as a conservative estimate before it reaches Vero 4K. When we have something passable, we will make testing available on the forum.

AMLogic’s focus is Android first, and Linux is a bit of a second class citizen, so we need to take time to put it in to good shape. The good news is that Linux 4.9 is an LTS kernel, so it should be supported for a long time. There are also upstreaming efforts for these SoCs as well; but it’s still quite some time off before we can run a mainline kernel with the support we need.

There is an official one: DVB-T2/DVB-C TV dongle - OSMC.

DVB-T will work out of the box. DVB-T2 needs a bit of tinkering, but this will be solved in an update shortly.

Sam