b-rad-NDi / media_tree

Upstream media tree -- WARNING I REBASE MY BRANCHES
https://linuxtv.org
Other
2 stars 3 forks source link

Cinergy S2 Box ID 0ccd:0105 with Montage-3103b #4

Closed stpf99 closed 4 years ago

stpf99 commented 4 years ago

Hi, my device is TerraTec Electronic GmbH Cinergy S2 Box ID 0ccd:0105 with Montage-3103b

informations on kernel without drivers (media_build)

lsusb:

Bus 001 Device 002: ID 0ccd:0105 TerraTec Electronic GmbH Cinergy S2 Box

dmesg :

[ 1249.760585] usb 1-1: new high-speed USB device number 4 using ehci-pci [ 1249.890023] usb 1-1: New USB device found, idVendor=0ccd, idProduct=0105, bcdDevice= 0.00 [ 1249.890026] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1249.890029] usb 1-1: Product: TERRATEC USB Tuner [ 1249.890031] usb 1-1: Manufacturer: Tevii [ 1249.890033] usb 1-1: SerialNumber: 000000031

informations on kernel with drivers (media_tree) from linuxtv brad repo

ls -l /dev/dvb/adapter0 :

razem 0 crw-rw----+ 1 root video 212, 4 11-08 15:59 demux0 crw-rw----+ 1 root video 212, 5 11-08 15:59 dvr0 crw-rw----+ 1 root video 212, 7 11-08 15:59 net0

frontend is missing :

"[ 33.279671] m88ds3103 0-0068: Unknown device. Chip_id=52"

[ 27.252906] usb 1-1: USB disconnect, device number 2 [ 27.262960] dvb-usb: Terratec Cinergy S2 USB BOX successfully deinitialized and disconnected. [ 32.830356] usb 1-1: new high-speed USB device number 4 using ehci-pci [ 32.959923] usb 1-1: New USB device found, idVendor=0ccd, idProduct=0105, bcdDevice= 0.00 [ 32.959926] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 32.959929] usb 1-1: Product: TERRATEC USB Tuner [ 32.959931] usb 1-1: Manufacturer: Tevii [ 32.959933] usb 1-1: SerialNumber: 000000031 [ 32.960354] dw2102: su3000_identify_state [ 32.960355] dvb-usb: found a 'Terratec Cinergy S2 USB BOX' in warm state. [ 32.960365] dw2102: su3000_power_ctrl: 1, initialized 0 [ 32.962060] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 32.962188] dvbdev: DVB: registering new adapter (Terratec Cinergy S2 USB BOX) [ 32.962194] usb 1-1: media controller created [ 32.966918] dvb-usb: MAC address: bc:ea:2b:46:13:a5 [ 32.967297] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.

[ 33.279671] m88ds3103 0-0068: Unknown device. Chip_id=52
[ 33.279778] dvb-usb: no frontend was attached by 'Terratec Cinergy S2 USB BOX'
[ 33.280302] Registered IR keymap rc-tt-1500
[ 33.280365] rc rc0: Terratec Cinergy S2 USB BOX as /devices/pci0000:00/0000:00:04.1/usb1/1-1/rc/rc0
[ 33.280445] input: Terratec Cinergy S2 USB BOX as /devices/pci0000:00/0000:00:04.1/usb1/1-1/rc/rc0/input6
[ 33.281696] rc rc0: lirc_dev: driver dw2102 registered at minor = 0, scancode receiver, no transmitter
[ 33.281698] dvb-usb: schedule remote query interval to 250 msecs.
[ 33.281701] dw2102: su3000_power_ctrl: 0, initialized 1
[ 33.281702] dvb-usb: Terratec Cinergy S2 USB BOX successfully initialized and connected.

lsmod :

   Module                  Size  Used by
   dvb_usb_dvbsky         20480  0
   dvb_usb_v2             28672  1 dvb_usb_dvbsky
   rc_tt_1500             16384  0

        m88ds3103 28672 1 dvb_usb_dvbsky
        i2c_mux 16384 1 m88ds3103
        dvb_usb_dw2102 69632 0 <<< 0
        dvb_usb 28672 1 dvb_usb_dw2102
        dvb_core 126976 dvb_usb_v2,m88ds3103,dvb_usb,dvb_usb_dw2102,dvb_usb_dvbsky
        rc_core 40960 6 dvb_usb_v2,dvb_usb,dvb_usb_dw2102,dvb_usb_dvbsky,rc_tt_1500
        mc 40960 3 dvb_usb_v2,dvb_usb,dvb_core

