Loading...

Rozwiązanie błędu EMM NCam: Napraw przetwarzanie EMM OScam

Jeśli widzisz błędy EMM w swoich NCam lubOScam logach, już wiesz, jak frustrujący jest ten wzór: kanały dekodują poprawnie przez jakiś czas, a potem zaczynają znikać — a co gorsza, zamrażają się dni później, gdy nie oglądasz. Odpowiednie rozwiązanie błędu EMM NCam nie polega na losowym przełączaniu flag. Chodzi o to, aby przeczytać, co log naprawdę ci mówi i naprawić konkretną warstwę, która jest uszkodzona. Ten przewodnik zakłada, że już masz działający łańcuch cardsharingowy i jesteś w trakcie rozwiązywania problemów, a nie zaczynasz od zera.

Co naprawdę oznacza błąd EMM w NCam

NCam obsługuje dwa zupełnie różne typy wiadomości od twojego operatora, a ich pomieszanie jest źródłem większości zamieszania. ECM (Entitlement Control Message) to to, co odszyfrowuje strumień w czasie rzeczywistym — działa nieprzerwanie, gdy oglądasz. EMM (Entitlement Management Message) jest inny: to operator okresowo zapisujący nowe dane uprawnień, daty wygaśnięcia i klucze na fizycznej karcie smart.

AU — Auto Update — to proces, w którym NCam przekazuje EMM do czytnika kart, aby karta pozostała aktualna. Bez tego, uprawnienia twojej karty cicho wygasają, a dekodowanie zatrzymuje się, mimo że ECM działało doskonale do tego momentu.

EMM vs ECM: Dlaczego wiadomości o uprawnieniach są ważne

ECM jest krótkotrwałe i bezstanowe. Co kilka sekund przychodzi świeży ECM, jest odszyfrowywany za pomocą aktualnego klucza karty, a strumień odtwarza się. EMM to mechanizm, który utrzymuje te klucze ważne. Operator może wysyłać EMM co kilka godzin, raz dziennie lub w serii, gdy twoja subskrypcja się odnawia. Jeśli te zapisy nigdy nie dotrą do karty, karta działa na pożyczonym czasie.

Większość konfiguracji dekoduje poprawnie przez dni lub tygodnie po awarii AU. Potem pewnego ranka okres uprawnień karty wygasa i wszystko jednocześnie gaśnie. Ta opóźniona awaria to powód, dla którego błędy EMM często są ignorowane, aż będzie za późno.

Czytanie dokładnej linii logu NCam

NCam generuje kilka odrębnych podpisów logów EMM. Oto co naprawdę zobaczysz:

  • emm reader [readername] CAID 0x0500 odrzucony (nie zapisany) — Czytnik otrzymał EMM, ale karta go odrzuciła. AU może być wyłączone, lub karta nie ma praw dostawcy do tej wiadomości.
  • EMM_UNKNOWN — NCam otrzymał EMM, którego nie mógł sklasyfikować. CAID lub identyfikator dostawcy nie pasuje do niczego, co wie, jak obsługiwać.
  • emmtype: unikalny / współdzielony / globalny — Pokazuje, która kategoria EMM dotarła. Unikalny celuje w konkretny numer seryjny twojej karty; współdzielony celuje w grupę; globalny trafia do wszystkich kart w sieci.
  • brak wsparcia dla karty — Czytnik istnieje, ale żadna fizyczna karta nie odpowiada.

PojedynczaEMM_UNKNOWN linia w logu jest prawie zawsze nieszkodliwa. To, czego szukasz, to wzór: setki odrzuconych linii bez udanych zapisów, lub licznik zapisów EMM w interfejsie webowym pokazujący zero przez godziny na karcie, która powinna otrzymywać aktualizacje.

Kiedy błąd EMM jest nieszkodliwy, a kiedy przerywa dekodowanie

Operatorzy często wysyłają EMM dla identyfikatorów dostawcy, których karta nie posiada. Jeśli subskrybujesz podstawowy poziom, nadal otrzymasz (i legalnie odrzucisz) EMM dla pakietów premium, za które nie zapłaciłeś. To zalewa logi odrzuconymi liniami, które są całkowicie normalne.

Przypadek awarii jest inny: karta otrzymuje EMM dla dostawców, którychposiada, są one odrzucane, ponieważ AU jest źle skonfigurowane, a zegar uprawnień karty się kończy. To jest ten, który musisz naprawić.

Krok po kroku diagnoza błędu EMM

Zanim zmienisz jakąkolwiek konfigurację, spraw, aby logi zaczęły działać. Nie możesz zdiagnozować tego, czego nie widzisz. Znalezienie działającego rozwiązania błędu EMM NCam zawsze zaczyna się tutaj.

