Soluzione all'errore EMM di NCam: Correggi il trattamento EMM di OScam
Se vedi errori EMM nei tuoi log di NCam oOScam, sai già il frustrante schema: i canali si decodificano bene per un po', poi iniziano a cadere — o peggio, si bloccano giorni dopo quando non stai guardando. La giusta soluzione all'errore EMM di NCam non riguarda il cambiare casualmente i flag. Si tratta di leggere cosa ti sta effettivamente dicendo il log e di correggere il livello specifico che è rotto. Questa guida presuppone che tu abbia già una catena di condivisione di schede funzionante e sia a metà della risoluzione dei problemi, non partendo da zero.
Cosa significa realmente un errore EMM in NCam
NCam gestisce due tipi di messaggi completamente diversi dal tuo operatore, e confonderli è la fonte della maggior parte della confusione. ECM (Messaggio di Controllo dei Diritti) è ciò che decripta il flusso in tempo reale — funziona costantemente mentre guardi. EMM (Messaggio di Gestione dei Diritti) è diverso: è l'operatore che scrive periodicamente nuovi dati di diritto, date di scadenza e chiavi sulla scheda intelligente fisica stessa.
AU — Aggiornamento Automatico — è il processo mediante il quale NCam passa gli EMM al lettore di schede affinché la scheda rimanga aggiornata. Senza di esso, i diritti della tua scheda scadono silenziosamente e la decodifica si ferma, anche se l'ECM funzionava perfettamente fino a quel momento.
EMM vs ECM: Perché i messaggi di diritto sono importanti
L'ECM è di breve durata e senza stato. Ogni pochi secondi, arriva un nuovo ECM, viene decriptato utilizzando la chiave attuale della scheda e il flusso viene riprodotto. L'EMM è il meccanismo che mantiene valide quelle chiavi. Un operatore potrebbe inviare EMM ogni poche ore, o una volta al giorno, o in un'esplosione quando il tuo abbonamento si rinnova. Se quelle scritture non raggiungono mai la scheda, la scheda funziona con tempo preso in prestito.
La maggior parte delle configurazioni si decodifica bene per giorni o settimane dopo che l'AU si interrompe. Poi, una mattina, il periodo di diritto della scheda scade e tutto diventa nero simultaneamente. Quel fallimento ritardato è il motivo per cui gli errori EMM vengono spesso ignorati fino a quando non è troppo tardi.
Leggere la linea esatta del log di NCam
NCam produce diverse firme di log EMM distinte. Ecco cosa vedrai effettivamente:
emm reader [readername] CAID 0x0500 rifiutato (non scritto)— Il lettore ha ricevuto l'EMM ma la scheda lo ha rifiutato. L'AU potrebbe essere disattivato, o la scheda non detiene i diritti del fornitore per questo messaggio.EMM_UNKNOWN— NCam ha ricevuto un EMM che non è riuscito a classificare. Il CAID o l'identificativo del fornitore non corrisponde a nulla che sappia gestire.emmtype: unico / condiviso / globale— Mostra quale categoria di EMM è arrivata. Unico si rivolge al numero di serie specifico della tua scheda; condiviso si rivolge a un gruppo; globale va a tutte le schede sulla rete.nessun supporto per la scheda— Il lettore esiste ma nessuna scheda fisica sta rispondendo.
Un singoloEMM_UNKNOWN linea nel log è quasi sempre innocuo. Ciò che stai cercando è un modello: centinaia di righe rifiutate senza scritture riuscite, o il contatore di scrittura EMM nell'interfaccia web che mostra zero per ore su una scheda che dovrebbe ricevere aggiornamenti.
Quando un errore EMM è innocuo vs quando interrompe la decodifica
Gli operatori inviano comunemente EMM per ID fornitori che la scheda non detiene. Se ti abboni a un livello base, riceverai comunque (e rifiuterai legittimamente) EMM per pacchetti premium che non hai pagato. Questo inonda il log con righe rifiutate che sono completamente normali.
Il caso di fallimento è diverso: la scheda riceve EMM per fornitori chedetiene, vengono rifiutati perché l'AU è mal configurato, e il timer di diritto della scheda scade. Questo è quello che devi correggere.
Diagnosi passo-passo dell'errore EMM
Prima di cambiare qualsiasi configurazione, fai parlare i log. Non puoi diagnosticare ciò che non puoi vedere. Trovare una soluzione funzionante per l'errore EMM di NCam inizia sempre qui.
Abilita il logging EMM e aumenta il livello di debug
In/etc/oscam/oscam.conf, imposta il file di log e aumenta il livello di debug:
[global]Il livello di debug 64 abilita l'output specifico per EMM. Se vuoi tutto, usa 255 — ma è molto rumoroso. Nell'interfaccia web di NCam (tipicamente sulla porta 8888), vai su Config → Logging e imposta il livello di debug dell'interfaccia web su 4 per vedere i contatori EMM per lettore in tempo reale.
Imposta anche questi nel tuo blocco lettore per salvare i dati EMM grezzi in file per ispezione:
saveemm-u = 1Questo salva EMM unici, condivisi, globali e sconosciuti in file nella tua directory di configurazione (di solito/etc/tuxbox/config/ o/var/keys/ a seconda della tua immagine Enigma2). Avere i byte grezzi ti consente di verificare il contenuto dell'EMM indipendentemente dalla classificazione di NCam.
Conferma se AU è effettivamente abilitato per il lettore
Controlla il tuo blocco lettore in/etc/oscam/oscam.server. AU deve essere esplicitamente abilitato:
[reader]E sull'account utente in/etc/oscam/oscam.user, l'account che possiede la sessione deve puntare AU a quel lettore:
[account]Entrambi i lati devono corrispondere. Un lettore conau = 1 ma senza utente che lo punta non scriverà nulla. Un utente conau = local_cam ma il lettore impostato suau = 0 non lo farà nemmeno.
Controlla che CAID, Provider ID e Tipo di Box corrispondano alla Carta
Ilcaid eident nel tuo blocco lettore devono corrispondere esattamente a ciò che riporta la carta fisica. Estrai il CAID effettivo e l'identificativo del provider dall'interfaccia web di NCam sotto Lettori → il tuo lettore → Info Carta. Se ciò che è nella configurazione non corrisponde a ciò che riporta la carta, l'ECM potrebbe comunque funzionare con una chiave memorizzata mentre ogni EMM viene rifiutato.
Per le carte che necessitano di una chiave box (Conax, Cryptoworks, alcune varianti Irdeto), verifica cheboxid,boxkey ersakey siano presenti e corretti. Un solo digit esadecimale errato qui interrompe silenziosamente AU lasciando ECM funzionante — una modalità di errore profondamente fastidiosa.
Verifica che l'EMM stia raggiungendo il lettore, non solo il proxy
Guarda i contatori EMM per lettore nell'interfaccia web. Se il contatore su un lettore proxy sta salendo ma il lettore di carte locale mostra zero, gli EMM si stanno fermando al livello proxy e non raggiungono mai la carta fisica. Questo è un comportamento previsto per la maggior parte dei protocolli di condivisione — e risolverlo richiede di comprendere la sezione successiva.
Soluzione all'errore EMM di NCam: risolvere gli errori EMM più comuni
EMM Rifiutato / Non Scritto — Mismatch AU e Diritti
Questo è il più comune. La checklist per la risoluzione:
- Imposta
au = 1sul lettore inoscam.server - Imposta
au = etichettalettoresull'account utente inoscam.user - Conferma che la scheda detenga effettivamente i diritti del fornitore per il CAID/ident in questione — se non lo fa, il rifiuto è un comportamento corretto
- Controlla che
aufiltereauprovidnon stiano filtrando erroneamente gli EMM di cui hai bisogno
Se hai due lettori o due profili che cercano entrambi di fare AU per la stessa scheda, si combatteranno a vicenda e produrranno scritture incoerenti. Assegna esplicitamente AU a un singolo lettore e disabilitalo su tutti gli altri per quella scheda.
EMM_UNKNOWN — CAID errato o tipo EMM non supportato
I log di NCamEMM_UNKNOWN quando riceve un EMM che non può classificare rispetto al CAID configurato. Questo è solitamente un disallineamento tra ciò che hai impostato nella configurazione e ciò che l'operatore sta effettivamente inviando.
Prima, verifica il CAID tramite la pagina delle informazioni sulla scheda. Poi controlla se la tua build di NCam supporta effettivamente AU per quel specifico CAID/sistema. Non tutte le build supportano tutti i sistemi di accesso condizionato in modo uguale. Solo per test, puoi impostareblockemm-unknown = 0 per far passare gli EMM sconosciuti — ma non lasciare attivato questo, e leggi la sezione 4 prima di farlo.
Nessun AU su un protocollo di condivisione (CCcam/Newcamd Proxy)
Questo è quello che la maggior parte delle guide ignora completamente, e fa perdere ore di tempo nella risoluzione dei problemi.
Una connessione di condivisione puramenteCCcam o newcamd non trasmette EMM. Il protocollo è progettato per inoltrare le risposte ECM (parole di controllo decrittografate), non per consegnare messaggi di gestione a una scheda remota. Se la tua scheda è condivisa con un peer tramite/etc/CCcam.cfg e quel peer si aspetta AU, non lo riceverà — mai — tramite quella connessione.
La scheda deve essere fisicamente presente nella box che esegue AU. Se hai bisogno di aggiornamenti di autorizzazione, o la scheda rimane locale o il peer di condivisione utilizza la propria scheda locale. Non c'è soluzione alternativa a questo a livello di protocollo.
Chiave Box Errata / Scheda Non Personalizzata
Alcuni sistemi di accesso condizionato richiedono che la scheda sia accoppiata con una box specifica. Conax e alcune implementazioni di Irdeto utilizzano unboxid (il numero di serie hardware della box) e unaboxkey derivata durante l'accoppiamento. Se hai spostato la scheda su un diverso STB o inserito valori errati, AU fallirà mentre ECM potrebbe ancora funzionare utilizzando una chiave memorizzata nella cache.
Reinserisciboxid eboxkey dai dati di accoppiamento originali. Per Conax, il boxid è di 8 cifre esadecimali; la boxkey è di 16 cifre esadecimali. Ottieni questi dall'hardware reale o dallo scambio di accoppiamento originale — non è possibile recuperarli da una cattiva voce di configurazione.
Inondazione EMM e Timeout del Lettore
Alcuni operatori inviano centinaia di EMM al minuto. Un lettore che non riesce a elaborarli abbastanza velocemente metterà in coda, andrà in timeout e inizierà a produrre errori che sembrano fallimenti AU ma sono in realtà problemi di throughput.
Usaemmcache per deduplicare EMM identici prima che raggiungano il lettore:
emmcache = 1,3,20Questo memorizza in cache gli EMM e invia solo un nuovo unico al lettore (formato: abilitato, maxemms, initial_wait). Usa ancheblockemm-bylen per scartare EMM di lunghezze specifiche di byte che sai non essere rilevanti per la tua scheda. Eratelimitecm può aiutare se un client sta bombardando il lettore con richieste ECM durante la stessa finestra.
Filtraggio e Limitazione EMM per la Sicurezza della Scheda
Questa sezione è più importante di quanto ammettano la maggior parte delle guide. Accettare tutti gli EMM senza filtraggio non è una strategia di debug — è come le schede si danneggiano.
Perché le Scritture EMM Non Controllate Possono Danneggiare o Bloccare una Scheda
EMM globali e condivisi possono sovrascrivere dati di autorizzazione chiave su una scheda. Un EMM globale malformato, o uno mirato a un profilo di scheda diverso, può corrompere la struttura di autorizzazione della scheda o attivare uno stato di blocco che richiede all'operatore di ri-inizializzare la scheda. Con una scheda di abbonamento legittimamente posseduta, questa è una situazione recuperabile se contatti il tuo fornitore — ma è comunque un pasticcio che vuoi evitare.
Il rischio aumenta significativamente se ricevi EMM da più fonti o se la catena di condivisione passa messaggi senza filtraggio.
Utilizzare i Flag blockemm per Proteggere le Autorizzazioni
Questi vanno nel tuo blocco lettore inoscam.server:
blockemm-unknown = 1Questa configurazione accetta EMM unici e condivisi (che sono normalmente ciò di cui ha bisogno una scheda di abbonamento) mentre blocca quelli globali e sconosciuti. La combinazione esatta dipende dal tuo operatore — alcuni usano solo EMM unici, altri usano condivisi. Controlla i contatori dell'interfaccia web per alcune ore dopo la configurazione per confermare che stai accettando i tipi giusti e vedendo scritture riuscite.
Whitelistare Solo gli EMM di Cui Ha Bisogno la Tua Scheda
Usaauprovid nel blocco lettore per limitare AU a ID provider specifici:
auprovid = 050000Questo significa che gli EMM per qualsiasi altro ID provider sullo stesso CAID vengono scartati dal lettore, non scritti sulla scheda. Pulito e sicuro. Se il tuo operatore invia EMM per più sub-provider, elencali separati da virgole. Ottieni gli ID provider esatti dalla pagina delle informazioni sulla scheda — non indovinare.
Monitorare i Conteggi di Scrittura EMM nell'Interfaccia Web
L'interfaccia web NCam sulla porta 8888 mostra statistiche EMM per lettore: scritto, saltato, errore, bloccato. Una configurazione AU sana mostra un conteggio "scritto" in costante aumento e un conteggio "errore" stabile o zero. Se "scritto" è bloccato a zero e "bloccato" sta aumentando, le tue impostazioni di filtro sono troppo aggressive. Se "errore" sta aumentando senza nulla scritto, la scheda sta rifiutando i messaggi — questo è un problema di AU o di diritti, non un problema di filtro.
Controlla questi contatori dopo ogni modifica di configurazione. Sono la verità fondamentale.
Quando gli Errori EMM Non Sono il Vero Problema
A volte trascorri un'ora sugli EMM solo per renderti conto che il vero difetto è da un'altra parte. La diagnosi errata qui è comune.
La Decodifica Funziona ma la Scheda Scade Silenziosamente
Questo è il caso di guasto ritardato. La decodifica ECM funziona bene, ma AU è stata rotta per giorni o settimane. Il periodo di autorizzazione della scheda alla fine scade — il che potrebbe essere un giorno dopo il rinnovo di un abbonamento, o tre mesi dopo alla scadenza naturale — e tutto si ferma simultaneamente. Poiché il guasto è immediato e completo, sembra un problema ECM a prima vista.
Controlla la data di validità della scheda nell'interfaccia web NCam sotto Lettori → Informazioni sulla Scheda. Se la data di scadenza è nel passato, la tua soluzione di errore EMM NCam deve concentrarsi sul far funzionare di nuovo AU, quindi far ri-validare l'abbonamento della scheda con il tuo fornitore.
Confondere i Fallimenti ECM con i Fallimenti EMM
Un timeout ECM o una priorità CAID errata inoscam.dvbapi produce drop di canale che sembrano proprio come un errore AU se non leggi i log attentamente. Gli errori ECM appaiono cometimeout ECM oCW non valido nel log; gli errori EMM appaiono comeEMM rifiutato onon scritto. Sono linee di log diverse — guarda entrambe prima di concludere quale strato è rotto.
Guarda anche il tempo di risposta ECM nell'interfaccia web. Una scheda funzionante con AU rotto mostrerà tempi di risposta ECM rapidi fino a quando non scade. Una scheda con problemi ECM mostra risposte lente o fallite immediatamente.
Ingiustizie specifiche dell'immagine NCam e differenze nei log
I percorsi di configurazione variano tra le immagini Enigma2. Su OpenATV, la configurazione di oscam si trova tipicamente in/etc/tuxbox/config/. Su OpenPLi è spesso/etc/oscam/. Su alcune build, il binario NCam predefinito non compila il supporto per tutti i sistemi CA, quindi la gestione EMM per determinati CAID è semplicemente assente — nessuna quantità di modifiche alla configurazione risolverà questo.
Dopo un aggiornamento dell'immagine, verifica sempre che i tuoi percorsi di configurazione siano ancora validi. Un aggiornamento che spostaoscam.server in una nuova posizione invaliderà silenziosamente le tue impostazioni AU lasciando ECM funzionante da una posizione memorizzata nella cache o hardcoded. Ifile saveemm smetteranno anche di popolarsi se il percorso cambia.
I formati di data del log e l'ordinamento dei campi differiscono anche tra le build NCam e OScam. Se stai copiando l'analisi del log da una guida scritta per OScam 11.x e stai eseguendo un fork NCam del 2024, alcuni nomi di campo differiranno. Controlla il tuo output di log reale rispetto al formato, non solo rispetto a ciò che dice un tutorial che dovrebbe sembrare.
Un errore EMM ferma sempre i canali dal funzionare?
No, non immediatamente. La decodifica ECM può continuare a funzionare per giorni, settimane o mesi dopo che AU si rompe, a seconda di quanto spesso il tuo operatore aggiorna i diritti. La scheda continua a decodificare con la sua chiave esistente fino a quando quella chiave o il periodo di diritto scade — poi tutto si ferma all'improvviso. Gli errori EMM diventano fatali solo quando la scheda deve rinnovare e non può perché AU non ha mai scritto l'aggiornamento.
Posso fare AU (aggiornamenti EMM) tramite una condivisione CCcam o newcamd?
Generalmente no. CCcam enewcamd sono progettati per trasmettere parole di controllo (risposte ECM), non scritture EMM. Una box che riceve una condivisione tramite CCcam non può inviare EMM di nuovo attraverso quella connessione per aggiornare la scheda remota. La scheda deve essere fisicamente presente nella box che fa AU. Se la tua configurazione ha la scheda condivisa con un peer che ha bisogno di AU, l'unica vera soluzione è spostare la scheda in quella box o far fare AU localmente alla box che tiene la scheda.
Come abilito il logging EMM in NCam?
Impostalogfile = /var/log/ncam.log edebuglevel = 64 (o 255 per output completo) inoscam.conf sotto[global]. Nel tuo blocco lettore, aggiungisaveemm-u = 1,saveemm-s = 1,saveemm-g = 1, esaveemm-unknown = 1 per salvare EMM grezzi in file. Poi guarda i contatori EMM (scritti/saltati/errore/bloccati) per lettore nell'interfaccia web di NCam sulla porta 8888 — quei contatori sono il modo più veloce per vedere se AU sta effettivamente funzionando.
Cosa significa EMM_UNKNOWN ed è pericoloso?
Significa che NCam ha ricevuto un EMM che non è riuscito a classificare rispetto al CAID o all'identificativo del provider configurato. Di solito questo è rumore innocuo — gli operatori trasmettono regolarmente EMM per servizi e gruppi di schede al di fuori della tua sottoscrizione. Il pericolo è se impostiblockemm-unknown = 0 per far passare tutto per il debug e dimentichi di riattivare il filtro. Mantieniblockemm-unknown = 1 in produzione. Se lo disabiliti temporaneamente per i test, fallo su una scheda di prova, non sulla tua scheda di sottoscrizione principale.
Perché il mio lettore mostra 'EMM rifiutato' o 'EMM non scritto'?
Segui quest'ordine: prima, controlla cheau = 1 sia impostato sul lettore inoscam.server. Secondo, controlla che l'account utente inoscam.user abbiaau = readerlabel che punta a quel lettore. Terzo, conferma che la scheda detenga effettivamente i diritti del provider per il CAID/ident nell'EMM — se non lo fa, il rifiuto è corretto e non è un errore. Quarto, verifica cheboxid eboxkey siano corretti se il tuo sistema CA richiede il pairing. Uno di questi quattro è quasi sempre il colpevole.
Gli aggiornamenti EMM possono danneggiare o bloccare la mia scheda?
Sì. Accettare EMM globali o condivisi senza filtraggio è rischioso — un EMM globale malformato o non corrispondente può sovrascrivere i dati di diritto o attivare uno stato di blocco della scheda. Usablockemm-g = 1 a meno che il tuo operatore non richieda specificamente scritture EMM globali, e limita AU a ID provider noti e buoni conauprovid. Questo si applica a schede di sottoscrizione legittimamente possedute — la scheda fisica è hardware, e scritture EMM errate possono richiedere l'intervento dell'operatore per essere corrette.