module dvb_usb_dw2102 is not used with module m88ds3103 ! module m88ds3103 is used with module dvb_usb_dvbsky !

is there any option to pass m88ds3103 module load for 3103b version ? is this lsmod is correct because dvb_usb_dw2102 is not used with module m88ds3103 ? why this device is recognized at once by dw2102 and dvbsky/ blacklist first or second ?

is there any chance to add support for this device to your brantch Montage_3103b ? or is already included but something is not configured ?

https://git.linuxtv.org/brad/media_tree.git/log/?h=Montage-3103b.v2

stpf99 commented 4 years ago

additional patches https://patchwork.kernel.org/project/linux-media/list/?series=199089

[16/17] media: usb: dvb-usb: dw2102: convert to use i2c_new_client_device() [06/17] media: dvb-frontends: ts2020: convert to use i2c_new_client_device() [05/17] media: dvb-frontends: m88ds3103: convert to use i2c_new_client_device() [02/17] media: dvb-core: dvbdev: convert to use i2c_new_client_device() [01/17] i2c: add helper to check if a client has a driver attached

maybe this related patches finally resolve some issues an make situation better, i've checked to compile media tree from your branch but failed to compile at dvb-core: dvbdev

stpf99 commented 4 years ago

with upstream media_tree have warning:

CC [M] drivers/media/dvb-frontends/m88ds3103.o CC lib/timerqueue.o CC lib/vsprintf.o drivers/media/dvb-frontends/m88ds3103.c: In function ‘m88ds3103_set_frontend’: drivers/media/dvb-frontends/m88ds3103.c:906:6: warning: this statement may fall through [-Wimplicit-fallthrough=] if (dev->chiptype == M88DS3103_CHIPTYPE_3103B) { ^ drivers/media/dvb-frontends/m88ds3103.c:911:2: note: here default: ^~~ CC [M] drivers/media/dvb-frontends/mn88472.o CC [M] drivers/media/dvb-frontends/mn88473.o

stpf99 commented 4 years ago

I can confirm this patches from @micha137 works for terratec cinergy s2 rev.4 in 100% , I'm actually watching previously problematic on crazycat driver channels where only dvb-s qpsk is properly supported on hotbird. Thank You @micha137 Great Job !!!

b-rad-NDi commented 4 years ago

Chalk it up to me ignoring/forgetting about bridge driver settings. I had everything working--then ignored the board defaults when I committed everything. SMH.

b-rad-NDi commented 4 years ago

btw...

Driver updates have been migrated to branch:Montage-3103b.v3

Note this contains an update to get closer to upstream, an i2c dummy device for the timing chip. If you compile and find this modification does not work, it can be backed off by switching which line in commented in the dt_read/dt_write functions.

b-rad-NDi commented 4 years ago

The code to support this has been merged to Montage-3103b.v3

Please let me know if it works so I can close this issue. Also note the note above about i2c dummy device in case it does not work.

stpf99 commented 4 years ago

Actually i'm testing on ubuntu 19.10 5.3.0-24-generic with updated media_build from git://linuxtv.org/media_build.git + 3 patches : 3103b.patch, 3103b_priv.patch, dw2102.patch. link https://github.com/devegoo/Monatge_3103b

stpf99 commented 4 years ago

only green diode - lock signal status seems to be not enabled in this code :)