Włącz logowanie EMM i zwiększ poziom debugowania

W/etc/oscam/oscam.conf ustaw plik logu i zwiększ poziom debugowania:

[global]

Poziom debugowania 64 włącza specyficzny dla EMM output. Jeśli chcesz wszystko, użyj 255 — ale to jest bardzo hałaśliwe. W interfejsie webowym NCam (zwykle na porcie 8888) przejdź do Config → Logging i ustaw poziom debugowania interfejsu webowego na 4, aby zobaczyć liczniki EMM dla każdego czytnika w czasie rzeczywistym.

Ustaw również te w swoim bloku czytnika, aby zapisać surowe dane EMM do plików do inspekcji:

saveemm-u = 1

To zapisuje unikalne, współdzielone, globalne i nieznane EMM do plików w twoim katalogu konfiguracyjnym (zwykle/etc/tuxbox/config/ lub/var/keys/ w zależności od twojego obrazu Enigma2). Posiadanie surowych bajtów pozwala na niezależne weryfikowanie zawartości EMM bez klasyfikacji NCam.

Potwierdź, czy AU jest rzeczywiście włączone dla czytnika

Sprawdź blok czytnika w/etc/oscam/oscam.server. AU musi być wyraźnie włączone:

[reader]

A na koncie użytkownika w/etc/oscam/oscam.user, konto, które posiada sesję, musi wskazywać AU na ten czytnik:

[account]

Obie strony muszą się zgadzać. Czytnik zau = 1 ale bez użytkownika wskazującego na niego nie zapisze nic. Użytkownik zau = local_cam ale czytnik ustawiony naau = 0też nie zapisze.

Sprawdź, czy CAID, ID dostawcy i typ boxa pasują do karty

Wartościcaid iident w bloku czytnika muszą dokładnie odpowiadać temu, co zgłasza fizyczna karta. Pobierz rzeczywisty CAID i identyfikator dostawcy z interfejsu webowego NCam w sekcji Czytniki → twój czytnik → Informacje o karcie. Jeśli to, co jest w konfiguracji, nie zgadza się z tym, co zgłasza karta, ECM może nadal działać na pamiętanym kluczu, podczas gdy każdy EMM zostanie odrzucony.

Dla kart, które potrzebują klucza boxa (Conax, Cryptoworks, niektóre warianty Irdeto), zweryfikuj, czyboxid,boxkey irsakey są obecne i poprawne. Jeden błędny znak szesnastkowy tutaj cicho psuje AU, pozostawiając ECM funkcjonalne — głęboko irytujący tryb awaryjny.

Zweryfikuj, czy EMM dociera do czytnika, a nie tylko do proxy

Obserwuj liczniki EMM dla każdego czytnika w interfejsie webowym. Jeśli licznik na czytniku proxy rośnie, ale lokalny czytnik karty pokazuje zero, EMM zatrzymują się na warstwie proxy i nigdy nie docierają do fizycznej karty. To oczekiwane zachowanie dla większości protokołów udostępniania — a naprawienie tego wymaga zrozumienia następnej sekcji.

Rozwiązanie błędów EMM w NCam: Naprawa najczęstszych błędów EMM

EMM odrzucone / Nie zapisane — niedopasowanie AU i praw

To jest najczęstszy przypadek. Lista kontrolna naprawy:

  1. Ustawau = 1 na czytniku woscam.server
  2. Ustawau = readerlabel na koncie użytkownika woscam.user
  3. Potwierdź, że karta rzeczywiście ma prawa dostawcy dla CAID/identyfikatora w pytaniu — jeśli nie, odrzucenie jest poprawnym zachowaniem
  4. Sprawdź, czyaufilter iauprovid nie filtrują błędnie EMM-ów, których potrzebujesz

Jeśli masz dwa czytniki lub dwa profile, które próbują zrobić AU dla tej samej karty, będą się nawzajem zwalczać i produkować niespójne zapisy. Przypisz AU wyraźnie do jednego czytnika i wyłącz je na wszystkich innych dla tej karty.

EMM_UNKNOWN — Zły CAID lub Nieobsługiwany Typ EMM

Logi NCamEMM_UNKNOWN gdy otrzymuje EMM, którego nie może sklasyfikować w odniesieniu do skonfigurowanego CAID. Zwykle jest to niezgodność między tym, co ustawiłeś w konfiguracji, a tym, co operator faktycznie wysyła.

