Page 1 of 2

Opětovné připojení klienta/tů občas selže

PostPosted: Sun Oct 09, 2011 9:18 am
by __jata__
CZ: Setup: Nessie, oba tunery propojeny smyčkou, PC na tuner1, htpc na tuner2.
Oba systémy jsou nstaveny tak, že klient se zavádí hned při startu počítače, tj. měl by se okamžitě připojit, vzápětí startuje taktéž automaticky vdr (přes svscan).
Na noc vypínám PC a (zatím) většinou dělám u htpc hibernate-ram (htpc není ještě plně využíváno, chce to trošku víc práce). Nessie trvale zůstává v módu vtuner pro oba tunery.
Asi v 50% případů dojde k tomu, že po startu jednoho nebo obou počítačů po inaktivitě přes noc jeden nebo oba systémy neobnoví spojení s Nessií, v logu příslušného klienta chybí oznámění o 'Received discover message' a místo toho se jen postupně N-krát zaloguje hlášení 'Sending direct discover message for device types 9'.
K obnovení práce musím ve web menu Nessie zakázat příslušný tuner, pár vteřin počkat a pak opět zvolit mód vtuner pro tento tuner. Pak zase všechno funguje ok.
Asi je to na bug report, ale nevím přesně, co mám hledat.

Ještě doplnění: používám moduly a klienty z repa, tj. aktuální verze, PC je x86_64, htpc je 32bit. Problém je přítomen od saméno začátku, nezávisle na verzi modul/klient/FW.

Re: Opětovné připojení klienta/tů občas selže

PostPosted: Thu Oct 20, 2011 5:53 pm
by __jata__
Tak si odpovím sám... s novým FW Pingu1.2.7 2011-10-14 a odpovídajícím modulem a klientem se to už neděje. Takže zřejmě tvrdé přiřazení tunerů Nessie jednotlivým strojům problém zpacifikovalo..

Re: Opětovné připojení klienta/tů občas selže

PostPosted: Fri Oct 21, 2011 11:52 am
by hop
Sorry, uplni mi tenhle bug report zapadl.

Ale jak je videt, umel se vyresit sam :-)

/Honza

Re: Opětovné připojení klienta/tů občas selže

PostPosted: Mon Dec 05, 2011 10:10 am
by __jata__
Špatná zpráva - poltergeist je zpátky:
Code: Select all
@400000004edc7a6738633804 vtunerc: Revision:63f73de8b63c+/tip DVB:5.2 allow:5.x NetProto:2 MsgSize:96, Debug:3
@400000004edc7a67386362fc vtunerc: [14186 ../../vtunerc.c:452]  info: added frontend mode DVB-S2 as mode 0, searching for tuner types 9
@400000004edc7a6739b546fc vtunerc: [14186 ../../vtunerc.c:533]  info: Created pidfile /var/run/vtunerc0.pid
@400000004edc7a6739b6ae5c vtunerc: [14186 ../../vtunerc.c:586]  info: no server connected. discover thread is 0 (DWS_IDLE:0, DWS_RUNNING:1)
@400000004edc7a6739b6d56c vtunerc: [14186 ../../vtunerc.c:588]  info: changing frontend mode to DVB-S2
@400000004edc7a6739b7d354 vtunerc: [14186 ../../vtunerc.c:617]  info: Start discover worker for device type 9 groups 1
@400000004edc7a6739b89a8c vtunerc: [14186 ../../vtunerc.c:214]  info: starting discover thread
@400000004edc7a6739b97d1c vtunerc: [14186 ../../vtunerc.c:258]  info: Sending discover message for device types 9
@400000004edc7a680207b104 vtunerc: [14186 ../../vtunerc.c:272]  info: Received discover message from 192.168.1.26 proto2 control 47368 data 52089
@400000004edc7a680414c2fc vtunerc: [14186 ../../vtunerc.c:637]  info: connect control socket to 192.168.1.26:47368
@400000004edc7a68044884fc vtunerc: [14186 ../../vtunerc.c:654]  info: connected data socket to 192.168.1.26:52089
@400000004edc7abe0a53f584 vtunerc: [14186 ../../vtunerc.c:801] error: Server disconncted
@400000004edc7abe0a53f96c vtunerc: [14186 ../../vtunerc.c:86] error: TS data socket closed.
@400000004edc7abe0a53fd54 vtunerc: [14186 ../../vtunerc.c:190] error: TS data copy thread terminated.
@400000004edc7abe0a54013c vtunerc: [14186 ../../vtunerc.c:586]  info: no server connected. discover thread is 0 (DWS_IDLE:0, DWS_RUNNING:1)
@400000004edc7abe0a540524 vtunerc: [14186 ../../vtunerc.c:588]  info: changing frontend mode to DVB-S2
@400000004edc7abe0a5437ec vtunerc: [14186 ../../vtunerc.c:617]  info: Start discover worker for device type 9 groups 1
@400000004edc7abe0a54a934 vtunerc: [14186 ../../vtunerc.c:214]  info: starting discover thread
@400000004edc7abe0a552634 vtunerc: [14186 ../../vtunerc.c:258]  info: Sending discover message for device types 9
@400000004edc7abe1c3c2834 vtunerc: [14186 ../../vtunerc.c:258]  info: Sending discover message for device types 9
@400000004edc7abf04662304 vtunerc: [14186 ../../vtunerc.c:258]  info: Sending discover message for device types 9
@400000004edc7ac01060b5fc vtunerc: [14186 ../../vtunerc.c:258]  info: Sending discover message for device types 9
@400000004edc7ac2283dc3f4 vtunerc: [14186 ../../vtunerc.c:258]  info: Sending discover message for device types 9
@400000004edc7ac71c8ef384 vtunerc: [14186 ../../vtunerc.c:258]  info: Sending discover message for device types 9