3105.150625] usb 1-1: USB disconnect, device number 2 [ 3105.216336] dvb-usb: Terratec Cinergy S2 USB BOX successfully deinitialized and disconnected. [ 3108.123140] usb 1-1: new high-speed USB device number 5 using ehci-pci [ 3108.280111] usb 1-1: New USB device found, idVendor=0ccd, idProduct=0105, bcdDevice= 0.00 [ 3108.280122] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 3108.280128] usb 1-1: Product: TERRATEC USB Tuner [ 3108.280133] usb 1-1: Manufacturer: Tevii [ 3108.280138] usb 1-1: SerialNumber: 000000031 [ 3108.283513] dw2102: su3000_identify_state [ 3108.283517] dvb-usb: found a 'Terratec Cinergy S2 USB BOX' in warm state. [ 3108.283538] dw2102: su3000_power_ctrl: 1, initialized 0 [ 3108.284059] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 3108.285012] dvbdev: DVB: registering new adapter (Terratec Cinergy S2 USB BOX) [ 3108.285026] usb 1-1: media controller created [ 3108.289583] dvb-usb: MAC address: bc:ea:2b:46:13:a5 [ 3108.290769] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered. [ 3108.605183] dw2102: tt_s2_4600_frontend_attach: attaching demodulator of type m88ds3103b at i2c address 0x6a [ 3108.618115] i2c i2c-5: Added multiplexed i2c bus 6 [ 3108.621673] m88ds3103 5-006a: dt addr is 0x21 [ 3108.671303] ts2020 6-0060: Montage Technology TS2022 successfully identified [ 3108.671437] usb 1-1: DVB: registering adapter 0 frontend 0 (Montage Technology M88RS6000)... [ 3108.671459] dvbdev: dvb_create_media_entity: media entity 'Montage Technology M88RS6000' registered. [ 3108.673441] Registered IR keymap rc-tt-1500 [ 3108.673564] rc rc0: Terratec Cinergy S2 USB BOX as /devices/pci0000:00/0000:00:12.2/usb1/1-1/rc/rc0 [ 3108.673758] rc rc0: lirc_dev: driver dw2102 registered at minor = 0, scancode receiver, no transmitter [ 3108.673930] input: Terratec Cinergy S2 USB BOX as /devices/pci0000:00/0000:00:12.2/usb1/1-1/rc/rc0/input17 [ 3108.674126] dvb-usb: schedule remote query interval to 250 msecs. [ 3108.674133] dw2102: su3000_power_ctrl: 0, initialized 1 [ 3108.674136] dvb-usb: Terratec Cinergy S2 USB BOX successfully initialized and connected.

stpf99 commented 4 years ago

with blaclisted dvb_usb_dvbsky : dmesg:

129.562705] dvb-usb: Terratec Cinergy S2 USB BOX successfully deinitialized and disconnected. [ 131.279082] usb 1-1: new high-speed USB device number 5 using ehci-pci [ 131.436221] usb 1-1: New USB device found, idVendor=0ccd, idProduct=0105, bcdDevice= 0.00 [ 131.436232] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 131.436238] usb 1-1: Product: TERRATEC USB Tuner [ 131.436243] usb 1-1: Manufacturer: Tevii [ 131.436248] usb 1-1: SerialNumber: 000000031 [ 131.437718] dw2102: su3000_identify_state [ 131.437722] dvb-usb: found a 'Terratec Cinergy S2 USB BOX' in warm state. [ 131.437747] dw2102: su3000_power_ctrl: 1, initialized 0 [ 131.438181] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 131.439231] dvbdev: DVB: registering new adapter (Terratec Cinergy S2 USB BOX) [ 131.439245] usb 1-1: media controller created [ 131.443725] dvb-usb: MAC address: bc:ea:2b:46:13:a5 [ 131.445287] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered. [ 131.761169] dw2102: tt_s2_4600_frontend_attach: attaching demodulator of type m88ds3103b at i2c address 0x6a [ 131.773899] i2c i2c-5: Added multiplexed i2c bus 6 [ 131.776404] m88ds3103 5-006a: dt addr is 0x21 [ 131.835152] ts2020 6-0060: Montage Technology TS2022 successfully identified [ 131.835248] usb 1-1: DVB: registering adapter 0 frontend 0 (Montage Technology M88RS6000)... [ 131.835264] dvbdev: dvb_create_media_entity: media entity 'Montage Technology M88RS6000' registered. [ 131.837289] Registered IR keymap rc-tt-1500 [ 131.837390] rc rc0: Terratec Cinergy S2 USB BOX as /devices/pci0000:00/0000:00:12.2/usb1/1-1/rc/rc0 [ 131.837506] rc rc0: lirc_dev: driver dw2102 registered at minor = 0, scancode receiver, no transmitter [ 131.837634] input: Terratec Cinergy S2 USB BOX as /devices/pci0000:00/0000:00:12.2/usb1/1-1/rc/rc0/input16 [ 131.837805] dvb-usb: schedule remote query interval to 250 msecs. [ 131.837811] dw2102: su3000_power_ctrl: 0, initialized 1 [ 131.837813] dvb-usb: Terratec Cinergy S2 USB BOX successfully initialized and connected. ts@ts-HP-t620-Quad-Core-TC:~$

b-rad-NDi commented 4 years ago

Looks like you're using a squashed patch set.

When someone compiles my v3 branch, or uses the entire patch set to generate a kernel--can you confirm for me that everything works, still.

stpf99 commented 4 years ago

Now i have in my backup repo for terratec cinergy S2 https://github.com/devegoo/Monatge_3103b patches with some typo fixes to compile on media_build from backoprts directory but anyone who want include complete support for all devices - to now supported with Montage-3103B should include also: 1. https://github.com/b-rad-NDi/Ubuntu-media-tree-kernel-builder/blob/master/patches/mainline-extra/tip/99.montage.3103b/0002-em28xx-Add-Hauppauge-461e-revision-2.patch 2. https://github.com/b-rad-NDi/Ubuntu-media-tree-kernel-builder/blob/master/patches/mainline-extra/tip/99.montage.3103b/0004-cx231xx-remove-pctv-quatro-521e.patch-x

