Closed stpf99 closed 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
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
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 !!!
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.
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.
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.
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
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.
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:~$
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.
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
hI on V3 branch now Cinergy S2 is recognized properly
.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 ...
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.
1.works with my squached patchset
How do I get this working in Ubuntu 20.04 LTS?
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
@devegoo Thank you so much! That hint worked out of the box. You made my day! Very appreciated!
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.
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/
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 :
[ 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.
lsmod :
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