Najpierw zweryfikuj CAID za pomocą strony informacji o karcie. Następnie sprawdź, czy twoja wersja NCam rzeczywiście obsługuje AU dla tego konkretnego CAID/systemu. Nie wszystkie wersje obsługują wszystkie systemy dostępu warunkowego w równym stopniu. Tylko do testów możesz ustawićblockemm-unknown = 0 aby przepuścić nieznane EMM-y — ale nie zostawiaj tego włączonego i przeczytaj sekcję 4 przed zrobieniem tego.

Brak AU przez Protokół Udostępniania (CCcam/Newcamd Proxy)

To jest to, co większość przewodników całkowicie pomija, i marnuje godziny czasu na rozwiązywanie problemów.

CzysteCCcam lub połączenie udostępniania newcamd nie przesyła EMM. Protokół jest zaprojektowany do przesyłania odpowiedzi ECM (odszyfrowane słowa kontrolne), a nie do dostarczania komunikatów zarządzających do zdalnej karty. Jeśli twoja karta jest udostępniana partnerowi przez/etc/CCcam.cfg i ten partner oczekuje AU, nie dostanie go — nigdy — przez to połączenie.

Karta musi być fizycznie obecna w boxie wykonującym AU. Jeśli potrzebujesz aktualizacji uprawnień, karta musi pozostać lokalna lub partner udostępniający musi mieć swoją własną lokalną kartę. Nie ma obejścia tego na poziomie protokołu.

Zły Klucz Boxa / Karta Niepersonalizowana

Niektóre systemy dostępu warunkowego wymagają, aby karta była sparowana z konkretnym boxem. Conax i niektóre implementacje Irdeto używająboxid (numer seryjny sprzętu boxa) orazboxkey uzyskanego podczas parowania. Jeśli przeniosłeś kartę do innego STB lub wprowadziłeś błędne wartości, AU nie powiedzie się, podczas gdy ECM może nadal działać przy użyciu pamiętanego klucza.

Wprowadź ponownieboxid orazboxkey z oryginalnych danych parowania. Dla Conax, boxid to 8 cyfr szesnastkowych; boxkey to 16 cyfr szesnastkowych. Uzyskaj je z rzeczywistego sprzętu lub oryginalnej wymiany parowania — nie można ich odzyskać z błędnego wpisu konfiguracyjnego.

Zalewanie EMM i przekroczenia czasu oczekiwania na czytnik

Niektórzy operatorzy wysyłają setki EMM na minutę. Czytnik, który nie może ich przetworzyć wystarczająco szybko, będzie kolejkował, przekraczał czas oczekiwania i zacznie generować błędy, które wyglądają jak awarie AU, ale w rzeczywistości są problemami z przepustowością.

Użyjemmcache do usunięcia zduplikowanych identycznych EMM przed ich dotarciem do czytnika:

emmcache = 1,3,20

To buforuje EMM i wysyła tylko nowy unikalny do czytnika (format: włączone, maxemms, initial_wait). Użyj równieżblockemm-bylen do odrzucenia EMM o określonych długościach bajtów, które wiesz, że nie są istotne dla twojej karty. Aratelimitecm może pomóc, jeśli klient bombarduje czytnik żądaniami ECM w tym samym czasie.

Filtrowanie EMM i ograniczanie dla bezpieczeństwa karty

Ta sekcja ma większe znaczenie, niż przyznają to większość przewodników. Akceptowanie wszystkich EMM bez filtrowania nie jest strategią debugowania — to sposób, w jaki karty zostają zablokowane.

Dlaczego niekontrolowane zapisy EMM mogą zablokować lub zablokować kartę

Globalne i współdzielone EMM mogą nadpisywać kluczowe dane uprawnień na karcie. Źle sformatowany globalny EMM, lub taki skierowany do innego profilu karty, może uszkodzić strukturę uprawnień karty lub wywołać stan zablokowania, który wymaga od operatora ponownej inicjalizacji karty. W przypadku legalnie posiadanej karty subskrypcyjnej jest to sytuacja, którą można odzyskać, jeśli skontaktujesz się ze swoim dostawcą — ale to wciąż bałagan, którego chcesz uniknąć.

Ryzyko znacznie wzrasta, jeśli otrzymujesz EMM z wielu źródeł lub jeśli łańcuch udostępniania przesyła wiadomości bez filtrowania.

Używanie flag blockemm do ochrony uprawnień

Te wpisy znajdują się w bloku czytnika woscam.server:

blockemm-unknown = 1