oryginal patch by @b-rad-NDi >> https://github.com/b-rad-NDi/Ubuntu-media-tree-kernel-builder/blob/master/patches/mainline-extra/tip/99.montage.3103b/0001-m88ds3103-Add-Montage-3103b-support.patch is in 3103b.patch, 3103b_priv.patch in my repo + diseqc typo fix by @micha137 > https://github.com/b-rad-NDi/media_tree/pull/7/commits/68f6f4628861ccff8e29572602f7eb7c3d11eaab

and finally dw2102.patch with added by @micha137 support for Terratec Cinergy S2 BOX https://github.com/devegoo/Monatge_3103b/blob/master/dw2102.patch from extracted from https://github.com/micha137/media_tree/tree/Montage-3103b.v2 branch

stpf99 commented 4 years ago

hI on V3 branch now Cinergy S2 is recognized properly Przechwycenie obrazu ekranu_2020-01-10_15-22-31 Przechwycenie obrazu ekranu_2020-01-10_15-23-08 Przechwycenie obrazu ekranu_2020-01-10_15-23-40

stpf99 commented 4 years ago

.684216] dw2102: i2c read request failed: i2c status 7 [ 642.687353] dw2102: i2c read request failed: i2c status 7 [ 642.690339] dw2102: i2c read request failed: i2c status 7 [ 738.244837] usb 1-1: USB disconnect, device number 2 [ 738.264422] dvb-usb: bulk message failed: -19 (5/0) [ 738.264429] dw2102: i2c transfer failed. [ 738.264432] dw2102: i2c read request failed: i2c status 9 [ 738.264439] dvb-usb: bulk message failed: -19 (5/0) [ 738.264441] dw2102: i2c transfer failed. [ 738.264459] BUG: kernel NULL pointer dereference, address: 0000000000000338 [ 738.264462] #PF: supervisor read access in kernel mode [ 738.264465] #PF: error_code(0x0000) - not-present page [ 738.264468] PGD 0 P4D 0 [ 738.264474] Oops: 0000 [#1] SMP NOPTI [ 738.264480] CPU: 1 PID: 734 Comm: kdvb-ad-0-fe-0 Not tainted 5.4.0-rc1+ #3 [ 738.264483] Hardware name: Hewlett-Packard HP t620 Quad Core TC/21B4, BIOS L40 v2.05 06/16/2014 [ 738.264493] RIP: 0010:i2c_transfer+0x21/0x4d0 [ 738.264498] Code: 84 00 00 00 00 00 0f 1f 00 41 57 41 56 41 55 41 54 55 53 48 83 ec 08 48 85 f6 0f 84 e4 02 00 00 89 d5 85 d2 0f 8e da 02 00 00 <48> 8b 8f 38 03 00 00 48 89 fb 83 e1 01 0f 85 ff 03 00 00 49 89 f5 [ 738.264501] RSP: 0018:ffffa5a9c114fcb0 EFLAGS: 00010202 [ 738.264505] RAX: 000000000000f8d5 RBX: ffff98b1f8d55000 RCX: 0000000000000000 [ 738.264508] RDX: 0000000000000001 RSI: ffffa5a9c114fcf8 RDI: 0000000000000000 [ 738.264511] RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000946 [ 738.264513] R10: ffffa5a9c114fb28 R11: ffffa5a9c114fb2d R12: 0000000000000000 [ 738.264516] R13: ffffa5a9c114fdb8 R14: 0000000000000001 R15: ffff98b1f93f8f00 [ 738.264519] FS: 0000000000000000(0000) GS:ffff98b1fb280000(0000) knlGS:0000000000000000 [ 738.264522] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 738.264525] CR2: 0000000000000338 CR3: 000000008626a000 CR4: 00000000000406e0 [ 738.264527] Call Trace: [ 738.264540] m88ds3103_select+0x49/0x70 [m88ds3103] [ 738.264550] i2c_mux_master_xfer+0x31/0x70 [i2c_mux] [ 738.264556] i2c_transfer+0x16c/0x4d0 [ 738.264562] i2c_transfer+0x7a/0xd0 [ 738.264567] i2c_transfer_buffer_flags+0x4b/0x70 [ 738.264573] regmap_i2c_write+0xf/0x30 [ 738.264580] _regmap_raw_write_impl+0x636/0x6d0 [ 738.264586] regmap_write+0x33/0x60 [ 738.264593] ts2020_sleep+0x24/0x60 [ts2020] [ 738.264604] dvb_frontend_thread+0x264/0x560 [dvb_core] [ 738.264612] ? wait_woken+0x70/0x70 [ 738.264617] kthread+0xf6/0x130 [ 738.264627] ? dvb_frontend_swzigzag+0x550/0x550 [dvb_core] [ 738.264631] ? kthread_park+0x80/0x80 [ 738.264638] ret_from_fork+0x22/0x40 [ 738.264642] Modules linked in: rc_tt_1500 ts2020 m88ds3103 i2c_mux dvb_usb_dw2102 dvb_usb dvb_core videobuf2_vmalloc videobuf2_memops videobuf2_common videodev mc rc_core [ 738.264657] CR2: 0000000000000338 [ 738.264661] ---[ end trace 876f75a1d9e4656d ]--- [ 738.264666] RIP: 0010:i2c_transfer+0x21/0x4d0 [ 738.264670] Code: 84 00 00 00 00 00 0f 1f 00 41 57 41 56 41 55 41 54 55 53 48 83 ec 08 48 85 f6 0f 84 e4 02 00 00 89 d5 85 d2 0f 8e da 02 00 00 <48> 8b 8f 38 03 00 00 48 89 fb 83 e1 01 0f 85 ff 03 00 00 49 89 f5 [ 738.264673] RSP: 0018:ffffa5a9c114fcb0 EFLAGS: 00010202 [ 738.264677] RAX: 000000000000f8d5 RBX: ffff98b1f8d55000 RCX: 0000000000000000 [ 738.264679] RDX: 0000000000000001 RSI: ffffa5a9c114fcf8 RDI: 0000000000000000 [ 738.264682] RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000946 [ 738.264684] R10: ffffa5a9c114fb28 R11: ffffa5a9c114fb2d R12: 0000000000000000 [ 738.264687] R13: ffffa5a9c114fdb8 R14: 0000000000000001 R15: ffff98b1f93f8f00 [ 738.264690] FS: 0000000000000000(0000) GS:ffff98b1fb280000(0000) knlGS:0000000000000000 [ 738.264693] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 738.264696] CR2: 0000000000000338 CR3: 000000008626a000 CR4: 00000000000406e0 [ 738.264721] usb 1-1: dvb_frontend_stop: warning: thread 00000000811deaf1 won't exit ts@ts-HP-t620-Quad-Core-TC:~$

