Děkuji za výborný článek. Mám ale problém rozchodit spolupráci s dekódovací kartou. Jako čtečku používám tento USB Phoenix:
http://www.dxc.cz/p752-usb-phoenix-programator/
Když kartu do čtečky zastrčím, rozsvítí se zelená dioda (asi že je zastrčena správně). Po spuštění sasc-ng dostanu ale tento výpis:
Starting sasc-ng: cannot open logfile /var/log/mythtv/sasc-ng.log cannot open logfile; using stdout/stderr Mar 1 23:23:42.832 : Version: 0.0.2-81M/81 Mar 1 23:23:42.834 CAM: initializing plugin: SoftCam (0.9.0-Unknown): A software emulated CAM Mar 1 23:23:42.834 CAM: >>Applying SC args: Mar 1 23:23:42.834 CAM: --serial=/dev/ttyUSB0 sasc-ng. titan:~# Mar 1 23:23:42 [core.load] smartcards: added serial port /dev/ttyUSB0 as port 0 (normal CD, normal RESET, CLOCK 3571200) Mar 1 23:23:42.843 CAM(general.info): SC version 0.9.0-Unknown initializing Mar 1 23:23:42.844 CAM: starting plugin: Mar 1 23:23:42.844 CAM(general.info): SC version 0.9.0-Unknown starting Mar 1 23:23:42.844 CAM(core.load): ** Plugin config: Mar 1 23:23:42.844 CAM(core.load): ** Key updates (AU) are enabled (active CAIDs) (no prestart) Mar 1 23:23:42.845 CAM(core.load): ** Local systems DON'T take priority over cached remote Mar 1 23:23:42.845 CAM(core.load): ** Concurrent FF recordings are NOT allowed Mar 1 23:23:42.845 CAM(core.load): ** Force transfermode with digital audio Mar 1 23:23:42.845 CAM(core.load): ** ScCaps are 1 2 0 0 0 0 0 0 0 0 Mar 1 23:23:42.846 CAM(core.load): ** Ignored CAIDs 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 Mar 1 23:23:42.846 CAM(general.error): failed open /etc/sasc-ng/cardclient.conf: No such file or directory Mar 1 23:23:42.846 CAM(general.error): failed open /etc/sasc-ng/SoftCam.Key: No such file or directory Mar 1 23:23:42.847 CAM(general.error): failed open /etc/sasc-ng/smartcard.conf: No such file or directory Mar 1 23:23:42.847 CAM(general.error): no keys loaded for softcam! Mar 1 23:23:42.847 CAM(core.load): ** registered systems: Mar 1 23:23:42.847 CAM(core.load): ** Cardclient (pri -15) Mar 1 23:23:42.847 CAM(core.load): ** Conax (pri -10) Mar 1 23:23:42.848 CAM(core.load): ** ConstCW (pri -20) Mar 1 23:23:42.848 CAM(core.load): ** Cryptoworks (pri -10) Mar 1 23:23:42.848 CAM(core.load): ** Irdeto (pri -10) Mar 1 23:23:42.848 CAM(core.load): ** Nagra (pri -10) Mar 1 23:23:42.848 CAM(core.load): ** Nagra2 (pri -10) Mar 1 23:23:42.849 CAM(core.load): ** SC-Conax (pri -5) Mar 1 23:23:42.849 CAM(core.load): ** SC-Cryptoworks (pri -5) Mar 1 23:23:42.849 CAM(core.load): ** SC-Irdeto (pri -5) Mar 1 23:23:42.849 CAM(core.load): ** SC-Nagra (pri -5) Mar 1 23:23:42.849 CAM(core.load): ** SC-Seca (pri -5) Mar 1 23:23:42.849 CAM(core.load): ** SC-Viaccess (pri -5) Mar 1 23:23:42.850 CAM(core.load): ** SC-VideoGuard2 (pri -5) Mar 1 23:23:42.850 CAM(core.load): ** Seca (pri -10) Mar 1 23:23:42.850 CAM(core.load): ** @SHL (pri -10) Mar 1 23:23:42.850 CAM(core.load): ** Viaccess (pri -10) Mar 1 23:23:42.852 CAM(core.smartcard): 0: new card inserted Mar 1 23:23:42.856 CAM(core.smartcard): 0: reseting card (sermode 8e2) Mar 1 23:23:43.854 frontend: Starting thread on /dev/dvb/adapter2/frontend1 The thread scheduling parameters indicate: policy = 0 priority = 0 Mar 1 23:23:43.856 demux: Starting thread on /dev/dvb/adapter2/demux1 The thread scheduling parameters indicate: policy = 0 priority = 0 Mar 1 23:23:43.866 dvr: Starting thread on /dev/dvb/adapter2/dvr1 The thread scheduling parameters indicate: policy = 1 priority = 99 Mar 1 23:23:43.867 : Listening on port 5456 Mar 1 23:23:44.970 CAM(core.smartcard): 0: reset/atr error Mar 1 23:23:44.973 CAM(core.smartcard): 0: reseting card (sermode 8o2) Mar 1 23:23:47.079 CAM(core.smartcard): 0: reset/atr error Mar 1 23:23:47.082 CAM(core.smartcard): 0: reseting card (sermode 8n2) Mar 1 23:23:49.189 CAM(core.smartcard): 0: reset/atr error Mar 1 23:23:49.189 CAM(core.smartcard): 0: can't initialise new card, ignoring port until card reinserted
Identický výpis dostanu i pokud ve Phoenixu není karta vůbec zastrčena. Tzn. evidentně s ní nekomunikuje. Otázkou ale je…proč?
Zároveň by mě zajímalo, jestli mohu nějak ověřit komunikaci karta<->čtečka. Na fórech jsou zmínky o tom, že lze z karty vyčíst např. kdy byla naposledy aktualizována apod., ale už jsem nenasel konkrétní popis, jak v linuxu tato data z karty získat.
Možná máte na čtečce invertovaný signál Reset. Zkuste přidat parametr --cam-opt -R
Co se týče vypsání informací z karty, můžete k tomu použít třeba software oscam. Návod zde: http://wiki.tvpc.cz/mythtv/cardserver#oscam
Zkouším sasc-ng vnutit vámi doporučený parametr, ale protestuje. Konkrétně, v konfiguraci mám toto:
DAEMON_OPTS="-j 1:2 --sid-filt 16 --sid-allpid --sid-nocache -d 0 \ --cam-budget --cam-dir /etc/sasc-ng --cam-opt --serial=/dev/ttyUSB0 --cam-opt -R"
a po spuštění dostanu toto (jen výřez výpisu):
.. Mar 2 13:57:37.607 CAM: >>Applying SC args: Mar 2 13:57:37.607 CAM: -R Mar 2 13:57:37.607 CAM: -R ..
Snaží se dvakrát aplikovat parametr -R místo toto, prvním parametrem bylo --serial=/dev/ttyUSB0. Zkoušel jsem i jiné druhý zápisu parametrů, jak mě tak různě napadlo, ale asi jsem nepřišel na ten správný. Jak to celé tedy správně zapsat?
Ze zdrojáku jsem se ještě pokusil vyluštit (a správnost nezaručuju), že zápis by měl být možná takto:
DAEMON_OPTS="-j 1:2 --sid-filt 16 --sid-allpid --sid-nocache -d 0 \ --cam-budget --cam-dir /etc/sasc-ng --cam-opt -R --serial=/dev/ttyUSB0"
Při takovém zadání po spuštění ale kompletní výpis vypadá takto:
Starting sasc-ng: /usr/local/sbin/sasc-ng: unrecognized option `--serial=/dev/ttyUSB0' Mar 2 14:11:56.899 : Illegal options specified. Aborting! sasc-ng.
Koukám, že problém byl nakonec na fyzické vrstě, nicméně pro někoho dalšího odpovím:
Předtím jsem se nepodíval, jak přesně funguje patch Petra Stehlíka. Je to tak, že --cam-opt může být pouze jeden, ale jeho argument může obsahovat (oescapované) mezery, které se rozloží do dílčích argumentů sc.
Takže správně by to mělo být:
--cam-budget --cam-dir /etc/sasc-ng --cam-opt -R\ --serial=/dev/ttyUSB0
nebo
--cam-budget --cam-dir /etc/sasc-ng --cam-opt '-R --serial=/dev/ttyUSB0'
Resil jsem podobny problem … po dvou bezesnych nocich je problem odhalen. Kartu je treba zastrcit jeste o malicky kousek dal aby zelena ledka zhasla … alespon me to pomohlo ;-) Pak to kartu najde. Prisel jsem na to pri pouziti newcs … musi byt videt vlozena karta. Pak zacalo komunikovat sasc-ng.