Loading...

Analisi sulla risoluzione dei problemi CCcam: correggi il blocco immagine& Errori FBL

Se stai gestendo una configurazione CCcam o OScam e l'immagine continua a bloccarsi, questa analisi sulla risoluzione dei problemi cccam ti farà risparmiare un sacco di tempo. Il blocco immagine non è un problema unico: è un sintomo con circa cinque cause profonde diverse, e la maggior parte delle persone passa ore a riavviare il decoder invece di leggere l'unica riga di log che avrebbe detto loro esattamente cosa non va. Gestisco share server a intermittenza da anni, e il processo diagnostico qui sotto è lo stesso che uso ogni volta che una linea smette di funzionare.

Quindi prima di toccare CCcam.cfg o oscam.server, stabiliamo cosa ti sta davvero dicendo il log. Questa è la parte che ogni altra analisi sulla risoluzione dei problemi cccam salta.

Come leggere un blocco CCcam prima di toccare la configurazione

Il blocco immagine non è una diagnosi. È un sintomo. Il decoder si è bloccato perché qualcosa nella catena ECM ha impiegato troppo tempo o è fallito del tutto — ma il "blocco" da solo non ti dice nulla su se il difetto sia nella tua configurazione, nella tua rete, nella card del tuo peer, o in una linea morta. Devi prima guardare il log.

Blocco vs. schermo nero vs. immagine disturbata — tre difetti diversi

Questi vengono continuamente confusi insieme e non dovrebbero esserlo. Un blocco significa che è stato richiesto un ECM (Entitlement Control Message) ed è alla fine arrivato, ma in ritardo — il decoder ha esaurito la control word valida prima che quella nuova arrivasse, quindi mantiene l'ultimo fotogramma. Uno schermo nero di solito significa che non è tornata alcuna risposta ECM, oppure che il CAID richiesto non è servito da nulla nella tua lista card. Un'immagine disturbata — rumore visibile, non un fotogramma bloccato — di solito significa che hai ricevuto indietro una DCW (control word), ma è quella sbagliata, il che indica un disallineamento CAID/provider o una chiave corrotta.

Sbaglia questa distinzione e passerai un weekend a regolare gli hop limit quando il vero problema è il tuo cavo LNB.

Abilitare il logging dettagliato: debug 4 e il percorso del log CCcam

La tua configurazione CCcam si trova in/etc/CCcam.cfg (oppure/usr/keys/CCcam.cfg su alcune immagini enigma2). Per ottenere un output diagnostico utile, imposta:

DEBUG : 4

Il livello di debug 4 ti offre il logging completo delle richieste/risposte ECM, non solo gli eventi di connessione. Senza di esso vedrai i messaggi di connessione/disconnessione dei peer ma nulla sulla consegna effettiva delle chiavi — il che è inutile per la diagnosi dei blocchi.

Su OScam, l'equivalente si trova in/etc/oscam/oscam.conf nel blocco[global]:

logfile = /var/log/oscam.log

Se stai eseguendo il webif (di solito sulla porta 8888 o quella che hai impostato in[webif]), la pagina di stato del reader ti fornisce gli stessi dati sui tempi ECM in una tabella molto più leggibile — ora la controllo prima ancora di fare il tail di un file di log grezzo.

