Arquitectura del Servidor Web y Comandos AT en Routers MiFi Basados en Chipsets ASR y PXA

El ecosistema de enrutadores móviles que integran procesadores como Air720, ASR1802/1803 y PXA1802 implementa una arquitectura cliente-servidor para la administración remota de la interfaz de usuario. La comunicación entre el cliente web y el firmware del dispositivo se establece mediante solicitudes HTTP que transportan cargas útiles en formato XML. El motor interno escucha peticiones AJAX, las interpreta y delega la ejecución en rutinas específicas según la operación solicitada.

Flujo de Procesamiento de Solicitudes HTTP

Cuando el servidor HTTP interno intercepta una consulta, analiza la cadena de URL para determinar el vector de ejecución. Si la ruta apunta a un recurso estático, el sistema devuelve directamente el archivo desde el almacenamiento web. En cambio, si se identifica un endpoint dinámico, la ejecución se transfiere a una tarea dedicada. Esta tarea examina los parámetros de consulta para identificar la acción requerida, el subsistema objetivo y la configuración asociada.

Las peticiones se dirigen típicamente a un script de interfaz común. El analizador descompone la URL y asigna la carga a un módulo de control. Cada subsistema expone dos rutinas principales: una para recuperar el estado actual y otra para aplicar modificaciones persistentes.

Ejemplo de estructura de consulta GET:

http://192.168.100.1/api_dispatch.cgi?action=fetch&subsys=core_net&profile=wifi_lan

Al recibir esta instrucción, el firmware invoca la función perfil_lan_recuperar(). Esta rutina consulta la base de datos interna de parámetros, extrae los valores correspondientes y los serializa en una estructura de respuesta. El cliente web procesa el documento y renderiza los controles de la interfaz.

<red_config>
    <perfil_local>
        <servidor_dhcp>
            <estado>activo</estado>
            <ip_inicial>192.168.1.50</ip_inicial>
            <ip_final>192.168.1.199</ip_final>
            <tiempo_caducidad>43200</tiempo_caducidad>
            <capacidad_max>32</capacidad_max>
        </servidor_dhcp>
        <portal_cautivo>
            <habilitado>falso</habilitado>
            <url_redireccion>inicio.ejemplo.net</url_redireccion>
        </portal_cautivo>
        <ipv6_soporte>0</ipv6_soporte>
        <direccion_gateway>192.168.1.1</direccion_gateway>
        <mascara_subred>255.255.255.0</mascara_subred>
        <puerta_salida>0.0.0.0</puerta_salida>
        <uptime d="0" h="4" m="12" s="5"/>
        <upnp_habilitado>1</upnp_habilitado>
        <resolucion_dns>1</resolucion_dns>
        <nombre_host>hotspot.net</nombre_host>
        <tabla_ips_estaticas formato="mac:ip"/>
    </perfil_local>
</red_config>

Sincronización de Modificaciones

Para aplicar ajustes, el frontend envía una solicitud POST al mismo punto de entrada, adujntando el documento XML modificado y especificando el parámetro action=apply. El backend valida la integridad de los datos, invoca la rutina perfil_lan_aplicar() y persiste los cambios en la memoria no volátil. Inmediatamente después, el cliente ejecuta una nueva petición de recuperación para reflejar el estado actualizado en el DOM.

Módulos de Control del Firmware

La lógica del sistema segmenta la configuración en múltiples dominios funcionales, cada uno vinculado a su propio esquema de datos. Los componentes más relevantes incluyen:

  • enlace_wan
  • contador_trafico
  • desbloqueo_sim
  • parametros_wifi
  • seguridad_red
  • lista_blanca_negra
  • reglas_firewall
  • ajustes_hora
  • diagnostico_red
  • gestion_equipo
  • actualizacion_sistema
  • reiniciado_dispositivo
  • recurso_compartido

Los archivos de configuración críticos suelen denominarse cfg_admin.xml y acs_control.xml, los cuales orquestan los parámetros de privilegio y la gestión centralizada.

Interfaz de Control Serie (Comandos AT)

El firmware expone una terminal UART para operaciones de bajo nivel, diagnóstico y personalización de hardware. A continuación se detalla la sintaxis y los parámetros de las directivas más utilizadas.

Gestión de Identificador Internacional (IMEI)

AT*MRD_IMEI?
-> *MRD_IMEI: 359872014567890

AT*MRD_IMEI=W,VER401,22MAY2023,359872014567890
-> OK

Especificación de parámetros:

  • modo: W (escribir), R (leer), D (eliminar).
  • rev: Cadena de versión de 4 caracteres alfanuméricos.
  • fecha: Formato compacto DDMMMAAAA.
  • uid: Cadena numérica de 14 a 16 dígitos, finalizada en carácter nulo.

Dirección MAC del Adaptador

AT+MIFIMAC?
-> +MIFIMAC: A4:CF:12:8B:9E:00

AT+MIFIMAC=W,A4CF128B9E00
-> OK

Registros de Número de Serie

AT*MRD_SN?
-> *MRD_SN: ASR1802X992381

AT*MRD_SECOND_SN?
-> *MRD_SECOND_SN: SEC0012938475

Consulta de Compilación

AT*READVER?
-> *READVER:
build: SDK 2.11.045 (Stable)
compiled: Dec 05 2023 14:30:22
(DSP_CORE: 88.21.11.2022 10:45)
(RF_DRIVER: GENERIC_NULL)
(BOARD_REV: ASR1803_DEV_V1.2)
DFOTA_HASH: 9f4a2c8b...

Gestión de Bloqueos de Acceso

AT+CLCK=?
-> +CLCK: ("PS", "SC", "AO", "OI", "OX", "AI", "IR", "AB", "AG", "AC", "FD", "PN", "PU", "PP", "PC")

Etiquetas: asr1802-firmware mifi-webui at-command-protocol embedded-http-server xml-config-parsing

Publicado el 9-8 17:23