TechnoTrend DVB-S2 adapter not working anymore after update to OSMC 2017.05-2

Hi,

I was very happy to finally have support for my TechnoTrend S2-4600 in OSMC 2017.05-1.
Although scanning for channels and tuning did not work, at least when I plugged the device in, the driver was automatically loaded and TVHeadend found the device.

However, after the update to OSMC 2017.05-2, all I get in dmesg after plugging the device in is:

[ 3057.362813] usb 1-2.4: new high-speed USB device number 7 using xhci-hcd
[ 3057.463175] usb 1-2.4: New USB device found, idVendor=0b48, idProduct=3011
[ 3057.463187] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3057.463192] usb 1-2.4: Product: TechnoTrend USB2.0
[ 3057.463197] usb 1-2.4: Manufacturer: Jactek
[ 3057.463202] usb 1-2.4: SerialNumber: 000000031

Comparing the output of lsmod before and after plugging the device in shows exactly no difference.

Hence, it seems to me that the driver just isn’t loaded automatically. I can load it manually with

sudo modprobe m88ds3103
sudo modprobe ts2020
sudo modprobe rc_tt_1500

The loaded modules related to the device are then:

osmc@osmc-Aloysius:~$ lsmod | grep dvb
dvb_core               88550  1 m88ds3103
media                  20743  2 videodev,dvb_core

and

osmc@osmc-Aloysius:~$ lsmod | grep m88
m88ds3103              11660  0 
dvb_core               88550  1 m88ds3103

But when I re-plug the device, that doesn’t make any difference on the dmesg output above. I also don’t know if I need to load any additional modules.

Unfortunately, I didn’t keep the dmesg output from OSMC 2017.05-1, but I can provide it from my Ubuntu 16.10 laptop, where the device works just fine.

Is there any advice you can give me on loading the driver properly?

Device info:
https://www.linuxtv.org/wiki/index.php/TechnoTrend_TT-connect_S2-4600

lsusb:
Bus 001 Device 007: ID 0b48:3011 TechnoTrend AG

Here is what I found out in the meantime:

The DVB-S2 adapter uses the driver dw2021 (dvb-usb-dw2102.ko).
That module was present in OSMC 2017.05-1 with kernel 3.14.29-19-osmc:

/lib/modules/3.14.29-19-osmc/kernel/drivers/backport/dvb-usb-dw2102.ko

OSMC 2017.05-2 now comes with kernel 3.14.29-21-osmc and doesn’t include dvb-usb-dw2102.ko in the respective path anymore.

Is there a specific reason why that module was removed?

Hi,

Sorry to hear the adapter has stopped working. There have been some changes to DVB in the last update in an attempt to add support for more tuners.

I find it interesting that the device was detected in 2017.05-1, but now isn’t loading at all in OSMC 2017.05-2. CONFIG_DVB_M88DS3103=m is being built in both versions, hence why you are able to load the module.

That’s a different module.
Can you clarify which module is needed?

Sam

Hi Sam,

to be honest, I’m not quite familiar with the Linux driver architecture of these DVB devices and USB hot-plugging processes under Linux.

I just know from my Ubuntu 16.10 notebook (Kernel 4.8.0-54-generic) that dw2102 is the first driver to be initialized after the adapter has been detected:

[ 9258.783487] usb 2-3: new high-speed USB device number 5 using xhci_hcd
[ 9258.924270] usb 2-3: New USB device found, idVendor=0b48, idProduct=3011
[ 9258.924272] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 9258.924274] usb 2-3: Product: TechnoTrend USB2.0
[ 9258.924275] usb 2-3: Manufacturer: Jactek
[ 9258.924277] usb 2-3: SerialNumber: 000000031
[ 9258.924817] dw2102: su3000_identify_state
[ 9258.924818] dvb-usb: found a 'TechnoTrend TT-connect S2-4600' in warm state.
[ 9258.924822] dw2102: su3000_power_ctrl: 1, initialized 0
[ 9258.925389] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 9258.925460] DVB: registering new adapter (TechnoTrend TT-connect S2-4600)
[ 9258.929625] dvb-usb: MAC address: ...
[ 9259.265343] i2c i2c-9: Added multiplexed i2c bus 10
[ 9259.322429] ts2020 10-0060: Montage Technology TS2022 successfully identified
[ 9259.322445] usb 2-3: DVB: registering adapter 0 frontend 0 (Montage Technology M88DS3103)...
[ 9259.322798] Registered IR keymap rc-tt-1500
[ 9259.322916] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:14.0/usb2/2-3/rc/rc0    /input18
[ 9259.323273] rc rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:14.0/usb2/2-3/rc/rc0
[ 9259.323275] dvb-usb: schedule remote query interval to 250 msecs.
[ 9259.323278] dw2102: su3000_power_ctrl: 0, initialized 1
[ 9259.323279] dvb-usb: TechnoTrend TT-connect S2-4600 successfully initialized and connected.
[ 9261.595501] dvb-usb: recv bulk message failed: -110
[ 9261.595507] dw2102: i2c transfer failed.
[ 9281.932966] dw2102: su3000_power_ctrl: 1, initialized 1
[ 9281.937614] m88ds3103 9-0068: found a 'Montage Technology M88DS3103' in cold state
[ 9281.938134] m88ds3103 9-0068: downloading firmware from file 'dvb-demod-m88ds3103.fw'
[ 9282.993249] m88ds3103 9-0068: found a 'Montage Technology M88DS3103' in warm state
[ 9282.993252] m88ds3103 9-0068: firmware version: 3.B

And it was very similar on the Vero 4K with 2017.05-1, only with a few more errors.

lsmod on Ubuntu 16.10 shows this:

kai@xyz:~$ lsmod | grep dvb
dvb_usb_dw2102         69632  0
dvb_usb                24576  1 dvb_usb_dw2102
dvb_core              126976  3 m88ds3103,dvb_usb,dvb_usb_dw2102
rc_core                28672  3 rc_tt_1500,dvb_usb,dvb_usb_dw2102

and this:

kai@xyz:~$ lsmod | grep m88
m88ds3103              32768  0
i2c_mux                16384  1 m88ds3103
dvb_core              126976  3 m88ds3103,dvb_usb,dvb_usb_dw2102

A little googling told me that dw2102 is the usb interface driver and it initializes the m88ds3103 driver for the demodulator, which then initializes the ts2020 driver for the M88TS2022 tuner.

To answer your question:
I think both m88ds3103 and dw2102 are needed for this adapter.

Okay – I’ve added this to the list for further
investigation

Sam

Ok, thank you very much.
Let me know when you need more information from my side.

Btw, I need to correct one thing: The logs above or not from Ubuntu 17.04, as I first indicated, but from Ubuntu 16.10.

Hi,

I can see the driver is indeed not being built. This isn’t related to the ioctl() issue that affected some other DVB users. Still investigating this, but simply put, if it built before, we can easily build it again.

I’ll let you know when I have an update

Sam

Hi Sam,

thanks for the news!

I just searched the forum for the ioctl() issue reported by other DVB users and found some threads that I’ve also been following earlier.

Please know that on OSMC 2017.05-1, I experienced the same issue than reported in this post:

w_scan version 20130331 (compiled for DVB API 5.4)
using settings for 19.2 east Astra 1F/1G/1H/1KR/1L
scan type SATELLITE, channellist 67
output format initial tuning data
output charset 'UTF-8'
Info: using DVB adapter auto detection.
/dev/dvb/adapter0/frontend0 -> "Montage Technology M88DS3103" doesnt support SATELLITE -> SEARCH NEXT ONE.
main:3228: FATAL: ***** NO USEABLE SATELLITE CARD FOUND. *****
Please check wether dvb driver is loaded and
verify that no dvb application (i.e. vdr) is running.

To avoid any interference with w_scan (which I installed via apt-get), I completely uninstalled TVHeadend as a precaution before I started the scan .

I’m afraid this will return when the current missing driver situation is solved…

Kai

I’ll keep you updated.

Sam