Volver a las guías

Modo de compatibilidad de MIFARE Classic: qué resuelve y qué no

El modo de compatibilidad de MIFARE Classic gestiona registros NDEF estándar en tarjetas Classic 1K, no la memoria en bruto. Qué cubre, por qué Android varía y qué chips comprar.

Publicado

El modo de compatibilidad permite que NFC Tools en un iPhone lea y escriba registros NDEF estándar en chips MIFARE Classic 1K. No da acceso a la memoria en bruto, y no hace que Classic se comporte como una pegatina NTAG.

Si ya sabes por qué un iPhone a menudo no ve una tarjeta MIFARE Classic, esta es la siguiente pregunta: qué consigues realmente con el truco y dónde termina.

Qué hace el modo de compatibilidad

La descripción más directa viene del desarrollador de NFC Tools, que respondió a una pregunta sobre chips Classic 1K en los foros de Apple Developer. Su respuesta: estos chips "no son totalmente compatibles" con Core NFC, pero la app tiene un modo de compatibilidad en sus ajustes que puede leer y escribir registros NDEF estándar. Algunas funciones, como leer la memoria del chip, no se pueden usar con este tipo de chip.

La base de conocimiento de la propia app dice lo mismo con menos palabras: Classic no es compatible con todos los dispositivos, y en un iPhone hay que activar el modo de compatibilidad en los ajustes de NFC Tools.

Dos matices. Los mensajes del foro son respuestas de la comunidad, no documentación de Apple. Y ninguna de las fuentes que hemos encontrado indica qué versiones de iOS ni qué variantes de tarjeta funcionan, así que prueba con tu propia tarjeta antes de imprimir cien.

Por qué Classic necesita un caso especial

MIFARE Classic no está construida como una etiqueta NDEF típica. Según la referencia de MifareClassic de Android, la tarjeta se divide en sectores, y cada sector en bloques de 16 bytes. Una tarjeta de 1K tiene 16 sectores de 4 bloques, es decir, 1.024 bytes en total.

Antes de leer o escribir nada en un sector, hay que autenticarlo con una de sus dos claves. Los bits de acceso del sector deciden qué puede hacer cada clave.

NDEF encaja en este esquema mediante un acuerdo concreto. Android define una clave conocida, KEY_NFC_FORUM, para tarjetas formateadas según la especificación de NXP para NDEF en MIFARE Classic. El modo de compatibilidad trabaja en esa capa: registros NDEF estándar, no el contenido sector a sector de la tarjeta. Por eso las lecturas de memoria en bruto son lo que sigue sin estar disponible en el iPhone.

Android: el soporte depende del teléfono

Android no promete soporte para Classic. Según la referencia, implementar la clase MifareClassic es opcional en un dispositivo Android con NFC. Si el teléfono no la implementa, la clase nunca aparece para la etiqueta. Si la implementa, todas las operaciones de E/S de Classic funcionan, y también se admite NDEF en Classic.

Eso coincide con lo que cuenta el equipo de NFC Tools en la práctica: algunos dispositivos Android leen información básica como el UID, pero no pueden leer ni escribir datos. Si una tarjeta Classic funciona en un teléfono Android y en otro no, el primer sospechoso es el hardware, no la tarjeta.

Cuándo cambiar a otro chip

¿Compras tarjetas nuevas para tocar y abrir un enlace o para compartir datos? No empieces por Classic. La base de conocimiento de NFC Tools recomienda chips NXP NTAG21x, en concreto NTAG213 o NTAG216, para una compatibilidad fiable.

La página de NXP sobre NFC con iOS 13 apunta en la misma dirección. Nombra las etiquetas NTAG e ICODE, y cita MIFARE DESFire, Plus y Ultralight como líneas de producto compatibles. DESFire y Ultralight pueden contener contenido con formato NDEF compatible con los tipos de etiqueta del NFC Forum. La página no menciona MIFARE Classic. Si estás valorando una familia de tarjetas mayor, nuestra comparación de DESFire en iPhone y Android explica qué puede y qué no puede hacer un teléfono con ella.

Si te quedas con tarjetas Classic que ya tienes, trata el modo de compatibilidad como una forma de manejar mensajes NDEF, no como soporte completo de Classic.

Conclusión

El modo de compatibilidad es un arreglo acotado. Cubre registros NDEF estándar en Classic 1K para iPhone y deja fuera la memoria en bruto. En Android depende de si el teléfono implementa Classic. Para algo que vayas a desplegar en serie, elige NTAG213 o NTAG216 y ahórrate las pruebas.

Cuando quieras comprobar qué hay realmente en una tarjeta, NFCore lee y escribe NDEF en iPhone y Android. Lo que permite una tarjeta concreta sigue dependiendo del chip y del teléfono.

Preguntas frecuentes

¿Puede un iPhone escribir NDEF en una tarjeta MIFARE Classic?

Según el desarrollador de NFC Tools en un hilo del foro de Apple, el modo de compatibilidad de la app puede leer y escribir registros NDEF estándar en chips Classic 1K, pero funciones como leer la memoria del chip no se pueden usar. Son afirmaciones de la comunidad y no documentación de Apple, así que prueba con tu propia tarjeta.

¿Por qué mi teléfono Android solo muestra el UID de una tarjeta Classic?

El soporte de MIFARE Classic en Android es opcional según el dispositivo. El fabricante de NFC Tools señala que algunos dispositivos Android leen información básica como el UID, pero no pueden leer ni escribir datos.

¿Qué chip debería comprar en su lugar?

Para un uso fiable entre dispositivos, el fabricante de NFC Tools recomienda NTAG213 o NTAG216.