Lettura dei tempi di risposta ECM nel log (com'è fatto un tempo 'buono')

Una riga di log CCcam sana ha un aspetto simile a questo:

[03:14:22] ECM (0100:000000) from (CCcam) client PeerName, cw: 142 ms

Quei 142 ms sono il tuo tempo di risposta ECM — l'intervallo tra l'invio della richiesta e il ritorno della control word. Qualsiasi valore sotto i 250-300 ms circa è confortevole. Tra 300-800 ms inizierai a vedere occasionali micro-scatti sui canali con crypto-period brevi. Sopra gli 800 ms, in modo costante, vedrai un blocco visibile — il decoder semplicemente esaurisce la chiave valida prima che arrivi quella successiva. Se il crypto-period di un canale è di 8-10 secondi e il tuo tempo ECM supera quella soglia, avrai un blocco totale a ogni singolo ciclo, con la precisione di un orologio.

Questa è l'abilità più utile in assoluto in qualsiasi analisi di risoluzione problemi cccam: correlare il timestamp del blocco sulla tua TV con la riga ECM allo stesso secondo nel log. Nove volte su dieci il valore in ms ti dice tutto.

Mappare il blocco a un CAID/provider ID

Ogni riga ECM include una coppia CAID:providerID — nell'esempio sopra,0100:000000. Annota quali combinazioni CAID/provider si bloccano e quali no. Se è sempre lo stesso CAID (diciamo, 0100 per Cryptoworks o 0500 per Viaccess), significa che il problema è specifico di qualunque peer o card locale serva quel CAID — non dell'intero setup. Questa è la differenza tra "la mia linea è morta" e "una specifica card dietro la mia linea è sovraccarica", e cambia cosa devi risolvere.

Le cause principali più comuni (classificate per frequenza)

In ordine di quanto spesso le vedo effettivamente in pratica, ecco cosa sta rompendo il tuo feed.

C-line morte o limitate e come si forma il FBL (Freeze Box Loop)

Questa è la causa numero uno, con ampio margine. Una C-line nel tuo CCcam.cfg:

C: 185.xx.xx.xx 12000 myuser mypass

...può risultare "attiva" a livello TCP (il socket si connette senza problemi) mentre la card dietro di essa è completamente sovraccarica o il peer ha limitato il tuo account. Il tuo box richiede un ECM, non riceve una DCW valida in tempo, richiede di nuovo, ancora niente, e richiede ancora. Questo è l'FBL — Freeze Box Loop — e dall'esterno appare identico a una linea morta, tranne che la connessione non cade mai realmente. Controlla il log: se vedi richieste ECM ripetute per lo stesso CAID senza una corrispondente riga di risposta "cw:", o tempi di risposta che continuano a salire, la card di quel peer è morta, sovraccarica, oppure ha smesso silenziosamente di servire quel provider ID.

Limiti di hop e reshare che uccidono silenziosamente la visibilità della tua card

CCcam.cfg ti permette di limitare quanti hop una card può essere ricondivisa attraverso:

F: friendname 12000 user pass 1 0 { 1,2,3 }

I numeri tra parentesi graffe sono i limiti di hop di reshare del CAID. Una card all'hop 0 è locale — è fisicamente nel tuo box. Hop 1 significa un peer di distanza. Dall'hop 3 in poi, quella chiave è stata trasmessa attraverso tre server separati prima di raggiungerti, e ogni hop aggiunge latenza e un nuovo punto di potenziale guasto. Ho visto card all'hop 4 "funzionare" tecnicamente, ma con tempi ECM superiori a 1200 ms — completamente inutilizzabili per qualsiasi cosa con un crypto-period veloce.

Mismatch CAID/provider ed ecm.info mancante

A volte il reader crede di star servendo il CAID 0500, ma il provider ID effettivo sottostante è cambiato, oppure il tuo file CCcam.providers elenca un ident che non corrisponde più a quello restituito dalla card. In OScam, controllaecm.info nella directory dei log — registra ogni richiesta ECM con il CAID, il provider ID e se è arrivata una risposta valida. Se vedi costantemente "not found" per un CAID che pensavi fosse coperto, il tuo file provider è obsoleto.

Jitter di rete, MTU e la trappola del timeout NAT del router

CCcam usa di default la porta TCP 12000. OScam solitamente esegue il proprio protocollo su intervalli intorno a 8888 per il webif, con newcamd tipicamente su porte 988x se stai facendo bridging tra protocolli. Se la tabella NAT del tuo router fa scadere una connessione TCP inattiva (il default comune è intorno ai 300-600 secondi sui router consumer) e CCcam non invia keep-alive abbastanza frequentemente, la linea cade silenziosamente — il tuo box pensa di essere ancora connesso, il router no, e gli ECM non vanno da nessuna parte finché non avviene una riconnessione. Sulle linee PPPoE/ADSL in particolare, i mismatch di MTU (l'overhead PPPoE consuma 8 byte, quindi spesso serve 1492 invece di 1500) possono frammentare i pacchetti e corrompere i dati ECM in modo intermittente — questo si manifesta come blocchi sporadici che non hanno nulla a che fare con il tuo provider.

Card sovraccarica: profondità della coda ECM e assegnazione 'sid'

Se stai condividendo la tua card con più utenti a valle, una card fisica può decodificare solo un certo numero di richieste ECM concorrenti prima che la coda si accumuli. Osserva quanti SID attivi (service/stream ID) stanno colpendo un singolo reader nel tuo log o nella pagina di stato del webif. Una singola card sovraccarica che serve 15 canali concorrenti a utenti diversi mostrerà tempi ECM in aumento per tutti — questo è spesso ciò che sta dietro ai blocchi che si verificano solo in certi momenti della giornata, come le ore serali di prima serata quando tutti guardano contemporaneamente.

Risolvere il problema: modifiche alla configurazione che fermano davvero il blocco

Una volta che sai cosa mostra il log, ecco cosa sposta davvero l'ago della bilancia.

Ottimizzare CCcam.cfg: CACHE EX, GHOST CARDS OFF e i timeout consigliati

Alcune direttive in CCcam.cfg aiutano davvero:

CACHE EX : 1

CACHE EXabilita il caching ECM in modo che le richieste ripetute per la stessa chiave in una breve finestra temporale non colpiscano di nuovo il peer.GHOST CARDS OFFimpedisce a CCcam di pubblicizzare schede che vede ricondivise tramite un peer ma che in realtà non sono affidabili — le ghost card sono un enorme contributo agli FBL perché il tuo box crede di avere un percorso veloce verso un CAID che in realtà è a tre salti di distanza e lento.MINIMUM CW : 1impone semplicemente che una control word non sia vuota prima di essere accettata, filtrando le risposte spazzatura da un peer instabile.

Equivalenti in OScam: [cache] e le impostazioni dvbapi che contano

Il vero vantaggio di OScam qui è il loadbalancer. In oscam.conf:

[global]

lb_mode = 1è la modalità "fastest reader" — OScam traccia attivamente i tempi di risposta per CAID/provider su ogni reader che hai e instrada le richieste verso quello attualmente più veloce, invece di colpire ciecamente qualunque sia elencato per primo.lb_retrylimit(in ms) gli dice di rinunciare a un reader lento e passare a quello successivo migliore invece di restare lì ad aspettare. Questa singola impostazione risolve più blocchi (freezing) di qualsiasi modifica al CCcam.cfg che io abbia mai fatto, perché CCcam non ha un equivalente — continua semplicemente a interrogare lo stesso peer indipendentemente da quanto sia stato lento in passato.

Limitare (rate-limiting) un peer scadente invece di eliminarlo

Se un peer serve un CAID che nessun altro serve ma è lento, non eliminarlo del tutto — limita la tua dipendenza da esso. In OScam, abbassa la sua priorità sotto[reader]con il parametrolb_weightin modo che il loadbalancer ricorra a esso solo quando non c'è nulla di più veloce disponibile, invece di trattarlo come un'opzione equivalente.

Migrare una linea che si blocca dal protocollo CCcam a OScam

Questo è il modo più pulito per isolare se il problema è il protocollo o il peer stesso. Aggiungi un reader di tipo cccam in oscam.server che punti esattamente allo stesso host e alle stesse credenziali:

[reader]

Se la stessa linea fisica ora si comporta meglio sotto il loadbalancer di OScam rispetto a come si comportava sotto CCcam puro, il problema non è mai stato il peer — era CCcam che ritentava un reader scadente senza logica di backoff. Questo è un dato di fatto davvero utile in qualsiasi revisione di troubleshooting cccam, perché ti dice se devi sistemare il tuo stack di protocollo o andare a cercare una fonte di schede diversa.

Verificare la correzione con un test controllato di zap tra canali

Non fidarti di un'impressione del tipo "sembra andare meglio". Scegli due canali noti per avere molto traffico ECM (crypto-period veloce, alta audience), e fai zap tra loro 20 volte di fila mentre osservi il log o la colonna dei tempi ECM nella webif. Prima della tua correzione, annota i ms medi e il conteggio dei blocchi. Dopo, ripeti esattamente lo stesso test. Se il tempo ECM medio è diminuito e il conteggio dei blocchi è arrivato a zero su 20 zap, la correzione ha tenuto. Se sta ancora salendo oltre gli 800 ms su uno dei due canali, non hai ancora davvero risolto il problema — torna al log.

Come Giudicare se una Linea o un Provider Valgono la Pena

Parte di ogni vera revisione di troubleshooting cccam consiste nel decidere se continuare a lottare con una linea scadente o abbandonarla. Ecco come giudicarlo oggettivamente invece che a sensazione.

Metriche oggettive: uptime %, tempo ECM medio, frequenza dei blocchi

Fissa un limite e tieni ogni linea a quello standard. Il tempo di risposta ECM sostenuto dovrebbe stare sotto circa 400 ms in media per i CAID che effettivamente guardi. L'uptime — inteso come connessione che rimane stabilita e che serve effettivamente DCW validi, non solo connessa via TCP — dovrebbe essere sopra il 99% misurato su una settimana, non una singola serata buona. Gli eventi di blocco sui tuoi canali più pesanti dovrebbero essere al massimo una manciata al giorno, non all'ora. Se una linea non riesce a raggiungere questi numeri su un periodo di test prolungato, non è più un problema di configurazione — è la linea.

Green flags in a peer setup (local cards, low hop, stable IP)

A trustworthy setup shows cards at hop 0 or 1 — meaning genuinely local or one hop away, not resold through four layers of reshare. The endpoint IP is stable across weeks, not rotating. CAIDs served are documented and match what actually shows up in your ecm.info log. These are the technical fingerprints of someone running a real, well-maintained card setup rather than a reshare farm.

Red flags that predict future freezing

Watch for IPs that change every few days without notice, card lists that look implausibly large for what should be a small personal or small-business setup, and hop values that don't add up — a card claiming hop 1 that behaves like it's four hops deep in your ECM timing. Any of these predict freezing before it even starts, because they all point to instability upstream that you have no visibility into and no control over.

What a legitimate provider relationship looks like technically

To be clear, this is about testing your own subscription cards and legitimate interoperability between your own hardware — sharing between a card you own and a second box in your own home, or verifying a business relationship with documented, licensed card access. A legitimate technical relationship gives you a single stable endpoint, a documented CAID/provider list you can verify against your own ecm.info output, and honest hop reporting you can independently confirm through your own logs. If any of that can't be verified from your side, that's the actual red flag — not the freezing itself.

What Doesn't Work (Stop Wasting Time on These)

These are the things people try first, and they almost never fix anything, because they don't address what the log is actually showing.

Restarting the box in a loop instead of reading the log

A reboot clears active connections and resets timers, so things sometimes look better for ten minutes. That's not a fix — it's a coincidence of timing. The underlying ECM latency or dead peer is still there; you've just temporarily reset the FBL cycle. If you reboot and don't check the log, you'll be back here in an hour with the exact same problem and zero more information than you started with.

Blindly raising hop/reshare limits

Raising your hop limit from 2 to 4 makes more cards visible, sure — but every one of those newly visible cards is, by definition, farther away and slower. This is the opposite of a fix. It trades "no card available" for "a slow card available," and slow cards are exactly what causes the freezing you're trying to solve. If you're chasing hop limits, check the ECM ms value first — a hop-1 card at 900 ms is worse than a hop-2 card at 200 ms.

Copy-pasted CCcam.cfg 'fixes' from forums

Someone else's config dump includes their C-lines, their CAIDs, their hop settings tuned to their peer relationships — none of which map to your setup. Pasting a stranger's CCcam.cfg over yours just replaces working lines with dead ones and irrelevant CAIDs you don't need, while doing nothing about the actual peer or network issue causing your freeze.

Blaming the dish/LNB when the log shows ECM latency

This is the single biggest misdiagnosis I see. Freezing during bad weather, or freezing that seems to track rain, genuinely can be a signal problem — a real SNR drop from the dish or LNB. But that shows up as a scrambled or completely lost picture with signal-strength/quality readings dropping in your tuner status, not clean freeze-and-resume cycles with normal signal levels. If your log shows ECM requests going out and coming back late — a clear ms value climbing past 800 — your dish is fine. Don't reposition an LNB because of a card-sharing timing issue.

What does FBL (Freeze Box Loop) mean in CCcam?

FBL is what happens when your box requests an ECM, doesn't get a valid DCW back in time, and requests again — over and over, in a tight loop, while the picture stays frozen. It looks like a dead line from the outside, but the socket often stays connected the whole time. Check the log for repeated ECM requests on the same CAID with no matching "cw:" response — that's your confirmation. The root cause is almost always a dead or overloaded peer card, or a CAID/provider mismatch, not a fault in the receiver itself.

Why does my channel freeze every few seconds but only on some channels?

Per-channel freezing almost always points to a specific CAID or provider ID being served poorly, while everything else is served locally or through a fast peer. Check the ECM ms value specifically for the CAID behind the freezing channel and compare its hop count against the stable channels — you'll usually find the freezing one is several hops deeper or hitting an overloaded card.

Which log setting shows ECM response times in CCcam and OScam?

In CCcam.cfg, set DEBUG : 4 and point LOGFILE at a real path — the console or logfile output will then show ECM lines with the response time in ms next to each "cw:" entry. In OScam, set logfile= and loghistorysize= in oscam.conf and read the ecm lines plus the ecm.info output; the webif reader status page gives you the same data in a table, which is honestly the fastest way to check it.

Un numero elevato di hop è sempre il motivo del congelamento?

No. Un hop pari o superiore a 3 è fortemente correlato al congelamento perché ogni ricondivisione aggiunge ritardo, ma non è garantito — una card con hop-1 dietro un peer sovraccarico o instabile può congelarsi altrettanto gravemente. Il numero che conta davvero è il tempo ECM misurato nel log, non l'hop count di per sé. Usa l'hop count come prima ipotesi, poi conferma con il valore effettivo in ms.

Dovrei passare da CCcam a OScam per risolvere il congelamento?

Spesso sì. Il loadbalancer di OScam —lb_mode,lb_nbest_readers,lb_retrylimit — può rilevare automaticamente un reader lento e aggirarlo, cosa che CCcam semplicemente non fa; CCcam continuerà a martellare un peer difettoso all'infinito. Non devi impegnarti alla cieca: aggiungi un reader con protocollo cccam in oscam.server puntando esattamente alle stesse credenziali del peer, e confronta direttamente il comportamento. Se migliora, il problema era la mancanza di logica di failover del protocollo, non il peer stesso.

Quali porte predefinite usano CCcam e OScam, e un firewall può causare il congelamento?

CCcam usa di default la porta TCP 12000. OScam solitamente esegue la sua webif intorno alla porta 8888, con connessioni newcamd tipicamente su porte nell'intervallo 988x, sebbene questi valori varino in base alla configurazione. Un timeout NAT/UDP sul tuo router, o un keep-alive interrotto, può uccidere silenziosamente una connessione mentre il tuo box pensa ancora che sia attiva — e questo imita perfettamente il congelamento. Controlla l'impostazione del timeout di connessione del tuo router e assicurati che i keep-alive vengano effettivamente inviati a un intervallo inferiore a quel timeout.