above warning i have when kernel compilation is after "make localmodconfig" on v3 branch i have above warnings in dmesg, and i don't know which line comment/what changes is neccesary in dt_read and dt_write functions ?

me compile kernel for ubuntu that way / is it correct ? git clone --depth=1 https://github.com/b-rad-NDi/media_tree.git --branch Montage-3103b.v3 make ARCH=x86_64 defconfig make localmodconfig make -j 4 bindeb-pkg ...

b-rad-NDi commented 4 years ago

The above error is not related to the dt_ functions. It appears this oops is coming from the i2c gating function.

Either dw2102 or ts2020 drivers would be contributing to this issue. If you find the device works, then please close this issue, but open a new one just for this oops.

stpf99 commented 4 years ago

1.works with my squached patchset

  1. works with branch v3 when compile kernel - "make menuconfig make -j4 bindeb-pkg
  2. this bug is probably kernel compilling error /not on clean sources
dinneatgithub commented 4 years ago

How do I get this working in Ubuntu 20.04 LTS?

stpf99 commented 4 years ago

from 5.7rc1 an up device is supported by mainline, just copy firmware to /lib/firmware install kernel from here https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.7-rc7/ and firmware from here https://github.com/CoreELEC/dvb-firmware/blob/master/firmware/dvb-demod-m88ds3103b.fw

dinneatgithub commented 4 years ago

@devegoo Thank you so much! That hint worked out of the box. You made my day! Very appreciated!

jacky6767 commented 2 years ago

Hello, can someone please help me, I've been trying for a long time to get my Cinergy S2 Box ID 0ccd: 0105 running, unfortunately I have no Linux experience, how can I install the patch files posted here, there is a complete package to install.

Kind regards.

micha137 commented 2 years ago

only green diode - lock signal status seems to be not enabled in this code :)

I know this issue is closed, but just want to inform you about the LED problem being solved: https://patchwork.linuxtv.org/project/linux-media/patch/20220116112238.74171-1-micha@freedict.org/