Při bádání nad tím, co by mohlo tyto chyby způsobovat jsem si všimnul, že mi oscam taky občas vyhodí podobnou chybu:
Kód: Vybrat vše
2022/03/31 17:48:39 2A242A71 c (ecm) loznice (0624&/0000/0000/335A/63:9426F5D26AA8265D20BAF00AF71D5311._AE40F4E240EF6D9CF8DE33090A111C37): found (112 ms) by skylink_l2b
2022/03/31 17:48:46 2A242A71 c (ecm) loznice (0624&/2321/0000/0000/09:4A6D549315D3E98E634E051EAE37168A._00000000000000000000000000000000): not found (44 ms) by skylink_l2b (skylink_l2b do_cmd [11] 00)
2022/03/31 17:48:49 2A242A71 c (ecm) loznice (0624&/0000/0000/335A/63:5F258AD90F37570B87F6B62B8E0C914B._AE40F4E240EF6D9C97FC7A0D617E2807): found (116 ms) by skylink_l2b
Nejdřív jsem myslel, že problém nějak souvisí s patchem na 11407, ale to jsem po nahrazení RSA klíče v binárce svým vlastním a vygenerování svého RegKey 128(B) vyloučil.
V logu oscamu se chyba i tak sem tam objevila. Odzkoušel jsem i svn verzi 11704, stejná občasná chyba. Udělal jsem si podrobný log a zjistil jsem, že chybná data přicházejí na
server z newcamd oscam clienta a že je v mém případě způsobuje globální EMM 82400D90008000060040032321653A4E. Níže je výběr toho nejdůležitějšího z podrobného logu:
2022/04/01 16:57:06 3CC4592B c (newcamd) received 18 bytes from client
2022/04/01 16:57:06 3CC4592B c (newcamd) 00 00 82 40 0D 90
00 80 00 06 00 40 03 23 21 65
2022/04/01 16:57:06 3CC4592B c (newcamd) 3A 4E
2022/04/01 16:57:06 3CC4592B c (emm) emm:
2022/04/01 16:57:06 3CC4592B c (emm) 82 40 0D 90 00 80 00 06 00 40 03 23 21 65 3A 4E
2022/04/01 16:57:06 3CC4592B c (newcamd) received 11 bytes from client
2022/04/01 16:57:06 3CC4592B c (newcamd) 00 00 80 00 06 00 40 03 23 21 65
2022/04/01 16:57:06 3CC4592B c (ecm) get cw for ecm:
2022/04/01 16:57:06 3CC4592B c (ecm)
80 00 06 00 40 03 23 21 65
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] write to cardreader
2022/04/01 16:57:06 06153E28 r (reader) D1 00 00 00 0F 90 00 80 00 00 06 00 40 03 23 21
2022/04/01 16:57:06 06153E28 r (reader) 65 3A 4E 77
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] Answer from cardreader:
2022/04/01 16:57:06 06153E28 r (reader) 90 19
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] write to cardreader
2022/04/01 16:57:06 06153E28 r (reader) D1 FE 00 00 19
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] Answer from cardreader:
2022/04/01 16:57:06 06153E28 r (reader) 01 01 00 12 3F 00 00 10 E9 C3 4F 1F 03 23 F2 56
2022/04/01 16:57:06 06153E28 r (reader) 3D 47 BA 00 42 1A B1 4A 9F 90 00
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] EMM: response 01 01 00 12 3F (OK)
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] write to cardreader
2022/04/01 16:57:06 06153E28 r (reader) D5 00 00 02 04
23 21 65 5D
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] Answer from cardreader:
2022/04/01 16:57:06 06153E28 r (reader) 90 09
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] write to cardreader
2022/04/01 16:57:06 06153E28 r (reader) D5 FE 00 00 09
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] Answer from cardreader:
2022/04/01 16:57:06 06153E28 r (reader) 01 05 00 12 00 00 02 00 2B 90 00
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] cw1 : 002B9000000000000000000000000000
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] cw2 : 00000000000000000000000000000000
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] cardreader_do_ecm: after csystem->do_ecm rc=1
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] cardreader_do_ecm: ret rc=1
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] cardreader_process_ecm: cardreader_do_ecm returned rc=1 (ERROR=0)
2022/04/01 16:57:06 06153E28 r (reader) skylink_l2b [irdeto] ecm hash: 4A6D549315D3E98E634E051EAE37168A real time: 48 ms
2022/04/01 16:57:06 3CC4592B c (ecm) loznice (0624&/2321/0000/0000/09:4A6D549315D3E98E634E051EAE37168A._00000000000000000000000000000000): not found (221 ms) by skylink_l2b (skylink_l2b do_cmd [11] 00)
Parser na straně klienta nejdříve pošle správně celou EMM a následně při parsování narazí uprostřed této EMM na posloupnost 0080xx , což chápe jako začínající
hlavičku ECM a pošle ještě jednou část EMM dat jako ECM data. Server potom tyto data zpracuje jako by se jednalo o ECM a pošle na kartu.
Co jsem se díval do kódu tak newcamd client za to nemůže. Takhle zmršená data už dostává. Je zajímavé, že při lokálním provozu přes dvbapi funguje všechno korektně.
Momentálně to ničemu nevadí, jen musí karta sem tam zpracovat nesmyslný ECM požadavek navíc. Obraz se nezasekne.
Nevím jestli je toto i stejný problém v případě chyby
do_cmd [11] 9e 00, na to by bylo potřeba vidět podrobný log s chybou.