Ta konfiguracja akceptuje unikalne i współdzielone EMM (które są zazwyczaj tym, czego potrzebuje karta subskrypcyjna), jednocześnie blokując globalne i nieznane. Dokładna kombinacja zależy od twojego operatora — niektórzy używają tylko unikalnych EMM, inni używają współdzielonych. Obserwuj liczniki w interfejsie internetowym przez kilka godzin po skonfigurowaniu, aby potwierdzić, że akceptujesz odpowiednie typy i widzisz udane zapisy.

Białe listy tylko EMM, których potrzebuje twoja karta

Użyjauprovid w bloku czytnika, aby ograniczyć AU do konkretnych identyfikatorów dostawców:

auprovid = 050000

To oznacza, że EMM dla jakiegokolwiek innego identyfikatora dostawcy na tym samym CAID są odrzucane w czytniku, a nie zapisywane na karcie. Czyste i bezpieczne. Jeśli twój operator wysyła EMM dla wielu sub-dostawców, wymień je oddzielone przecinkami. Uzyskaj dokładne identyfikatory dostawców z strony informacji o karcie — nie zgaduj.

Monitorowanie liczby zapisów EMM w interfejsie internetowym

Interfejs internetowy NCam na porcie 8888 pokazuje statystyki EMM dla każdego czytnika: zapisane, pominięte, błąd, zablokowane. Zdrowa konfiguracja AU pokazuje stale rosnącą liczbę "zapisanych" i stabilną lub zerową liczbę "błędów". Jeśli "zapisane" utknęło na zerze, a "zablokowane" rośnie, twoje ustawienia filtra są zbyt agresywne. Jeśli "błąd" rośnie przy braku zapisów, karta odrzuca wiadomości — to problem z AU lub prawami, a nie problem z filtrem.

Sprawdzaj te liczniki po każdej zmianie konfiguracji. To prawda podstawowa.

Kiedy błędy EMM nie są prawdziwym problemem

Czasami spędzasz godzinę na EMM, tylko po to, by zdać sobie sprawę, że rzeczywista usterka jest gdzie indziej. Błędna diagnoza jest tutaj powszechna.

Dekodowanie działa, ale karta cicho wygasa

To jest przypadek opóźnionej awarii. Dekodowanie ECM działa dobrze, ale AU jest zepsute od dni lub tygodni. Okres uprawnień karty w końcu wygasa — co może nastąpić dzień po odnowieniu subskrypcji lub trzy miesiące później przy naturalnym wygaśnięciu — i wszystko zatrzymuje się jednocześnie. Ponieważ awaria jest natychmiastowa i całkowita, na pierwszy rzut oka wygląda to jak problem z ECM.

Sprawdź datę ważności karty w interfejsie internetowym NCam w sekcji Czytniki → Informacje o karcie. Jeśli data wygaśnięcia jest w przeszłości, twoje rozwiązanie błędu EMM w NCam musi skupić się na przywróceniu działania AU, a następnie na ponownym zatwierdzeniu subskrypcji karty u twojego dostawcy.

Mylenie awarii ECM z awariami EMM

Przekroczenie czasu oczekiwania ECM lub błędny priorytet CAID woscam.dvbapi produkuje spadki kanałów, które wyglądają jak awaria AU, jeśli nie przeczytasz logów uważnie. Błędy ECM pojawiają się jakoprzekroczenie czasu ECM lubnieprawidłowy CW w logu; błędy EMM pojawiają się jakoEMM odrzucone lubnie zapisane. To różne linie logów — spójrz na obie przed wyciągnięciem wniosków, która warstwa jest uszkodzona.

Obserwuj również czas odpowiedzi ECM w interfejsie internetowym. Działająca karta z uszkodzonym AU będzie miała szybkie czasy odpowiedzi ECM aż do momentu wygaśnięcia. Karta z problemami ECM pokazuje wolne lub nieudane odpowiedzi natychmiast.

Specyficzne dla obrazu dziwactwa NCam i różnice w logach

Ścieżki konfiguracyjne różnią się między obrazami Enigma2. W OpenATV, konfiguracja oscam zazwyczaj znajduje się w/etc/tuxbox/config/. W OpenPLi często jest to/etc/oscam/. W niektórych wersjach domyślny plik binarny NCam nie kompiluje wsparcia dla wszystkich systemów CA, więc obsługa EMM dla niektórych CAIDów jest po prostu nieobecna — żadne zmiany w konfiguracji tego nie naprawią.

Po aktualizacji obrazu zawsze sprawdzaj, czy twoje ścieżki konfiguracyjne nadal obowiązują. Aktualizacja, która przenosioscam.server w nowe miejsce, cicho unieważni twoje ustawienia AU, pozostawiając ECM działającym z lokalizacji w pamięci podręcznej lub zakodowanej. Plikisaveemm również przestaną się zapełniać, jeśli ścieżka się zmieni.

