Problemas conocidos del WB-MWACv2
Esta página describe los problemas conocidos de WB-MWAC v.2. Los problemas que afectan al WB-MWAC anterior se enumeran en WB-MWAC: Errata.
ERRMODBUS001: El dispositivo responde a la dirección 0xFD
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.21.1.
Descripción
Los dispositivos Fast Modbus pueden interferir con dispositivos de terceros del mismo bus si estos utilizan comandos especiales que comienzan por 0xFD.
Causa y detalles
Fast Modbus reserva 0xFD para comandos especiales de difusión. Si una solicitud de terceros comienza con 0xFD pero utiliza un comando ajeno a Fast Modbus, los dispositivos Wiren Board afectados responden con MODBUS_ERR_ILLEGAL_FUNCTION y alteran el otro intercambio. El controlador de software del bus interpreta incorrectamente el paquete como tráfico Modbus ordinario.
Solución provisional
Evite compartir un bus entre dispositivos Wiren Board afectados y dispositivos de terceros.
Resolución
Corregido en el firmware 1.21.1.
ERRMODBUS002: Respuesta incorrecta a la orden de descubrimiento 0x46
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.20.4.
Descripción
Fast Modbus utilizaba originalmente la función 0x60, que posteriormente se cambió a 0x46 porque 0x60 estaba en un rango reservado. La compatibilidad con versiones anteriores conservó ambos códigos de solicitud, pero el dispositivo siempre respondía con 0x60. La corrección responde con la misma función utilizada en la solicitud: 0x46 o 0x60.
Solución
Actualice al firmware 1.20.4.
Resolución
Corregido en el firmware 1.20.4.
ERRMODBUS003: Comportamiento inesperado cuando se escriben valores no válidos en algunos registros
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.21.6.
Descripción
Cuando los valores del rango [256 ... 65535] se escriben en algunos registros, se descartan los 8 bits superiores y el firmware recibe el valor módulo 256. Por ejemplo, escribir 257 tiene el mismo efecto que escribir 1.
El registro de dirección del dispositivo (128) es uno de los registros afectados.
Todos los registros funcionan como se espera dentro de sus rangos documentados. El problema se produce cuando se escriben valores no válidos superiores a 255.
Solución
Actualice al firmware 1.21.6.
Resolución
Corregido en el firmware 1.21.6.
ERRMODBUS004: respuestas incorrectas de campos de bits
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.20.4.
Descripción
Las respuestas que contienen campos de bits, incluidas las lecturas de bobinas/entradas discretas y la gestión de eventos, podían contener bits altos incorrectos.
Solución
Actualice al firmware 1.20.4.
Resolución
Corregido en el firmware 1.20.4.
ERRMODBUS005: lectura incorrecta de distintos registros de bobinas en una sola solicitud
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.20.4.
Descripción
La lectura de varios registros de bobina diferentes en direcciones consecutivas mediante una sola solicitud devolvía valores incorrectos; por ejemplo, 2 y 3 en WB-MSW/WB-MWAC, o 3 y 4 en WB-LED.
Solución
Actualice al firmware 1.20.4.
Resolución
Corregido en el firmware 1.20.4.
ERRMODBUS006: respuestas a solicitudes con paridad incorrecta
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.21.4.
Descripción
El dispositivo respondía a solicitudes con paridad incorrecta en lugar de ignorarlas.
Solución
Actualice al firmware 1.21.4.
Resolución
Corregido en el firmware 1.21.4.
ERRMODBUS007: Pérdida de eventos cuando dos dispositivos transmiten simultáneamente en un mismo bus
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.24.1.
Descripción
Cuando dos dispositivos de un mismo bus tienen eventos pendientes simultáneamente, uno puede transmitir un paquete de eventos incompleto.
Causa y detalles
En Fast Modbus, el maestro solicita eventos. Todos los dispositivos con eventos pendientes participan en el arbitraje; el ganador responde y los demás esperan a la siguiente solicitud.
Un evento generado espera a ser transmitido. Una vez que el dispositivo coloca su trama en el bus, el evento se marca como enviado. El siguiente acuse de recibo del maestro para ese dispositivo elimina los eventos enviados de su cola. Este es el mecanismo normal de confirmación.
El defecto marcaba los eventos como enviados demasiado pronto, al recibir la solicitud de eventos, antes de terminar el arbitraje. Si el dispositivo ganaba el arbitraje, el funcionamiento era normal. Si perdía, no se transmitía ningún paquete, pero sus eventos ya estaban marcados como enviados. Una confirmación posterior para ese dispositivo también confirmaba esos eventos no enviados y los eliminaba de la cola antes de que llegaran al maestro.
El valor de la interfaz web no se actualiza y no se publica ningún mensaje MQTT, aunque los registros del dispositivo siguen siendo correctos. Se pierde la notificación del cambio.
Por ejemplo, si las entradas de dos módulos de relé del mismo bus se cierran simultáneamente, un módulo puede actualizarse correctamente en la interfaz web mientras el otro pierde algunos eventos y sigue apareciendo en su estado anterior a pesar de haber conmutado físicamente.
Solución provisional
Desactive temporalmente el funcionamiento basado en eventos para los registros afectados estableciendo sporadic en false en la plantilla del dispositivo. Los registros se consultarán entonces con el intervalo configurado.
Resolución
Corregido en el firmware 1.24.1.
ERRMODBUS008: Comportamiento inesperado con tramas de solicitud largas
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.25.1.
Descripción
Recibir una trama de más de 265 bytes, la longitud máxima de una trama Fast Modbus, puede bloquear y reiniciar el dispositivo; en algunos casos también pueden perderse los ajustes.
Causa y detalles
El algoritmo de recepción no procesaba las solicitudes no válidas de tamaño excesivo, lo que provocaba un desbordamiento del búfer y la corrupción de la memoria adyacente. El dispositivo se bloquea y el watchdog lo reinicia. Las tramas muy grandes, de más de aproximadamente 500 bytes, también pueden dañar los ajustes y provocar un reinicio con los parámetros de comunicación predeterminados: 9600 8N2, dirección 1.
Solución provisional
- No envíe solicitudes que superen los límites de Modbus RTU o Fast Modbus (265 bytes para Fast Modbus).
- No conecte el dispositivo a un bus que transporte tráfico no Modbus o mensajes de más de 265 bytes.
Resolución
Corregido en el firmware 1.25.1.
ERRMODBUS009: Comportamiento inesperado al leer cerca de la dirección 0xFFFF en modo de lectura continua
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.25.1.
Descripción
Con el modo de lectura continua habilitado, un rango de lectura que alcance o cruce la dirección 0xFFFF puede bloquear y reiniciar el dispositivo.
Causa y detalles
El algoritmo de lectura continua no gestionaba el desbordamiento del contador de direcciones de registro de 16 bits. Leer 0xFFFF hacía que el contador volviera al inicio y provocaba un bucle infinito, seguido de un reinicio por watchdog.
Solución provisional
Con el modo de lectura continua activado, no lea un rango que incluya 0xFFFF. Los dispositivos Wiren Board no tienen ningún registro implementado en esa dirección.
Resolución
Corregido en el firmware 1.25.1.
ERRMODBUS010: Validación incorrecta de solicitudes y gestión incorrecta de solicitudes no válidas
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.25.1.
Descripción
El dispositivo puede aceptar o gestionar incorrectamente solicitudes sintácticamente no válidas, devolver un código de excepción incorrecto o imponer un límite incorrecto al número de registros.
Causa y detalles
El algoritmo de validación trata incorrectamente estos casos:
1) Las solicitudes para leer cero registros se ejecutan con éxito y devuelven una respuesta sin datos que contiene únicamente cabecera y CRC. Modbus exige la excepción 0x03 (ILLEGAL_DATA_VALUE).
2) Se aplica un único límite de 125 registros a todas las funciones de lectura/escritura; superarlo devuelve 0x02 (ILLEGAL_DATA_ADDRESS). Sin embargo, Modbus especifica límites de 2000 bits para las lecturas de bits, 125 registros para las lecturas de registros de entrada/mantenimiento, 1968 bobinas para las escrituras de múltiples bobinas y 123 registros de mantenimiento para las escrituras de múltiples registros. Superar el límite aplicable debería devolver 0x03 (ILLEGAL_DATA_VALUE).
3) Byte Count no se valida en escrituras múltiples (0x0F y 0x10). Una discrepancia entre Byte Count y el número de registros debería devolver 0x03 (ILLEGAL_DATA_VALUE).
4) Las escrituras de una única bobina no validan el valor y utilizan el bit más significativo del valor de la solicitud. Modbus solo permite 0x0000 y 0xFF00; todos los demás valores deberían devolver 0x03 (ILLEGAL_DATA_VALUE).
5) Las solicitudes con estructura no válida pero CRC válido, como las de longitud excesiva, se procesan normalmente. En cambio, estas solicitudes malformadas deberían ignorarse.
6) Se procesan tramas estructuralmente válidas, pero de tamaño excesivo, de 257–265 bytes. Las tramas Modbus estándar de más de 256 bytes no son válidas y deberían ignorarse.
Solución provisional
Envíe únicamente solicitudes estructuralmente correctas que cumplan la especificación Modbus.
Resolución
Corregido en el firmware 1.25.1.
ERRMODBUS011: Tratamiento incorrecto de solicitudes no válidas de configuración de eventos Fast Modbus
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.25.1.
Descripción
Una orden de configuración de eventos (EVENT_CTRL, cmd=0x46, sub_cmd=0x18) con campos de longitud no válidos puede configurar incorrectamente las notificaciones de eventos y generar una respuesta de longitud impredecible.
Causa y detalles
El manejador de configuración de eventos Fast Modbus no validaba los campos de tamaño y longitud interna del bloque de datos. Las longitudes no válidas pueden hacer que procese datos fuera de la trama recibida, lo que provoca:
1) Ajustes incorrectos de notificación de eventos, incluidos cambios espontáneos en las prioridades o máscaras de eventos.
2) Una respuesta de configuración de eventos de longitud impredecible.
Solución provisional
Envíe únicamente comandos Fast Modbus válidos que cumplan su especificación.
Resolución
Corregido en el firmware 1.25.1.
ERRMODBUS012: El dispositivo deja de transmitir eventos Fast Modbus
Dispositivos afectados
WB-MWAC v.2 con firmware anterior a 1.26.1.
Descripción
El dispositivo deja de enviar eventos Fast Modbus e indica continuamente que no hay eventos (sub_cmd=0x12) en respuesta a las solicitudes de eventos (cmd=0x46, sub_cmd=0x10). Los controles de la interfaz web se bloquean mientras los registros del dispositivo siguen cambiando.
Cuanto más frecuentemente cambia un valor con eventos habilitados, antes aparece el problema. En las pruebas con supresión de rebotes de 1 ms, la transmisión de eventos se detuvo después de 23 minutos con 200 impulsos de entrada por segundo y después de varias horas con 100 impulsos por segundo. También puede ocurrir con cambios poco frecuentes, pero es mucho menos probable. El controlador de software no registra ningún error porque el dispositivo informa válidamente de que no hay eventos pendientes.
Para el diagnóstico, lea directamente el registro sin eventos, por ejemplo, el contador de impulsos de entrada:
modbus_client_rpc -mrtu -pnone -s2 /dev/ttyRS485-1 -b115200 -a1 -r32 -t0x03
Si el registro aumenta pero el control de la interfaz web no cambia, este problema está presente.
Causa y detalles
El contador de eventos no enviados se comparte entre un gestor de interrupciones y el bucle principal sin una sincronización correcta. Una interrupción durante una operación de lectura-modificación-escritura en el bucle principal puede perder un incremento del contador. El incremento no puede recuperarse porque solo se produce cuando un evento entra por primera vez en la cola. El dispositivo cree entonces que no tiene nada que enviar, a pesar de haber eventos en cola.
La condición persiste hasta que el dispositivo se reinicia. Otro evento puede vaciar temporalmente la cola acumulada y actualizar el control una vez, pero la discrepancia reaparece inmediatamente. Por ello, una instalación sin otros cambios parece bloqueada.
La probabilidad aumenta con la frecuencia de eventos y la carga del bus, ya que los accesos simultáneos se vuelven más probables.
Solución provisional
Reiniciar el dispositivo restaura los eventos hasta que el problema vuelve a producirse. Reiniciar el controlador o reiniciar wb-mqtt-serial no ayuda: el estado se mantiene en el dispositivo y volver a configurar los eventos no lo restablece.
Reduzca la probabilidad aumentando el tiempo antirrebote de las entradas o deshabilitando los eventos de los registros que cambian con frecuencia. Hasta que se actualice el firmware, lea los valores directamente de los registros.
Resolución
Corregido en el firmware 1.26.1.
ERRMWAC2001: Configuración predeterminada incorrecta de la entrada S6
Dispositivos afectados
Todas las unidades WB-MWAC v.2 del lote 2.2A enviadas entre el 15 y el 19 de marzo de 2024.
Descripción
Al finalizar las pruebas automatizadas de producción, se escribió un valor incorrecto en el registro del modo de la entrada S6.
Causa y detalles
El registro 14 debería tener el valor predeterminado 6 (modo de botón). Este lote almacenaba incorrectamente 4 (funcionamiento con ambos flancos), lo que provocaba dos activaciones.
Solución provisional

