# Mantenimiento y actualizaciones

Esta guía explica cómo gestionar las actualizaciones remotas de software con el comando **YDL (Remote Download)**. También detalla el procedimiento paso a paso para extraer registros técnicos y diagnosticar problemas complejos.

## Descarga remota de software (YDL)

El Pinpad de Getnet admite la actualización dinámica de su firmware interno y de la APK de la aplicación. Ambas actualizaciones viajan por la conexión serie. Esto evita las visitas técnicas presenciales para actualizar el software. El Sistema Host actúa como puente: descarga el paquete desde su backend y lo transmite en secuencia al Pinpad.

### El flujo de actualización

El proceso se divide en dos fases principales: **Handshake/Inicialización** y **Transferencia secuencial de datos**.

#### Fase 1: Inicio

Para iniciar la actualización, el Sistema Host envía una solicitud `YDL` que indica el comienzo de la transferencia.

* **Tipo de operación (`OPR`)**: se establece en **"01"** (Init).
* **Tamaño total (`TAM`)**: tamaño total del archivo APK en bytes.
* **Tamaño del paquete (`TPS`)**: tamaño de cada bloque de datos (por ejemplo, "1024").

#### Fase 2: Bucle de transmisión

Para cada bloque del archivo, el Sistema Host envía un comando `YDL` posterior con los datos del fragmento.

1. **Acción del Host**: envía `YDL` con `OPR` en **"02"** (Transfer) y los datos binarios en el campo `[DAT]`.
2. **Acción del Pinpad**: verifica la integridad de cada bloque con un algoritmo CRC. Si el CRC falla, devuelve un error y el Host debe reintentar ese paquete.
3. **Finalización**: cuando recibe el último paquete, el Pinpad reconstruye el archivo y activa el instalador interno.

> **No interrumpa la fuente de alimentación** durante la fase de instalación. El Sistema Host debe mostrar al operador el mensaje "No apague el terminal" durante este proceso.

## Extracción de registros técnicos

Para analizar el comportamiento de la aplicación y del terminal N750P, extraiga los registros a una memoria Micro SD externa. El terminal funciona en un entorno seguro, por lo que el acceso al sistema de archivos está restringido. Debe abrir un menú específico que se activa por hardware.

### Extracción mediante tarjeta Micro SD

Para extraer los registros de la aplicación de forma segura, siga estos pasos:

1. **Preparación**: obtenga una tarjeta de memoria Micro SD y un terminal N750P.
2. **Inserte el soporte**: apague el dispositivo, retire la tapa de la batería e inserte la tarjeta Micro SD.
3. **Encienda el equipo**: una vez insertada la tarjeta, encienda el dispositivo.
4. **Acceda al menú de configuración**: mantenga presionado el botón de encendido superior hasta que aparezca una ventana emergente. Sin soltarlo, presione el botón rojo de volumen del lateral derecho.
5. **Autenticación**: aparece una ventana de contraseña. Ingrese la contraseña: **159953**.
6. **Navegue a los registros**: acceda al menú **Tools** y seleccione **LOG**.
7. **Transferencia de datos**: la información comienza a descargarse en la tarjeta Micro SD. Espere a que la herramienta indique que el proceso terminó y se guardó correctamente.
8. **Extracción segura**: apague el dispositivo de nuevo para retirar la tarjeta Micro SD sin riesgo.
9. **Análisis**: inserte la memoria en una PC y ubique el archivo **logcat.tar**, que contiene los registros comprimidos.

## Mejores prácticas de mantenimiento

* **Verificación de versión**: después de una actualización y del reinicio, use el comando **Y0I (Echo Request)** para verificar que el campo `[SOF]` coincide con la nueva versión esperada.
* **Tasa de baudios estable**: mantenga una tasa de baudios estable de **115200** durante toda la transferencia para reducir la pérdida de paquetes.
* **Variante ChangeYDL**: si su proyecto usa el indicador `ChangeYDL`, recuerde que las pantallas de error de una descarga fallida permanecen visibles hasta que alguien las cierre manualmente.

## Siguientes pasos

1. [**Configuración y conectividad**](https://docs.globalgetnet.com/es/products/in-store-payments/host-to-host?doc=h2h-configuration-and-connectivity\&section=qhv6nzspm4fa7zajc43yr3ka): confirme la versión en ejecución con la prueba de eco `Y0I` después de una actualización.
2. [**Manejo de errores**](https://docs.globalgetnet.com/es/products/in-store-payments/host-to-host?doc=h2h-error-handling&section=kei2fli2gqggbwgaddtl3xb7): interprete los códigos `Y0E` que se devuelven cuando falla una descarga o la extracción de registros.