Solución al error EMM de NCam: Solucionar el procesamiento de EMM de OScam
Si ves errores de EMM en tu NCam oOScam registros, ya conoces el frustrante patrón: los canales se decodifican bien por un tiempo, luego comienzan a fallar — o peor, se congelan días después cuando no estás mirando. La solución correcta al error EMM de NCam no se trata de alternar banderas al azar. Se trata de leer lo que el registro realmente te está diciendo y arreglar la capa específica que está rota. Esta guía asume que ya tienes una cadena de cardsharing funcionando y estás en medio de la solución de problemas, no comenzando desde cero.
Lo que realmente significa un error EMM en NCam
NCam maneja dos tipos de mensajes completamente diferentes de tu operador, y confundirlos es la fuente de la mayoría de las confusiones. ECM (Mensaje de Control de Derechos) es lo que descifra el flujo en tiempo real — funciona constantemente mientras miras. EMM (Mensaje de Gestión de Derechos) es diferente: es el operador escribiendo periódicamente nuevos datos de derechos, fechas de caducidad y claves en la tarjeta inteligente física.
AU — Actualización Automática — es el proceso por el cual NCam pasa los EMM a través del lector de tarjetas para que la tarjeta se mantenga actual. Sin ello, los derechos de tu tarjeta expiran silenciosamente y la decodificación se detiene, aunque el ECM estaba funcionando perfectamente hasta ese momento.
EMM vs ECM: Por qué importan los mensajes de derechos
ECM es de corta duración y sin estado. Cada pocos segundos, llega un nuevo ECM, se descifra utilizando la clave actual de la tarjeta, y el flujo se reproduce. EMM es el mecanismo que mantiene esas claves válidas. Un operador podría enviar EMM cada pocas horas, o una vez al día, o en ráfagas cuando tu suscripción se renueva. Si esas escrituras nunca llegan a la tarjeta, la tarjeta funciona con tiempo prestado.
La mayoría de las configuraciones se decodifican bien durante días o semanas después de que AU se rompe. Luego, una mañana, el período de derechos de la tarjeta caduca y todo se vuelve negro simultáneamente. Ese fallo retrasado es la razón por la cual los errores de EMM a menudo se ignoran hasta que es demasiado tarde.
Leyendo la línea exacta del registro de NCam
NCam produce varias firmas de registro EMM distintas. Aquí está lo que realmente verás:
emm reader [readername] CAID 0x0500 rechazado (no escrito)— El lector recibió el EMM pero la tarjeta lo rechazó. AU puede estar apagado, o la tarjeta no tiene los derechos del proveedor para este mensaje.EMM_UNKNOWN— NCam recibió un EMM que no pudo clasificar. El CAID o la identificación del proveedor no coinciden con nada que sepa manejar.emmtype: único / compartido / global— Muestra qué categoría de EMM llegó. Único apunta a tu número de serie de tarjeta específico; compartido apunta a un grupo; global va a todas las tarjetas en la red.sin soporte de tarjeta— El lector existe pero ninguna tarjeta física está respondiendo.
Una solaEMM_UNKNOWN línea en el registro es casi siempre inofensiva. Lo que buscas es un patrón: cientos de líneas rechazadas sin escrituras exitosas, o el contador de escritura de EMM en la interfaz web mostrando cero durante horas en una tarjeta que debería estar recibiendo actualizaciones.
Cuando un error EMM es inofensivo vs cuando rompe la decodificación
Los operadores comúnmente envían EMM para identificaciones de proveedores que la tarjeta no tiene. Si te suscribes a un nivel básico, aún recibirás (y rechazarás legítimamente) EMM para paquetes premium que no has pagado. Eso inunda el registro con líneas rechazadas que son completamente normales.
El caso de fallo es diferente: la tarjeta recibe EMM para proveedores quesí tiene, se rechazan porque AU está mal configurado, y el reloj de derechos de la tarjeta se agota. Ese es el que necesitas arreglar.
Diagnóstico paso a paso del error EMM
Antes de cambiar cualquier configuración, haz que los registros hablen. No puedes diagnosticar lo que no puedes ver. Encontrar una solución de error EMM de NCam siempre comienza aquí.
Habilitar el registro de EMM y aumentar el nivel de depuración
En/etc/oscam/oscam.conf, establece el archivo de registro y aumenta el nivel de depuración:
[global]El nivel de depuración 64 habilita la salida específica de EMM. Si quieres todo, usa 255 — pero eso es muy ruidoso. En la interfaz web de NCam (típicamente en el puerto 8888), ve a Config → Registro y establece el nivel de depuración de la interfaz web en 4 para ver los contadores de EMM por lector en tiempo real.
También establece esto en tu bloque de lector para guardar datos EMM en bruto en archivos para inspección:
saveemm-u = 1Esto guarda EMMs únicos, compartidos, globales y desconocidos en archivos bajo tu directorio de configuración (usualmente/etc/tuxbox/config/ o/var/keys/ dependiendo de tu imagen de Enigma2). Tener los bytes en bruto te permite verificar el contenido del EMM independientemente de la clasificación de NCam.
Confirma si AU está realmente habilitado para el lector
Revisa tu bloque de lector en/etc/oscam/oscam.server. AU debe estar habilitado explícitamente:
[lector]Y en la cuenta de usuario en/etc/oscam/oscam.user, la cuenta que posee la sesión debe apuntar AU a ese lector:
[cuenta]Ambos lados deben coincidir. Un lector conau = 1 pero sin un usuario apuntando a él no escribirá nada. Un usuario conau = local_cam pero el lector configurado enau = 0 tampoco lo hará.
Verifica que CAID, ID de proveedor y tipo de caja coincidan con la tarjeta
Elcaid yident en tu bloque de lector deben coincidir exactamente con lo que informa la tarjeta física. Obtén el CAID real y el identificador de proveedor desde la interfaz web de NCam bajo Lectores → tu lector → Información de la tarjeta. Si lo que está en la configuración no coincide con lo que informa la tarjeta, ECM podría seguir funcionando con una clave en caché mientras que cada EMM es rechazado.
Para tarjetas que necesitan una clave de caja (Conax, Cryptoworks, algunas variantes de Irdeto), verifica queboxid,boxkey, yrsakey estén presentes y correctos. Un dígito hexadecimal incorrecto aquí rompe silenciosamente AU mientras deja ECM funcional — un modo de fallo profundamente molesto.
Verifica que el EMM esté llegando al lector, no solo al proxy
Observa los contadores de EMM por lector en la interfaz web. Si el contador en un lector proxy está subiendo pero el lector de tarjeta local muestra cero, los EMM están deteniéndose en la capa proxy y nunca llegan a la tarjeta física. Ese es el comportamiento esperado para la mayoría de los protocolos de compartición — y solucionarlo requiere entender la siguiente sección.
Solución de errores de EMM de NCam: Corrigiendo los errores de EMM más comunes
EMM rechazado / no escrito — desajuste de AU y derechos
Este es el más común. La lista de verificación de la solución:
- Establecer
au = 1en el lector enoscam.server - Establecer
au = readerlabelen la cuenta de usuario enoscam.user - Confirma que la tarjeta realmente tiene derechos de proveedor para el CAID/ident en cuestión; si no los tiene, el rechazo es el comportamiento correcto
- Verifica que
aufilteryauprovidno estén filtrando incorrectamente los EMMs que necesitas
Si tienes dos lectores o dos perfiles intentando hacer AU para la misma tarjeta, se pelearán entre sí y producirán escrituras inconsistentes. Asigna AU explícitamente a un solo lector y desactívalo en todos los demás para esa tarjeta.
EMM_UNKNOWN — CAID incorrecto o tipo de EMM no soportado
Registros de NCamEMM_UNKNOWN cuando recibe un EMM que no puede clasificar contra el CAID configurado. Esto suele ser un desajuste entre lo que has configurado y lo que el operador está enviando realmente.
Primero, verifica el CAID a través de la página de información de la tarjeta. Luego verifica si tu versión de NCam realmente soporta AU para ese CAID/sistema específico. No todas las versiones soportan todos los sistemas de acceso condicional por igual. Solo para pruebas, puedes establecerblockemm-unknown = 0 para dejar pasar EMMs desconocidos, pero no dejes esto activado y lee la sección 4 antes de hacerlo.
No AU a través de un protocolo de compartición (Proxy CCcam/Newcamd)
Este es el que la mayoría de las guías omiten por completo, y desperdicia horas de tiempo de solución de problemas.
Una conexión de compartición puraCCcam o nueva compartición newcamd no transporta EMM. El protocolo está diseñado para reenviar respuestas ECM (palabras de control desencriptadas), no para entregar mensajes de gestión a una tarjeta remota. Si tu tarjeta se comparte con un par a través de/etc/CCcam.cfg y ese par está esperando AU, no lo obtendrá — nunca — a través de esa conexión.
La tarjeta debe estar físicamente presente en la caja que realiza AU. Si necesitas actualizaciones de derechos, la tarjeta debe permanecer local o el par de compartición debe ejecutar su propia tarjeta local. No hay solución para esto a nivel de protocolo.
Clave de caja incorrecta / Tarjeta no personalizada
Algunos sistemas de acceso condicional requieren que la tarjeta esté emparejada con una caja específica. Conax y ciertas implementaciones de Irdeto utilizan unboxid (el número de serie de hardware de la caja) y unaboxkey derivada durante el emparejamiento. Si has movido la tarjeta a un STB diferente o ingresado los valores incorrectos, AU fallará mientras que ECM podría seguir funcionando usando una clave en caché.
Vuelve a ingresarboxid yboxkey de los datos de emparejamiento originales. Para Conax, el boxid son 8 dígitos hexadecimales; la boxkey son 16 dígitos hexadecimales. Obtén estos de la hardware real o del intercambio de emparejamiento original — no se pueden recuperar de una entrada de configuración incorrecta.
Inundación de EMM y tiempos de espera del lector
Algunos operadores envían cientos de EMM por minuto. Un lector que no puede procesarlos lo suficientemente rápido se pondrá en cola, se agotará el tiempo y comenzará a producir errores que parecen fallos de AU pero que en realidad son problemas de rendimiento.
Usaemmcache para deduplicar EMM idénticos antes de que lleguen al lector:
emmcache = 1,3,20Esto almacena en caché los EMM y solo envía uno nuevo y único al lector (formato: habilitado, maxemms, initial_wait). También usablockemm-bylen para eliminar EMM de longitudes de bytes específicas que sabes que no son relevantes para tu tarjeta. Yratelimitecm puede ayudar si un cliente está golpeando el lector con solicitudes de ECM durante la misma ventana.
Filtrado y limitación de EMM para la seguridad de la tarjeta
Esta sección es más importante de lo que la mayoría de las guías admiten. Aceptar todos los EMM sin filtrar no es una estrategia de depuración — es cómo las tarjetas se bloquean.
Por qué las escrituras de EMM no controladas pueden bloquear o bloquear una tarjeta
EMM globales y compartidos pueden sobrescribir datos de derechos clave en una tarjeta. Un EMM global mal formado, o uno dirigido a un perfil de tarjeta diferente, puede corromper la estructura de derechos de la tarjeta o activar un estado de bloqueo que requiere que el operador reinicialice la tarjeta. Con una tarjeta de suscripción legítimamente poseída, esta es una situación recuperable si contactas a tu proveedor — pero sigue siendo un lío que quieres evitar.
El riesgo aumenta significativamente si estás recibiendo EMM de múltiples fuentes o si la cadena de compartición pasa mensajes sin filtrar.
Uso de banderas blockemm para proteger derechos
Estas van en tu bloque de lector enoscam.server:
blockemm-unknown = 1Esta configuración acepta EMM únicos y compartidos (que son normalmente lo que necesita una tarjeta de suscripción) mientras bloquea los globales y desconocidos. La combinación exacta depende de tu operador — algunos solo usan EMM únicos, otros usan compartidos. Observa los contadores de la interfaz web durante unas horas después de configurar para confirmar que estás aceptando los tipos correctos y viendo escrituras exitosas.
Lista blanca solo de los EMM que necesita tu tarjeta
Usaauprovid en el bloque de lector para restringir AU a ID de proveedor específicos:
auprovid = 050000Esto significa que los EMM para cualquier otro ID de proveedor en el mismo CAID se eliminan en el lector, no se escriben en la tarjeta. Limpio y seguro. Si tu operador envía EMM para múltiples sub-proveedores, enuméralos separados por comas. Obtén los ID de proveedor exactos de la página de información de la tarjeta — no adivines.
Monitoreo de conteos de escritura de EMM en la interfaz web
La interfaz web de NCam en el puerto 8888 muestra estadísticas de EMM por lector: escritos, omitidos, error, bloqueados. Una configuración de AU saludable muestra un conteo de "escritos" en constante aumento y un conteo de "errores" estable o cero. Si "escritos" está atascado en cero y "bloqueados" está en aumento, tus configuraciones de filtro son demasiado agresivas. Si "error" está en aumento sin nada escrito, la tarjeta está rechazando mensajes — eso es un problema de AU o de derechos, no un problema de filtro.
Verifica estos contadores después de cada cambio de configuración. Son la verdad fundamental.
Cuando los errores de EMM no son el verdadero problema
A veces pasas una hora en EMM solo para darte cuenta de que la falla real está en otro lugar. El diagnóstico erróneo aquí es común.
La decodificación funciona pero la tarjeta expira silenciosamente
Este es el caso de fallo retrasado. La decodificación de ECM funciona bien, pero AU ha estado roto durante días o semanas. El período de derechos de la tarjeta eventualmente caduca — lo que podría ser un día después de que se renueva una suscripción, o tres meses después en la expiración natural — y todo se detiene simultáneamente. Debido a que la falla es inmediata y completa, parece un problema de ECM a primera vista.
Verifica la fecha de validez de la tarjeta en la interfaz web de NCam bajo Lectores → Información de la tarjeta. Si la fecha de expiración está en el pasado, tu solución de error de EMM de NCam necesita centrarse en hacer que AU funcione nuevamente, y luego en obtener la suscripción de la tarjeta revalidada con tu proveedor.
Confundir fallos de ECM con fallos de EMM
Un tiempo de espera de ECM o una prioridad de CAID incorrecta enoscam.dvbapi produce caídas de canal que parecen exactamente como una falla de AU si no lees los registros cuidadosamente. Los errores de ECM aparecen como tiempo de espera de ECM o CW inválido en el registro; los errores de EMM aparecen como EMM rechazado o no escrito. Son líneas de registro diferentes — mira ambas antes de concluir qué capa está rota.
También observa el tiempo de respuesta de ECM en la interfaz web. Una tarjeta que funciona con AU roto mostrará tiempos de respuesta de ECM rápidos hasta que expire. Una tarjeta con problemas de ECM muestra respuestas lentas o fallidas de inmediato.
Peculiaridades específicas de imagen de NCam y diferencias en los registros
Las rutas de configuración varían entre imágenes de Enigma2. En OpenATV, la configuración de oscam típicamente se encuentra en /etc/tuxbox/config/. En OpenPLi a menudo es /etc/oscam/. En algunas compilaciones, el binario NCam por defecto no compila el soporte para todos los sistemas CA, por lo que el manejo de EMM para ciertos CAIDs simplemente está ausente — ningún cambio de configuración lo solucionará.
Después de una actualización de imagen, siempre verifica que tus rutas de configuración aún sean válidas. Una actualización que mueve oscam.server a una nueva ubicación invalidará silenciosamente tus configuraciones de AU mientras deja que ECM funcione desde una ubicación en caché o codificada. Los saveemm también dejarán de poblarse si la ruta se mueve.
Los formatos de fecha de registro y el orden de los campos también difieren entre las compilaciones de NCam y OScam. Si estás copiando análisis de registro de una guía escrita para OScam 11.x y estás ejecutando un fork de NCam de 2024, algunos nombres de campo diferirán. Compara tu salida de registro real con el formato, no solo con lo que dice un tutorial que debería parecerse.
¿Un error de EMM siempre detiene el funcionamiento de los canales?
No, no inmediatamente. La decodificación de ECM puede seguir funcionando durante días, semanas o meses después de que AU se rompa, dependiendo de con qué frecuencia tu operador actualiza los derechos. La tarjeta continúa decodificando con su clave existente hasta que esa clave o el período de derecho expiren — entonces todo se detiene de una vez. Los errores de EMM solo se vuelven fatales cuando la tarjeta necesita renovarse y no puede porque AU nunca escribió la actualización.
¿Puedo hacer AU (actualizaciones de EMM) a través de un CCcam o un nuevocamd?
Generalmente no. CCcam y newcamd están diseñados para llevar palabras de control (respuestas de ECM), no escrituras de EMM. Una caja que recibe un recurso a través de CCcam no puede enviar EMM de vuelta a través de esa conexión para actualizar la tarjeta remota. La tarjeta debe estar físicamente presente en la caja que realiza AU. Si tu configuración tiene la tarjeta compartida con un par que necesita AU, la única solución real es mover la tarjeta a esa caja o hacer que la caja que tiene la tarjeta realice AU localmente.
¿Cómo habilito el registro de EMM en NCam?
Establece logfile = /var/log/ncam.log y debuglevel = 64 (o 255 para salida completa) en oscam.conf bajo [global]. En tu bloque de lector, agrega saveemm-u = 1,saveemm-s = 1,saveemm-g = 1, ysaveemm-unknown = 1 para guardar EMMs en bruto en archivos. Luego, observa los contadores de EMM (escritos/saltados/error/bloqueados) por lector en la interfaz web de NCam en el puerto 8888 — esos contadores son la forma más rápida de ver si AU está funcionando realmente.
¿Qué significa EMM_UNKNOWN y es peligroso?
Significa que NCam recibió un EMM que no pudo clasificar según el CAID o el identificador de proveedor configurado. Normalmente, esto es ruido inofensivo — los operadores transmiten rutinariamente EMMs para servicios y grupos de tarjetas fuera de tu suscripción. El peligro es si configurasblockemm-unknown = 0 para dejar pasar todo para depuración y olvidas volver a activar el filtro. Manténblockemm-unknown = 1 en producción. Si lo desactivas temporalmente para pruebas, hazlo en una tarjeta de prueba, no en tu tarjeta de suscripción principal.
¿Por qué mi lector muestra 'EMM rechazado' o 'EMM no escrito'?
Sigue este orden: primero, verifica queau = 1 esté configurado en el lector enoscam.server. Segundo, verifica que la cuenta de usuario enoscam.user tengaau = readerlabel apuntando a ese lector. Tercero, confirma que la tarjeta realmente tenga derechos de proveedor para el CAID/ident en el EMM — si no los tiene, el rechazo es correcto y no es un error. Cuarto, verifica queboxid yboxkey sean correctos si tu sistema CA requiere emparejamiento. Uno de estos cuatro es casi siempre el culpable.
¿Pueden las actualizaciones de EMM dañar o bloquear mi tarjeta?
Sí. Aceptar EMMs globales o compartidos sin filtrar es arriesgado — un EMM global mal formado o desajustado puede sobrescribir datos de derechos o activar un estado de bloqueo de tarjeta. Usablockemm-g = 1 a menos que tu operador requiera específicamente escrituras de EMM globales, y restringe AU a IDs de proveedor conocidos y buenos conauprovid. Esto se aplica a tarjetas de suscripción legítimamente poseídas — la tarjeta física es hardware, y malas escrituras de EMM pueden requerir intervención del operador para solucionarlo.