A v tomhle stavu to zůstane, pokud nezabiju vtunerd na Nessii tím, že převedu příslušný tuner do disabled a zpátky. Nestane se to pokaždé, ale většinou. FW: Pingu1.3.14 2011-11-30
Zajímavé je, že v tom je (opět!) ta hláška o tom, že se server odpojil..

Re: Opětovné připojení klienta/tů občas selže

PostPosted: Tue Jan 10, 2012 10:07 pm
by DyL
tak aj ja mam podobny problem. Client sa pripoji iba k jednemu tuneru. Zaujimave ze raz sa pripoji k tuneru 1 a k tuneru 2 nie. A pri dalsom zas naopak.

Pomohlo mi iba zakazanie vtunera na nessie a opatovne povolenie.

tu je log clienta (dlho sa nevie pripojit a pripoji sa az po opatovnom povoleni vtunera na nessie)
Code: Select all
[dyl@myhost ~]$ sudo vtunerc -f s2:1 2>&1 > /home/dyl/tuner1.log
Password:
vtunerc: vtuner client (vtunerc), part of vtuner project
Visit http://code.google.com/p/vtuner/ for more information
Copyright (C) 2009-11 Roland Mieslinger
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.
vtunerc: Revision:63f73de8b63c+/tip DVB:5.3 allow:5.x NetProto:2 MsgSize:96, Debug:3
vtunerc: [814 ../../vtunerc.c:452]  info: added frontend mode DVB-S2 as mode 0, searching for tuner types 9
vtunerc: [814 ../../vtunerc.c:533]  info: Created pidfile /var/run/vtunerc0.pid
vtunerc: [814 ../../vtunerc.c:586]  info: no server connected. discover thread is 0 (DWS_IDLE:0, DWS_RUNNING:1)
vtunerc: [814 ../../vtunerc.c:588]  info: changing frontend mode to DVB-S2
vtunerc: [814 ../../vtunerc.c:617]  info: Start discover worker for device type 9 groups 1
vtunerc: [814 ../../vtunerc.c:214]  info: starting discover thread
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:258]  info: Sending discover message for device types 9
vtunerc: [814 ../../vtunerc.c:272]  info: Received discover message from 192.168.2.5 proto2 control 44001 data 55061
vtunerc: [814 ../../vtunerc.c:637]  info: connect control socket to 192.168.2.5:44001
vtunerc: [814 ../../vtunerc.c:654]  info: connected data socket to 192.168.2.5:55061


Re: Opětovné připojení klienta/tů občas selže

PostPosted: Tue Jan 10, 2012 10:48 pm
by DyL
Dnes sa mi to stalo minimalne 10 krat. Mam tam najnovsi firmware.