Formaty dat logów i kolejność pól różnią się również między wersjami NCam i OScam. Jeśli kopiujesz analizę logów z przewodnika napisanego dla OScam 11.x i używasz fork NCam z 2024 roku, niektóre nazwy pól będą się różnić. Sprawdź swoje rzeczywiste wyjście logu w porównaniu do formatu, a nie tylko w porównaniu do tego, jak mówi tutorial.

Czy błąd EMM zawsze zatrzymuje działanie kanałów?

Nie, nie od razu. Dekodowanie ECM może działać przez dni, tygodnie lub miesiące po awarii AU, w zależności od tego, jak często twój operator aktualizuje uprawnienia. Karta kontynuuje dekodowanie na swoim istniejącym kluczu, aż ten klucz lub okres uprawnień wygaśnie — wtedy wszystko zatrzymuje się naraz. Błędy EMM stają się śmiertelne tylko wtedy, gdy karta musi odnowić i nie może, ponieważ AU nigdy nie zapisało aktualizacji.

Czy mogę zrobić AU (aktualizacje EMM) przez udostępnienie CCcam lub newcamd?

Generalnie nie. CCcam inewcamd są zaprojektowane do przesyłania słów kontrolnych (odpowiedzi ECM), a nie zapisów EMM. Urządzenie odbierające udostępnienie przez CCcam nie może wysyłać EMM z powrotem przez to połączenie, aby zaktualizować zdalną kartę. Karta musi być fizycznie obecna w urządzeniu wykonującym AU. Jeśli twoja konfiguracja ma kartę udostępnioną partnerowi, który potrzebuje AU, jedynym prawdziwym rozwiązaniem jest przeniesienie karty do tego urządzenia lub zrobienie AU lokalnie przez urządzenie trzymające kartę.

Jak włączyć logowanie EMM w NCam?

Ustawlogfile = /var/log/ncam.log orazdebuglevel = 64 (lub 255 dla pełnego wyjścia) woscam.conf pod[global]. W swoim bloku czytnika dodajsaveemm-u = 1,saveemm-s = 1,saveemm-g = 1, isaveemm-unknown = 1 aby zapisać surowe EMM do plików. Następnie obserwuj liczniki EMM (zapisane/pominięte/błąd/zablokowane) dla każdego czytnika w interfejsie internetowym NCam na porcie 8888 — te liczniki są najszybszym sposobem, aby zobaczyć, czy AU faktycznie działa.

Co oznacza EMM_UNKNOWN i czy to jest niebezpieczne?

Oznacza to, że NCam otrzymał EMM, którego nie mógł sklasyfikować według skonfigurowanego CAID lub identyfikatora dostawcy. Zwykle jest to nieszkodliwy szum — operatorzy rutynowo nadają EMM dla usług i grup kart poza Twoją subskrypcją. Niebezpieczeństwo pojawia się, jeśli ustawiszblockemm-unknown = 0 aby przepuszczać wszystko w celach debugowania i zapomnisz włączyć filtr z powrotem. Utrzymujblockemm-unknown = 1 w produkcji. Jeśli tymczasowo go wyłączysz do testów, zrób to na karcie testowej, a nie na swojej głównej karcie subskrypcyjnej.

Dlaczego mój czytnik pokazuje 'EMM odrzucone' lub 'EMM nie zapisane'?

Pracuj według tej kolejności: najpierw sprawdź, czyau = 1 jest ustawione na czytniku woscam.server. Po drugie, sprawdź, czy konto użytkownika woscam.user maau = readerlabel wskazujące na ten czytnik. Po trzecie, potwierdź, że karta faktycznie ma prawa dostawcy dla CAID/ident w EMM — jeśli nie, odrzucenie jest poprawne i nie jest błędem. Po czwarte, zweryfikujboxid iboxkey są poprawne, jeśli Twój system CA wymaga parowania. Jeden z tych czterech jest prawie zawsze winny.

Czy aktualizacje EMM mogą uszkodzić lub zablokować moją kartę?

Tak. Akceptowanie globalnych lub współdzielonych EMM bez filtrowania jest ryzykowne — źle sformatowany lub niedopasowany globalny EMM może nadpisać dane uprawnień lub wywołać stan blokady karty. Używajblockemm-g = 1 chyba że Twój operator wyraźnie wymaga globalnych zapisów EMM, i ogranicz AU do znanych dobrych identyfikatorów dostawcy zauprovid. To dotyczy legalnie posiadanych kart subskrypcyjnych — fizyczna karta to sprzęt, a złe zapisy EMM mogą wymagać interwencji operatora w celu naprawy.