Migliore Configurazione OSCam: Guida all'Impostazione Ottimale (2026)
Se hai utilizzato OSCam per più di una settimana, sai già che le configurazioni predefinite che circolano nei forum sono un disastro. La metà di esse sono state scritte per una configurazione di scheda che nessuno usa più, e l'altra metà copia-incolla valori senza spiegare cosa facciano realmente. Questa guida illustra quella che chiamerei la migliore configurazione OSCam per una configurazione di lettore stabile e a bassa latenza nel 2026 — non il numero più veloce possibile su uno schermo di benchmark, ma una configurazione che sopravvive a una settimana di traffico reale senza che tu debba accedere via SSH alle 2 del mattino per riavviare il servizio.
Presumo che tu abbia già compilato e avviato OSCam. Questo non è un post su "cosa è il cardsharing". Si tratta di ottimizzare oscam.conf, oscam.server, oscam.user e oscam.services affinché i tempi ECM rimangano bassi e i tuoi lettori non si bloccano sotto carico.
Cosa significa realmente 'Migliore' Configurazione OSCam
Ecco la cosa che nessuno ti dice all'inizio: non esiste una singola migliore configurazione OSCam che puoi semplicemente installare su qualsiasi dispositivo e dimenticarti. Un Raspberry Pi che esegue una scheda locale si comporta in modo completamente diverso rispetto a un VPS che si collega con sei partner cache-ex tramite newcamd e CCcam simultaneamente. Le impostazioni "migliori" per uno sono attivamente dannose per l'altro — aumentare i thread cache-ex su un STB da 512MB porterà solo il tuo processo a essere ucciso per mancanza di memoria.
Ottimizzare per velocità di decodifica vs. stabilità
Un basso tempo ECM sembra fantastico su un grafico, ma inseguirlo troppo aggressivamente è come finire con configurazioni instabili. Se imposti i timeout troppo stretti per ridurre di 200 ms il tempo di decodifica, otterrai un fallback prematuro del lettore e un'immagine interrotta nel momento in cui la tua rete ha un problema. Una configurazione genuinamente buona bilancia i due aspetti — abbastanza veloce da far sembrare istantanei i cambi di canale, abbastanza stabile da non ricevere ticket di supporto riguardo a congelamenti durante le ore di punta.
Perché non esiste una configurazione universale unica
L'hardware, il numero di lettori e il mix di protocolli (scheda locale vs. CCcam vs. newcamd vs. gbox) cambiano tutti ciò che "ottimale" significa. Una configurazione ottimizzata per una singola scheda DVB-S2 locale senza condivisione dovrebbe apparire completamente diversa rispetto a una costruita per un box bilanciato a cinque lettori che attinge da più fonti upstream. Chiunque ti dia un singolo oscam.conf universale senza chiedere della tua configurazione ti sta dando un punto di partenza, non un prodotto finito.
I quattro file principali e i loro ruoli
Tutto vive in quattro file che lavorano insieme.oscam.conf gestisce il comportamento globale — registrazione, timeout, interfaccia web, porta di monitoraggio, anti-cascading.oscam.server definisce i tuoi lettori: slot per smartcard locali, connessioni proxy a fonti CCcam o newcamd, peer gbox.oscam.user definisce chi è autorizzato a connettersi al tuo box e cosa possono vedere.oscam.services raggruppa CAID e identità in pacchetti di servizi nominati che puoi autorizzare o bloccare per lettore e per utente. Ottieni la relazione giusta tra questi quattro e la maggior parte delle lamentele "nessun canale" scompare da sola.
Impostazioni Globali Ottimali per oscam.conf
Nella maggior parte delle build troverai oscam.conf sotto/etc/tuxbox/config/oscam.conf, anche se alcune distribuzioni usano/var/keys/ o qualunque ConfigDir sia stato impostato al momento della compilazione con--with-configdir. Se non sei sicuro, controlla il piè di pagina dell'interfaccia web o avvia OSCam con-c /path/to/config per forzarlo.
[global] impostazioni di registrazione e nice/pidfile
Ecco un blocco [global] sensato che uso come base:
[global]
maxlogsize=50 impedisce che il tuo file di log superi i 50KB prima che venga ruotato — su hardware STB con scritture flash limitate, questo è più importante di quanto le persone realizzino.nice=-1 dà a OSCam una leggera priorità di scheduling rispetto ad altri processi, il che aiuta il tempo di risposta ECM su box che svolgono doppio lavoro.preferlocalcards=1 dice a OSCam di provare sempre una scheda locale prima di passare a un lettore di rete, che è esattamente ciò che desideri se possiedi la scheda e stai usando solo i peer come backup.
[webif] abilitazione dell'interfaccia web sulla porta 8888
[webif]
La porta 8888 è quella predefinita di OSCam e non c'è motivo di cambiarla a meno che qualcos'altro sulla box non la utilizzi già. Ciò che conta realmente èhttpallowed — limitalo al tuo intervallo LAN. Lasciare l'interfaccia web aperta a 0.0.0.0 su una box con porte esposte a Internet è come finire con le credenziali della scheda rubate. Tornerò su questo nella FAQ sulla sicurezza, ma trattalo come non negoziabile.
[monitor] e [anticasc] regolazione
[monitor]
L'anti-cascading rileva quando una singola scheda viene condivisa con troppi client simultanei e la limita o blocca. È davvero utile su una box condivisa con più utenti non fidati, ma su hardware STB con poca RAM aggiunge un sovraccarico costante per un controllo di cui probabilmente non hai bisogno se sei l'unico client. Se stai eseguendo qualcosa come un Vu+ da 512 MB o una box simile, lasciaanticasc disabilitato e fai affidamento suuniq in oscam.user invece — più economico e svolge la maggior parte dello stesso lavoro per una configurazione a proprietario singolo.
valori di clienttimeout, fallbacktimeout e cachedelay
clienttimeout=15000
clienttimeout (in millisecondi) è quanto a lungo OSCam attende una risposta prima di rinunciare completamente alla richiesta ECM — 15000ms è un limite ragionevole.fallbacktimeout è quello che le persone sbagliano costantemente. Controlla quanto a lungo OSCam attende sul lettore primario prima di provare un lettore di fallback per la stessa ECM. Impostalo troppo basso (diciamo, sotto 1000ms) e ottieni un fallback prematuro — OSCam salta a un lettore di backup prima che la scheda primaria abbia avuto una possibilità equa, sprecando larghezza di banda e causando occasionalmente richieste CW duplicate. Impostalo troppo alto e un lettore primario in difficoltà bloccherà l'intera catena prima che il fallback entri in azione. 2500ms è un buon compromesso per la maggior parte delle configurazioni con scheda locale più backup; abbassalo più vicino a 1500ms solo se il tempo medio ECM del tuo lettore primario è costantemente sotto 500ms.
Configurazione dei lettori in oscam.server
Qui è dove avviene la maggior parte della regolazione effettiva. Ogni[reader] blocco definisce una scheda o una connessione proxy.
Lettore di smartcard locale (dispositivo, mhz, cardmhz)
[reader]
mhz è la frequenza di clock che OSCam utilizza per comunicare con l'hardware del lettore;cardmhz è la frequenza di clock che negozia con la scheda stessa. La maggior parte delle schede funziona bene alla base ISO di 357/357. Alcune schede supportano letture più veloci a 368, 369 o addirittura 600 — ma se imposti cardmhz su qualcosa che la scheda non supporta effettivamente, otterrai un ciclo di inizializzazione della scheda in cui il lettore si resetta continuamente invece di stabilizzarsi in ATR. Se vedi ripetuti errori di "inizializzazione della scheda" nel log subito dopo un riavvio, torna a 357/357 prima, conferma che si inizializza correttamente e solo allora sperimenta verso l'alto.
Aggiunta di lettori proxy cccam/newcamd/gbox
[reader]
Usa indirizzi IP segnaposto come questo durante i test — non hardcodare mai un nome host reale di un provider in una configurazione condivisa che pubblichi pubblicamente. Per i lettori newcamd, sostituisciprotocol = newcamd e aggiungikey = con la chiave DES, piùemmcache impostazioni se desideri la memorizzazione nella cache EMM da quella fonte.
Filtraggio CAID, ident e servizi per lettore
caid = 1802,1801
disablecrccws=1salta il controllo CRC sulle parole di controllo — occasionalmente necessario per firmware di schede difettosi che restituiscono CW malformati ma validi, ma lascialo a 0 a meno che tu non abbia confermato di averne effettivamente bisogno, poiché nasconde anche la corruzione reale.ecmwhitelistlimita quali ECM PID il lettore tenterà, riducendo le richieste sprecate su trasponder multi-CAID.
parametri group, fallback e cacheex_maxhop
groupè l'impostazione più fraintesa nell'intera configurazione, e lo dirò chiaramente: il numero di gruppo su un lettore deve corrispondere al numero di gruppo su un utente affinché quell'utente possa mai vedere le schede da quel lettore. Nessun errore, nessun avviso — il client si connette e non ottiene nulla. Se ricordi una cosa da questo articolo, ricordalo.cacheex_maxhoplimita quanti salti una CW condivisa può percorrere attraverso la tua rete peer prima di essere scartata — maggiori dettagli nella sezione successiva, perché sbagliarlo è il modo in cui le reti cache-ex si trasformano in tempeste di CW duplicate.
Accesso Client e Permessi in oscam.user
Definizione degli utenti, mappatura dei gruppi e AU
[account]
Ancora —group = 1qui deve corrispondere al gruppo del lettore affinché questo utente possa vedere qualcosa da quella scheda.au(auto-update) dovrebbe puntare esattamente a un'etichetta di lettore fidata, e onestamente, solo un client per scheda dovrebbe mai avere AU abilitato. Se abiliti AU sulla stessa scheda per due diversi account client, ottieni scritture EMM simultanee sulla scheda da due direzioni — questo è un modo veloce per corrompere lo stato interno della scheda o causare conflitti di scrittura che si manifestano come errori di decodifica casuali giorni dopo.
caidtab, betatunnel e servizi per utente
caidtab = 1802:0500,1801:0000
caidtablimita un utente specifico a specifici CAID anche se il lettore a cui sono mappati ne porta di più.betatunnelè importante in ambienti CAID misti — se hai una scheda Nagra (1801/1802) e hai bisogno di decodificare canali contrassegnati Seca che portano effettivamente lo stesso feed, betatunnel rimappa il CAID al volo affinché il ricevitore accetti la CW. Senza di esso, le configurazioni miste Nagra/Seca semplicemente non riescono a decodificare certi canali anche se la scheda può tecnicamente produrre una CW valida.
Limitazione della velocità con cccmaxhops e sleep
cccmaxhops = 2
cccmaxhopslimita quanto lontano una condivisione CCcam può propagarsi attraverso le risorse downstream — mantienilo a 2 a meno che tu non abbia una ragione specifica per far viaggiare le schede più lontano, poiché ogni salto extra aggiunge latenza e rischio di carico.sleepdisconnette i client inattivi dopo N minuti, liberando slot di connessione su una box occupata invece di mantenere sessioni zombie.
Sicurezza degli account e disabilitazione degli utenti non utilizzati
uniq = 1ferma lo stesso account dall'essere connesso da due luoghi contemporaneamente — imposta questo su ogni account a meno che tu non abbia una ragione specifica per non farlo, perché le credenziali condivise sono il modo più comune in cui un account viene abusato. Per gli account che non stai attualmente utilizzando, non eliminarli — impostaenabled = 0invece in modo da mantenere la cronologia della configurazione senza lasciare una porta attiva aperta.
cache-ex, Peering e Ottimizzazione delle Prestazioni
Questa è la parte che la maggior parte delle guide salta completamente, ed è onestamente la differenza tra una buona configurazione e la migliore configurazione OSCam per un setup multi-lettore. Cache-ex è ciò che consente alle box OSCam di condividere parole di controllo già decodificate tra loro invece di far colpire ogni box alla propria scheda per lo stesso ECM.
cacheex modalità 1, 2 e 3 spiegate
La modalità 1 è solo cache — il lettore memorizza le CW che vede ma non le spinge o tira attivamente. La modalità 2 spinge le CW verso i peer (sei la fonte). La modalità 3 tira le CW dai peer (sei il consumatore). Inverti la direzione e inonderai i peer con CW che non hanno richiesto, o rimarrai lì ad aspettare un lettore "pull" che non ha nessuno che effettivamente spinge verso di esso. Impostacacheex = 2su lettori che rappresentano schede che possiedi e vuoi condividere, ecacheex = 3 sui lettori che rappresentano i peer upstream da cui stai consumando.
cacheex_maxhop e evitando loop di cache
Ecco una modalità di errore che colpisce le persone che eseguono tre o più peer: senza uncacheex_maxhop, un CW può rimbalzare tra il peer A, B e C ripetutamente, con ogni box che lo ri-broadcast come se fosse nuovo. Questo è un temporale di CW duplicato, e consuma larghezza di banda e CPU senza alcun beneficio. Mantienicacheex_maxhop = 2 come predefinito, e non impostarlo mai sopra 3 in una rete multi-peer a meno che tu non controlli completamente ogni box in quella rete e abbia verificato che non ci siano loop nella topologia.
csp (protocollo del server cache) e lb_mode bilanciamento del carico
[csp]
lb_mode = 1 attiva il bilanciatore di carico integrato di OSCam tra i tuoi lettori, classificandoli in base al tempo di risposta ECM storico.lb_nbest_readers controlla quanti lettori ad alte prestazioni vengono provati in parallelo per un dato ECM — 2 è un predefinito ragionevole per la maggior parte delle configurazioni con più di una fonte valida per CAID.lb_reopen_seconds è quanto tempo un lettore contrassegnato come cattivo rimane in attesa prima che OSCam gli dia un'altra possibilità; 900 secondi (15 minuti) evita di sovraccaricare un lettore che sta solo avendo un brutto minuto mentre lo recupera eventualmente.
Ridurre i tempi ECM e le impostazioni di intervallo
La pagina delle statistiche dei lettori dell'interfaccia web mostra il tempo medio ECM per lettore — questo è il tuo vero strumento diagnostico, non congetture. Se stai vedendo fallimenti di decodifica (la scheda non ha restituito nulla di utilizzabile) rispetto ai timeout (nulla è tornato indietro) in proporzioni diverse tra i lettori, questo ti dice cose diverse: i fallimenti di decodifica di solito indicano mismatch di CAID/ident o una scheda in difficoltà, i timeout di solito indicano latenza di rete o un peer upstream sovraccarico. Tieni d'occhio quella pagina per un giorno prima di iniziare a cambiare i valori di timeout alla cieca.
Risoluzione dei problemi comuni di configurazione di OSCam
Scheda non inizializzata (errori mhz / dispositivo)
Se il tuo log mostra ripetuti fallimenti di ATR o la scheda si resetta in un loop, controllail percorso del dispositivo per primo — un lettore USB può spostarsi da/dev/ttyUSB0 a/dev/ttyUSB1 dopo un riavvio se qualcos'altro sul bus ha cambiato ordine. Se il percorso del dispositivo è corretto, riducimhz/cardmhz a 357/357 come test di base.
Il client si connette ma nessun canale si decodifica
Nove volte su dieci questo è il mismatch di gruppo che ho menzionato prima — controlla due volte lalinea del gruppo del lettore contro la linea delgruppo dell'utente. Se corrispondono e non funziona ancora, controlla oscam.services — è facile avere il CAID e il gruppo impostati correttamente mentre un'entrata del file dei servizi esclude silenziosamente l'ident del canale specifico, che sembra identico a un problema di gruppo dal lato client ma non ha nulla a che fare con i permessi.
Immagine congelata e alti tempi ECM
Questo è quasi semprefallbacktimeout impostato troppo aggressivamente basso, causando alla catena di lettori di oscillare tra il primario e il fallback a metà flusso, o un lettore che è genuinamente sovraccarico a causa di troppi peer cache-ex simultanei che lo utilizzano. Controlla la pagina delle statistiche del lettore per picchi di tempo ECM correlati con le tue ore di utilizzo di punta.
Leggere i log di oscam per trovare la fase che fallisce
Esegui OSCam in primo piano con il debug dettagliato del lettore:oscam -b -r 2. Cerca nel tuo log due stringhe specifiche —"non trovato (" ti dice quale CAID/ident il client ha richiesto che nessun lettore potesse servire, e"rifiutato" ti dice che è avvenuto un blocco di autenticazione o a livello di gruppo prima che la richiesta arrivasse a un lettore. Queste due stringhe da sole ti indicheranno la fase che fallisce più velocemente rispetto alla lettura dell'intero log dall'inizio alla fine.
Dove si trovano i file di configurazione di OSCam?
Più comunemente sotto/etc/tuxbox/config/ o/var/keys/, anche se il percorso esatto dipende dal ConfigDir impostato al momento della compilazione. oscam.conf, oscam.server, oscam.user e oscam.services si trovano tutti nella stessa directory. Se non sei sicuro di dove si trovi il tuo, controlla il piè di pagina dell'interfaccia web (mostra il percorso di configurazione attivo) o avvia OSCam manualmente con-c /tuo/percorso per forzare una posizione specifica.
Quali valori di clienttimeout e fallbacktimeout dovrei usare?
clienttimeout=15000 efallbacktimeout=2500 sono punti di partenza ragionevoli per la maggior parte delle configurazioni. fallbacktimeout deve sempre essere inferiore a clienttimeout, e dovrebbe essere regolato in base al tuo tempo ECM medio effettivo — impostalo troppo basso e ottieni un fallback prematuro a un lettore di backup prima che il primario abbia avuto una possibilità equa; impostalo troppo alto e un lettore in difficoltà blocca l'intera catena di richieste.
Perché il mio client si connette ma non si aprono canali?
Quasi sempre un disallineamento di gruppo tra il gruppo del lettore in oscam.server e il gruppo del client in oscam.user — devono corrispondere esattamente. Se i gruppi sono allineati e continua a non funzionare, controlla se oscam.services sta filtrando l'ident specifico per quel canale, o se un'entrata caidtab sull'account utente lo sta escludendo.
Cos'è cache-ex e ne ho bisogno?
Cache-ex condivide parole di controllo già decodificate tra i peer di OSCam in modo che non ogni richiesta debba colpire una scheda fisica. La modalità 2 spinge le CW, la modalità 3 le estrae, e la modalità 1 memorizza solo localmente senza condividere attivamente. Se stai eseguendo una singola scheda locale senza peer, non ne hai bisogno — è davvero uno strumento multi-server, e attivarlo senza motivo aggiunge solo sovraccarico.
Come posso impostare correttamente mhz e cardmhz per una scheda locale?
Inizia da 357/357 — è la base ISO 7816 supportata da quasi tutte le schede. Alcune schede possono gestire letture più veloci a 368, 369 o 600, ma aumenta cardmhz solo dopo aver confermato che la scheda si avvia correttamente alla velocità standard. Le velocità di clock disallineate sono la causa più comune di un ciclo di avvio della scheda subito dopo il boot.
Come posso proteggere la mia interfaccia web OSCam e gli account?
Limitahttpallowed solo al tuo intervallo LAN, imposta una coppia forte di httpuser/httppwd, abilitauniq=1 su ogni account utente per bloccare il multi-login simultaneo, e non esporre mai direttamente la porta 8888 a Internet. Per gli account che non stai utilizzando attivamente, impostaenabled=0 invece di eliminarli — in questo modo non lasci credenziali obsolete attive mantenendo comunque la tua configurazione pulita.
Niente di tutto ciò è esotico — si tratta principalmente di capire cosa fa effettivamente ogni parametro invece di copiare una configurazione alla cieca. Se c'è una cosa che puoi portare via da tutto questo, è che la migliore configurazione OSCam per la tua box è quella che corrisponde al tuo hardware effettivo e al numero di lettori, non a quello che qualcun altro ha incollato su un forum nel 2019. Inizia con i valori predefiniti sopra, osserva la pagina delle statistiche del lettore per alcuni giorni e regola un valore alla volta da lì.