Re: Opětovné připojení klienta/tů občas selže

PostPosted: Tue Jan 10, 2012 11:18 pm
by __jata__
Ach, tak jsem se právě dozvěděl, že jsem asi cosi zazdil. Ten význam 'masky skupiny tunerů' se zjevně u nového FW změnil a ja to blbě pochopil. Takže pokud se nechá defaultní maska 0xffff, bude to dělat divné věci.
Honzo, Aleši, prosím vysvětlete nějak elementárně, jak ta maska teďka funguje, zjevně jsme to nepochopili buď vůbec, nebo ne dobře. Díky.

Re: Opětovné připojení klienta/tů občas selže

PostPosted: Tue Jan 10, 2012 11:35 pm
by ales
Situace je následující: pokud má vtuner deamon v Nessii nastavenu defaultní masku (kterou poslední fw nastavuje na 0xffff) tak odpovídá na kterékoli volání klienta. V tom případě nemá nastavení masky u klienta žádný vliv. Pokud tedy jsou použity dva klienti na stejném PC a konektují se na dva tunery ve stejné Nessii je nutno zvolit masky tak, aby se nepřekrývaly.
Tedy pro jednoduchost tuner1 nastavíme pouze do grupy 0 a tuner2 do grupy 1. Pokud pak spustíme klienty takto:
Code: Select all
vtunerc -f s2:1 -d /dev/vtunerc0 2>&1 > /dev/null &
vtunerc -f s2:2 -d /dev/vtunerc1 2>&1 > /dev/null &

tak se první klient připojí na tuner1 a druhý klient na tuner2.

V poslední betě byly natvrdo nastaveny masky přesně podle výše uvedené skutečnosti, protože kód ve veřejném repozitáři podporoval grupy pouze u klienta. Honza doplnil do kódu podpory grup i u deamona (tj. v Nessii) a bylo upraveno i webové rozhraní aby se tohoto dalo využít. Bohužel jsem opomněl v mailu na tuto skutečnost upozornit, omlouvám se.

Pro úplnost - pro 4 klienty je možno použít toto:
Code: Select all
vtunerc -f s2:1 -d /dev/vtunerc0 2>&1 > /dev/null &
vtunerc -f s2:2 -d /dev/vtunerc1 2>&1 > /dev/null &
vtunerc -f s2:4 -d /dev/vtunerc2 2>&1 > /dev/null &
vtunerc -f s2:8 -d /dev/vtunerc3 2>&1 > /dev/null &

Za podmínky že v Nessiích se nastaví grupy na hodnoty 0, 1, 2, 3. Pro Vaši přehlednost je maska uvedena ve webovém rozhraní jak v nastavení vtuneru tak v okně statusu.

Re: Opětovné připojení klienta/tů občas selže

PostPosted: Wed Jan 11, 2012 12:53 am
by __jata__
Jelikož jsem měl opět nějakou diskusi ohledně toho přiřazení: na Nessii uvedená 'group' funguje jako bitmask, tj.párování klienta a tuneru jde (v nejjednodušším případě) podle vzorce:
- klient: -f s2:N
- maska v Nessii: 2^N
Doufám, že teďka už jsem to pochopil :)

Re: Opětovné připojení klienta/tů občas selže

PostPosted: Wed Jan 11, 2012 2:11 am
by hop
Definujme pojem 'tuner group' jako cislo mezi 0-15. Cislo skupiny je pak reprezentovan n-tym bitem, coz umoznuje spojovat skupiny do vetsich celku, ktere jsou pak reprezentovany binarnim souctem. Toto umoznuje adresovat takove celky v zadostich o tuner.

Priklad:
NessieDVB, tuner1 = 0x01
NessieDVB, tuner2 = 0x02
PC server, tuner1 = 0x04
PC server, tuner2 = 0x08
PC server, tuner3 = 0x10

Pak pri zadosti, obsahujici group_mask = 0x11, muze odpovedet NessieDVB s tunerem1 a taky PC server s tunerem3.
Zadost s group_mask = 0x1F muze byt obslouzena libovolnym serverem a zadost s group_mask = 0xE0 nebude obslouzena vubec.

Snad jsem to trochu vysvetlil.

Honza