Hi Yuri,
it took some time, but here is a patch (against github) which tries to re-sync the CI/CAM internal TS-buffers.
The linksize patch is included too.
Helmut
Hi Yuri,
it took some time, but here is a patch (against github) which tries to re-sync the CI/CAM internal TS-buffers.
The linksize patch is included too.
Helmut
Hi Helmut,
now my CAM doesn't freeze. Great! Thank you!
But now i have CRC erors in stream and breaking picture and sound.
I don't know it's related driver or software, I'll do more tests with other my CAMs.
[28/04 20:34:00.996 AD4]: PID Continuity error (adapter 4): pid: 3297, Expected CC: 2, Actual CC: 3, CC Before 1
[28/04 20:34:00.996 AD4]: PID Continuity error (adapter 4): pid: 3297, Expected CC: E, Actual CC: F, CC Before D
[28/04 20:34:00.996 AD4]: PID Continuity error (adapter 4): pid: 3297, Expected CC: B, Actual CC: C, CC Before A
[28/04 20:34:00.996 AD4]: PID Continuity error (adapter 4): pid: 3297, Expected CC: C, Actual CC: D, CC Before B
BR,
Yuri
Hallo Yuri;
I have tried different ways solve this problem and maybe i changed more than necessary.
I'll try to simplify it a bit and not make the changes against guthub too big.
But if you can test this patch with yout old NEOTION CAM it would help.
Helmut
Hallo Yuri,
here a replacement for the last patch with some (small) improvements and additional error logging.
Maybe it helps with your CRC-errors.
Helmut
Hi Helmut,
do you think it makes sense to put the latest changes at least to a devel branch on github.
CU
9000h
Hallo,
Ist die Version V3.1 im GitHub aktuell? Mein SimplyTV-Modul wird zwar erkannt, aber irgendwie passiert gar nichts.
System: MLD5.4 testing mit einem NUC6
viel zu kurze Antwortzeiten:
Nov 2 19:02:37 MLD user.info kernel: [ 224.303410] wintv_usb2ci: CI_read_CMD_REPLY : [06] 119/60/59
Nov 2 19:02:37 MLD user.info kernel: [ 224.335409] wintv_usb2ci: CI_read_CMD_REPLY : [06] 59/59/0
Nov 2 19:02:37 MLD user.info kernel: [ 224.335414] wintv_usb2ci: CI_WriteExchange : [80/06] response time 64 ms
Nov 2 19:02:39 MLD user.info kernel: [ 226.479411] wintv_usb2ci: CI_read_CMD_REPLY : [06] 100/60/40
Nov 2 19:02:39 MLD user.info kernel: [ 226.511408] wintv_usb2ci: CI_read_CMD_REPLY : [06] 40/40/0
Nov 2 19:02:39 MLD user.info kernel: [ 226.511413] wintv_usb2ci: CI_WriteExchange : [80/06] response time 64 ms
Nov 2 19:02:41 MLD user.info kernel: [ 228.623419] wintv_usb2ci: CI_read_CMD_REPLY : [06] 119/60/59
Nov 2 19:02:41 MLD user.info kernel: [ 228.655420] wintv_usb2ci: CI_read_CMD_REPLY : [06] 59/59/0
Nov 2 19:02:41 MLD user.info kernel: [ 228.655427] wintv_usb2ci: CI_WriteExchange : [80/06] response time 64 ms
Ich sehe es in den Logs leider nicht. Es benötigt das ddci2 plugin, und das CI muß beim start von VDR angeschlossen sein.
War das so?
Helmut
Ja, das CAM-Modul ist im VDR-Menü da und ich kann mich durchs Menü bewegen.
Durchsatztest schaut gut aus:
MLD> ./ci_throughput.pl
Writing to '/dev/dvb/adapter2/sec0' in blocks of 3840 TS (721920 bytes) for 20 seconds ...
Bitrate OUT(641280 TS): 48.02 Mbit/s
Bitrate IN (637908 TS): 47.77 Mbit/s
MLD>
claus was so nett und hat ein Paket gebaut:
https://minidvblinux.de/forum/…g75266/topicseen.html#new
Neues Testsystem: MLD5.4 testing x86 mit TT S2-6400, Alphacrypt Classic V3.28 mit ORF-Karte,
Kanal: ORF2 HD St
Nov 2 23:53:30 MLD user.info vdr: [12156] DDCI-Inf: plugin version 1.0.5 initializing (compiled for VDR version 2.4.1)
Nov 2 23:53:30 MLD user.info vdr: [12156] DDCI-Inf: found 1 DD CI adapter
Nov 2 23:53:30 MLD user.info vdr: [12156] DDCI-Inf: Creating DdCiAdapter 0 (/dev/dvb/adapter0/ca0)
Nov 2 23:53:30 MLD user.info kernel: [ 82.576430] wintv_usb2ci: ca_ioctl : CA_GET_CAP
Nov 2 23:53:30 MLD user.info kernel: [ 82.576446] wintv_usb2ci: ca_ioctl : CA_RESET
Nov 2 23:53:30 MLD user.info kernel: [ 82.576448] wintv_usb2ci: cam_state_set : 07 -> 03
Nov 2 23:53:31 MLD user.info kernel: [ 84.258072] wintv_usb2ci: CI_send_CMD : [10] 1/1/0
Nov 2 23:53:32 MLD user.info kernel: [ 84.867142] wintv_usb2ci: CI_read_CMD_REPLY : [02] 0/0/0
Nov 2 23:53:32 MLD user.info kernel: [ 84.867146] wintv_usb2ci: CI_WriteExchange : [10/02] response time 609 ms
Nov 2 23:53:32 MLD user.info kernel: [ 84.867147] wintv_usb2ci: cam_state_set : 03 -> 04
Nov 2 23:53:32 MLD user.info kernel: [ 84.867151] wintv_usb2ci: CI_send_CMD : [40] 0/0/0
Nov 2 23:53:32 MLD user.info kernel: [ 85.059143] wintv_usb2ci: CI_read_CMD_REPLY : [03] 124/60/64
Nov 2 23:53:32 MLD user.info kernel: [ 85.091086] wintv_usb2ci: CI_read_CMD_REPLY : [03] 64/60/4
Nov 2 23:53:32 MLD user.info kernel: [ 85.123161] wintv_usb2ci: CI_read_CMD_REPLY : [03] 4/4/0
Nov 2 23:53:32 MLD user.info kernel: [ 85.123164] wintv_usb2ci: CI_WriteExchange : [40/03] response time 256 ms
Nov 2 23:53:32 MLD user.info kernel: [ 85.123166] wintv_usb2ci: cam_state_set : 04 -> 05
Nov 2 23:53:32 MLD user.info kernel: [ 85.123169] wintv_usb2ci: parse_cis_vstrings : CFG_V1_STR 0: SCM
Nov 2 23:53:32 MLD user.info kernel: [ 85.123171] wintv_usb2ci: parse_cis_vstrings : CFG_V1_STR 1: DVB CA Module
Nov 2 23:53:32 MLD user.info kernel: [ 85.123172] wintv_usb2ci: parse_cis : CFG_BASE: 0x1FE (Cfg.Reg[0] in Attrib.Memory)
Nov 2 23:53:32 MLD user.info kernel: [ 85.123174] wintv_usb2ci: parse_cis : CFG_REGS present [0-7] = 0x01
Nov 2 23:53:32 MLD user.info kernel: [ 85.123176] wintv_usb2ci: parse_cis : IF-CODE[0] 0x0241 'DVB_CI_V1.00' matched
Nov 2 23:53:32 MLD user.info kernel: [ 85.123178] wintv_usb2ci: parse_cis : skip Interface description for IF-index 1, cfg-options 0x9
Nov 2 23:53:32 MLD user.info kernel: [ 85.123180] wintv_usb2ci: parse_cis : CFG-OPTIONS: 0xF
Nov 2 23:53:32 MLD user.info kernel: [ 85.123181] wintv_usb2ci: DVB-CI-Module detected
Nov 2 23:53:32 MLD user.info kernel: [ 85.123183] wintv_usb2ci: CI_send_CMD : [70] 5/5/0
Nov 2 23:53:32 MLD user.info kernel: [ 85.411123] wintv_usb2ci: CI_read_CMD_REPLY : [07] 0/0/0
Nov 2 23:53:32 MLD user.info kernel: [ 85.411125] wintv_usb2ci: CI_WriteExchange : [70/07] response time 288 ms
Nov 2 23:53:32 MLD user.info kernel: [ 85.411127] wintv_usb2ci: cam_state_set : 05 -> 06
Nov 2 23:53:32 MLD user.info kernel: [ 85.411128] wintv_usb2ci: CI_send_CMD : [60] 2/2/0
Nov 2 23:53:33 MLD user.info kernel: [ 85.571143] wintv_usb2ci: CI_read_CMD_REPLY : [04] 2/2/0
Nov 2 23:53:33 MLD user.info kernel: [ 85.571146] wintv_usb2ci: CI_WriteExchange : [60/04] response time 160 ms
Nov 2 23:53:33 MLD user.info kernel: [ 85.571148] wintv_usb2ci: cam_state_set : 06 -> 07
Nov 2 23:53:33 MLD user.info kernel: [ 85.571149] wintv_usb2ci: LINK_LAYER SIZE : 128 bytes
Nov 2 23:53:33 MLD user.info vdr: [12156] DDCI-Inf: plugin started
Nov 2 23:53:33 MLD user.err vdr: osd2web: osd2web plugin thread started (pid=12156)
Nov 2 23:53:33 MLD user.err vdr: osd2web: Listener at port (8021) established
Nov 2 23:53:33 MLD user.err vdr: osd2web: using libwebsocket version '2.2.2 testing@MLD-5.4-x86-v8'
Nov 2 23:53:33 MLD user.err vdr: [12180] [live] INFO: attempt to listen on ip = '0.0.0.0'
Nov 2 23:53:42 MLD user.err vdr: osd2web: Info: Can't get schedules
Nov 2 23:53:42 MLD user.warn kernel: [ 94.785344] wintv_usb2ci: ts_urb_complete : TS CAM-IO: +8
Nov 2 23:53:42 MLD user.info kernel: [ 94.883111] wintv_usb2ci: CI_WriteExchange : [50/05] response time 52 ms
Nov 2 23:53:42 MLD user.info kernel: [ 94.979062] wintv_usb2ci: CI_WriteExchange : [50/05] response time 64 ms
Nov 2 23:53:42 MLD user.info kernel: [ 95.107142] wintv_usb2ci: CI_WriteExchange : [50/05] response time 96 ms
Nov 2 23:53:42 MLD user.info kernel: [ 95.491155] wintv_usb2ci: CI_WriteExchange : [50/05] response time 84 ms
Nov 2 23:53:43 MLD user.info kernel: [ 95.619147] wintv_usb2ci: CI_WriteExchange : [50/05] response time 96 ms
Nov 2 23:53:43 MLD user.info kernel: [ 95.715129] wintv_usb2ci: CI_WriteExchange : [80/06] response time 96 ms
Nov 2 23:53:43 MLD user.info kernel: [ 95.811153] wintv_usb2ci: CI_WriteExchange : [50/05] response time 96 ms
Nov 2 23:53:43 MLD user.info kernel: [ 96.227137] wintv_usb2ci: CI_WriteExchange : [50/05] response time 116 ms
Nov 2 23:53:43 MLD user.info kernel: [ 96.323130] wintv_usb2ci: CI_WriteExchange : [20/00] response time 96 ms
Nov 2 23:53:43 MLD user.info kernel: [ 96.419094] wintv_usb2ci: CI_WriteExchange : [50/05] response time 96 ms
Nov 2 23:53:43 MLD user.info kernel: [ 96.515137] wintv_usb2ci: CI_WriteExchange : [80/06] response time 96 ms
Nov 2 23:53:44 MLD user.info kernel: [ 96.931092] wintv_usb2ci: CI_WriteExchange : [50/05] response time 84 ms
Nov 2 23:53:44 MLD user.info kernel: [ 97.027106] wintv_usb2ci: CI_WriteExchange : [20/00] response time 96 ms
Nov 2 23:53:44 MLD user.info kernel: [ 97.123127] wintv_usb2ci: CI_WriteExchange : [80/06] response time 64 ms
Nov 2 23:53:44 MLD user.info kernel: [ 97.315102] wintv_usb2ci: CI_WriteExchange : [50/05] response time 62 ms
Nov 2 23:53:49 MLD user.info kernel: [ 101.923095] wintv_usb2ci: CI_WriteExchange : [50/05] response time 4576 ms
Nov 2 23:53:54 MLD user.err vdr: [12156] DDCI-Err: can't write to CI adapter (/dev/dvb/adapter0/ca0): Operation not permitted
Nov 2 23:53:54 MLD user.err kernel: [ 107.106266] wintv_usb2ci: CI_read_CMD_REPLY : [06] rc: -110 s:00 f:00 r:05 l:1
Nov 2 23:53:54 MLD user.info kernel: [ 107.106270] wintv_usb2ci: CI_WriteExchange : [80/06] response time 5183 ms
Nov 2 23:53:54 MLD user.err kernel: [ 107.106272] wintv_usb2ci: XR-rc(224 != 6) *** CAM-ERROR(80) ***
Nov 2 23:53:54 MLD user.info kernel: [ 107.106274] wintv_usb2ci: cam_state_set : 07 -> 01
Nov 2 23:53:54 MLD user.err kernel: [ 107.106283] wintv_usb2ci: rb_read_tpdu : FAILED
Nov 2 23:53:54 MLD user.err kernel: [ 107.106285] wintv_usb2ci: ca_poll_tpdu : rc=0xFFFFFFFF
Nov 2 23:53:54 MLD user.err kernel: [ 107.106322] wintv_usb2ci: CI_WriteExchange *** invalid usbci-state (55 : 01/07) ***
Nov 2 23:53:54 MLD user.err vdr: [12156] DDCI-Err: can't write to CI adapter (/dev/dvb/adapter0/ca0): Operation not permitted
Nov 2 23:53:54 MLD user.err kernel: [ 107.406510] wintv_usb2ci: CI_WriteExchange *** invalid usbci-state (55 : 01/07) ***
Nov 2 23:53:54 MLD user.err kernel: [ 107.406514] wintv_usb2ci: ca_poll_tpdu : rc=0x90
Nov 2 23:53:54 MLD user.err kernel: [ 107.406517] wintv_usb2ci: CA_send_TPDU : *** FAILED[144] *** (0 of 17 bytes transmitted)
Nov 2 23:53:54 MLD user.info kernel: [ 107.406589] wintv_usb2ci: ca_ioctl : CA_GET_SLOT_INFO [0] : CAM REMOVED
Nov 2 23:53:54 MLD user.info kernel: [ 107.406651] wintv_usb2ci: ca_ioctl : CA_RESET
Nov 2 23:53:54 MLD user.info kernel: [ 107.406656] wintv_usb2ci: cam_state_set : 01 -> 03
Nov 2 23:53:56 MLD user.info kernel: [ 109.154173] wintv_usb2ci: CI_send_CMD : [10] 1/1/0
Display More
ja, das sieht normal aus, auch im Wintv-log fast alles wie bei mir - außer, das du ein Neotion Modul hast, mein SMIT braucht fast 2 Sek. länger beim Reset).
Kannst du ein Log posten, bei dem man vom VDR Start bis zum Umschalten auf einen ORF-HD Kanal alles sieht.
Helmut
Bitte um ein wenig Geduld, ich hab da was entdeckt:
Nov 3 16:39:11 MLD user.info vdr: [1989] DDCI-Inf: plugin version 1.0.5 initializing (compiled for VDR version 2.4.1)
Nov 3 16:39:11 MLD user.info vdr: [1989] DDCI-Inf: no DD CI adapter found
Nov 3 16:39:11 MLD user.info vdr: [1989] DDCI-Inf: plugin started
Ich glaub, der Sundtek MediaTV Digital Home III (DVB-C/T/T2) USB-Stick passt nicht.
Ich kann damit zwar ORF1 in SD und SLO1 HD schauen (eh klar, unverschlüsselt), aber sobald ich auf ORF 1 HD umschalte, passiert aktuell gar nichts mehr.
Ich werde mir auch einen August T230 DVB-T2 Stick bestellen, melde mich dann wenn ich mehr weiß
Warte mit dem Bestellen - am Sundtek liegt es sicher nicht, Was sagt ls -l /dev/dvb/*bei dir?
Bei mir ist das Wintv-Ci der Adapter #2
gentoo64vdr / # ls -l /dev/dvb/*
/dev/dvb/adapter0:
total 0
crw-rw---- 1 root video 212, 4 Nov 3 16:04 demux0
crw-rw---- 1 root video 212, 5 Nov 3 16:04 dvr0
crw-rw---- 1 root video 212, 3 Nov 3 16:04 frontend0
crw-rw---- 1 root video 212, 7 Nov 3 16:04 net0
/dev/dvb/adapter1:
total 0
crw-rw---- 1 root video 212, 68 Nov 3 16:04 demux0
crw-rw---- 1 root video 212, 69 Nov 3 16:04 dvr0
crw-rw---- 1 root video 212, 67 Nov 3 16:04 frontend0
crw-rw---- 1 root video 212, 83 Nov 3 16:04 frontend1
crw-rw---- 1 root video 212, 71 Nov 3 16:04 net0
/dev/dvb/adapter2:
total 0
crw-rw---- 1 root video 212, 134 Nov 3 18:07 ca0
crw-rw---- 1 root video 212, 130 Nov 3 18:07 sec0
gentoo64vdr / #
Display More
LG Helmut
Mit WinTV-CI:
MLD> ls -l /dev/dvb/*
crw-rw---- 1 root video 212, 0 Nov 3 20:37 ca0
crwxrwxrwx 1 root root 212, 3 Nov 3 20:37 demux0
crwxrwxrwx 1 root root 212, 4 Nov 3 20:37 dvr0
crwxrwxrwx 1 root root 212, 2 Nov 3 20:37 frontend0
crw-rw---- 1 root video 212, 1 Nov 3 20:37 sec0
MLD>
Ohne WinTV-CI:
MLD> ls -l /dev/dvb/*
crwxrwxrwx 1 root root 212, 3 Nov 3 20:37 demux0
crwxrwxrwx 1 root root 212, 4 Nov 3 20:37 dvr0
crwxrwxrwx 1 root root 212, 2 Nov 3 20:37 frontend0
MLD>
Evtl. ein Rechteproblem?
Oben, im Log mit der TT S2-6400 steht:
Nov 2 23:53:54 MLD user.err vdr: [12156] DDCI-Err: can't write to CI adapter (/dev/dvb/adapter0/ca0): Operation not permitted
LG Fr.
Da fehlt aus irgendeinem Grund die Ausgabe der Unterverzeichnisse. Versuche einmal ls -R /dev/dvb Sollte dann so aussehen:
gentoo64vdr /etc/vdr # ls -R /dev/dvb
/dev/dvb:
adapter0 adapter1 adapter2
/dev/dvb/adapter0:
demux0 dvr0 frontend0 net0
/dev/dvb/adapter1:
demux0 dvr0 frontend0 frontend1 net0
/dev/dvb/adapter2:
ca0 sec0
Display More
Helmut
Interessant, dass nur 1 Adapter angelegt wird. Versuche einmal das:
Bei gestopptem VDR) den Sundek Stick und das WintvCi abstecken. dann zuerst den Sundtek und danach das Ci anschließen. Dann ls-R /dev/dvb. Un dann umgekehrt, zuerst das Ci anstecken, dann den Sundtec Stick- und wieder ls -R /dev/dvb .
Helmut
Test Sundtek mit WinTV-CI
1.1. Sundtek anstecken:
/dev/dvb/adapter0:
demux0 dvr0 frontend0
1.2. WinTV-CI anstecken:
/dev/dvb/adapter0:
ca0 demux0 dvr0 frontend0 sec0
2.1 WinTV-CI anstecken:
/dev/dvb/adapter0:
ca0 sec0
2.2 Sundtek anstecken:
/dev/dvb/adapter0:
ca0 demux0 dvr0 frontend0 sec0
Display More
Ich hab im meiner Schrottkiste noch ein TT CT2-4650 CI V1.1 gefunden; selbe Prozedure:
1.1. CT2-4650 anstecken:
/dev/dvb/adapter0:
ca0 demux0 dvr0 frontend0 net0
1.2. WinTV-CI anstecken:
/dev/dvb/adapter0:
ca0 demux0 dvr0 frontend0 net0
/dev/dvb/adapter1:
ca0 sec0
2.1 WinTV-CI anstecken:
/dev/dvb/adapter0:
ca0 sec0
2.2 CT2-4650 anstecken:
/dev/dvb/adapter0:
ca0 sec0
/dev/dvb/adapter1:
ca0 demux0 dvr0 frontend0 net0
Display More
Da sieht nach einem Fehler im Sundtek Treiber aus - so, als ob er sich nicht richtig im System registriert.
Was passiert denn, wenn du Sundtek und TT-CT2 anschließt? Gibt es dann 2 Adapter?
Mit nur einem Adapter findet das ddci2 Plugin das Wintv-Ci nicht, weil es ein "standalone"-Ci sucht, und dabei Adapter mit Frontends überspringt.
Du kannst noch versuchen den Wintv-Ci mit dem Modul Parameter adapter_nreine fixe Nummer zuzuweisen. Vielleicht kann man das Problem so umgehen.
Helmut
Sundtek legt keine "richtigen" dvb-devices an, weshalb sie sich mit anderen Kerneldevices überlagern können (so war es jedenfalls früher, das ist ja ein Userspace-Treiber).
Es hilft, wenn man über die /etc/sundtek.conf eine passende Adapternummer vorgibt, so dass sich User- und Kerneltreiber nicht in den Weg kommen.
/dev/dvb/adapter1:
ca0 sec0
Gut, damit sollte ddci2 das CI erkennen und du kannst dich mit den Eigenheiten des Wintv-Ci Treibers beschäftigen :).
Sundtek legt keine "richtigen" dvb-devices an, weshalb sie sich mit anderen Kerneldevices überlagern können
Dann wäre es besser dem Sundek eine eigene - hohe -Adapternummer vorzugeben.
#Lowest adapter number to start with, e.g. /dev/dvb/adapter5/frontend0
#first_adapter=5
#Lowest videodevice number to start with, e.g. /dev/video5
#first_videodev=5
Dabei dürfte es bei bestimmten Konfigurationen aber auch Einschränkungen geben: Synology package: Unable to specify first_adapter
Helmut
Don’t have an account yet? Register yourself now and be a part of our community!