Establezca la entrada 6 en el modo Digital input or pushbutton a través de la interfaz web del controlador Wiren Board.
Sin un controlador, escriba el modo necesario en el registro mediante modbus-client; ejemplo de orden:
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a{address} -t0x06 -r14 6
Resolución
Corregido en los lotes posteriores, a partir de 2.2A/1.
ERRMWAC2002: Problemas y comportamiento del firmware 1.21.0
Dispositivos afectados
Todos los WB-MWAC v.2 con firmware 1.21.0.
Descripción
Tras el lanzamiento de WB-MWAC v.2 con firmware 1.21.0, se descubrieron varios problemas que afectaban a su funcionamiento.
Causa y detalles
- Las pulsaciones de los botones K1 y K2 se procesaban con un retardo de 300 ms.
- Causa: la detección de pulsaciones dobles estaba habilitada, aunque K1 y K2 no la utilizan.
- Corrección: se desactivó la detección de doble pulsación en K1 y K2; las pulsaciones se procesan sin retardo.
- Indicación visual poco clara del modo de limpieza húmeda.
- Causa: los LED se encendían durante solo 50 ms en el modo de limpieza húmeda.
- Corrección: fase de encendido del LED aumentada a 250 ms.
- Modbus podía activar el modo Leak mientras estaba activo el modo Wet cleaning.
- Causa: error del firmware. Los sensores de fugas se ignoran en el modo Wet cleaning, por lo que no corresponde activar el modo Leak.
- Corrección: comprobar si el modo Wet cleaning está activo antes de habilitar el modo Leak.
- Los ajustes de los contadores se perdían al reiniciar: Pulse weight P1/P2 e Initial counter value P1/P2.
- Causa: el firmware cargaba los ajustes predeterminados del contador al arrancar.
- Solución: cambios en el firmware.
- Wet cleaning timer y Restore valve state after leak is resolved no se conservaban tras reiniciar.
- Causa: el firmware no guardaba estos parámetros en la memoria no volátil.
- Solución: se ha corregido el error de firmware.
- Los registros Pulse weight P1 y P2 aceptaban valores no válidos superiores a 10000.
- Causa: el firmware no comprobaba el límite superior del valor.
- Solución: cambios en el firmware.
- El temporizador Wet cleaning aceptaba 0, lo que hacía que el modo se desactivara inmediatamente después de activarse.
- Causa: el firmware no comprobaba el límite inferior del valor.
- Solución: cambios en el firmware.
Solución provisional
Actualice el firmware a 1.21.1 o posterior.
Resolución
Todos los problemas indicados se corrigieron en el firmware 1.21.1 y en los lotes de producción posteriores. Actualice el firmware del dispositivo.
Advertencia: si está instalado el gestor de arranque 1.4.0, actualícelo antes de actualizar el firmware del dispositivo. Más detalles: ERRBOOT003
Para comprobar y actualizar la versión del gestor de arranque, consulte Gestor de arranque de los dispositivos periféricos Wiren Board .
Para obtener instrucciones de actualización del firmware, consulte Actualización del firmware de dispositivos Modbus Wiren Board
Los clientes que hayan comprado dispositivos afectados recibirán una notificación por correo electrónico.
ERRMWAC2003: Los ajustes de paridad RS-485 distintos de N no funcionan
Dispositivos afectados
Todos los WB-MWAC v.2 con firmware anterior a 1.21.2
Descripción
Seleccionar una paridad RS-485 distinta de la predeterminada puede provocar errores de comunicación.
Causa y detalles
Un error de software introducido durante la migración al nuevo microcontrolador escribía un valor incorrecto en el registro de configuración del transceptor.
Solución provisional
No utilice paridad O ni E.
Resolución
Corregido en el firmware 1.21.3.
ERRMWAC2004: Lecturas incorrectas de temperatura y tensión de alimentación del MCU
Dispositivos afectados
Todos los WB-MWAC v.2 con firmware anterior a 1.21.2
Descripción
Los registros Modbus 123 y 124 contienen valores incorrectos, que también se muestran incorrectamente en la interfaz web del controlador Wiren Board.
Causa y detalles
Un error de software introducido durante la migración al nuevo microcontrolador leía los canales ADC equivocados.
Solución provisional
Ninguna.
Resolución
Corregido en el firmware 1.21.3.
ERRMWAC2005: Se pueden seleccionar modos de entrada inexistentes
Dispositivos afectados
Todos los WB-MWAC v.2 con firmware anterior a 1.21.2
Descripción
Se pueden escribir valores de 0 a 2 en los registros Modbus de modo de entrada 9–14.
Causa y detalles
Una omisión del software permite estos modos no válidos; se comportan como el modo 3, Interaction disabled.
Solución provisional
No escriba los modos 0–2 en los registros 9–14.
Resolución
Corregido en el firmware 1.21.3.
ERRMWAC2006: El dispositivo deja de arrancar después de un reinicio
Dispositivos afectados
Todos los WB-MWAC v.2 con firmware anterior a 1.21.5.
También afecta a los gestores de arranque 1.5.0–1.5.4 inclusive: ERRBOOT007.
Descripción
El dispositivo deja de arrancar si se reinicia mientras se guardan parámetros en la memoria del microcontrolador.
Causa y detalles
Una omisión en el software permite que se produzca un error ECC doble si tiene lugar un reinicio o un corte de alimentación durante la programación de la memoria flash interna, lo que detiene la ejecución del firmware.
El problema afecta tanto al gestor de arranque (ERRBOOT004, ERRBOOT007) como al firmware. Actualizar el firmware manteniendo un gestor de arranque antiguo reduce considerablemente el riesgo, pero una actualización de firmware interrumpida aún puede inutilizar el dispositivo. Actualizar solo el gestor de arranque puede dejar el problema reproducible, pero permite actualizar el firmware y recuperar el dispositivo.
Síntoma: el LED de estado verde no se enciende ni parpadea al aplicar alimentación.
Solución provisional
Sustitución en garantía.
Resolución
Corregido en el firmware 1.21.5. Advertencia: actualice primero el gestor de arranque a 1.5.5 o posterior para mantener la posibilidad de recuperación. El firmware se instala automáticamente durante la actualización del gestor de arranque.
ERRMWAC2007: Estado incorrecto del relé en el primer encendido
Dispositivos afectados
Todos los WB-MWAC v.2 con firmware anterior a 1.21.6
Descripción
Se carga un estado de relé incorrecto en el primer encendido.
Causa y detalles
El circuito del botón del panel frontal tiene un filtro RC. Tras la inicialización del controlador del botón, el pull-up interno carga su condensador; el pin lee brevemente un nivel bajo (activo), lo que provoca una conmutación involuntaria del relé.
Solución provisional
Utilice el dispositivo con la batería instalada; tras el primer reinicio, el problema no vuelve a aparecer.
Resolución
Corregido en el firmware 1.21.6.
ERRMWAC2008: Comportamiento incorrecto al activar el modo de fuga mediante la bobina 2
Dispositivos afectados
Todos los WB-MWAC v.2 con firmware anterior a 1.21.7
Descripción
Escribir 1 en la bobina 2 enciende el indicador Leak y activa la alarma, pero no guarda los estados de los relés para restaurarlos una vez resuelta la fuga. Tampoco conmuta los relés.
Causa y detalles
Causa: se permitía escribir 1 en la bobina 2.
Solución provisional
No active el modo de fuga mediante su registro Modbus ni mediante la interfaz web del controlador Wiren Board.
Resolución
Corregido en el firmware 1.21.7 al impedir la activación mediante la bobina 2. Con un controlador Wiren Board, actualice también la plantilla del dispositivo: el control existente pasa a ser de solo lectura y se añade un botón Reset Leak mode.
ERRMWAC2009: Corrupción de la configuración al actualizar al firmware 1.22.0
Dispositivos afectados
Todos los WB-MWAC v.2 al actualizar a 1.22.0.
Descripción
La actualización a 1.22.0 escribe ajustes incorrectos del tipo de sensor de fugas y de la matriz de asignación de la salida del zumbador.
Causa y detalles
Los ajustes existentes deberían migrarse, mientras que los ajustes nuevos, como el tipo de sensor de fugas y el comportamiento del zumbador controlado por las entradas, deberían recibir sus valores predeterminados. Un error de software rellenaba los ajustes nuevos con valores incorrectos.
Solución provisional
Restablezca los ajustes de fábrica escribiendo 1 en el registro 65402.
Resolución
Corregido en el firmware 1.22.1.